Source for file sef.php
Documentation is available at sef.php
* @version $Id: sef.php 9976 2008-01-30 21:19:04Z ircmaxell $
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin');
* For php4 compatability we must not use the __constructor as a constructor for plugins
* because func_get_args ( void ) returns a copy of all passed arguments NOT references.
* This causes problems with cross-referencing necessary for the observer design pattern.
* @param object $subject The object to observe
* @param array $config An array that holds the plugin configuration
* Converting the site URL to fit to the HTTP request
if($app->getName() !=
'site') {
$regex =
'#href="index.php\?([^"]*)#m';
$protocols =
'[a-zA-Z0-9]+:'; //To check for all unknown protocals (a protocol must contain at least one alpahnumeric fillowed by :
$regex =
'#(src|href)="(?!/|'.
$protocols.
'|\#)([^"]*)"#m';
$regex =
'#(onclick="window.open\(\')(?!/|'.
$protocols.
'|\#)([^/]+[^\']*?\')#m';
* Replaces the matched tags
* @param array An array of matches (see preg_match_all)
function route( &$matches )
$route =
JRoute::_('index.php?'.
$url);
Documentation generated on Sun, 06 Apr 2008 07:15:04 +0200 by phpDocumentor 1.4.0a2