Source for file include.mod_rewrite_content.php
Documentation is available at include.mod_rewrite_content.php
* Plugin mod_rewrite backend include file to administer settings (in content frame)
* @copyright © Murat Purc 2008
if (isset
($_REQUEST['cfg']) ||
!isset
($contenido)) { exit(); }
$action =
(isset
($_REQUEST['mr_action'])) ?
$_REQUEST['mr_action'] :
'index';
//var_dump($cfg['templates']['mod_rewrite_content']);
####################################################################################################
$notify =
new Contenido_Notification();
$aCatArtSeparator =
array(
'pattern' =>
'/^[\-_\.\|\$\%]{1}$/',
'info' =>
'<span style="font-family:courier">"-|._$%"</span>'
$routingSeparator =
'>>>';
// define basic data contents (used for template)
$aData['CONTENT.BEFORE'] =
'';
$aData['SESSID'] =
$sess->id;
$aData['ACTION'] =
$action;
$aData['IDCLIENT'] =
$client;
$aData['USE_CHK'] =
($cfg['mod_rewrite']['use'] ==
1) ?
' checked="checked"' :
'';
$aData['BGCOLOR_ENABLED'] =
$aBgColor['enabled'];
$aData['BGCOLOR_DISABLED'] =
$aBgColor['disabled'];
$aData['ROOTDIR'] =
$cfg['mod_rewrite']['rootdir'];
$aData['ROOTDIR_ERROR'] =
'';
$aData['STARTFROMROOT_CHK'] =
($cfg['mod_rewrite']['startfromroot'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_LANGUAGE_CHK'] =
($cfg['mod_rewrite']['use_language'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_LANGUAGE_NAME_CHK'] =
($cfg['mod_rewrite']['use_language_name'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_LANGUAGE_NAME_DISABLED'] =
($cfg['mod_rewrite']['use_language'] ==
1) ?
'' :
' disabled="disabled"';
$aData['USE_CLIENT_CHK'] =
($cfg['mod_rewrite']['use_client'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_CLIENT_NAME_CHK'] =
($cfg['mod_rewrite']['use_client_name'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_CLIENT_NAME_DISABLED'] =
($cfg['mod_rewrite']['use_client'] ==
1) ?
'' :
' disabled="disabled"';
$aData['USE_LOWERCASE_URI_CHK'] =
($cfg['mod_rewrite']['use_lowercase_uri'] ==
1) ?
' checked="checked"' :
'';
$aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] =
($cfg['mod_rewrite']['use_categories_as_html_file'] ==
1) ?
' checked="checked"' :
'';
// mr category/category word separator
$aData['CATEGORY_SEPERATOR'] =
$cfg['mod_rewrite']['category_seperator'];
$aData['CATEGORY_SEPERATOR_ATTRIB'] =
'';
$aData['CATEGORY_WORD_SEPERATOR'] =
$cfg['mod_rewrite']['category_word_seperator'];
$aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] =
'';
if ($cfg['mod_rewrite']['use_categories_as_html_file'] !==
1) {
$aData['CATEGORY_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$aBgColor['disabled'] .
'"';
$aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$aBgColor['disabled'] .
'"';
$aData['CATEGORY_SEPERATOR_ERROR'] =
'';
$aData['CATEGORY_WORD_SEPERATOR_ERROR'] =
'';
// mr article/article word separator
$aData['ARTICLE_SEPERATOR'] =
$cfg['mod_rewrite']['article_seperator'];
$aData['ARTICLE_SEPERATOR_ATTRIB'] =
'';
$aData['ARTICLE_WORD_SEPERATOR'] =
$cfg['mod_rewrite']['article_word_seperator'];
$aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] =
'';
if ($cfg['mod_rewrite']['use_categories_as_html_file'] !==
1) {
$aData['ARTICLE_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$aBgColor['disabled'] .
'"';
$aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$aBgColor['disabled'] .
'"';
$aData['ARTICLE_SEPERATOR_ERROR'] =
'';
$aData['ARTICLE_WORD_SEPERATOR_ERROR'] =
'';
$aData['CAT_ART_SEP_MSG'] =
'(Mögliche Werte: ' .
$aCatArtSeparator['info'] .
')';
$aData['FILE_EXTENSION'] =
$cfg['mod_rewrite']['file_extension'];
$aData['FILE_EXTENSION_ERROR'] =
'';
// mr category name resolve percentage
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] =
$cfg['mod_rewrite']['category_resolve_min_percentage'];
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] =
'';
// mr add start article name to url
$aData['ADD_STARTART_NAME_TO_URL_CHK'] =
($cfg['mod_rewrite']['add_startart_name_to_url'] ==
1) ?
' checked="checked"' :
'';
$aData['ADD_STARTART_NAME_TO_URL_ERROR'] =
'';
$aData['DEFAULT_STARTART_NAME'] =
$cfg['mod_rewrite']['default_startart_name'];
$aData['REWRITE_URLS_AT_CONGENERATECODE_CHK'] =
($cfg['mod_rewrite']['rewrite_urls_at_congeneratecode'] ==
1) ?
' checked="checked"' :
'';
$aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK'] =
($cfg['mod_rewrite']['rewrite_urls_at_front_content_output'] ==
1) ?
' checked="checked"' :
'';
$aData['CONTENT.AFTER'] =
'';
if (is_array($cfg['mod_rewrite']['routing'])) {
foreach ($cfg['mod_rewrite']['routing'] as $uri =>
$route){
$data .=
$uri .
$routingSeparator .
$route .
"\n";
$aData['REWRITE_ROUTING'] =
$data;
// mr redirect invalid article
$aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK'] =
($cfg['mod_rewrite']['redirect_invalid_article_to_errorsite'] ==
1) ?
' checked="checked"' :
'';
####################################################################################################
if ($action ==
'index') {
} elseif ($action ==
'save') {
} elseif ($action ==
'reset') {
// Loop data array, fill'n output template
foreach ($aData as $p =>
$v) {
$cfg['path']['contenido'] .
$cfg['path']['plugins'] .
'mod_rewrite/templates/content.html', 0, 0
####################################################################################################
global $cfg, $client, $aData;
$request =
(count($_POST) >
0) ?
$_POST :
$_GET;
foreach ($request as $p =>
$v) {
foreach ($v as $p2 =>
$v2) {
if ((isset
($request['use']) &&
$request['use'] ==
1)) {
$aData['USE_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['use'] =
1;
$aMR['mod_rewrite']['use'] =
0;
if ((isset
($request['rootdir']) &&
$request['rootdir'] !==
'')) {
if (!preg_match('/^[a-zA-Z0-9\-_\/\.]*$/', $request['rootdir'])) {
$aData['ROOTDIR_ERROR'] =
_notifyBox('error', 'Das Rootverzeichnis hat ein ungültiges Format, erlaubt sind die Zeichen [a-zA-Z0-9\-_\/\.]');
} elseif (!is_dir($_SERVER['DOCUMENT_ROOT'] .
$request['rootdir'])) {
$aData['ROOTDIR_ERROR'] =
_notifyBox('error', 'Das Angegebene Verzeichnis "' .
$_SERVER['DOCUMENT_ROOT'] .
$request['rootdir'] .
'"existiert nicht');
$aMR['mod_rewrite']['rootdir'] =
$request['rootdir'];
if ((isset
($request['startfromroot']) &&
$request['startfromroot'] ==
1)) {
$aData['STARTFROMROOT_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['startfromroot'] =
1;
$aData['STARTFROMROOT_CHK'] =
'';
$aMR['mod_rewrite']['startfromroot'] =
0;
if ((isset
($request['use_language']) &&
$request['use_language'] ==
1)) {
$aData['USE_LANGUAGE_CHK'] =
' checked="checked"';
$aData['USE_LANGUAGE_NAME_DISABLED'] =
'';
$aMR['mod_rewrite']['use_language'] =
1;
if ((isset
($request['use_language_name']) &&
$request['use_language_name'] ==
1)) {
$aData['USE_LANGUAGE_NAME_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['use_language_name'] =
1;
$aData['USE_LANGUAGE_NAME_CHK'] =
'';
$aMR['mod_rewrite']['use_language_name'] =
0;
$aData['USE_LANGUAGE_CHK'] =
'';
$aData['USE_LANGUAGE_NAME_DISABLED'] =
' disabled="disabled"';
$aMR['mod_rewrite']['use_language'] =
0;
$aData['USE_LANGUAGE_NAME_CHK'] =
'';
$aMR['mod_rewrite']['use_language_name'] =
0;
if ((isset
($request['use_client']) &&
$request['use_client'] ==
1)) {
$aData['USE_CLIENT_CHK'] =
' checked="checked"';
$aData['USE_CLIENT_NAME_DISABLED'] =
'';
$aMR['mod_rewrite']['use_client'] =
1;
if ((isset
($request['use_client_name']) &&
$request['use_client_name'] ==
1)) {
$aData['USE_CLIENT_NAME_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['use_client_name'] =
1;
$aData['USE_CLIENT_NAME_CHK'] =
'';
$aMR['mod_rewrite']['use_client_name'] =
0;
$aData['USE_CLIENT_CHK'] =
'';
$aData['USE_CLIENT_NAME_DISABLED'] =
' disabled="disabled"';
$aMR['mod_rewrite']['use_client'] =
0;
$aData['USE_CLIENT_NAME_CHK'] =
'';
$aMR['mod_rewrite']['use_client_name'] =
0;
if ((isset
($request['use_lowercase_uri']) &&
$request['use_lowercase_uri'] ==
1)) {
$aData['USE_LOWERCASE_URI_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['use_lowercase_uri'] =
1;
$aData['USE_LOWERCASE_URI_CHK'] =
'';
$aMR['mod_rewrite']['use_lowercase_uri'] =
0;
// use categories as html file
if ((isset
($request['use_categories_as_html_file']) &&
$request['use_categories_as_html_file'] ==
1)) {
$aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['use_categories_as_html_file'] =
1;
$aData['CATEGORY_SEPERATOR_ATTRIB'] =
'';
$aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] =
'';
$aData['ARTICLE_SEPERATOR_ATTRIB'] =
'';
$aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] =
'';
$pattern =
$GLOBALS['aCatArtSeparator']['pattern'];
$info =
$GLOBALS['aCatArtSeparator']['info'];
if (!isset
($request['category_seperator']) ||
$request['category_seperator'] ==
'') {
$aData['CATEGORY_SEPERATOR_ERROR'] =
_notifyBox('error', 'Bitte Trenner (' .
$info .
') für Kategorie angeben');
} elseif (!preg_match($pattern, $request['category_seperator'])) {
$aData['CATEGORY_SEPERATOR_ERROR'] =
_notifyBox('error', 'Trenner für Kategorie ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
// category word seperator
} elseif (!isset
($request['category_word_seperator']) ||
$request['category_word_seperator'] ==
'') {
$aData['CATEGORY_WORD_SEPERATOR_ERROR'] =
_notifyBox('error', 'Bitte Trenner (' .
$info .
') für Kategoriewörter angeben');
} elseif (!preg_match($pattern, $request['category_word_seperator'])) {
$aData['CATEGORY_WORD_SEPERATOR_ERROR'] =
_notifyBox('error', 'Trenner für Kategoriewörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
} elseif (!isset
($request['article_seperator']) ||
$request['article_seperator'] ==
'') {
$aData['ARTICLE_SEPERATOR_ERROR'] =
_notifyBox('error', 'Bitte Trenner (' .
$info .
') für Artikel angeben') .
'<br>';
} elseif (!preg_match($pattern, $request['article_seperator'])) {
$aData['ARTICLE_SEPERATOR_ERROR'] =
_notifyBox('error', 'Trenner für Artikel ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
// article word seperator
} elseif (!isset
($request['article_word_seperator']) ||
$request['article_word_seperator'] ==
'') {
$aData['ARTICLE_WORD_SEPERATOR_ERROR'] =
_notifyBox('error', 'Bitte Trenner (' .
$info .
') für Artikelwörter angeben');
} elseif (!preg_match($pattern, $request['article_word_seperator'])) {
$aData['ARTICLE_WORD_SEPERATOR_ERROR'] =
_notifyBox('error', 'Trenner für Artikelwörter ist ungültig, erlaubt ist eines der Zeichen [\-_\.\|]');
// category seperator & article seperator
} elseif ($request['category_seperator'] ==
$request['article_seperator']) {
$aData['ARTICLE_SEPERATOR_ERROR'] =
_notifyBox('error', 'Trenner für Kategorie und Artikel sollten nicht identisch sein');
$aData['CATEGORY_SEPERATOR'] =
htmlentities($request['category_seperator']);
$aMR['mod_rewrite']['category_seperator'] =
$request['category_seperator'];
$aData['CATEGORY_WORD_SEPERATOR'] =
htmlentities($request['category_word_seperator']);
$aMR['mod_rewrite']['category_word_seperator'] =
$request['category_word_seperator'];
$aData['ARTICLE_SEPERATOR'] =
htmlentities($request['article_seperator']);
$aMR['mod_rewrite']['article_seperator'] =
$request['article_seperator'];
$aData['ARTICLE_WORD_SEPERATOR'] =
htmlentities($request['article_word_seperator']);
$aMR['mod_rewrite']['article_word_seperator'] =
$request['article_word_seperator'];
$aData['USE_CATEGORIES_AS_HTML_FILE_CHK'] =
'';
$aMR['mod_rewrite']['use_categories_as_html_file'] =
0;
$aData['CATEGORY_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$GLOBALS['aBgColor']['disabled'] .
'"';
$aData['CATEGORY_WORD_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$GLOBALS['aBgColor']['disabled'] .
'"';
$aData['ARTICLE_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$GLOBALS['aBgColor']['disabled'] .
'"';
$aData['ARTICLE_WORD_SEPERATOR_ATTRIB'] =
' style="background-color:' .
$GLOBALS['aBgColor']['disabled'] .
'"';
// set the setting from configuration to not loose old values, bcause
// deactivated form elements will result in non existing request values
$aMR['mod_rewrite']['category_seperator'] =
$GLOBALS['cfg']['mod_rewrite']['category_seperator'];
$aMR['mod_rewrite']['category_word_seperator'] =
$GLOBALS['cfg']['mod_rewrite']['category_word_seperator'];
$aMR['mod_rewrite']['article_seperator'] =
$GLOBALS['cfg']['mod_rewrite']['article_seperator'];
$aMR['mod_rewrite']['article_word_seperator'] =
$GLOBALS['cfg']['mod_rewrite']['article_word_seperator'];
$aData['CATEGORY_SEPERATOR'] =
$aMR['mod_rewrite']['category_seperator'];
$aData['CATEGORY_WORD_SEPERATOR'] =
$aMR['mod_rewrite']['category_word_seperator'];
$aData['ARTICLE_SEPERATOR'] =
$aMR['mod_rewrite']['article_seperator'];
$aData['ARTICLE_WORD_SEPERATOR'] =
$aMR['mod_rewrite']['article_word_seperator'];
if ((isset
($request['file_extension']) &&
$request['file_extension'] !==
'')) {
if (!preg_match('/^\.([a-zA-Z0-9\-_\/])*$/', $request['file_extension'])) {
$aData['FILE_EXTENSION_ERROR'] =
_notifyBox('error', 'Die Dateiendung hat ein ungültiges Format, erlaubt sind die Zeichen \.([a-zA-Z0-9\-_\/])');
$aData['FILE_EXTENSION'] =
htmlentities($request['file_extension']);
$aMR['mod_rewrite']['file_extension'] =
$request['file_extension'];
$aData['FILE_EXTENSION'] =
'.html';
$aMR['mod_rewrite']['file_extension'] =
'.html';
// category resolve min percentage
if (isset
($request['category_resolve_min_percentage'])) {
if (!is_numeric($request['category_resolve_min_percentage'])) {
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] =
_notifyBox('error', 'Wert muss numerisch sein.');
} elseif ($request['category_resolve_min_percentage'] <
0 ||
$request['category_resolve_min_percentage'] >
100) {
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE_ERROR'] =
_notifyBox('error', 'Wert muss zwischen 0 und 100 sein.');
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] =
$request['category_resolve_min_percentage'];
$aMR['mod_rewrite']['category_resolve_min_percentage'] =
$request['category_resolve_min_percentage'];
$aData['CATEGORY_RESOLVE_MIN_PERCENTAGE'] =
'75';
$aMR['mod_rewrite']['category_resolve_min_percentage'] =
'75';
// add start article name to url
if (isset
($request['add_startart_name_to_url']) &&
$request['add_startart_name_to_url'] ==
1) {
$aData['ADD_STARTART_NAME_TO_URL_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['add_startart_name_to_url'] =
1;
if ((isset
($request['default_startart_name']) &&
$request['default_startart_name'] !==
'')) {
if (!preg_match('/^[a-zA-Z0-9\-_\/\.]*$/', $request['default_startart_name'])) {
$aData['ADD_STARTART_NAME_TO_URL_ERROR'] =
_notifyBox('error', 'Der Artikelname hat ein ungültiges Format, erlaubt sind die Zeichen /^[a-zA-Z0-9\-_\/\.]*$/');
$aData['DEFAULT_STARTART_NAME'] =
htmlentities($request['default_startart_name']);
$aMR['mod_rewrite']['default_startart_name'] =
$request['default_startart_name'];
$aData['DEFAULT_STARTART_NAME'] =
'';
$aMR['mod_rewrite']['default_startart_name'] =
'';
$aData['ADD_STARTART_NAME_TO_URL_CHK'] =
'';
$aMR['mod_rewrite']['add_startart_name_to_url'] =
0;
$aData['DEFAULT_STARTART_NAME'] =
'';
$aMR['mod_rewrite']['default_startart_name'] =
'';
if (isset
($request['rewrite_urls_at']) &&
$request['rewrite_urls_at'] ==
'congeneratecode') {
$aData['REWRITE_URLS_AT_CONGENERATECODE_CHK'] =
' checked="checked"';
$aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK'] =
'';
$aMR['mod_rewrite']['rewrite_urls_at_congeneratecode'] =
1;
$aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] =
0;
$aData['REWRITE_URLS_AT_CONGENERATECODE_CHK'] =
'';
$aData['REWRITE_URLS_AT_FRONT_CONTENT_OUTPUT_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['rewrite_urls_at_congeneratecode'] =
0;
$aMR['mod_rewrite']['rewrite_urls_at_front_content_output'] =
1;
if (isset
($request['rewrite_routing'])) {
$items =
explode("\n", $request['rewrite_routing']);
foreach ($items as $p =>
$v) {
$routingDef =
explode($GLOBALS['routingSeparator'], $v);
if (count($routingDef) !==
2) {
$routingDef[0] =
trim($routingDef[0]);
$routingDef[1] =
trim($routingDef[1]);
if ($routingDef[0] ==
'') {
$aRouting[$routingDef[0]] =
$routingDef[1];
$aData['REWRITE_ROUTING'] =
htmlentities($request['rewrite_routing']);
$aMR['mod_rewrite']['routing'] =
$aRouting;
$aData['REWRITE_ROUTING'] =
'';
$aMR['mod_rewrite']['routing'] =
array();
// redirect invalid article to errorsite
if (isset
($request['redirect_invalid_article_to_errorsite'])) {
$aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK'] =
' checked="checked"';
$aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] =
1;
$aData['REDIRECT_INVALID_ARTICLE_TO_ERRORSITE_CHK'] =
'';
$aMR['mod_rewrite']['redirect_invalid_article_to_errorsite'] =
0;
$aData['CONTENT.BEFORE'] =
_notifyBox('error', 'Bitte überprüfen Sie ihre Eingaben');
if (isset
($GLOBALS['debug']) &&
$GLOBALS['debug'] ==
true) {
echo
'<pre class="example">';print_r($aMR['mod_rewrite']);echo
'</pre>';
echo
_notifyBox('info', 'Konfiguration wurde <b>nicht</b> geschpeichert');
$options['key'] =
$cfg['path']['contenido'] .
$cfg['path']['plugins'] .
'mod_rewrite/includes/config.mod_rewrite_' .
$client .
'.php';
$config =
ConfigFactory::get('serializer', $options);
if ($config->set($aMR)) {
$aData['CONTENT.BEFORE'] =
_notifyBox('info', 'Konfiguration wurde geschpeichert');
$aData['CONTENT.BEFORE'] =
_notifyBox('error', 'Konfiguration konnte nicht geschpeichert werden. Überprüfen Sie bitte die Schreibrechte für ' .
$options['key']);
$aData['CONTENT.BEFORE'] =
_notifyBox('info', 'Aliase wurden zurückgesetzt');
return $GLOBALS['notification']->returnNotification($type, $msg) .
'<br>';
Documentation generated on Mon, 26 May 2008 19:42:21 +0200 by phpDocumentor 1.4.0