| Server IP : 180.180.241.3 / Your IP : 216.73.216.216 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/AppServ/www/news/administrator/components/com_xmap/classes/ |
Upload File : |
<?php
/**
* $Id: XmapPlugins.php 122 2010-06-26 11:53:24Z guilleva $
* $LastChangedDate: 2010-06-26 05:53:24 -0600 (Sat, 26 Jun 2010) $
* $LastChangedBy: guilleva $
* Xmap by Guillermo Vargas
* a sitemap component for Joomla! CMS (http://www.joomla.org)
* Author Website: http://joomla.vargas.co.cr
* Project License: GNU/GPL http://www.gnu.org/copyleft/gpl.html
*/
defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );
require_once(JPATH_COMPONENT_ADMINISTRATOR.DS.'classes'.DS.'XmapPlugin.php');
/** Wraps all extension functions for Xmap */
class XmapPlugins {
/** list all extension files found in the extensions directory */
function &loadAvailablePlugins( ) {
$database = & JFactory::getDBO();
$list = array();
$query="select * from `#__xmap_ext` where `published`=1 and extension not like '%.bak'";
$database->setQuery($query);
$rows = $database->loadAssocList();
foreach ($rows as $row) {
// ini_set('display_errors','Off');
// error_reporting(E_ALL);
$extension = new XmapPlugin($database);
$extension->bind($row);
require_once(JPATH_COMPONENT_ADMINISTRATOR.DS.'extensions'.DS.$extension->extension.'.php');
$list[$extension->extension] = $extension;
}
return $list;
}
/** Determine which extension-object handles this content and let it generate a tree */
function &printTree( &$xmap, &$parent, &$cache, &$extensions ) {
$result = null;
$matches=array();
if ( preg_match('#^/?index.php.*option=(com_[^&]+)#',$parent->link,$matches) ) {
$option = $matches[1];
if ( !empty($extensions[$option]) ) {
$parent->uid = $option;
$className = 'xmap_'.$option;
$result = call_user_func_array(array($className, 'getTree'),array(&$xmap,&$parent,$extensions[$option]->getParams()));
}
}
return $result;
}
function prepareMenuItem(&$node,&$extensions) {
if ( preg_match('#^/?index.php.*option=(com_[^&]+)#',$node->link,$matches) ) {
$option = $matches[1];
if ( !empty($extensions[$option]) ) {
$className = 'xmap_'.$option;
$obj = new $className;
if (method_exists($obj,'prepareMenuItem')) {
$obj->prepareMenuItem($node,$extensions[$option]->getParams());
}
}
}
}
}