$v){ $k = vRequest::filterUrl($k); $v = vRequest::getVar($k); if(isset($v)){ if(is_array($v)){ foreach($v as $ka => $va){ if($query){ $url[$k][urlencode(vRequest::filterUrl($ka))] = urlencode(vRequest::filterUrl($va)); } else{ $url .= $k.'['.urlencode(vRequest::filterUrl($ka)).']='.urlencode(vRequest::filterUrl($va)).'&'; } } } else { if($query){ $url[$k] = urlencode(vRequest::filterUrl($v)); } else { $url .= $k.'='.urlencode(vRequest::filterUrl($v)).'&'; } } } } } else { foreach($get as $k => $v){ $k = vRequest::filterUrl($k); if(is_array($v)){ foreach($v as $ka => $va){ if($query){ $url[$k][urlencode(vRequest::filterUrl($ka))] = urlencode(vRequest::filterUrl($va)); } else{ $url .= $k.'['.urlencode(vRequest::filterUrl($ka)).']='.urlencode(vRequest::filterUrl($va)).'&'; } } } else { if($query){ $url[$k] = urlencode(vRequest::filterUrl($v)); } else { $url .= $k.'='.urlencode(vRequest::filterUrl($v)).'&'; } } } } if(!$query){ $url = $urlold = rtrim($url,'&'); if(!empty($url)){ $url = 'index.php?'.$url; if ($route){ $url = JRoute::_($url); } } } return $url; } /** * @deprecated use getCurrentUrlBy instead * @param bool $route * @return string */ static function getGetUrl ($route = false){ return self::getCurrentUrlBy('get',$route, false); } static function getCleanUrl ($JURIInstance = 0,$parts = array('scheme', 'user', 'pass', 'host', 'port', 'path', 'query', 'fragment')) { if($JURIInstance===0) $JURIInstance = self::getURI(); return vRequest::filterUrl($JURIInstance->toString($parts)); } static function createUrlWithPrefix($url){ $admin = ''; if(!VmConfig::isSiteByApp()){ $admin = 'administrator/'; } $rurl = JURI::root(false).$admin.$url; //vmdebug('createUrlWithPrefix',$rurl,$url); return $rurl; } static function useSSL (){ static $useSSL = null; if(isset($useSSL)) return $useSSL; $jconf = JFactory::getConfig(); if(VmConfig::get('useSSL', 0)!=0 or $jconf->get('force_ssl')=='2'){ $useSSL = 1; vmdebug('SSL enabled'); } else { $useSSL = 0; } return $useSSL; } static function getURI(){ static $cUri = null; if($cUri === null){ $cUri = JUri::getInstance();//->toString(); } return $cUri; } static function urlencode($in){ if(empty($in)){ return $in; } else { return self::urlencode($in); } } }