Файловый менеджер - Редактировать - /var/www/iplanru/data/old/www/i-plan.ru/administrator/components/com_jce/installer/models/language.php
Назад
<?php /** * @version $Id: language.php 47 2009-05-26 18:06:30Z happynoodleboy $ * @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.'extensions.php'); jimport( 'joomla.filesystem.folder' ); /** * Installer Languages Model * * @package Joomla * @subpackage Installer * @since 1.5 */ class InstallerModelLanguage extends InstallerModel { /** * Extension Type * @var string */ var $_type = 'language'; /** * Overridden constructor * @access protected */ function __construct() { // Call the parent constructor parent::__construct(); } function _loadItems() { global $mainframe, $option; $db = &JFactory::getDBO(); // 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->baseDir = $langBDir; $languages[] = $lang; } $rows = array(); $rowid = 0; foreach ($languages as $language) { $files = JFolder::files( $language->baseDir.DS.$language->folder, '\.(com_jce)\.xml$' ); foreach ($files as $file) { $data = JApplicationHelper::parseXMLInstallFile($language->baseDir.DS.$language->folder.DS.$file); $row = new StdClass(); $row->id = $rowid; $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; } $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_jce'); // 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'); require_once( JPATH_COMPONENT .DS. 'installer' .DS. 'installer.php' ); $installer =& JCEInstaller::getInstance($db, $this->_type); // Uninstall the chosen extensions foreach ($eid as $id) { $item = $this->_items[$id]; $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; } }
| ver. 1.4 |
Github
|
.
| PHP 5.4.45-1~dotdeb+6.1 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка