Файловый менеджер - Редактировать - /home/lmsyaran/public_html/administrator/components/com_blank/script.php
Назад
<?php /*----------------------------------------------------------------------------------| www.vdm.io |----/ Lmskaran /-------------------------------------------------------------------------------------------------------/ @version 1.0.0 @build 10th April, 2021 @created 10th April, 2021 @package Blank @subpackage script.php @author Mojtaba Taheri <http://lmskaran.com/> @copyright Copyright (C) 2015. All Rights Reserved @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html ____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____ (_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _) .-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )( \____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__) /------------------------------------------------------------------------------------------------------*/ // No direct access to this file defined('_JEXEC') or die('Restricted access'); use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\Folder; JHTML::_('behavior.modal'); /** * Script File of Blank Component */ class com_blankInstallerScript { /** * Constructor * * @param JAdapterInstance $parent The object responsible for running this script */ public function __construct(JAdapterInstance $parent) {} /** * Called on installation * * @param JAdapterInstance $parent The object responsible for running this script * * @return boolean True on success */ public function install(JAdapterInstance $parent) {} /** * Called on uninstallation * * @param JAdapterInstance $parent The object responsible for running this script */ public function uninstall(JAdapterInstance $parent) { // little notice as after service, in case of bad experience with component. echo '<h2>Did something go wrong? Are you disappointed?</h2> <p>Please let me know at <a href="mailto:Taheri.mojtaba1@gmail.com">Taheri.mojtaba1@gmail.com</a>. <br />We at Lmskaran are committed to building extensions that performs proficiently! You can help us, really! <br />Send me your thoughts on improvements that is needed, trust me, I will be very grateful! <br />Visit us at <a href="http://lmskaran.com/" target="_blank">http://lmskaran.com/</a> today!</p>'; } /** * Called on update * * @param JAdapterInstance $parent The object responsible for running this script * * @return boolean True on success */ public function update(JAdapterInstance $parent){} /** * Called before any type of action * * @param string $type Which action is happening (install|uninstall|discover_install|update) * @param JAdapterInstance $parent The object responsible for running this script * * @return boolean True on success */ public function preflight($type, JAdapterInstance $parent) { // get application $app = JFactory::getApplication(); // is redundant or so it seems ...hmmm let me know if it works again if ($type === 'uninstall') { return true; } // the default for both install and update $jversion = new JVersion(); if (!$jversion->isCompatible('3.8.0')) { $app->enqueueMessage('Please upgrade to at least Joomla! 3.8.0 before continuing!', 'error'); return false; } // do any updates needed if ($type === 'update') { } // do any install needed if ($type === 'install') { } // check if the PHPExcel stuff is still around if (File::exists(JPATH_ADMINISTRATOR . '/components/com_blank/helpers/PHPExcel.php')) { // We need to remove this old PHPExcel folder $this->removeFolder(JPATH_ADMINISTRATOR . '/components/com_blank/helpers/PHPExcel'); // We need to remove this old PHPExcel file File::delete(JPATH_ADMINISTRATOR . '/components/com_blank/helpers/PHPExcel.php'); } return true; } /** * Called after any type of action * * @param string $type Which action is happening (install|uninstall|discover_install|update) * @param JAdapterInstance $parent The object responsible for running this script * * @return boolean True on success */ public function postflight($type, JAdapterInstance $parent) { // get application $app = JFactory::getApplication(); // set the default component settings if ($type === 'install') { // Install the global extenstion params. $db = JFactory::getDbo(); $query = $db->getQuery(true); // Field to update. $fields = array( $db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Mojtaba Taheri","autorEmail":"Taheri.mojtaba1@gmail.com","check_in":"-1 day","save_history":"1","history_limit":"10"}'), ); // Condition. $conditions = array( $db->quoteName('element') . ' = ' . $db->quote('com_blank') ); $query->update($db->quoteName('#__extensions'))->set($fields)->where($conditions); $db->setQuery($query); $allDone = $db->execute(); echo '<a target="_blank" href="http://lmskaran.com/" title="Blank"> <img src="components/com_blank/assets/images/vdm-component.jpg"/> </a>'; } // do any updates needed if ($type === 'update') { echo '<a target="_blank" href="http://lmskaran.com/" title="Blank"> <img src="components/com_blank/assets/images/vdm-component.jpg"/> </a> <h3>Upgrade to Version 1.0.0 Was Successful! Let us know if anything is not working as expected.</h3>'; } return true; } /** * Remove folders with files * * @param string $dir The path to folder to remove * @param boolean $ignore The folders and files to ignore and not remove * * @return boolean True in all is removed * */ protected function removeFolder($dir, $ignore = false) { if (Folder::exists($dir)) { $it = new RecursiveDirectoryIterator($dir); $it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST); // remove ending / $dir = rtrim($dir, '/'); // now loop the files & folders foreach ($it as $file) { if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue; // set file dir $file_dir = $file->getPathname(); // check if this is a dir or a file if ($file->isDir()) { $keeper = false; if ($this->checkArray($ignore)) { foreach ($ignore as $keep) { if (strpos($file_dir, $dir.'/'.$keep) !== false) { $keeper = true; } } } if ($keeper) { continue; } Folder::delete($file_dir); } else { $keeper = false; if ($this->checkArray($ignore)) { foreach ($ignore as $keep) { if (strpos($file_dir, $dir.'/'.$keep) !== false) { $keeper = true; } } } if ($keeper) { continue; } File::delete($file_dir); } } // delete the root folder if not ignore found if (!$this->checkArray($ignore)) { return Folder::delete($dir); } return true; } return false; } /** * Check if have an array with a length * * @input array The array to check * * @returns bool/int number of items in array on success */ protected function checkArray($array, $removeEmptyString = false) { if (isset($array) && is_array($array) && ($nr = count((array)$array)) > 0) { // also make sure the empty strings are removed if ($removeEmptyString) { foreach ($array as $key => $string) { if (empty($string)) { unset($array[$key]); } } return $this->checkArray($array, false); } return $nr; } return false; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка