From e21ae16edde7ddea1652355ec85c9ccf7b16ecc8 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 6 Jun 2014 02:39:44 -0700 Subject: [PATCH] Experimental url creation code added. --- e107_handlers/e107_class.php | 18 ++++++++++++++++++ index.php | 11 +++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index 646eb2421..ae4e34a59 100644 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -2527,7 +2527,25 @@ class e107 } + /** + * Experimental static (easy) sef-url creation method (works with e_url.php @see /index.php) + */ + public static function url($plugin='',$key) + { + $tmp = e107::getAddonConfig('e_url'); + if(varset($tmp[$plugin][$key]['sef'])) + { + return e_HTTP.$tmp[$plugin][$key]['sef']; + } + elseif(varset($tmp[$plugin][$key]['redirect'])) + { + return self::getParser()->replaceConstants($tmp[$plugin][$key]['redirect'],'full'); + } + + return; + + } diff --git a/index.php b/index.php index 480e08848..200dee565 100644 --- a/index.php +++ b/index.php @@ -88,20 +88,27 @@ $sql->db_Mark_Time("Start Simple URL-ReWrite Routine"); $tmp = e107::getAddonConfig('e_url'); + + $req = str_replace(e_HTTP,'', e_REQUEST_URI); + if(count($tmp)) { foreach($tmp as $plug=>$cfg) { foreach($cfg as $k=>$v) { - $req = str_replace(e_HTTP,'', e_REQUEST_URI); + $regex = '#'.$v['regex'].'#'; - if($newLocation = preg_replace($regex,$v['redirect'],$req)) + + $newLocation = preg_replace($regex, $v['redirect'], $req); + + if($newLocation !=$req) { $redirect = e107::getParser()->replaceConstants($newLocation); list($file,$query) = explode("?",$redirect,2); parse_str($query,$_GET); + // echo " file=".$file; include_once($file); //print_a($_GET); exit;