getRouter(); // Make sure that we have our router if (! $router) { return null; } if ( (strpos($url, '&') !== 0 ) && (strpos($url, 'index.php') !== 0) ) { return $url; } // Build route $uri = &$router->build($url); $url = $uri->toString(array('path', 'query', 'fragment')); // Replace spaces $url = preg_replace('/\s/', '%20', $url); /* * Get the secure/unsecure URLs. * If the first 5 characters of the BASE are 'https', then we are on an ssl connection over * https and need to set our secure URL to the current request URL, if not, and the scheme is * 'http', then we need to do a quick string manipulation to switch schemes. */ $ssl = (int) $ssl; if ( $ssl ) { $uri =& JURI::getInstance(); // Get additional parts static $prefix; if ( ! $prefix ) { $prefix = $uri->toString( array('host', 'port')); //$prefix .= JURI::base(true); } // Determine which scheme we want $scheme = ( $ssl === 1 ) ? 'https' : 'http'; // Make sure our url path begins with a slash if ( ! preg_match('#^/#', $url) ) { $url = '/' . $url; } // Build the URL $url = $scheme . '://' . $prefix . $url; } if($xhtml) { $url = str_replace( '&', '&', $url ); } return $url; } } /** * Text handling class * * @static * @package Joomla.Framework * @subpackage Language * @since 1.5 */ class JText { /** * Translates a string into the current language * * @access public * @param string $string The string to translate * @param boolean $jsSafe Make the result javascript safe * @since 1.5 * */ function _($string, $jsSafe = false) { $lang =& JFactory::getLanguage(); return $lang->_($string, $jsSafe); } /** * Passes a string thru an sprintf * * @access public * @param format The format string * @param mixed Mixed number of arguments for the sprintf function * @since 1.5 */ function sprintf($string) { $lang =& JFactory::getLanguage(); $args = func_get_args(); if (count($args) > 0) { $args[0] = $lang->_($args[0]); return call_user_func_array('sprintf', $args); } return ''; } /** * Passes a string thru an printf * * @access public * @param format The format string * @param mixed Mixed number of arguments for the sprintf function * @since 1.5 */ function printf($string) { $lang =& JFactory::getLanguage(); $args = func_get_args(); if (count($args) > 0) { $args[0] = $lang->_($args[0]); return call_user_func_array('printf', $args); } return ''; } }