/** * Parse the path into superglobal _GET and long array HTTP_GET_VARS * @uses substr() * @uses strpos() * @uses explode() * @uses str_replace() * @uses http_build_query() * * @access public * @return mixed - bool false / string key=value */ public function parsePath() { global $HTTP_GET_VARS; Usu_Main::i()->setVar('parsing_module', __CLASS__); if (false !== strpos(Usu_Main::i()->getVar('request_uri'), 'ext/modules')) { return false; } $dependencies = Usu_Main::i()->getVar('page_modules', substr(Usu_Main::i()->getVar('filename'), 0, -4))->retrieveDependencies(); foreach ($dependencies as $get_key => $detail) { if (false !== strpos(Usu_Main::i()->getVar('request_uri'), $detail['marker'])) { // Found an seo marker so explode into two component parts $tmp = explode($detail['marker'], Usu_Main::i()->getVar('request_uri')); // assign the key=>value pair to _GET $value = false !== strpos($tmp[1], '.html') ? usu_cleanse(str_replace('.html', '', $tmp[1])) : usu_cleanse($tmp[1]); $_GET[$get_key] = $value; $HTTP_GET_VARS[$get_key] = $value; Usu_Main::i()->setVar('request_querystring', http_build_query($_GET)); return $get_key . '=' . $value; } } return false; }
private function getRequestQueryString() { if (false !== ($qs = Usu_Main::i()->getVar('request_querystring'))) { return $qs; } $qs = ''; $get_array = strlen($_SERVER['QUERY_STRING']) > 0 ? explode('&', $_SERVER['QUERY_STRING']) : false; if (false !== $get_array) { foreach ($get_array as $index => $stringpair) { if (false === strpos($stringpair, tep_session_name())) { // Leave out the osCsid $pair = explode('=', $stringpair); if (count($pair) == 2) { $stringpair = usu_cleanse($pair[0]) . '=' . usu_cleanse($pair[1]); } else { $stringpair = usu_cleanse($stringpair); } $qs .= '&' . $stringpair; } } } Usu_Main::i()->setVar('request_querystring', ltrim($qs, '&')); return Usu_Main::i()->getVar('request_querystring'); }
/** * Break up an osC experimental seo url into an _GET query * Add the key => value pairs to _GET and $HTTP_GET_VARS * @uses explode() * @uses count() * @uses http_build_query( * @see Usu_Main::setVar() * @see Usu_Main::getVar() * @see includes/usu_general_functions.php usu_cleanse() * * @access public * @return string - querystring */ public function parsePath() { global $HTTP_GET_VARS; Usu_Main::i()->setVar('parsing_module', __CLASS__); $tmp = explode('/', Usu_Main::i()->getVar('request_uri')); $count = count($tmp); for ($i = 0; $i < $count; $i = $i + 2) { $newget[usu_cleanse($tmp[$i])] = usu_cleanse($tmp[$i + 1]); // assign cleansed key=>value pair to _GET $_GET[usu_cleanse($tmp[$i])] = usu_cleanse($tmp[$i + 1]); $HTTP_GET_VARS[usu_cleanse($tmp[$i])] = usu_cleanse($tmp[$i + 1]); } Usu_Main::i()->setVar('request_querystring', http_build_query($_GET)); // Newly created _GET array added to the querystring and converted to _GET string return http_build_query($newget); }
/** * Build the name of the cache using language, file name and _GET keys as set in the page modules * @uses substr() * @uses array_key_exists() * * @access public * @return string - final name of the cache */ public function buildCacheName() { $cachename = Usu_Main::i()->getVar('languages_id') . '_' . substr(Usu_Main::i()->getVar('filename'), 0, -4); foreach ($this->cache_name_builder as $get_key => $dummy) { if (array_key_exists($get_key, $_GET)) { $cachename .= '_' . $get_key . '_' . usu_cleanse($_GET[$get_key]); } } return $cachename; }