function revert($url_array, $pos) { $_PARAM_CHAR = ':'; $url = array(); $_this =& sef_jreviews::getInstance(); global $QUERY_STRING; // First check if this is a menu link by looking for the menu name to get an Itemid if (isset($url_array[$pos + 2]) && ($menu_id = $_this->__Menu->getMenuId($url_array[$pos + 2]))) { $_GET['Itemid'] = $_REQUEST['Itemid'] = $menu_id; $QUERY_STRING = "option=com_jreviews&Itemid={$menu_id}"; for ($i = $pos + 2; $i < count($url_array); $i++) { if ($url_array[$i] != '' && false !== strpos($url_array[$i], $_PARAM_CHAR)) { $parts = explode($_PARAM_CHAR, $url_array[$i]); if (isset($parts[1]) && $parts[1] != '') { $url[] = $url_array[$i]; $_GET[$parts[0]] = $_REQUEST[$parts[0]] = $parts[1]; } } } $QUERY_STRING .= '&url=menu/' . implode('/', $url); } else { // Not a menu link, so we use the url named param for ($i = $pos + 2; $i < count($url_array); $i++) { if ($url_array[$i] != '') { $url[] = $url_array[$i]; } } $url = implode('/', $url); if (preg_match('/_m([0-9]+)/', $url, $matches)) { $menu_id = $_GET['Itemid'] = $_REQUEST['Itemid'] = $matches[1]; } else { $menu_id = $_GET['Itemid'] = $_REQUEST['Itemid'] = ''; } $_GET['url'] = $_REQUEST['url'] = $url; $_GET['option'] = $_REQUEST['option'] = 'com_jreviews'; $QUERY_STRING = "option=com_jreviews&Itemid={$menu_id}&url={$url}"; } // return $QUERY_STRING; }
function revert($url_array, $pos) { $_PARAM_CHAR = ':'; $url = array(); $menu_id = ''; $_this =& sef_jreviews::getInstance(); if ($_this->cmsVersion == 1.5) { if ($url_array[0] == '') { array_shift($url_array); $pos--; } } global $QUERY_STRING; // Is the tag semgment present in the url? $tag = false; if (isset($url_array[$pos + 3]) && $url_array[$pos + 3] == 'tag') { $tag = true; } // First check if this is a menu link by looking for the menu name to get an Itemid if (!$tag && isset($url_array[$pos + 2]) && ($menu_id = $_this->__Menu->getMenuIdByAlias($url_array[$pos + 2]))) { $_GET['Itemid'] = $_REQUEST['Itemid'] = $menu_id; $QUERY_STRING = "option=com_jreviews&Itemid={$menu_id}"; for ($i = $pos + 2; $i < count($url_array); $i++) { if ($url_array[$i] != '' && false !== strpos($url_array[$i], $_PARAM_CHAR)) { $parts = explode($_PARAM_CHAR, $url_array[$i]); if (isset($parts[1]) && $parts[1] != '') { $url[$parts[0]] = $parts[1]; $_GET[$parts[0]] = $_REQUEST[$parts[0]] = $parts[1]; } } } if (!empty($url) && count($url_array) < 3) { $QUERY_STRING .= '&url=menu&' . sef_jreviews::buildUrlParams($url); } elseif (count($url_array) >= 3) { array_shift($url_array); array_shift($url_array); if (!empty($url_array) && $url_array[0] != '') { $QUERY_STRING .= '&url=' . implode('/', $url_array); $_GET['url'] = $_REQUEST['url'] = implode('/', $url_array); } } } else { $tag and $pos++; $menu_id = $_this->__Menu->getMenuIdByAlias($url_array[$pos + 1]); if (!$menu_id) { $menu_id = $_GET['Itemid'] = $_REQUEST['Itemid'] = ''; } else { $_GET['Itemid'] = $_REQUEST['Itemid'] = $menu_id; } // Not a menu link, so we use the url named param for ($i = $pos + 2; $i < count($url_array); $i++) { if ($url_array[$i] != '') { $url[] = $url_array[$i]; } } $url = implode('/', $url); $_GET['url'] = $_REQUEST['url'] = $url; $_GET['option'] = $_REQUEST['option'] = 'com_jreviews'; $QUERY_STRING = "option=com_jreviews&Itemid={$menu_id}&url={$url}"; } // return $QUERY_STRING; }