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 rewrite urls at
  105. $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']      = ($cfg['mod_rewrite']['rewrite_urls_at_congeneratecode'] == 1) ? ' checked="checked"' : '';
  106. $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK'] = ($cfg['mod_rewrite']['rewrite_urls_at_front_content_output'] == 1) ? ' checked="checked"' : '';
  107. $aData['CONTENT.AFTER'] = '';
  108.  
  109. // mr rewrite routing
  110. $data = '';
  111. if (is_array($cfg['mod_rewrite']['routing'])) {
  112.     foreach ($cfg['mod_rewrite']['routing'] as $uri => $route){
  113.         $data .= $uri . $routingSeparator . $route . "\n";
  114.     }
  115. }
  116. $aData['REWRITE_ROUTING'] = $data;
  117.  
  118. // mr redirect invalid article
  119. $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK'] = ($cfg['mod_rewrite']['redirect_invalid_article_to_errorsite'] == 1) ? ' checked="checked"' : '';
  120.  
  121.  
  122. ####################################################################################################
  123. ##### Action processing
  124.  
  125. if ($action == 'index') {
  126.  
  127.     _actionIndex();
  128.     
  129. } elseif ($action == 'save') {
  130.  
  131.     _actionSave();
  132.     
  133. } elseif ($action == 'reset') {
  134.  
  135.     _actionReset();
  136.     
  137. }
  138.  
  139.  
  140. // Loop data array, fill'n output template
  141. foreach ($aData as $p => $v) {
  142.     $tpl->set('s', $p, $v);
  143. }
  144. $tpl->generate(
  145.     $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'mod_rewrite/templates/content.html', 0, 0
  146. );
  147.  
  148.  
  149. ####################################################################################################
  150. ##### Functions
  151.  
  152. function _actionIndex(){
  153.     global $aData;
  154. }
  155.  
  156.  
  157. function _actionSave(){
  158.     global $cfg, $client, $aData;
  159.     
  160.     $bError = false;
  161.     
  162.     $request = (count($_POST) > 0) ? $_POST : $_GET;
  163.     
  164.     foreach ($request as $p => $v) {
  165.         if (is_array($v)) {
  166.             foreach ($v as $p2 => $v2) {
  167.                 if (!is_array($v2)) {
  168.                     $request[$p][$p2] = strip_tags(trim($v3));
  169.                 }
  170.             }
  171.         } else {
  172.             $request[$p] = strip_tags(trim($v));
  173.         }
  174.     }
  175.  
  176.     // use mod_rewrite
  177.     if ((isset($request['use']) && $request['use'] == 1)) {
  178.         $aData['USE_CHK'] = ' checked="checked"';
  179.         $aMR['mod_rewrite']['use'] = 1;
  180.     } else {
  181.         $aData['USE_CHK'] = '';
  182.         $aMR['mod_rewrite']['use'] = 0;
  183.     }
  184.  
  185.     // root dir
  186.     if ((isset($request['rootdir']) && $request['rootdir'] !== '')) {
  187.         if (!preg_match('/^[a-zA-Z0-9\-_\/\.]*$/', $request['rootdir'])) {
  188.             $aData['ROOTDIR_ERROR'] = _notifyBox('error', 'Das Rootverzeichnis hat ein ungültiges Format, erlaubt sind die Zeichen [a-zA-Z0-9\-_\/\.]');
  189.             $bError = true;
  190.         } elseif (!is_dir($cfg['path']['frontend'] . $request['rootdir'])) {
  191.             $aData['ROOTDIR_ERROR'] = _notifyBox('error', 'Das Angegebene Verzeichnis "' . $cfg['path']['frontend'] . $request['rootdir'] . '"existiert nicht');
  192.             $bError = true;
  193.         }
  194.         $aData['ROOTDIR']              = $request['rootdir'];
  195.         $aMR['mod_rewrite']['rootdir'] = $request['rootdir'];
  196.     }
  197.  
  198.     // start from root
  199.     if ((isset($request['startfromroot']) && $request['startfromroot'] == 1)) {
  200.         $aData['STARTFROMROOT_CHK']          = ' checked="checked"';
  201.         $aMR['mod_rewrite']['startfromroot'] = 1;
  202.     } else {
  203.         $aData['STARTFROMROOT_CHK'] = '';
  204.         $aMR['mod_rewrite']['startfromroot'] = 0;
  205.     }
  206.  
  207.     // language settings
  208.     if ((isset($request['use_language']) && $request['use_language'] == 1)) {
  209.         $aData['USE_LANGUAGE_CHK']           = ' checked="checked"';
  210.         $aData['USE_LANGUAGE_NAME_DISABLED'] = '';
  211.         $aMR['mod_rewrite']['use_language']  = 1;
  212.         if ((isset($request['use_language_name']) && $request['use_language_name'] == 1)) {
  213.             $aData['USE_LANGUAGE_NAME_CHK']          = ' checked="checked"';
  214.             $aMR['mod_rewrite']['use_language_name'] = 1;
  215.         } else {
  216.             $aData['USE_LANGUAGE_NAME_CHK']          = '';
  217.             $aMR['mod_rewrite']['use_language_name'] = 0;
  218.         }
  219.     } else {
  220.         $aData['USE_LANGUAGE_CHK']               = '';
  221.         $aData['USE_LANGUAGE_NAME_DISABLED']     = ' disabled="disabled"';
  222.         $aMR['mod_rewrite']['use_language']      = 0;
  223.         $aData['USE_LANGUAGE_NAME_CHK']          = '';
  224.         $aMR['mod_rewrite']['use_language_name'] = 0;
  225.     }
  226.  
  227.     // client settings
  228.     if ((isset($request['use_client']) && $request['use_client'] == 1)) {
  229.         $aData['USE_CLIENT_CHK']           = ' checked="checked"';
  230.         $aData['USE_CLIENT_NAME_DISABLED'] = '';
  231.         $aMR['mod_rewrite']['use_client']  = 1;
  232.         if ((isset($request['use_client_name']) && $request['use_client_name'] == 1)) {
  233.             $aData['USE_CLIENT_NAME_CHK']          = ' checked="checked"';
  234.             $aMR['mod_rewrite']['use_client_name'] = 1;
  235.         } else {
  236.             $aData['USE_CLIENT_NAME_CHK']          = '';
  237.             $aMR['mod_rewrite']['use_client_name'] = 0;
  238.         }
  239.     } else {
  240.         $aData['USE_CLIENT_CHK']               = '';
  241.         $aData['USE_CLIENT_NAME_DISABLED']     = ' disabled="disabled"';
  242.         $aMR['mod_rewrite']['use_client']      = 0;
  243.         $aData['USE_CLIENT_NAME_CHK']          = '';
  244.         $aMR['mod_rewrite']['use_client_name'] = 0;
  245.     }
  246.  
  247.     // use lowercase uri
  248.     if ((isset($request['use_lowercase_uri']) && $request['use_lowercase_uri'] == 1)) {
  249.         $aData['USE_LOWERCASE_URI_CHK']          = ' checked="checked"';
  250.         $aMR['mod_rewrite']['use_lowercase_uri'] = 1;
  251.     } else {
  252.         $aData['USE_LOWERCASE_URI_CHK']          = '';
  253.         $aMR['mod_rewrite']['use_lowercase_uri'] = 0;
  254.     }
  255.  
  256. /*
  257.     // use categories as html file
  258.     if ((isset($request['use_categories_as_html_file']) && $request['use_categories_as_html_file'] == 1)) {
  259.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK']          = ' checked="checked"';
  260.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 1;
  261.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = '';
  262.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = '';
  263.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = '';
  264.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = '';
  265.     } else {
  266.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] = '';
  267.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 0;
  268.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  269.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  270.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  271.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  272.     }
  273. */
  274.     
  275.     if ((isset($request['use_categories_as_html_file']) && $request['use_categories_as_html_file'] == 1)) {
  276. #    if ($aMR['mod_rewrite']['use_categories_as_html_file'] == 1) {
  277.  
  278.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK']          = ' checked="checked"';
  279.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 1;
  280.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = '';
  281.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = '';
  282.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = '';
  283.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = '';
  284.         
  285.         $pattern = $GLOBALS['aCatArtSeparator']['pattern'];
  286.         $info    = $GLOBALS['aCatArtSeparator']['info'];
  287.         
  288.         // category seperator
  289.         if (!isset($request['category_seperator']) || $request['category_seperator'] == '') {
  290.             $aData['CATEGORY_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Kategorie angeben');
  291.             $bError = true;
  292.         } elseif (!preg_match($pattern, $request['category_seperator'])) {
  293.             $aData['CATEGORY_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategorie ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  294.             $bError = true;
  295.  
  296.         // category word seperator
  297.         } elseif (!isset($request['category_word_seperator']) || $request['category_word_seperator'] == '') {
  298.             $aData['CATEGORY_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Kategoriewörter angeben');
  299.             $bError = true;
  300.         } elseif (!preg_match($pattern, $request['category_word_seperator'])) {
  301.             $aData['CATEGORY_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategoriewörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  302.             $bError = true;
  303.             
  304.         // article seperator
  305.         } elseif (!isset($request['article_seperator']) || $request['article_seperator'] == '') {
  306.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Artikel angeben') . '<br>';
  307.             $bError = true;
  308.         } elseif (!preg_match($pattern, $request['article_seperator'])) {
  309.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Artikel ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  310.             $bError = true;
  311.             
  312.         // article word seperator
  313.         } elseif (!isset($request['article_word_seperator']) || $request['article_word_seperator'] == '') {
  314.             $aData['ARTICLE_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Bitte Trenner (' . $info . ') für Artikelwörter angeben');
  315.             $bError = true;
  316.         } elseif (!preg_match($pattern, $request['article_word_seperator'])) {
  317.             $aData['ARTICLE_WORD_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Artikelwörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
  318.             $bError = true;
  319.             
  320.         // category seperator & article seperator
  321.         } elseif ($request['category_seperator'] == $request['article_seperator']) {
  322.             $aData['ARTICLE_SEPERATOR_ERROR'] = _notifyBox('error', 'Trenner für Kategorie und Artikel sollten nicht identisch sein');
  323.             $bError = true;
  324.         }
  325.         
  326.         $aData['CATEGORY_SEPERATOR']                   = $request['category_seperator'];
  327.         $aMR['mod_rewrite']['category_seperator']      = $request['category_seperator'];
  328.         $aData['CATEGORY_WORD_SEPERATOR']              = $request['category_word_seperator'];
  329.         $aMR['mod_rewrite']['category_word_seperator'] = $request['category_word_seperator'];
  330.         $aData['ARTICLE_SEPERATOR']                    = $request['article_seperator'];
  331.         $aMR['mod_rewrite']['article_seperator']       = $request['article_seperator'];
  332.         $aData['ARTICLE_WORD_SEPERATOR']               = $request['article_word_seperator'];
  333.         $aMR['mod_rewrite']['article_word_seperator']  = $request['article_word_seperator'];
  334.         
  335.     } else {
  336.  
  337.         $aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] = '';
  338.         $aMR['mod_rewrite']['use_categories_as_html_file'] = 0;
  339.         $aData['CATEGORY_SEPERATOR_ATTRIB']                = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  340.         $aData['CATEGORY_WORD_SEPERATOR_ATTRIB']           = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  341.         $aData['ARTICLE_SEPERATOR_ATTRIB']                 = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  342.         $aData['ARTICLE_WORD_SEPERATOR_ATTRIB']            = ' style="background-color:' . $GLOBALS['aBgColor']['disabled'] . '"';
  343.         
  344.         // set the setting from configuration to not loose old values, bcause
  345.         // deactivated form elements will result in non existing request values
  346.         $aMR['mod_rewrite']['category_seperator']      = $GLOBALS['cfg']['mod_rewrite']['category_seperator'];
  347.         $aMR['mod_rewrite']['category_word_seperator'] = $GLOBALS['cfg']['mod_rewrite']['category_word_seperator'];
  348.         $aMR['mod_rewrite']['article_seperator']       = $GLOBALS['cfg']['mod_rewrite']['article_seperator'];
  349.         $aMR['mod_rewrite']['article_word_seperator']  = $GLOBALS['cfg']['mod_rewrite']['article_word_seperator'];
  350.         $aData['CATEGORY_SEPERATOR']      = $aMR['mod_rewrite']['category_seperator'];
  351.         $aData['CATEGORY_WORD_SEPERATOR'] = $aMR['mod_rewrite']['category_word_seperator'];
  352.         $aData['ARTICLE_SEPERATOR']       = $aMR['mod_rewrite']['article_seperator'];
  353.         $aData['ARTICLE_WORD_SEPERATOR']  = $aMR['mod_rewrite']['article_word_seperator'];
  354.         
  355.     }
  356.  
  357.     // file extension
  358.     if ((isset($request['file_extension']) && $request['file_extension'] !== '')) {
  359.         if (!preg_match('/^\.([a-zA-Z0-9\-_\/])*$/', $request['file_extension'])) {
  360.             $aData['FILE_EXTENSION_ERROR'] = _notifyBox('error', 'Die Dateiendung hat ein ungültiges Format, erlaubt sind die Zeichen \.([a-zA-Z0-9\-_\/])');
  361.             $bError = true;
  362.         }
  363.         $aData['FILE_EXTENSION'] = $request['file_extension'];
  364.         $aMR['mod_rewrite']['file_extension'] = $request['file_extension'];
  365.     } else {
  366.         $aData['FILE_EXTENSION'] = '.html';
  367.         $aMR['mod_rewrite']['file_extension'] = '.html';
  368.     }
  369.  
  370.     // category resolve min percentage
  371.     if (isset($request['category_resolve_min_percentage'])) {
  372.         if (!is_numeric($request['category_resolve_min_percentage'])) {
  373.             $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] = _notifyBox('error', 'Wert muss numerisch sein.');
  374.             $bError = true;
  375.         } elseif ($request['category_resolve_min_percentage'] < 0 || $request['category_resolve_min_percentage'] > 100) {
  376.             $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] = _notifyBox('error', 'Wert muss zwischen 0 und 100 sein.');
  377.             $bError = true;
  378.         }
  379.         $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] = $request['category_resolve_min_percentage'];
  380.         $aMR['mod_rewrite']['category_resolve_min_percentage'] = $request['category_resolve_min_percentage'];
  381.     } else {
  382.         $aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] = '75';
  383.         $aMR['mod_rewrite']['category_resolve_min_percentage'] = '75';
  384.     }
  385.  
  386.     // rewrite urls at
  387.     if (isset($request['rewrite_urls_at']) && $request['rewrite_urls_at'] == 'congeneratecode') {
  388.         $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']               = ' checked="checked"';
  389.         $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK']          = '';
  390.         $aMR['mod_rewrite']['rewrite_urls_at_congeneratecode']      = 1;
  391.         $aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] = 0;
  392.     } else {
  393.         $aData['REWRITE_URLS_AT_CONGENERATECODE_CHK']               = '';
  394.         $aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK']          = ' checked="checked"';
  395.         $aMR['mod_rewrite']['rewrite_urls_at_congeneratecode']      = 0;
  396.         $aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] = 1;
  397.     }
  398.     
  399.     // routing
  400.     if (isset($request['rewrite_routing'])) {
  401.         $aRouting = array();
  402.         $items = explode("\n", $request['rewrite_routing']);
  403.         foreach ($items as $p => $v) {
  404.             $routingDef = explode($GLOBALS['routingSeparator'], $v);
  405.             if (count($routingDef) !== 2) {
  406.                 continue;
  407.             }
  408.             $routingDef[0] = trim($routingDef[0]);
  409.             $routingDef[1] = trim($routingDef[1]);
  410.             if ($routingDef[0] == '') {
  411.                 continue;
  412.             }
  413.             $aRouting[$routingDef[0]] = $routingDef[1];
  414.         }
  415.         $aData['REWRITE_ROUTING']      = $request['rewrite_routing'];
  416.         $aMR['mod_rewrite']['routing'] = $aRouting;
  417.     } else {
  418.         $aData['REWRITE_ROUTING']      = '';
  419.         $aMR['mod_rewrite']['routing'] = array();
  420.     }
  421.     
  422.     // redirect invalid article to errorsite
  423.     if (isset($request['redirect_invalid_article_to_errorsite'])) {
  424.         $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK']          = ' checked="checked"';
  425.         $aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] = 1;
  426.     } else {
  427.         $aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK']          = '';
  428.         $aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] = 0;
  429.     }
  430.  
  431.     
  432.     if ($bError) {
  433.         $aData['CONTENT.BEFORE'] = _notifyBox('error', 'Bitte überprüfen Sie ihre Eingaben');
  434.         return;
  435.     }
  436.     
  437.     
  438.     if (isset($GLOBALS['debug']) && $GLOBALS['debug'] == true) {
  439.         echo _notifyBox('info', 'Debug');
  440.         echo '<pre class="example">';print_r($aMR['mod_rewrite']);echo '</pre>';
  441.         echo _notifyBox('info', 'Konfiguration wurde <b>nicht</b> geschpeichert');
  442.         return;
  443.     }
  444.     
  445.     $options['key'] = $_SERVER['DOCUMENT_ROOT'] . '/contenido/plugins/mod_rewrite/includes/config.mod_rewrite_' . $client . '.php';
  446.  
  447.     $config = ConfigFactory::get('serializer', $options);
  448.  
  449.     if ($config->set($aMR)) {
  450.         $aData['CONTENT.BEFORE'] = _notifyBox('info', 'Konfiguration wurde geschpeichert');
  451.     } else {
  452.         $aData['CONTENT.BEFORE'] = _notifyBox('error', 'Konfiguration konnte nicht geschpeichert werden. Überprüfen Sie bitte die Schreibrechte für ' . $options['key']);
  453.     }
  454. }
  455.  
  456.  
  457. function _actionReset(){
  458.     global $aData;
  459.     $aData['CONTENT.BEFORE'] = _notifyBox('info', 'Aliase wurden zurückgesetzt');
  460. }
  461.  
  462.  
  463. function _notifyBox($type, $msg) {
  464.     return $GLOBALS['notification']->returnNotification($type, $msg) . '<br>';
  465. }

Documentation generated on Mon, 19 May 2008 22:47:11 +0200 by phpDocumentor 1.4.0