Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/installer.tar
Назад
jce/services/provider.php 0000604 00000002372 15245530303 0011473 0 ustar 00 <?php /** * @package JCE * @subpackage Installer.Jce * * @copyright Copyright (C) 2005 - 2023 Open Source Matters, Inc. All rights reserved * @copyright Copyright (C) 2023 - 2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Installer\Jce\Extension\Jce; return new class() implements ServiceProviderInterface { public function register(Container $container) { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Jce( $dispatcher, (array) PluginHelper::getPlugin('installer', 'jce') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; jce/src/Extension/Jce.php 0000604 00000004741 15245530303 0011264 0 ustar 00 <?php /** * @package JCE * @subpackage Installer.Jce * * @copyright Copyright (C) 2005 - 2023 Open Source Matters, Inc. All rights reserved * @copyright Copyright (C) 2023 - 2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Installer\Jce\Extension; \defined('_JEXEC') or die; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\Database\DatabaseAwareTrait; use Joomla\Plugin\Installer\Jce\PluginTraits\EventsTrait; class Jce extends CMSPlugin { use EventsTrait; use DatabaseAwareTrait; /** * Affects constructor behavior. If true, language files will be loaded automatically. * * @var boolean */ protected $autoloadLanguage = true; private function getDownloadKeyFromUpdateSites() { $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('package_id') ->from('#__extensions') ->where('element = ' . $db->quote('com_jce')); $db->setQuery($query); $packageId = $db->loadResult(); if (is_null($packageId)) { return null; } $query = $db->getQuery(true) ->select($db->quoteName('update_sites.extra_query')) ->from($db->quoteName('#__update_sites', 'update_sites')) ->join( 'INNER', $db->quoteName('#__update_sites_extensions', 'update_sites_extensions') . ' ON ' . $db->quoteName('update_sites_extensions.update_site_id') . ' = ' . $db->quoteName('update_sites.update_site_id') ) ->where($db->quoteName('update_sites_extensions.extension_id') . ' = ' . (int) $packageId); $db->setQuery($query); $result = $db->loadResult(); if ($result) { // Parse the `extra_query` to extract the key value parse_str($result, $parsedQuery); if (isset($parsedQuery['key'])) { return $parsedQuery['key']; } } return null; } /** * Get the download key from the update sites table. * * @return string|null The download key or null if not found */ public function getDownloadKey() { // get the key directly from the update sites table, eg: when updating a plugin $key = $this->getDownloadKeyFromUpdateSites(); // Return the key or null if not found return $key; } } jce/src/PluginTraits/EventsTrait.php 0000604 00000007555 15245530303 0013512 0 ustar 00 <?php /** * @package JCE * @subpackage Installer.Jce * * @copyright Copyright (C) 2005 - 2023 Open Source Matters, Inc. All rights reserved * @copyright Copyright (C) 2023 - 2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Installer\Jce\PluginTraits; defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Http\HttpFactory; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; /** * JCE Installer Events Trait * * @since 2.9.73 */ trait EventsTrait { private function checkIfKeyRequired($query) { // get the file name from the url without the xml extension $file = isset($query['file']) ? $query['file'] : ''; if (empty($file)) { return false; } // jce pro requires a key if (strpos($file, 'pkg_jce_pro_') !== false) { return true; } // jce core does not require a key if (strpos($file, 'pkg_jce_') !== false) { return false; } // jce plugins require a key if (strpos($file, 'plg_jce_') !== false) { return true; } // mediabox does not require a key if (strpos($file, 'plg_system_jcemediabox') !== false) { return false; } return false; } /** * Handle adding credentials to package download request. * * @param string $url url from which package is going to be downloaded * @param array $headers headers to be sent along the download request (key => value format) * * @return bool true if credentials have been added to request or not our business, false otherwise (credentials not set by user) * * @since 3.0 */ public function onInstallerBeforePackageDownload(&$url, &$headers) { $app = Factory::getApplication(); $uri = Uri::getInstance($url); $host = $uri->getHost(); if ($host !== 'www.joomlacontenteditor.net') { return true; } // check if the key has already been set via the dlid field. This will only be available in Joomla 4.x and later $key = $uri->getVar('key', ''); // get the key from the component params or Update Sites (in the case of plugin updates) if (empty($key)) { $key = $this->getDownloadKey(); } // if no key is set... if (empty($key)) { $query = $uri->getQuery(true); // if we are attempting to update JCE Pro or JCE Plugins, display a notice message if ($this->checkIfKeyRequired($query) === true) { $app->enqueueMessage(Text::_('PLG_INSTALLER_JCE_KEY_WARNING'), 'notice'); return true; } } // Append the subscription key to the download URL if it exists if (!empty($key)) { $uri->setVar('key', $key); } // create the url string $url = $uri->toString(); // check validity of the key and display a message if it is invalid / expired try { $tmpUri = clone $uri; $tmpUri->setVar('task', 'update.validate'); $tmpUrl = $tmpUri->toString(); $response = HttpFactory::getHttp()->get($tmpUrl, array()); } catch (\RuntimeException $exception) { $app->enqueueMessage($exception->getMessage(), 'notice'); return true; } // invalid key, display a notice message if (403 == $response->code || 401 == $response->code) { $app->enqueueMessage(Text::_('PLG_INSTALLER_JCE_KEY_INVALID'), 'notice'); } // update limit exceeded if (498 === $response->code) { $app->enqueueMessage(Text::_('PLG_INSTALLER_JCE_KEY_LIMIT'), 'notice'); } return true; } } jce/jce.xml 0000604 00000002003 15245530303 0006557 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" group="installer" method="upgrade"> <name>plg_installer_jce</name> <version>2.9.99.2</version> <creationDate>22-04-2026</creationDate> <author>Ryan Demmer</author> <authorEmail>info@joomlacontenteditor.net</authorEmail> <authorUrl>http://www.joomlacontenteditor.net</authorUrl> <copyright>Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved</copyright> <license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license> <description>PLG_INSTALLER_JCE_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Installer\Jce</namespace> <files folder="plugins/installer/jce"> <filename plugin="jce">jce.php</filename> <folder>services</folder> <folder>src</folder> </files> <languages folder="administrator/language/en-GB"> <language tag="en-GB">en-GB.plg_installer_jce.ini</language> <language tag="en-GB">en-GB.plg_installer_jce.sys.ini</language> </languages> </extension> jce/jce.php 0000604 00000002434 15245530303 0006556 0 ustar 00 <?php /** * @package JCE * @subpackage Installer.Jce * * @copyright Copyright (C) 2005 - 2023 Open Source Matters, Inc. All rights reserved * @copyright Copyright (C) 2023 - 2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; JLoader::registerNamespace('Joomla\\Plugin\\Installer\\Jce', JPATH_PLUGINS . '/installer/jce/src', false, false, 'psr4'); use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\Plugin\Installer\Jce\PluginTraits\EventsTrait; /** * Handle commercial extension update authorization. * * @since 2.6 */ class plgInstallerJce extends CMSPlugin { use EventsTrait; /** * Affects constructor behavior. If true, language files will be loaded automatically. * * @var boolean */ protected $autoloadLanguage = true; /** * Get the download key from the component params or the dlid field. * * @return string The download key */ public function getDownloadKey() { $component = ComponentHelper::getComponent('com_jce'); // get key from component params in Joomla 3.x $key = $component->params->get('updates_key', ''); return $key; } } urlinstaller/tmpl/default.php 0000604 00000002141 15245530303 0012367 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.urlinstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; JHtml::_('bootstrap.tooltip'); JFactory::getDocument()->addScriptDeclaration(' Joomla.submitbuttonurl = function() { var form = document.getElementById("adminForm"); JoomlaInstaller.showLoading(); form.installtype.value = "url" form.submit(); }; '); ?> <legend><?php echo JText::_('PLG_INSTALLER_URLINSTALLER_TEXT'); ?></legend> <div class="control-group"> <label for="install_url" class="control-label"><?php echo JText::_('PLG_INSTALLER_URLINSTALLER_TEXT'); ?></label> <div class="controls"> <input type="text" id="install_url" name="install_url" class="span5 input_box" size="70" placeholder="https://"/> </div> </div> <div class="form-actions"> <input type="button" class="btn btn-primary" id="installbutton_url" value="<?php echo JText::_('PLG_INSTALLER_URLINSTALLER_BUTTON'); ?>" onclick="Joomla.submitbuttonurl()" /> </div> urlinstaller/urlinstaller.php 0000604 00000001726 15245530303 0012517 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.urlinstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * UrlFolderInstaller Plugin. * * @since 3.6.0 */ class PlgInstallerUrlInstaller extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.6.0 */ protected $autoloadLanguage = true; /** * Textfield or Form of the Plugin. * * @return array Returns an array with the tab information * * @since 3.6.0 */ public function onInstallerAddInstallationTab() { $tab = array(); $tab['name'] = 'url'; $tab['label'] = JText::_('PLG_INSTALLER_URLINSTALLER_TEXT'); // Render the input ob_start(); include JPluginHelper::getLayoutPath('installer', 'urlinstaller'); $tab['content'] = ob_get_clean(); return $tab; } } urlinstaller/urlinstaller.xml 0000604 00000001454 15245530303 0012526 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.6" type="plugin" group="installer"> <name>PLG_INSTALLER_URLINSTALLER</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.6.0</version> <description>PLG_INSTALLER_URLINSTALLER_PLUGIN_XML_DESCRIPTION</description> <files> <filename plugin="urlinstaller">urlinstaller.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_installer_urlinstaller.ini</language> <language tag="en-GB">en-GB.plg_installer_urlinstaller.sys.ini</language> </languages> </extension> packageinstaller/packageinstaller.xml 0000604 00000001504 15245530303 0014104 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.6" type="plugin" group="installer"> <name>plg_installer_packageinstaller</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.6.0</version> <description>PLG_INSTALLER_PACKAGEINSTALLER_PLUGIN_XML_DESCRIPTION</description> <files> <filename plugin="packageinstaller">packageinstaller.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_installer_packageinstaller.ini</language> <language tag="en-GB">en-GB.plg_installer_packageinstaller.sys.ini</language> </languages> </extension> packageinstaller/packageinstaller.php 0000604 00000001770 15245530303 0014100 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.packageInstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * PackageInstaller Plugin. * * @since 3.6.0 */ class PlgInstallerPackageInstaller extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.6.0 */ protected $autoloadLanguage = true; /** * Textfield or Form of the Plugin. * * @return array Returns an array with the tab information * * @since 3.6.0 */ public function onInstallerAddInstallationTab() { $tab = array(); $tab['name'] = 'package'; $tab['label'] = JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_PACKAGE_FILE'); // Render the input ob_start(); include JPluginHelper::getLayoutPath('installer', 'packageinstaller'); $tab['content'] = ob_get_clean(); return $tab; } } packageinstaller/tmpl/default.php 0000604 00000022161 15245530303 0013164 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.packageinstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; JHtml::_('bootstrap.tooltip'); JHtml::_('jquery.token'); JText::script('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_UNKNOWN'); JText::script('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_EMPTY'); JText::script('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG'); JFactory::getDocument()->addScriptDeclaration(' Joomla.submitbuttonpackage = function() { var form = document.getElementById("adminForm"); // do field validation if (form.install_package.value == "") { alert("' . JText::_('PLG_INSTALLER_PACKAGEINSTALLER_NO_PACKAGE', true) . '"); } else if (form.install_package.files[0].size > form.max_upload_size.value) { alert("' . JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG', true) . '"); } else { JoomlaInstaller.showLoading(); form.installtype.value = "upload" form.submit(); } }; '); // Drag and Drop installation scripts $token = JSession::getFormToken(); $return = JFactory::getApplication()->input->getBase64('return'); // Drag-drop installation JFactory::getDocument()->addScriptDeclaration( <<<JS jQuery(document).ready(function($) { if (typeof FormData === 'undefined') { $('#legacy-uploader').show(); $('#uploader-wrapper').hide(); return; } var uploading = false; var dragZone = $('#dragarea'); var fileInput = $('#install_package'); var fileSizeMax = $('#max_upload_size').val(); var button = $('#select-file-button'); var url = 'index.php?option=com_installer&task=install.ajax_upload'; var returnUrl = $('#installer-return').val(); var actions = $('.upload-actions'); var progress = $('.upload-progress'); var progressBar = progress.find('.bar'); var percentage = progress.find('.uploading-number'); if (returnUrl) { url += '&return=' + returnUrl; } button.on('click', function(e) { fileInput.click(); }); fileInput.on('change', function (e) { if (uploading) { return; } Joomla.submitbuttonpackage(); }); dragZone.on('dragenter', function(e) { e.preventDefault(); e.stopPropagation(); dragZone.addClass('hover'); return false; }); // Notify user when file is over the drop area dragZone.on('dragover', function(e) { e.preventDefault(); e.stopPropagation(); dragZone.addClass('hover'); return false; }); dragZone.on('dragleave', function(e) { e.preventDefault(); e.stopPropagation(); dragZone.removeClass('hover'); return false; }); dragZone.on('drop', function(e) { e.preventDefault(); e.stopPropagation(); dragZone.removeClass('hover'); if (uploading) { return; } var files = e.originalEvent.target.files || e.originalEvent.dataTransfer.files; if (!files.length) { return; } var file = files[0]; var data = new FormData; if (file.size > fileSizeMax) { alert(Joomla.JText._('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG'), true); return; } data.append('install_package', file); data.append('installtype', 'upload'); dragZone.attr('data-state', 'uploading'); uploading = true; $.ajax({ url: url, data: data, type: 'post', processData: false, cache: false, contentType: false, xhr: function () { var xhr = new window.XMLHttpRequest(); progressBar.css('width', 0); progressBar.attr('aria-valuenow', 0); percentage.text(0); // Upload progress xhr.upload.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; var number = Math.round(percentComplete * 100); progressBar.css('width', number + '%'); progressBar.attr('aria-valuenow', number); percentage.text(number); if (number === 100) { dragZone.attr('data-state', 'installing'); } } }, false); return xhr; } }) .done(function (res) { // Handle extension fatal error if (!res || (!res.success && !res.data)) { showError(res); return; } // Always redirect that can show message queue from session if (res.data.redirect) { location.href = res.data.redirect; } else { location.href = 'index.php?option=com_installer&view=install'; } }).error(function (error) { uploading = false; if (error.status === 200) { var res = error.responseText || error.responseJSON; showError(res); } else { showError(error.statusText); } }); function showError(res) { dragZone.attr('data-state', 'pending'); var message = Joomla.JText._('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_UNKNOWN'); if (res == null) { message = Joomla.JText._('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_EMPTY'); } else if (typeof res === 'string') { // Let's remove unnecessary HTML message = res.replace(/(<([^>]+)>|\s+)/g, ' '); } else if (res.message) { message = res.message; } Joomla.renderMessages({error: [message]}); } }); }); JS ); JFactory::getDocument()->addStyleDeclaration( <<<CSS #dragarea { background-color: #fafbfc; border: 1px dashed #999; box-sizing: border-box; padding: 5% 0; transition: all 0.2s ease 0s; width: 100%; } #dragarea p.lead { color: #999; } #upload-icon { font-size: 48px; width: auto; height: auto; margin: 0; line-height: 175%; color: #999; transition: all .2s; } #dragarea.hover { border-color: #666; background-color: #eee; } #dragarea.hover #upload-icon, #dragarea p.lead { color: #666; } .upload-progress, .install-progress { width: 50%; margin: 5px auto; } /* Default transition (.3s) is too slow, progress will not run to 100% */ .upload-progress .progress .bar { -webkit-transition: width .1s; -moz-transition: width .1s; -o-transition: width .1s; transition: width .1s; } #dragarea[data-state=pending] .upload-progress { display: none; } #dragarea[data-state=pending] .install-progress { display: none; } #dragarea[data-state=uploading] .install-progress { display: none; } #dragarea[data-state=uploading] .upload-actions { display: none; } #dragarea[data-state=installing] .upload-progress { display: none; } #dragarea[data-state=installing] .upload-actions { display: none; } CSS ); $maxSizeBytes = JFilesystemHelper::fileUploadMaxSize(false); $maxSize = JHtml::_('number.bytes', $maxSizeBytes); ?> <legend><?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION'); ?></legend> <div id="uploader-wrapper"> <div id="dragarea" data-state="pending"> <div id="dragarea-content" class="text-center"> <p> <span id="upload-icon" class="icon-upload" aria-hidden="true"></span> </p> <div class="upload-progress"> <div class="progress progress-striped active"> <div class="bar bar-success" style="width: 0;" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" ></div> </div> <p class="lead"> <span class="uploading-text"> <?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOADING'); ?> </span> <span class="uploading-number">0</span><span class="uploading-symbol">%</span> </p> </div> <div class="install-progress"> <div class="progress progress-striped active"> <div class="bar" style="width: 100%;"></div> </div> <p class="lead"> <span class="installing-text"> <?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_INSTALLING'); ?> </span> </p> </div> <div class="upload-actions"> <p class="lead"> <?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_DRAG_FILE_HERE'); ?> </p> <p> <button id="select-file-button" type="button" class="btn btn-success"> <span class="icon-copy" aria-hidden="true"></span> <?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_SELECT_FILE'); ?> </button> </p> <p> <?php echo JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', $maxSize); ?> </p> </div> </div> </div> </div> <div id="legacy-uploader" style="display: none;"> <div class="control-group"> <label for="install_package" class="control-label"><?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_EXTENSION_PACKAGE_FILE'); ?></label> <div class="controls"> <input class="input_box" id="install_package" name="install_package" type="file" size="57" /> <input id="max_upload_size" name="max_upload_size" type="hidden" value="<?php echo $maxSizeBytes; ?>" /><br> <?php echo JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', $maxSize); ?> </div> </div> <div class="form-actions"> <button class="btn btn-primary" type="button" id="installbutton_package" onclick="Joomla.submitbuttonpackage()"> <?php echo JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_AND_INSTALL'); ?> </button> </div> <input id="installer-return" name="return" type="hidden" value="<?php echo $return; ?>" /> <input id="installer-token" name="return" type="hidden" value="<?php echo $token; ?>" /> </div> folderinstaller/tmpl/default.php 0000604 00000002665 15245530303 0013053 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.folderinstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; JHtml::_('bootstrap.tooltip'); $app = JFactory::getApplication('administrator'); JFactory::getDocument()->addScriptDeclaration(' Joomla.submitbuttonfolder = function() { var form = document.getElementById("adminForm"); // do field validation if (form.install_directory.value == "") { alert("' . JText::_('PLG_INSTALLER_FOLDERINSTALLER_NO_INSTALL_PATH', true) . '"); } else { JoomlaInstaller.showLoading(); form.installtype.value = "folder" form.submit(); } }; '); ?> <legend><?php echo JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT'); ?></legend> <div class="control-group"> <label for="install_directory" class="control-label"><?php echo JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT'); ?></label> <div class="controls"> <input type="text" id="install_directory" name="install_directory" class="span5 input_box" size="70" value="<?php echo $app->input->get('install_directory', $app->get('tmp_path')); ?>" /> </div> </div> <div class="form-actions"> <input type="button" class="btn btn-primary" id="installbutton_directory" value="<?php echo JText::_('PLG_INSTALLER_FOLDERINSTALLER_BUTTON'); ?>" onclick="Joomla.submitbuttonfolder()" /> </div> folderinstaller/folderinstaller.php 0000604 00000001742 15245530303 0013637 0 ustar 00 <?php /** * @package Joomla.Plugin * @subpackage Installer.folderInstaller * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * FolderInstaller Plugin. * * @since 3.6.0 */ class PlgInstallerFolderInstaller extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.6.0 */ protected $autoloadLanguage = true; /** * Textfield or Form of the Plugin. * * @return array Returns an array with the tab information * * @since 3.6.0 */ public function onInstallerAddInstallationTab() { $tab = array(); $tab['name'] = 'folder'; $tab['label'] = JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT'); // Render the input ob_start(); include JPluginHelper::getLayoutPath('installer', 'folderinstaller'); $tab['content'] = ob_get_clean(); return $tab; } } folderinstaller/folderinstaller.xml 0000604 00000001476 15245530303 0013654 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.6" type="plugin" group="installer"> <name>PLG_INSTALLER_FOLDERINSTALLER</name> <author>Joomla! Project</author> <creationDate>May 2016</creationDate> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.6.0</version> <description>PLG_INSTALLER_FOLDERINSTALLER_PLUGIN_XML_DESCRIPTION</description> <files> <filename plugin="folderinstaller">folderinstaller.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_installer_folderinstaller.ini</language> <language tag="en-GB">en-GB.plg_installer_folderinstaller.sys.ini</language> </languages> </extension>
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка