X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frewrite_functions.php;h=9ff0ff623bbf59d4e341498777938a7ede5d7c68;hp=8b96c0c6cca5e700b0d017d6be268614cd6d7bd6;hb=ee0625c4882bb462985c504abf65a3ef0e7bf1eb;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/inc/libs/rewrite_functions.php b/inc/libs/rewrite_functions.php index 8b96c0c6cc..9ff0ff623b 100644 --- a/inc/libs/rewrite_functions.php +++ b/inc/libs/rewrite_functions.php @@ -10,7 +10,7 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Spezielle Funktion fuer rewrite-Erweiterung * * -------------------------------------------------------------------- * - * $Revision:: 856 $ * + * $Revision:: $ * * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * @@ -42,77 +42,43 @@ if (!defined('__SECURITY')) { require($INC); } -// +// Rewrite links in HTML for better SEO (ugly part of mx!) function REWRITE_LINKS ($HTML) { - // Skip rewriting for the admin area (which search engine may enter here???) - if (ereg($GLOBALS['module'], getConfig('rewrite_skip'))) return $HTML; - - // Strip slashes with double-backslashes for the preg_replace() function - $URL = str_replace("/", "\\/", constant('URL')); + // Skip rewriting for configured modules + if (eregi($GLOBALS['module'], getConfig('rewrite_skip')) !== false) return $HTML; // Generate target URL $target = constant('URL')."/cms/"; // Convert modules.php?module=... - $test = preg_replace("/".$URL."\\/modules.php\\?module=/i", $target, $HTML); + $output = str_replace("/" . constant('URL') . "/modules.php?module=", $target, $HTML); - if (eregi(SERVER_URL, $test)) { - // Konvert URLs from my server - $URL = str_replace("/", "\\/", constant('SERVER_URL')); - $test = preg_replace("/".$URL."\\/modules.php\\?module=/i", constant('SERVER_URL')."/cms/", $test); + // Do we have an URL linked to mxchange.org? + if (eregi(constant('SERVER_URL'), $output)) { + // Convert URLs from my server + $output = str_replace("/" . constant('URL') . "/modules.php?module=", constant('SERVER_URL')."/cms/", $output); } // END - if // Strip slashes as above for the main URL - $target2 = str_replace("/", "\\/", $target); + $target2 = preg_quote($target, "/"); // Action variable $act = $target."\$1/act/"; // Convert &|&action=... - $test = preg_replace("/".$target2."(.*)&action=/i", $act, $test); + $output = preg_replace("/" . $target2 . "(.*)&action=/i", $act, $output); // "The same procedure as last variable"... now for &what= $wht = $target."\$1/wht/"; - $target2 = str_replace("/", "\\/", $target); - $test = preg_replace("/".$target2."(.*)&what=/i", $wht, $test); - - if ((EXT_IS_ACTIVE("rallye")) && (eregi("rallye=", $test))) { - // Replace data when rallye extension is active - // Add more if you need more like these entries - $REPLACE = array("rallye", "activate", "auto", "notify", "sub"); - foreach ($REPLACE as $var) { - // This will replace "&var=" to "/var/" - $test = preg_replace("/&".$var."=/i", "/".$var."/", $test); - } // END - foreach - } // END - if - - // Simple from->to replacements - $REPLACE = array( - 'search' => array("uid", "url", "page", "offset", "mid", "bid", "sub", "home"), - 'replace' => array("u" , "url", "page", "offset", "m" , "b" , "s" , "h") - ); - - if ((EXT_IS_ACTIVE("admins")) && (eregi("admin=", $test))) { - // Replace &admin= with "/aid/" - $REPLACE['search'][] = "admin"; - $REPLACE['replace'][] = "aid"; - } // END - if - - // Replace all array elements through - foreach ($REPLACE['search'] as $k => $v) { - if (eregi("$v=", $test)) { - // Replace &uid= with /u/ - $test = preg_replace("/&".$v."=/i", "/".$REPLACE['replace'][$k]."/", $test); - } // END - if - } // END - foreach + $output = preg_replace("/" . $target2 . "(.*)&what=/i", $wht, $output); // Repair missed &what=??? entries - while (preg_match("/&what=(.*)\/(.*)\/(.*)/i", $test)) { - $test = preg_replace("/&what=(.*)\/(.*)\/(.*)/i", "/wht/\$1/\$2/\$3", $test); + while (preg_match("/&what=(.*)\/(.*)\/(.*)/i", $output)) { + $output = preg_replace("/&what=(.*)\/(.*)\/(.*)/i", "/wht/\$1/\$2/\$3", $output); } // END - while // Return rewritten code - return $test; + return $output; } // ?>