File manager - Edit - /home/jardides/www/Jardi-design/old/administrator/components/com_templateck/helpers/installer.php
Back
<?php /** * @name Template Creator CK 3 * @package com_templateck * @copyright Copyright (C) 2013. 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 */ class TemplateckInstaller extends JObject { /** * Install an extension from either folder, url or upload. * * @return boolean result of install. * * @since 1.5 */ public function install() { // $this->setState('action', 'install'); // Set FTP credentials, if given. JClientHelper::setCredentialsFromRequest('ftp'); $app = JFactory::getApplication(); // Load installer plugins for assistance if required: JPluginHelper::importPlugin('installer'); $dispatcher = JEventDispatcher::getInstance(); $package = null; // This event allows an input pre-treatment, a custom pre-packing or custom installation. // (e.g. from a JSON description). $results = $dispatcher->trigger('onInstallerBeforeInstallation', array($this, &$package)); if (in_array(true, $results, true)) { return true; } if (in_array(false, $results, true)) { return false; } // $installType = $app->input->getWord('installtype'); $installType = 'url'; $package = $this->_getPackageFromUrl(); // This event allows a custom installation of the package or a customization of the package: $results = $dispatcher->trigger('onInstallerBeforeInstaller', array($this, &$package)); if (in_array(true, $results, true)) { return true; } if (in_array(false, $results, true)) { if (in_array($installType, array('upload', 'url'))) { JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']); } return false; } // Was the package unpacked? if (!$package || !$package['type']) { if (in_array($installType, array('upload', 'url'))) { JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']); } $app->enqueueMessage(JText::_('COM_INSTALLER_UNABLE_TO_FIND_INSTALL_PACKAGE'), 'error'); return false; } // Get an installer instance. $installer = JInstaller::getInstance(); // Install the package. if (!$installer->install($package['dir'])) { // There was an error installing the package. $msg = JText::sprintf('COM_INSTALLER_INSTALL_ERROR', JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type']))); $result = false; $msgType = 'error'; } else { // Package installed sucessfully. $msg = JText::sprintf('COM_INSTALLER_INSTALL_SUCCESS', JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($package['type']))); $result = true; $msgType = 'message'; } // This event allows a custom a post-flight: $dispatcher->trigger('onInstallerAfterInstaller', array($this, &$package, $installer, &$result, &$msg)); // Set some model state values. $app = JFactory::getApplication(); $app->enqueueMessage($msg, $msgType); // $this->setState('name', $installer->get('name')); // $this->setState('result', $result); $app->setUserState('com_installer.message', $installer->message); $app->setUserState('com_installer.extension_message', $installer->get('extension_message')); $app->setUserState('com_installer.redirect_url', $installer->get('redirect_url')); // Cleanup the install files. if (!is_file($package['packagefile'])) { $config = JFactory::getConfig(); $package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile']; } JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']); return $result; } /** * Install an extension from a URL. * * @return Package details or false on failure. * * @since 1.5 */ protected function _getPackageFromUrl() { $input = JFactory::getApplication()->input; // Get the URL of the package to install. $url = $input->getString('install_url'); // Did you give us a URL? if (!$url) { JError::raiseWarning('', JText::_('COM_INSTALLER_MSG_INSTALL_ENTER_A_URL')); return false; } // Handle updater XML file case: if (preg_match('/\.xml\s*$/', $url)) { jimport('joomla.updater.update'); $update = new JUpdate; $update->loadFromXml($url); $package_url = trim($update->get('downloadurl', false)->_data); if ($package_url) { $url = $package_url; } unset($update); } // Download the package at the URL given. $p_file = JInstallerHelper::downloadPackage($url); // Was the package downloaded? if (!$p_file) { JError::raiseWarning('', JText::_('COM_INSTALLER_MSG_INSTALL_INVALID_URL')); return false; } $config = JFactory::getConfig(); $tmp_dest = $config->get('tmp_path'); // Unpack the downloaded package file. $package = JInstallerHelper::unpack($tmp_dest . '/' . $p_file, true); return $package; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings