亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? languages.php

?? 國外免費開源的內容管理系統
?? PHP
字號:
<?php
/**
 * @version		$Id: languages.php 9770 2007-12-30 10:16:40Z mtk $
 * @package		Joomla
 * @subpackage	Menus
 * @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.
 */

// Import library dependencies
require_once(dirname(__FILE__).DS.'extension.php');
jimport( 'joomla.filesystem.folder' );

/**
 * Installer Languages Model
 *
 * @package		Joomla
 * @subpackage	Installer
 * @since		1.5
 */
class InstallerModelLanguages extends InstallerModel
{
	/**
	 * Extension Type
	 * @var	string
	 */
	var $_type = 'language';

	/**
	 * Overridden constructor
	 * @access	protected
	 */
	function __construct()
	{
		global $mainframe;

		// Call the parent constructor
		parent::__construct();

		// Set state variables from the request
		$this->setState('filter.string', $mainframe->getUserStateFromRequest( "com_installer.languages.string", 'filter', '', 'string' ));
		$this->setState('filter.client', $mainframe->getUserStateFromRequest( "com_installer.languages.client", 'client', -1, 'int' ));
	}

	function _loadItems()
	{
		global $mainframe, $option;

		$db = &JFactory::getDBO();

		if ($this->_state->get('filter.client') < 0) {
			$client = 'all';
			// Get the site languages
			$langBDir = JLanguage::getLanguagePath(JPATH_SITE);
			$langDirs = JFolder::folders($langBDir);

			for ($i=0; $i < count($langDirs); $i++)
			{
				$lang = new stdClass();
				$lang->folder = $langDirs[$i];
				$lang->client = 0;
				$lang->baseDir = $langBDir;
				$languages[] = $lang;
			}
			// Get the admin languages
			$langBDir = JLanguage::getLanguagePath(JPATH_ADMINISTRATOR);
			$langDirs = JFolder::folders($langBDir);

			for ($i=0; $i < count($langDirs); $i++)
			{
				$lang = new stdClass();
				$lang->folder = $langDirs[$i];
				$lang->client = 1;
				$lang->baseDir = $langBDir;
				$languages[] = $lang;
			}
		}
		else
		{
			$clientInfo =& JApplicationHelper::getClientInfo($this->_state->get('filter.client'));
			$client = $clientInfo->name;
			$langBDir = JLanguage::getLanguagePath($clientInfo->path);
			$langDirs = JFolder::folders($langBDir);

			for ($i=0, $n=count($langDirs); $i < $n; $i++)
			{
				$lang = new stdClass();
				$lang->folder = $langDirs[$i];
				$lang->client = $clientInfo->id;
				$lang->baseDir = $langBDir;

				if ($this->_state->get('filter.string')) {
					if (strpos($lang->folder, $this->_state->get('filter.string')) !== false) {
						$languages[] = $lang;
					}
				} else {
					$languages[] = $lang;
				}
			}
		}

		$rows = array();
		$rowid = 0;
		foreach ($languages as $language)
		{
			$files = JFolder::files( $language->baseDir.DS.$language->folder, '^([-_A-Za-z]*)\.xml$' );
			foreach ($files as $file)
			{
				$data = JApplicationHelper::parseXMLLangMetaFile($language->baseDir.DS.$language->folder.DS.$file);

				$row 			= new StdClass();
				$row->id 		= $rowid;
				$row->client_id = $language->client;
				$row->language 	= $language->baseDir.DS.$language->folder;

				// If we didn't get valid data from the xml file, move on...
				if (!is_array($data)) {
					continue;
				}

				// Populate the row from the xml meta file
				foreach($data as $key => $value) {
					$row->$key = $value;
				}

				// if current than set published
				$clientVals =& JApplicationHelper::getClientInfo($row->client_id);
				$lang = 'lang_'.$clientVals->name;
				if ( $mainframe->getCfg($lang) == basename( $row->language ) ) {
					$row->published	= 1;
				} else {
					$row->published = 0;
				}

				$row->checked_out = 0;
				$row->jname = JString::strtolower( str_replace( " ", "_", $row->name ) );
				$rows[] = $row;
				$rowid++;
			}
		}
		$this->setState('pagination.total', count($rows));
		if($this->_state->get('pagination.limit') > 0) {
			$this->_items = array_slice( $rows, $this->_state->get('pagination.offset'), $this->_state->get('pagination.limit') );
		} else {
			$this->_items = $rows;
		}
	}

	/**
	 * Remove (uninstall) an extension
	 *
	 * @static
	 * @return boolean True on success
	 * @since 1.0
	 */
	function remove($eid=array())
	{
		global $mainframe;

		$lang =& JFactory::getLanguage();
		$lang->load('com_installer');

		// Initialize variables
		$failed = array ();

		/*
		 * Ensure eid is an array of extension ids
		 * TODO: If it isn't an array do we want to set an error and fail?
		 */
		if (!is_array($eid)) {
			$eid = array ($eid);
		}
		// construct the list of all language
		$this->_loadItems();

		// Get a database connector
		$db =& JFactory::getDBO();

		// Get an installer object for the extension type
		jimport('joomla.installer.installer');
		$installer	=& JInstaller::getInstance($db, $this->_type);

		// Uninstall the chosen extensions
		foreach ($eid as $id)
		{
			$item = $this->_items[$id];

			// Get client information
			$client	=& JApplicationHelper::getClientInfo($item->client_id);

			// Don't delete a default ( published language )
			$params = JComponentHelper::getParams('com_languages');
			$tag	= basename($item->language);
			if ( $params->get($client->name, 'en-GB') == $tag ) {
				$failed[]	= $id;
				JError::raiseWarning('', JText::_('UNINSTALLLANGPUBLISHEDALREADY'));
				return;
			}

			$result = $installer->uninstall( 'language', $item->language );

			// Build an array of extensions that failed to uninstall
			if ($result === false) {
				$failed[] = $id;
			}
		}

		if (count($failed)) {
			// There was an error in uninstalling the package
			$msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Error'));
			$result = false;
		} else {
			// Package uninstalled sucessfully
			$msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Success'));
			$result = true;
		}

		$mainframe->enqueueMessage($msg);
		$this->setState('action', 'remove');
		$this->setState('message', $installer->message);
		// re-construct the list of all language
		$this->_loadItems();

		return $result;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
96av麻豆蜜桃一区二区| 亚洲bt欧美bt精品| 色老汉一区二区三区| 国产美女一区二区| 国产一区二三区好的| 亚洲成a天堂v人片| 免费在线观看精品| 久久国产精品第一页| 国产美女精品一区二区三区| 男人的j进女人的j一区| 蜜桃精品视频在线| 国产制服丝袜一区| 99久久亚洲一区二区三区青草| 精品一区二区在线播放| 日精品一区二区三区| 国内精品伊人久久久久av影院| 久久精品国产免费| 福利一区二区在线| 91影院在线免费观看| 欧美日韩免费不卡视频一区二区三区| 777xxx欧美| 日韩一级欧美一级| 国产欧美一区二区三区网站 | 一区二区三区欧美日韩| 午夜精品一区在线观看| 国产综合成人久久大片91| www.欧美日韩| 91精品综合久久久久久| 国产色综合一区| 亚洲五码中文字幕| 国产精品18久久久久久vr| 91美女片黄在线| 91精品国产色综合久久ai换脸| 久久久久国产免费免费| 亚洲高清三级视频| 成人黄色网址在线观看| 51午夜精品国产| 国产精品亲子伦对白| 日本女优在线视频一区二区| 国产成人av影院| 欧美精品xxxxbbbb| 一区在线观看视频| 老司机免费视频一区二区三区| av一区二区三区| 欧美精品一区二区三区在线| 亚洲激情自拍偷拍| 成人高清在线视频| 精品国产露脸精彩对白 | 亚洲亚洲人成综合网络| 国产尤物一区二区| 91精品在线一区二区| 日韩码欧中文字| 国产99久久久久| 欧美videofree性高清杂交| 亚洲精品高清在线| 成人精品视频一区二区三区 | 欧洲一区在线电影| 国产精品色一区二区三区| 青青青爽久久午夜综合久久午夜| 国产成人精品免费看| 日韩欧美国产电影| 日韩精品一二三四| 欧美日韩一本到| 一区二区三区四区蜜桃| 91在线精品一区二区| 国产精品成人一区二区艾草| 91国产丝袜在线播放| av网站一区二区三区| 欧美男人的天堂一二区| 一区二区三区精品| 99久久久国产精品| 亚洲欧美综合另类在线卡通| 国产成人精品免费网站| 久久久久久久av麻豆果冻| 免费在线观看一区二区三区| 一本一道久久a久久精品综合蜜臀| www一区二区| 久久se这里有精品| 69堂成人精品免费视频| 天天色天天操综合| 91精品午夜视频| 99天天综合性| 色综合色狠狠综合色| 国产精品麻豆欧美日韩ww| 国产一区二区三区在线观看精品| 欧美女孩性生活视频| 日本美女一区二区三区| 欧美亚洲精品一区| 一区二区日韩电影| 91麻豆精品国产91久久久久久 | 91精品国产色综合久久不卡蜜臀| 亚洲国产你懂的| 欧美另类久久久品| 蜜臀国产一区二区三区在线播放| 日韩欧美自拍偷拍| 国产成人小视频| 一区二区三区在线视频观看58| 欧美午夜视频网站| 精东粉嫩av免费一区二区三区| 欧美极品aⅴ影院| 色婷婷av久久久久久久| 日本大胆欧美人术艺术动态 | aaa欧美大片| 亚洲国产精品麻豆| 精品日韩欧美在线| 99精品国产视频| 日本不卡视频一二三区| 中文字幕av免费专区久久| 欧美三级三级三级爽爽爽| 国内精品久久久久影院色| 成人免费一区二区三区视频| 久久综合久久综合亚洲| 色综合一区二区三区| 蜜臀99久久精品久久久久久软件| 国产精品无圣光一区二区| 欧美日韩卡一卡二| 成人精品免费看| 日本在线不卡一区| 亚洲另类一区二区| 国产亚洲1区2区3区| 一本色道a无线码一区v| 国产成人在线观看免费网站| 亚洲成年人网站在线观看| 中文字幕一区二区三区不卡在线| 日韩视频免费观看高清在线视频| 一本到三区不卡视频| 国产精品一区二区在线观看网站| 亚洲成人自拍网| 综合久久综合久久| 国产日韩欧美麻豆| 日韩一级完整毛片| 91超碰这里只有精品国产| 91原创在线视频| www.亚洲免费av| 国产精品1区二区.| 九一九一国产精品| 亚洲国产成人精品视频| 成人欧美一区二区三区| 欧美精品一区二区三区蜜臀| 欧美日韩另类国产亚洲欧美一级| av电影在线观看一区| 国产大陆精品国产| 国产精品夜夜爽| 国产综合久久久久久鬼色| 免费观看30秒视频久久| 日韩不卡在线观看日韩不卡视频| 一区二区欧美在线观看| 亚洲一区二区三区在线播放| 一区二区三区资源| 亚洲最色的网站| 一区二区三区在线观看视频| 亚洲欧美一区二区三区孕妇| 中文字幕视频一区二区三区久| 国产精品美女视频| 亚洲欧洲99久久| 亚洲综合一区在线| 亚洲黄色在线视频| 亚洲福利视频一区二区| 首页综合国产亚洲丝袜| 青草av.久久免费一区| 另类小说色综合网站| 国产乱码字幕精品高清av| 国产高清不卡二三区| 成人少妇影院yyyy| 一本大道久久a久久精品综合| 色乱码一区二区三区88| 欧美日韩另类一区| 欧美大胆人体bbbb| 中文字幕欧美日本乱码一线二线| 久久久精品免费网站| 国产精品大尺度| 亚洲成av人片观看| 免费成人av在线| 国产成人一区二区精品非洲| 99免费精品在线| 欧美美女直播网站| 精品久久国产97色综合| 国产精品天干天干在线综合| 中文字幕一区二区三区四区不卡| 亚洲国产精品影院| 国内国产精品久久| 在线精品视频一区二区三四| 欧美群妇大交群中文字幕| 久久久蜜桃精品| 一级做a爱片久久| 久久99日本精品| 成人av网站在线| 欧美日韩成人一区二区| 亚洲精品一线二线三线无人区| 国产拍欧美日韩视频二区 | 在线看一区二区| 久久免费电影网| 亚洲午夜精品一区二区三区他趣| 久久精品国产色蜜蜜麻豆| 99国产精品一区| 欧美tk—视频vk| 亚洲在线视频免费观看| 懂色av中文一区二区三区| 91精品欧美综合在线观看最新| 国产精品天天摸av网|