⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/** * @version		$Id: module.php 10381 2008-06-01 03:35:53Z pasamio $ * @package		Joomla * @subpackage	Modules * @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. */// no direct accessdefined( '_JEXEC' ) or die( 'Restricted access' );jimport( 'joomla.application.component.model' );/** * @package		Joomla * @subpackage	Modules */class ModulesModelModule extends JModel{	var $_xml;	function &getModule()	{		static $instance;		if (!$instance)		{			$instance = $this->getTable( 'Module', 'JTable' );			if ($id = $this->getState( 'id' )) {				$instance->load( (int) $id );			}		}		return $instance;	}	function &_getXML()	{		if (!$this->_xml)		{			$clientId	= $this->getState( 'clientId', 0 );			$path		= ($clientId == 1) ? 'mod1_xml' : 'mod0_xml';			$module		= &$this->getModule();			if ($module->module == 'custom') {				$xmlpath = JApplicationHelper::getPath( $path, 'mod_custom' );			} else {				$xmlpath = JApplicationHelper::getPath( $path, $module->module );			}			if (file_exists($xmlpath))			{				$xml =& JFactory::getXMLParser('Simple');				if ($xml->loadFile($xmlpath)) {					$this->_xml = &$xml;				}			}		}		return $this->_xml;	}	function &getParams()	{		// Get the state parameters		$module	=& $this->getModule();		$params	= new JParameter($module->params);		if ($xml =& $this->_getXML())		{			if ($ps = & $xml->document->params) {				foreach ($ps as $p)				{					$params->setXML( $p );				}			}		}		return $params;	}	function getPositions()	{		jimport('joomla.filesystem.folder');		$client =& JApplicationHelper::getClientInfo($this->getState('clientId'));		if ($client === false) {			return false;		}		//Get the database object		$db	=& JFactory::getDBO();		// template assignment filter		$query = 'SELECT DISTINCT(template) AS text, template AS value'.				' FROM #__templates_menu' .				' WHERE client_id = '.(int) $client->id;		$db->setQuery( $query );		$templates = $db->loadObjectList();		// Get a list of all module positions as set in the database		$query = 'SELECT DISTINCT(position)'.				' FROM #__modules' .				' WHERE client_id = '.(int) $client->id;		$db->setQuery( $query );		$positions = $db->loadResultArray();		$positions = (is_array($positions)) ? $positions : array();		// Get a list of all template xml files for a given application		// Get the xml parser first		for ($i = 0, $n = count($templates); $i < $n; $i++ )		{			$path = $client->path.DS.'templates'.DS.$templates[$i]->value;			$xml =& JFactory::getXMLParser('Simple');			if ($xml->loadFile($path.DS.'templateDetails.xml'))			{				$p =& $xml->document->getElementByPath('positions');				if (is_a($p, 'JSimpleXMLElement') && count($p->children()))				{					foreach ($p->children() as $child)					{						if (!in_array($child->data(), $positions)) {							$positions[] = $child->data();						}					}				}			}		}		if(defined('_JLEGACY') && _JLEGACY == '1.0')		{			$positions[] = 'left';			$positions[] = 'right';			$positions[] = 'top';			$positions[] = 'bottom';			$positions[] = 'inset';			$positions[] = 'banner';			$positions[] = 'header';			$positions[] = 'footer';			$positions[] = 'newsflash';			$positions[] = 'legals';			$positions[] = 'pathway';			$positions[] = 'breadcrumb';			$positions[] = 'user1';			$positions[] = 'user2';			$positions[] = 'user3';			$positions[] = 'user4';			$positions[] = 'user5';			$positions[] = 'user6';			$positions[] = 'user7';			$positions[] = 'user8';			$positions[] = 'user9';			$positions[] = 'advert1';			$positions[] = 'advert2';			$positions[] = 'advert3';			$positions[] = 'debug';			$positions[] = 'syndicate';		}		$positions = array_unique($positions);		sort($positions);		return $positions;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -