File manager - Edit - /home/jardides/www/Jardi-design/j37/administrator/components/com_extensionsmanagerck/models/extensions.php
Back
<?php /** * @name Extensions Manager CK * @package com_extensionsmanagerck * @copyright Copyright (C) 2016. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @author Cedric Keiflin - http://www.template-creator.com - http://www.joomlack.fr */ defined('_JEXEC') or die; jimport('joomla.application.component.modellist'); jimport('joomla.filesystem.file'); jimport('joomla.filesystem.folder'); class ExtensionsmanagerckModelExtensions extends JModelList { /* * Load the extensions list * * Return Array - the list */ public function getItems($ids = array()) { $items = array(); $xmlFile = JPATH_SITE . '/administrator/components/com_extensionsmanagerck/extensions.xml'; $xml_parser = xml_parser_create(); xml_parse_into_struct($xml_parser, JFile::read($xmlFile), $fields); xml_parser_free($xml_parser); foreach ($fields as $field) { if ( (strtolower($field['tag']) != 'extension' && strtolower($field['tag']) != 'group') || !isset($field['attributes']) ) { continue; } $item = new stdClass(); $this->initItem($item); foreach ($field['attributes'] as $key => $val) { if (strtolower($key) == 'type') { $item->type = $val; $item->types = explode(',', $val); } else { $item->{strtolower($key)} = $val; } } // check the extension version for the current website $majorJVersion = substr(JVERSION, 0, 1); if ((int) $majorJVersion != (int) $item->joomlaversion && strtolower($field['tag']) != 'group') continue; if (strtolower($field['tag']) == 'group') { $item->type = 'group'; } else { // check the extension status $item->isInstalled = (int)$this->checkIfInstalled($item); if ($item->isInstalled) { $item->installedVersion = $this->getInstalledVersion($item); } else { $item->installedVersion = '<span class="label">' . JText::_('CK_NOT_INSTALLED') . '</span>'; } // look for actions to process if (! $item->isInstalled ) { $item->action = 'install'; } else if ($item->isInstalled && version_compare($item->installedVersion, $item->latestVersion) < 0) { $item->action = 'update'; } } $items[] = $item; } // var_dump($items); return $items; } /* * Create empty attributes for the item */ private function initItem(&$item) { $item->name = ''; $item->type = ''; $item->types = array(); $item->folder = ''; $item->element = ''; $item->action = ''; $item->downloadid = 0; $item->isInstalled = 0; $item->isUpToDate = false; $item->installedVersion = ''; $item->latestVersion = ''; $item->updatexml = ''; $item->ispaid = '0'; $item->joomlaversion = '0'; } /* * Check if the extension is installed * * Return Boolean - True on success */ private function checkIfInstalled($item) { // if (stristr($item->type, 'com')) { // return JFile::exists(JPATH_SITE . $this->getExtensionFolder($item) . $item->element . '.php') // || JFile::exists(JPATH_SITE . '/administrator' . $this->getExtensionFolder($item) . '/' . $item->element . '.php'); // } else if (stristr($item->type, 'mod')) { // return JFile::exists(JPATH_SITE . $this->getExtensionFolder($item) . $item->element . '.php'); // } else if (stristr($item->type, 'plg')) { return JFile::exists(JPATH_SITE . $this->getExtensionFolder($item) . $item->element . '.php') || JFolder::exists(JPATH_SITE . $this->getExtensionFolder($item)); // } return false; } private function getExtensionFolder($item) { if (isset($item->extensionFolder)) return $item->extensionFolder; if (stristr($item->type, 'com')) { $item->extensionFolder = ($item->folder ? '/' . $item->folder : '') . '/components/com_' . $item->element . '/' ; } else if (stristr($item->type, 'mod')) { $item->extensionFolder = '/modules/mod_' . $item->element . '/mod_' ; } else if (stristr($item->type, 'plg')) { $item->extensionFolder = '/plugins/' . $item->folder . '/' . $item->element . '/' ; } return $item->extensionFolder; } private function getInstalledVersion($item) { if (isset($item->version)) return $item->version; $item->version = false; $xmlFile = JPATH_SITE . $this->getExtensionFolder($item) . $item->element . '.xml'; if (! $xmlContent = JFactory::getXML($xmlFile)) { } else { $item->version = (string)$xmlContent->version; } return $item->version; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.29 |
proxy
|
phpinfo
|
Settings