X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frewrite_functions.php;h=83d131c421de7dfa1d6bd70f0bf3c44dd159aa08;hp=8b96c0c6cca5e700b0d017d6be268614cd6d7bd6;hb=9afd6ec5878544a7982c50ed9c0dd7de37606d5b;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/inc/libs/rewrite_functions.php b/inc/libs/rewrite_functions.php index 8b96c0c6cc..83d131c421 100644 --- a/inc/libs/rewrite_functions.php +++ b/inc/libs/rewrite_functions.php @@ -10,14 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Spezielle Funktion fuer rewrite-Erweiterung * * -------------------------------------------------------------------- * - * $Revision:: 856 $ * + * $Revision:: $ * * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * * Needs to be in all Files and every File needs "svn propset * * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -38,81 +38,53 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); + die(); } -// -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')); +// Rewrite links in HTML for better SEO (ugly part of mx!) +function rewriteLinksInCode ($HTML) { + // Skip rewriting for configured modules + if (eregi(getModule(), getConfig('rewrite_skip')) !== false) return $HTML; // Generate target URL - $target = constant('URL')."/cms/"; + $target = '{?URL?}/cms/'; + + // Convert modules.php?module=... + $output = str_replace(getConfig('URL') . '/modules.php?module=', $target, $HTML); // Convert modules.php?module=... - $test = preg_replace("/".$URL."\\/modules.php\\?module=/i", $target, $HTML); + $output = str_replace('{?URL?}/modules.php?module=', $target, $output); - 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(getConfig('SERVER_URL'), $output)) { + // Convert URLs from my server + $output = str_replace('{?URL?}/modules.php?module=', getConfig('SERVER_URL') . '/cms/', $output); + + // Convert URLs from my server + $output = str_replace(getConfig('URL') . '/modules.php?module=', getConfig('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/"; + $action = $target . '$1/act/'; // Convert &|&action=... - $test = preg_replace("/".$target2."(.*)&action=/i", $act, $test); + $output = preg_replace('/' . $target2 . '(.*)&action=/i', $action, $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 + $what = $target.'$1/wht/'; + $output = preg_replace('/' . $target2 . '(.*)&what=/i', $what, $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; } -// + +// [EOF] ?>