Source for file include.mod_rewrite_content.php

Documentation is available at include.mod_rewrite_content.php

  1. <?php
  2. /**
  3.  * Plugin mod_rewrite backend include file to administer settings (in content frame)
  4.  *
  5.  * @date        22.04.2008
  6.  * @author      Murat Purc
  7.  * @copyright   © Murat Purc 2008
  8.  * @package     Contenido
  9.  * @subpackage  ModRewrite
  10.  */
  11.  
  12. if (isset($_REQUEST['cfg']) || !isset($contenido)) { exit(); }
  13.  
  14. $action = (isset($_REQUEST['mr_action'])) ? $_REQUEST['mr_action'] : 'index';
  15.  
  16. $debug  = false;
  17.  
  18. //var_dump($cfg['templates']['mod_rewrite_content']);
  19.  
  20.  
  21. ####################################################################################################
  22. ##### Some variables
  23.  
  24. $notify = new Contenido_Notification();
  25. $tpl    = new Template();
  26.  
  27. // some settings
  28. $aBgColor = array(
  29.     'enabled'  => '#ffffff',
  30.     'disabled' => '#dadada'
  31. );
  32. $aCatArtSeparator = array(
  33.     'pattern' => '/^[\-_\.\|\$\%]{1}$/',
  34.     'info'    => '<span style="font-family:courier">"-|._$%"</span>'
  35. );
  36. $routingSeparator = '>>>';
  37.  
  38. // define basic data contents (used for template)
  39. $aData = array();
  40. $aData['CONTENT.BEFORE']   = '';
  41. $aData['SESSID']           = $sess->id;
  42. $aData['AREA']             = $area;
  43. $aData['ACTION']           = $action;
  44. $aData['IDCLIENT']         = $client;
  45. $aData['USE_CHK']          = ($cfg['mod_rewrite']['use'] == 1) ? ' checked="checked"' : '';
  46. $aData['BGCOLOR_ENABLED']  = $aBgColor['enabled'];
  47. $aData['BGCOLOR_DISABLED'] = $aBgColor['disabled'];
  48.  
  49. // mr root dir
  50. $aData['ROOTDIR']       = $cfg['mod_rewrite']['rootdir'];
  51. $aData['ROOTDIR_ERROR'] = '';
  52.  
  53. // mr start from root
  54. $aData['STARTFROMROOT_CHK'] = ($cfg['mod_rewrite']['startfromroot'] == 1) ? ' checked="checked"' : '';
  55.  
  56. // mr language usage
  57. $aData['USE_LANGUAGE_CHK']           = ($cfg['mod_rewrite']['use_language'] == 1) ? ' checked="checked"' : '';
  58. $aData['USE_LANGUAGE_NAME_CHK']      = ($cfg['mod_rewrite']['use_language_name'] == 1) ? ' checked="checked"' : '';
  59. $aData['USE_LANGUAGE_NAME_DISABLED'] = ($cfg['mod_rewrite']['use_language'] == 1) ? '' : ' disabled="disabled"';
  60.  
  61. // mr client usage
  62. $aData['USE_CLIENT_CHK']           = ($cfg['mod_rewrite']['use_client'] == 1) ? ' checked="checked"' : '';
  63. $aData['USE_CLIENT_NAME_CHK']      = ($cfg['mod_rewrite']['use_client_name'] == 1) ? ' checked="checked"' : '';
  64. $aData['USE_CLIENT_NAME_DISABLED'] = ($cfg['mod_rewrite']['use_client'] == 1) ? '' : ' disabled="disabled"';
  65.  
  66. // mr lowecase uri
  67. $aData['USE_LOWERCASE_URI_CHK']           = ($cfg['mod_rewrite']['use_lowercase_uri'] == 1) ? ' checked="checked"' : '';
  68. $aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] = ($cfg['mod_rewrite']['use_categories_as_html_file'] == 1) ? ' checked="checked"' : '';
  69.  
  70. // mr category/category word separator
  71. $aData['CATEGORY_SEPERATOR']            = $cfg['mod_rewrite']['category_seperator'];
  72. $aData['CATEGORY_SEPERATOR_ATTRIB']      = '';
  73. $aData['CATEGORY_WORD_SEPERATOR']        = $cfg['mod_rewrite']['category_word_seperator'];
  74. $aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] = '';
  75. if ($cfg['mod_rewrite']['use_categories_as_html_file'] !== 1) {
  76.     $aData['CATEGORY_SEPERATOR_ATTRIB']      = ' style="background-color:' . $aBgColor['disabled'] . '"';
  77.     $aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] = ' style="background-color:' . $aBgColor['disabled'] . '"';
  78. }
  79. $aData['CATEGORY_SEPERATOR_ERROR']      = '';
  80. $aData['CATEGORY_WORD_SEPERATOR_ERROR'] = '';
  81.  
  82. // mr article/article word separator
  83. $aData['ARTICLE_SEPERATOR']             = $cfg['mod_rewrite']['article_seperator'];
  84. $aData['ARTICLE_SEPERATOR_ATTRIB']      = '';
  85. $aData['ARTICLE_WORD_SEPERATOR']        = $cfg['mod_rewrite']['article_word_seperator'];
  86. $aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] = '';
  87. if ($cfg['mod_rewrite']['use_categories_as_html_file'] !== 1) {
  88.     $aData['ARTICLE_SEPERATOR_ATTRIB']      = ' style="background-color:' . $aBgColor['disabled'] . '"';
  89.     $aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] = ' style="background-color:' . $aBgColor['disabled'] . '"';
  90. }
  91. $aData['ARTICLE_SEPERATOR_ERROR']      = '';
  92. $aData['ARTICLE_WORD_SEPERATOR_ERROR'] = '';
  93.  
  94. $aData['CAT_ART_SEP_MSG'] = '(Mögliche Werte: ' . $aCatArtSeparator['info'] . ')';
  95.  
  96. // mr file extension
  97. $aData['FILE_EXTENSION']       = $cfg['mod_rewrite']['file_extension'];
  98. $aData['FILE_EXTENSION_ERROR'] = '';
  99.  
  100. // mr category name resolve percentage
  101. $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE']       = $cfg['mod_rewrite']['category_resolve_min_percentage'];
  102. $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] = '';
  103.  
  104. // mr add start article name to url
  105. $aData['ADD_STARTART_NAME_TO_URL_CHK']   = ($cfg['mod_rewrite']['add_startart_name_to_url'] == 1) ? ' checked="checked"' : '';
  106. $aData['ADD_STARTART_NAME_TO_URL_ERROR'] = '';
  107. $aData['DEFAULT_STARTART_NAME']          = $cfg['mod_rewrite']['default_startart_name'];
  108.  
  109. // mr rewrite urls at
  110. $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']      = ($cfg['mod_rewrite']['rewrite_urls_at_congeneratecode'] == 1) ? ' checked="checked"' : '';
  111. $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK'] = ($cfg['mod_rewrite']['rewrite_urls_at_front_content_output'] == 1) ? ' checked="checked"' : '';
  112. $aData['CONTENT.AFTER'] = '';
  113.  
  114. // mr rewrite routing
  115. $data = '';
  116. if (is_array($cfg['mod_rewrite']['routing'])) {
  117.     foreach ($cfg['mod_rewrite']['routing'] as $uri => $route){
  118.         $data .= $uri . $routingSeparator . $route . "\n";
  119.     }
  120. }
  121. $aData['REWRITE_ROUTING'] = $data;
  122.  
  123. // mr redirect invalid article
  124. $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK'] = ($cfg['mod_rewrite']['redirect_invalid_article_to_errorsite'] == 1) ? ' checked="checked"' : '';
  125.  
  126.  
  127. ####################################################################################################
  128. ##### Action processing
  129.  
  130. if ($action == 'index') {
  131.  
  132.     _actionIndex();
  133.     
  134. } elseif ($action == 'save') {
  135.  
  136.     _actionSave();
  137.     
  138. } elseif ($action == 'reset') {
  139.  
  140.     _actionReset();
  141.     
  142. }
  143.  
  144.  
  145. // Loop data array, fill'n output template
  146. foreach ($aData as $p => $v) {
  147.     $tpl->set('s', $p, $v);
  148. }
  149. $tpl->generate(
  150.     $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'mod_rewrite/templates/content.html', 0, 0
  151. );
  152.  
  153.  
  154. ####################################################################################################
  155. ##### Functions
  156.  
  157. function _actionIndex(){
  158.     global $aData;
  159. }
  160.  
  161.  
  162. function _actionSave(){
  163.     global $cfg, $client, $aData;
  164.     
  165.     $bError = false;
  166.     
  167.     $request = (count($_POST) > 0) ? $_POST : $_GET;
  168.     
  169.     foreach ($request as $p => $v) {
  170.         if (is_array($v)) {
  171.             foreach ($v as $p2 => $v2) {
  172.                 if (!is_array($v2)) {
  173.                     $request[$p][$p2] = stripslashes(strip_tags(trim($v3)));
  174.                 }
  175.             }
  176.         } else {
  177.             $request[$p] = stripslashes(strip_tags(trim($v)));
  178.         }
  179.     }
  180.  
  181.     // use mod_rewrite
  182.     if ((isset($request['use']) && $request['use'] == 1)) {
  183.         $aData['USE_CHK'] = ' checked="checked"';
  184.         $aMR['mod_rewrite']['use'] = 1;
  185.     } else {
  186.         $aData['USE_CHK'] = '';
  187.         $aMR['mod_rewrite']['use'] = 0;
  188.     }
  189.  
  190.     // root dir
  191.     if ((isset($request['rootdir']) && $request['rootdir'] !== '')) {
  192.         if (!preg_match('/^[a-zA-Z0-9\-_\/\.]*$/', $request['rootdir'])) {
  193.             $aData['ROOTDIR_ERROR'] = _notifyBox('error', 'Das Rootverzeichnis hat ein ungültiges Format, erlaubt sind die Zeichen [a-zA-Z0-9\-_\/\.]');
  194.             $bError = true;
  195.         } elseif (!is_dir($_SERVER['DOCUMENT_ROOT'] . $request['rootdir'])) {
  196.             $aData['ROOTDIR_ERROR'] = _notifyBox('error', 'Das Angegebene Verzeichnis "' . $_SERVER['DOCUMENT_ROOT'] . $request['rootdir'] . '"existiert nicht');
  197.             $bError = true;
  198.         }
  199.         $aData['ROOTDIR']              = htmlentities($request['rootdir']);
  200.         $aMR['mod_rewrite']['rootdir'] = $request['rootdir'];
  201.     }
  202.  
  203.     // start from root
  204.     if ((isset($request['startfromroot']) && $request['startfromroot'] == 1)) {
  205.         $aData['STARTFROMROOT_CHK']          = ' checked="checked"';
  206.         $aMR['mod_rewrite']['startfromroot'] = 1;
  207.     } else {
  208.         $aData['STARTFROMROOT_CHK'] = '';
  209.         $aMR['mod_rewrite']['startfromroot'] = 0;
  210.     }
  211.  
  212.     // language settings
  213.     if ((isset($request['use_language']) && $request['use_language'] == 1)) {
  214.         $aData['USE_LANGUAGE_CHK']           = ' checked="checked"';
  215.         $aData['USE_LANGUAGE_NAME_DISABLED'] = '';
  216.         $aMR['mod_rewrite']['use_language']  = 1;
  217.         if ((isset($request['use_language_name']) && $request['use_language_name'] == 1)) {
  218.             $aData['USE_LANGUAGE_NAME_CHK']          = ' checked="checked"';
  219.             $aMR['mod_rewrite']['use_language_name'] = 1;
  220.         } else {
  221.             $aData['USE_LANGUAGE_NAME_CHK']          = '';
  222.             $aMR['mod_rewrite']['use_language_name'] = 0;
  223.         }
  224.     } else {
  225.         $aData['USE_LANGUAGE_CHK']               = '';
  226.         $aData['USE_LANGUAGE_NAME_DISABLED']     = ' disabled="disabled"';
  227.         $aMR['mod_rewrite']['use_language']      = 0;
  228.         $aData['USE_LANGUAGE_NAME_CHK']          = '';
  229.         $aMR['mod_rewrite']['use_language_name'] = 0;
  230.     }
  231.  
  232.     // client settings
  233.     if ((isset($request['use_client']) && $request['use_client'] == 1)) {
  234.         $aData['USE_CLIENT_CHK']           = ' checked="checked"';
  235.         $aData['USE_CLIENT_NAME_DISABLED'] = '';
  236.         $aMR['mod_rewrite']['use_client']  = 1;
  237.         if ((isset($request['use_client_name']) && $request['use_client_name'] == 1)) {
  238.             $aData['USE_CLIENT_NAME_CHK']          = ' checked="checked"';
  239.             $aMR['mod_rewrite']['use_client_name'] = 1;
  240.         } else {
  241.             $aData['USE_CLIENT_NAME_CHK']          = '';
  242.             $aMR['mod_rewrite']['use_client_name'] = 0;
  243.         }
  244.     } else {
  245.         $aData['USE_CLIENT_CHK']               = '';
  246.         $aData['USE_CLIENT_NAME_DISABLED']     = ' disabled="disabled"';
  247.         $aMR['mod_rewrite']['use_client']      = 0;
  248.         $aData['USE_CLIENT_NAME_CHK']          = '';
  249.         $aMR['mod_rewrite']['use_client_name'] = 0;
  250.     }
  251.  
  252.     // use lowercase uri
  253.     if ((isset($request['use_lowercase_uri']) && $request['use_lowercase_uri'] == 1)) {
  254.         $aData['USE_LOWERCASE_URI_CHK']          = ' checked="checked"';
  255.         $aMR['mod_rewrite']['use_lowercase_uri'] = 1;
  256.     } else {
  257.         $aData['USE_LOWERCASE_URI_CHK']          = '';
  258.         $aMR['mod_rewrite']['use_lowercase_uri'] = 0;
  259.     }
  260.  
  261.     // use categories as html file
  262.     if ((isset($request['use_categories_as_html_file']) && $request['use_categories_as_html_file'] == 1)) {
  263.  
  264.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK']          = ' checked="checked"';
  265.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 1;
  266.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = '';
  267.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = '';
  268.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = '';
  269.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = '';
  270.         
  271.         $pattern = $GLOBALS['aCatArtSeparator']['pattern'];
  272.         $info    = $GLOBALS['aCatArtSeparator']['info'];
  273.         
  274.         // category seperator
  275.         if (!isset($request['category_seperator']) || $request['category_seperator'] == '') {
  276.             $aData['CATEGORY_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Kategorie angeben');
  277.             $bError = true;
  278.         } elseif (!preg_match($pattern, $request['category_seperator'])) {
  279.             $aData['CATEGORY_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategorie ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  280.             $bError = true;
  281.  
  282.         // category word seperator
  283.         } elseif (!isset($request['category_word_seperator']) || $request['category_word_seperator'] == '') {
  284.             $aData['CATEGORY_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Kategoriewörter angeben');
  285.             $bError = true;
  286.         } elseif (!preg_match($pattern, $request['category_word_seperator'])) {
  287.             $aData['CATEGORY_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategoriewörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  288.             $bError = true;
  289.             
  290.         // article seperator
  291.         } elseif (!isset($request['article_seperator']) || $request['article_seperator'] == '') {
  292.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Artikel angeben') . '<br>';
  293.             $bError = true;
  294.         } elseif (!preg_match($pattern, $request['article_seperator'])) {
  295.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Artikel ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  296.             $bError = true;
  297.             
  298.         // article word seperator
  299.         } elseif (!isset($request['article_word_seperator']) || $request['article_word_seperator'] == '') {
  300.             $aData['ARTICLE_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Artikelwörter angeben');
  301.             $bError = true;
  302.         } elseif (!preg_match($pattern, $request['article_word_seperator'])) {
  303.             $aData['ARTICLE_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Artikelwörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  304.             $bError = true;
  305.             
  306.         // category seperator & article seperator
  307.         } elseif ($request['category_seperator'] == $request['article_seperator']) {
  308.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategorie und Artikel sollten nicht identisch sein');
  309.             $bError = true;
  310.         }
  311.         
  312.         $aData['CATEGORY_SEPERATOR']                   = htmlentities($request['category_seperator']);
  313.         $aMR['mod_rewrite']['category_seperator']      = $request['category_seperator'];
  314.         $aData['CATEGORY_WORD_SEPERATOR']              = htmlentities($request['category_word_seperator']);
  315.         $aMR['mod_rewrite']['category_word_seperator'] = $request['category_word_seperator'];
  316.         $aData['ARTICLE_SEPERATOR']                    = htmlentities($request['article_seperator']);
  317.         $aMR['mod_rewrite']['article_seperator']       = $request['article_seperator'];
  318.         $aData['ARTICLE_WORD_SEPERATOR']               = htmlentities($request['article_word_seperator']);
  319.         $aMR['mod_rewrite']['article_word_seperator']  = $request['article_word_seperator'];
  320.         
  321.     } else {
  322.  
  323.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] = '';
  324.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 0;
  325.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  326.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  327.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  328.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  329.         
  330.         // set the setting from configuration to not loose old values, bcause
  331.         // deactivated form elements will result in non existing request values
  332.         $aMR['mod_rewrite']['category_seperator']      = $GLOBALS['cfg']['mod_rewrite']['category_seperator'];
  333.         $aMR['mod_rewrite']['category_word_seperator'] = $GLOBALS['cfg']['mod_rewrite']['category_word_seperator'];
  334.         $aMR['mod_rewrite']['article_seperator']       = $GLOBALS['cfg']['mod_rewrite']['article_seperator'];
  335.         $aMR['mod_rewrite']['article_word_seperator']  = $GLOBALS['cfg']['mod_rewrite']['article_word_seperator'];
  336.         $aData['CATEGORY_SEPERATOR']      = $aMR['mod_rewrite']['category_seperator'];
  337.         $aData['CATEGORY_WORD_SEPERATOR'] = $aMR['mod_rewrite']['category_word_seperator'];
  338.         $aData['ARTICLE_SEPERATOR']       = $aMR['mod_rewrite']['article_seperator'];
  339.         $aData['ARTICLE_WORD_SEPERATOR']  = $aMR['mod_rewrite']['article_word_seperator'];
  340.         
  341.     }
  342.  
  343.     // file extension
  344.     if ((isset($request['file_extension']) && $request['file_extension'] !== '')) {
  345.         if (!preg_match('/^\.([a-zA-Z0-9\-_\/])*$/', $request['file_extension'])) {
  346.             $aData['FILE_EXTENSION_ERROR'] = _notifyBox('error', 'Die Dateiendung hat ein ungültiges Format, erlaubt sind die Zeichen \.([a-zA-Z0-9\-_\/])');
  347.             $bError = true;
  348.         }
  349.         $aData['FILE_EXTENSION'] = htmlentities($request['file_extension']);
  350.         $aMR['mod_rewrite']['file_extension'] = $request['file_extension'];
  351.     } else {
  352.         $aData['FILE_EXTENSION'] = '.html';
  353.         $aMR['mod_rewrite']['file_extension'] = '.html';
  354.     }
  355.  
  356.     // category resolve min percentage
  357.     if (isset($request['category_resolve_min_percentage'])) {
  358.         if (!is_numeric($request['category_resolve_min_percentage'])) {
  359.             $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] = _notifyBox('error', 'Wert muss numerisch sein.');
  360.             $bError = true;
  361.         } elseif ($request['category_resolve_min_percentage'] < 0 || $request['category_resolve_min_percentage'] > 100) {
  362.             $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] = _notifyBox('error', 'Wert muss zwischen 0 und 100 sein.');
  363.             $bError = true;
  364.         }
  365.         $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] = $request['category_resolve_min_percentage'];
  366.         $aMR['mod_rewrite']['category_resolve_min_percentage'] = $request['category_resolve_min_percentage'];
  367.     } else {
  368.         $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] = '75';
  369.         $aMR['mod_rewrite']['category_resolve_min_percentage'] = '75';
  370.     }
  371.  
  372.     // add start article name to url
  373.     if (isset($request['add_startart_name_to_url']) && $request['add_startart_name_to_url'] == 1) {
  374.  
  375.         $aData['ADD_STARTART_NAME_TO_URL_CHK']          = ' checked="checked"';
  376.         $aMR['mod_rewrite']['add_startart_name_to_url'] = 1;
  377.         if ((isset($request['default_startart_name']) && $request['default_startart_name'] !== '')) {
  378.             if (!preg_match('/^[a-zA-Z0-9\-_\/\.]*$/', $request['default_startart_name'])) {
  379.                 $aData['ADD_STARTART_NAME_TO_URL_ERROR'] = _notifyBox('error', 'Der Artikelname hat ein ungültiges Format, erlaubt sind die Zeichen /^[a-zA-Z0-9\-_\/\.]*$/');
  380.                 $bError = true;
  381.             }
  382.             $aData['DEFAULT_STARTART_NAME']              = htmlentities($request['default_startart_name']);
  383.             $aMR['mod_rewrite']['default_startart_name'] = $request['default_startart_name'];
  384.         } else {
  385.             $aData['DEFAULT_STARTART_NAME']              = '';
  386.             $aMR['mod_rewrite']['default_startart_name'] = '';
  387.         }
  388.     
  389.     } else {
  390.  
  391.         $aData['ADD_STARTART_NAME_TO_URL_CHK']          = '';
  392.         $aMR['mod_rewrite']['add_startart_name_to_url'] = 0;
  393.         $aData['DEFAULT_STARTART_NAME']                 = '';
  394.         $aMR['mod_rewrite']['default_startart_name']    = '';
  395.     
  396.     }
  397.     
  398.     // rewrite urls at
  399.     if (isset($request['rewrite_urls_at']) && $request['rewrite_urls_at'] == 'congeneratecode') {
  400.         $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']               = ' checked="checked"';
  401.         $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK']          = '';
  402.         $aMR['mod_rewrite']['rewrite_urls_at_congeneratecode']      = 1;
  403.         $aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] = 0;
  404.     } else {
  405.         $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']               = '';
  406.         $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK']          = ' checked="checked"';
  407.         $aMR['mod_rewrite']['rewrite_urls_at_congeneratecode']      = 0;
  408.         $aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] = 1;
  409.     }
  410.     
  411.     // routing
  412.     if (isset($request['rewrite_routing'])) {
  413.         $aRouting = array();
  414.         $items = explode("\n", $request['rewrite_routing']);
  415.         foreach ($items as $p => $v) {
  416.             $routingDef = explode($GLOBALS['routingSeparator'], $v);
  417.             if (count($routingDef) !== 2) {
  418.                 continue;
  419.             }
  420.             $routingDef[0] = trim($routingDef[0]);
  421.             $routingDef[1] = trim($routingDef[1]);
  422.             if ($routingDef[0] == '') {
  423.                 continue;
  424.             }
  425.             $aRouting[$routingDef[0]] = $routingDef[1];
  426.         }
  427.         $aData['REWRITE_ROUTING']      = htmlentities($request['rewrite_routing']);
  428.         $aMR['mod_rewrite']['routing'] = $aRouting;
  429.     } else {
  430.         $aData['REWRITE_ROUTING']      = '';
  431.         $aMR['mod_rewrite']['routing'] = array();
  432.     }
  433.     
  434.     // redirect invalid article to errorsite
  435.     if (isset($request['redirect_invalid_article_to_errorsite'])) {
  436.         $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK']          = ' checked="checked"';
  437.         $aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] = 1;
  438.     } else {
  439.         $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK']          = '';
  440.         $aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] = 0;
  441.     }
  442.  
  443.     
  444.     if ($bError) {
  445.         $aData['CONTENT.BEFORE'] = _notifyBox('error', 'Bitte überprüfen Sie ihre Eingaben');
  446.         return;
  447.     }
  448.     
  449.     
  450.     if (isset($GLOBALS['debug']) && $GLOBALS['debug'] == true) {
  451.         echo _notifyBox('info', 'Debug');
  452.         echo '<pre class="example">';print_r($aMR['mod_rewrite']);echo '</pre>';
  453.         echo _notifyBox('info', 'Konfiguration wurde <b>nicht</b> geschpeichert');
  454.         return;
  455.     }
  456.     
  457.     $options['key'] = $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'mod_rewrite/includes/config.mod_rewrite_' . $client . '.php';
  458.     
  459.     $config = ConfigFactory::get('serializer', $options);
  460.  
  461.     if ($config->set($aMR)) {
  462.         $aData['CONTENT.BEFORE'] = _notifyBox('info', 'Konfiguration wurde geschpeichert');
  463.     } else {
  464.         $aData['CONTENT.BEFORE'] = _notifyBox('error', 'Konfiguration konnte nicht geschpeichert werden. Überprüfen Sie bitte die Schreibrechte für ' . $options['key']);
  465.     }
  466. }
  467.  
  468.  
  469. function _actionReset(){
  470.     global $aData;
  471.     $aData['CONTENT.BEFORE'] = _notifyBox('info', 'Aliase wurden zurückgesetzt');
  472. }
  473.  
  474.  
  475. function _notifyBox($type, $msg) {
  476.     return $GLOBALS['notification']->returnNotification($type, $msg) . '<br>';
  477. }

Documentation generated on Mon, 26 May 2008 19:42:21 +0200 by phpDocumentor 1.4.0