Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/com_postinstall.zip
Назад
PK ��!]9x��U U config.xmlnu &1i� <?xml version="1.0" encoding="UTF-8"?> <config> <fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC" > <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" filter="rules" component="com_postinstall" section="component" /> </fieldset> </config>PK ��!]?�6�N N access.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <access component="com_postinstall"> <section name="component"> <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" /> <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_COMPONENT_DESC" /> </section> </access> PK ��!]9���� � fof.xmlnu &1i� <?xml version="1.0" encoding="UTF-8"?> <fof> <backend> <dispatcher> <option name="default_view">messages</option> </dispatcher> <view name="messages"> <acl> <task name="reset">core.edit.state</task> </acl> <taskmap> <task name="read">browse</task> <task name="add">browse</task> <task name="edit">browse</task> </taskmap> </view> </backend> </fof> PK ��!]�ۧf f postinstall.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // Dispatch the component. FOFDispatcher::getTmpInstance('com_postinstall')->dispatch(); PK ��!]���# # postinstall.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="component" version="3.2" method="upgrade"> <name>com_postinstall</name> <author>Joomla! Project</author> <creationDate>September 2013</creationDate> <copyright>(C) 2013 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.2.0</version> <description>COM_POSTINSTALL_XML_DESCRIPTION</description> <administration> <files folder="admin"> <filename>access.xml</filename> <filename>config.xml</filename> <filename>fof.xml</filename> <filename>postinstall.php</filename> <filename>toolbar.php</filename> <folder>controllers</folder> <folder>models</folder> <folder>views</folder> </files> <languages folder="admin"> <language tag="en-GB">language/en-GB.com_postinstall.ini</language> <language tag="en-GB">language/en-GB.com_postinstall.sys.ini</language> </languages> </administration> </extension> PK ��!]���-� � toolbar.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * The Toolbar class renders the component title area and the toolbar. * * @since 3.2 */ class PostinstallToolbar extends FOFToolbar { /** * Setup the toolbar and title * * @return void * * @since 3.2 */ public function onMessages() { JToolBarHelper::preferences($this->config['option'], 550, 875); JToolbarHelper::help('JHELP_COMPONENTS_POST_INSTALLATION_MESSAGES'); } } PK ��!]�eQ��; �; models/messages.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Model class to manage postinstall messages * * @since 3.2 */ class PostinstallModelMessages extends FOFModel { /** * Builds the SELECT query * * @param boolean $overrideLimits Are we requested to override the set limits? * * @return JDatabaseQuery * * @since 3.2 */ public function buildQuery($overrideLimits = false) { $query = parent::buildQuery($overrideLimits); $db = $this->getDbo(); // Add a forced extension filtering to the list $eid = $this->getState('eid', 700); $query->where($db->qn('extension_id') . ' = ' . $db->q($eid)); // Force filter only enabled messages $published = $this->getState('published', 1, 'int'); $query->where($db->qn('enabled') . ' = ' . (int) $published); return $query; } /** * Returns the name of an extension, as registered in the #__extensions table * * @param integer $eid The extension ID * * @return string The extension name * * @since 3.2 */ public function getExtensionName($eid) { // Load the extension's information from the database $db = $this->getDbo(); $query = $db->getQuery(true) ->select(array('name', 'element', 'client_id')) ->from($db->qn('#__extensions')) ->where($db->qn('extension_id') . ' = ' . (int) $eid); $db->setQuery($query, 0, 1); $extension = $db->loadObject(); if (!is_object($extension)) { return ''; } // Load language files $basePath = JPATH_ADMINISTRATOR; if ($extension->client_id == 0) { $basePath = JPATH_SITE; } $lang = JFactory::getLanguage(); $lang->load($extension->element, $basePath); // Return the localised name return JText::_(strtoupper($extension->name)); } /** * Resets all messages for an extension * * @param integer $eid The extension ID whose messages we'll reset * * @return mixed False if we fail, a db cursor otherwise * * @since 3.2 */ public function resetMessages($eid) { $db = $this->getDbo(); $query = $db->getQuery(true) ->update($db->qn('#__postinstall_messages')) ->set($db->qn('enabled') . ' = 1') ->where($db->qn('extension_id') . ' = ' . (int) $eid); $db->setQuery($query); return $db->execute(); } /** * Hides all messages for an extension * * @param integer $eid The extension ID whose messages we'll hide * * @return mixed False if we fail, a db cursor otherwise * * @since 3.8.7 */ public function hideMessages($eid) { $db = $this->getDbo(); $query = $db->getQuery(true) ->update($db->qn('#__postinstall_messages')) ->set($db->qn('enabled') . ' = 0') ->where($db->qn('extension_id') . ' = ' . (int) $eid); $db->setQuery($query); return $db->execute(); } /** * List post-processing. This is used to run the programmatic display * conditions against each list item and decide if we have to show it or * not. * * Do note that this a core method of the RAD Layer which operates directly * on the list it's being fed. A little touch of modern magic. * * @param array &$resultArray A list of items to process * * @return void * * @since 3.2 */ protected function onProcessList(&$resultArray) { $unset_keys = array(); $language_extensions = array(); // Order the results DESC so the newest is on the top. $resultArray = array_reverse($resultArray); foreach ($resultArray as $key => $item) { // Filter out messages based on dynamically loaded programmatic conditions. if (!empty($item->condition_file) && !empty($item->condition_method)) { jimport('joomla.filesystem.file'); $file = FOFTemplateUtils::parsePath($item->condition_file, true); if (JFile::exists($file)) { require_once $file; $result = call_user_func($item->condition_method); if ($result === false) { $unset_keys[] = $key; } } } // Load the necessary language files. if (!empty($item->language_extension)) { $hash = $item->language_client_id . '-' . $item->language_extension; if (!in_array($hash, $language_extensions)) { $language_extensions[] = $hash; JFactory::getLanguage()->load($item->language_extension, $item->language_client_id == 0 ? JPATH_SITE : JPATH_ADMINISTRATOR); } } } if (!empty($unset_keys)) { foreach ($unset_keys as $key) { unset($resultArray[$key]); } } } /** * Get the dropdown options for the list of component with post-installation messages * * @since 3.4 * * @return array Compatible with JHtmlSelect::genericList */ public function getComponentOptions() { $db = $this->getDbo(); $query = $db->getQuery(true) ->select('extension_id') ->from($db->qn('#__postinstall_messages')) ->group(array($db->qn('extension_id'))); $db->setQuery($query); $extension_ids = $db->loadColumn(); $options = array(); JFactory::getLanguage()->load('files_joomla.sys', JPATH_SITE, null, false, false); foreach ($extension_ids as $eid) { $options[] = JHtml::_('select.option', $eid, $this->getExtensionName($eid)); } return $options; } /** * Adds or updates a post-installation message (PIM) definition. You can use this in your post-installation script using this code: * * require_once JPATH_LIBRARIES . '/fof/include.php'; * FOFModel::getTmpInstance('Messages', 'PostinstallModel')->addPostInstallationMessage($options); * * The $options array contains the following mandatory keys: * * extension_id The numeric ID of the extension this message is for (see the #__extensions table) * * type One of message, link or action. Their meaning is: * message Informative message. The user can dismiss it. * link The action button links to a URL. The URL is defined in the action parameter. * action A PHP action takes place when the action button is clicked. You need to specify the action_file * (RAD path to the PHP file) and action (PHP function name) keys. See below for more information. * * title_key The JText language key for the title of this PIM. * Example: COM_FOOBAR_POSTINSTALL_MESSAGEONE_TITLE * * description_key The JText language key for the main body (description) of this PIM * Example: COM_FOOBAR_POSTINSTALL_MESSAGEONE_DESCRIPTION * * action_key The JText language key for the action button. Ignored and not required when type=message * Example: COM_FOOBAR_POSTINSTALL_MESSAGEONE_ACTION * * language_extension The extension name which holds the language keys used above. * For example, com_foobar, mod_something, plg_system_whatever, tpl_mytemplate * * language_client_id Should we load the frontend (0) or backend (1) language keys? * * version_introduced Which was the version of your extension where this message appeared for the first time? * Example: 3.2.1 * * enabled Must be 1 for this message to be enabled. If you omit it, it defaults to 1. * * condition_file The RAD path to a PHP file containing a PHP function which determines whether this message should be shown to * the user. @see FOFTemplateUtils::parsePath() for RAD path format. Joomla! will include this file before calling * the condition_method. * Example: admin://components/com_foobar/helpers/postinstall.php * * condition_method The name of a PHP function which will be used to determine whether to show this message to the user. This must be * a simple PHP user function (not a class method, static method etc) which returns true to show the message and false * to hide it. This function is defined in the condition_file. * Example: com_foobar_postinstall_messageone_condition * * When type=message no additional keys are required. * * When type=link the following additional keys are required: * * action The URL which will open when the user clicks on the PIM's action button * Example: index.php?option=com_foobar&view=tools&task=installSampleData * * When type=action the following additional keys are required: * * action_file The RAD path to a PHP file containing a PHP function which performs the action of this PIM. @see FOFTemplateUtils::parsePath() * for RAD path format. Joomla! will include this file before calling the function defined in the action key below. * Example: admin://components/com_foobar/helpers/postinstall.php * * action The name of a PHP function which will be used to run the action of this PIM. This must be a simple PHP user function * (not a class method, static method etc) which returns no result. * Example: com_foobar_postinstall_messageone_action * * @param array $options See description * * @return $this * * @throws Exception */ public function addPostInstallationMessage(array $options) { // Make sure there are options set if (!is_array($options)) { throw new Exception('Post-installation message definitions must be of type array', 500); } // Initialise array keys $defaultOptions = array( 'extension_id' => '', 'type' => '', 'title_key' => '', 'description_key' => '', 'action_key' => '', 'language_extension' => '', 'language_client_id' => '', 'action_file' => '', 'action' => '', 'condition_file' => '', 'condition_method' => '', 'version_introduced' => '', 'enabled' => '1', ); $options = array_merge($defaultOptions, $options); // Array normalisation. Removes array keys not belonging to a definition. $defaultKeys = array_keys($defaultOptions); $allKeys = array_keys($options); $extraKeys = array_diff($allKeys, $defaultKeys); if (!empty($extraKeys)) { foreach ($extraKeys as $key) { unset($options[$key]); } } // Normalisation of integer values $options['extension_id'] = (int) $options['extension_id']; $options['language_client_id'] = (int) $options['language_client_id']; $options['enabled'] = (int) $options['enabled']; // Normalisation of 0/1 values foreach (array('language_client_id', 'enabled') as $key) { $options[$key] = $options[$key] ? 1 : 0; } // Make sure there's an extension_id if (!(int) $options['extension_id']) { throw new Exception('Post-installation message definitions need an extension_id', 500); } // Make sure there's a valid type if (!in_array($options['type'], array('message', 'link', 'action'))) { throw new Exception('Post-installation message definitions need to declare a type of message, link or action', 500); } // Make sure there's a title key if (empty($options['title_key'])) { throw new Exception('Post-installation message definitions need a title key', 500); } // Make sure there's a description key if (empty($options['description_key'])) { throw new Exception('Post-installation message definitions need a description key', 500); } // If the type is anything other than message you need an action key if (($options['type'] != 'message') && empty($options['action_key'])) { throw new Exception('Post-installation message definitions need an action key when they are of type "' . $options['type'] . '"', 500); } // You must specify the language extension if (empty($options['language_extension'])) { throw new Exception('Post-installation message definitions need to specify which extension contains their language keys', 500); } // The action file and method are only required for the "action" type if ($options['type'] == 'action') { if (empty($options['action_file'])) { throw new Exception('Post-installation message definitions need an action file when they are of type "action"', 500); } $file_path = FOFTemplateUtils::parsePath($options['action_file'], true); if (!@is_file($file_path)) { throw new Exception('The action file ' . $options['action_file'] . ' of your post-installation message definition does not exist', 500); } if (empty($options['action'])) { throw new Exception('Post-installation message definitions need an action (function name) when they are of type "action"', 500); } } if ($options['type'] == 'link') { if (empty($options['link'])) { throw new Exception('Post-installation message definitions need an action (URL) when they are of type "link"', 500); } } // The condition file and method are only required when the type is not "message" if ($options['type'] != 'message') { if (empty($options['condition_file'])) { throw new Exception('Post-installation message definitions need a condition file when they are of type "' . $options['type'] . '"', 500); } $file_path = FOFTemplateUtils::parsePath($options['condition_file'], true); if (!@is_file($file_path)) { throw new Exception('The condition file ' . $options['condition_file'] . ' of your post-installation message definition does not exist', 500); } if (empty($options['condition_method'])) { throw new Exception( 'Post-installation message definitions need a condition method (function name) when they are of type "' . $options['type'] . '"', 500 ); } } // Check if the definition exists $table = $this->getTable(); $tableName = $table->getTableName(); $db = $this->getDbo(); $query = $db->getQuery(true) ->select('*') ->from($db->qn($tableName)) ->where($db->qn('extension_id') . ' = ' . (int) $options['extension_id']) ->where($db->qn('type') . ' = ' . $db->q($options['type'])) ->where($db->qn('title_key') . ' = ' . $db->q($options['title_key'])); $existingRow = $db->setQuery($query)->loadAssoc(); // Is the existing definition the same as the one we're trying to save? if (!empty($existingRow)) { $same = true; foreach ($options as $k => $v) { if ($existingRow[$k] != $v) { $same = false; break; } } // Trying to add the same row as the existing one; quit if ($same) { return $this; } // Otherwise it's not the same row. Remove the old row before insert a new one. $query = $db->getQuery(true) ->delete($db->qn($tableName)) ->where($db->q('extension_id') . ' = ' . (int) $options['extension_id']) ->where($db->q('type') . ' = ' . $db->q($options['type'])) ->where($db->q('title_key') . ' = ' . $db->q($options['title_key'])); $db->setQuery($query)->execute(); } // Insert the new row $options = (object) $options; $db->insertObject($tableName, $options); return $this; } } PK ��!]�Au/ views/messages/view.html.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Model class to display postinstall messages * * @since 3.2 */ class PostinstallViewMessages extends FOFViewHtml { /** * Executes before rendering the page for the Browse task. * * @param string $tpl Subtemplate to use * * @return boolean Return true to allow rendering of the page * * @since 3.2 */ protected function onBrowse($tpl = null) { /** @var PostinstallModelMessages $model */ $model = $this->getModel(); $this->eid = (int) $model->getState('eid', '700', 'int'); if (empty($this->eid)) { $this->eid = 700; } $this->token = JFactory::getSession()->getFormToken(); $this->extension_options = $model->getComponentOptions(); JToolBarHelper::title(JText::sprintf('COM_POSTINSTALL_MESSAGES_TITLE', $model->getExtensionName($this->eid))); return parent::onBrowse($tpl); } /** * Executes on display of the page * * @param string $tpl Subtemplate to use * * @return boolean Return true to allow rendering of the page * * @since 3.8.7 */ protected function onDisplay($tpl = null) { $return = parent::onDisplay($tpl); if (!empty($this->items)) { JToolbarHelper::custom('hideAll', 'unpublish.png', 'unpublish_f2.png', 'COM_POSTINSTALL_HIDE_ALL_MESSAGES', false); } return $return; } } PK ��!]:�Z� � views/messages/tmpl/default.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <metadata> <layout title="COM_POSTINSTALL_MESSAGES_VIEW_DEFAULT_TITLE"> <message> <![CDATA[COM_POSTINSTALL_MESSAGES_VIEW_DEFAULT_DESC]]> </message> </layout> </metadata> PK ��!](�v v views/messages/tmpl/default.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Factory; $lang = Factory::getLanguage(); $renderer = Factory::getDocument()->loadRenderer('module'); $options = array('style' => 'raw'); $mod = JModuleHelper::getModule('mod_feed'); $param = array( 'rssurl' => 'https://www.joomla.org/announcements/release-news.feed?type=rss', 'rsstitle' => 0, 'rssdesc' => 0, 'rssimage' => 1, 'rssitems' => 5, 'rssitemdesc' => 1, 'rssitemdate' => 1, 'rssrtl' => $lang->isRtl() ? 1 : 0, 'word_count' => 200, 'cache' => 0, ); $params = array('params' => json_encode($param)); JHtml::_('formbehavior.chosen', 'select'); ?> <form action="index.php" method="post" name="adminForm" class="form-inline" id="adminForm"> <input type="hidden" name="option" value="com_postinstall"> <input type="hidden" name="task" value=""> <?php echo JHtml::_('form.token'); ?> <label for="eid"><?php echo JText::_('COM_POSTINSTALL_MESSAGES_FOR'); ?></label> <?php echo JHtml::_('select.genericlist', $this->extension_options, 'eid', array('onchange' => 'this.form.submit()', 'class' => 'input-xlarge'), 'value', 'text', $this->eid, 'eid'); ?> </form> <?php if ($this->eid == 700) : ?> <div class="row-fluid"> <div class="span8"> <?php endif; ?> <?php if (empty($this->items)) : ?> <div class="hero-unit"> <h2><?php echo JText::_('COM_POSTINSTALL_LBL_NOMESSAGES_TITLE'); ?></h2> <p><?php echo JText::_('COM_POSTINSTALL_LBL_NOMESSAGES_DESC'); ?></p> <a href="index.php?option=com_postinstall&view=messages&task=reset&eid=<?php echo $this->eid; ?>&<?php echo $this->token; ?>=1" class="btn btn-warning btn-large"> <span class="icon icon-eye-open" aria-hidden="true"></span> <?php echo JText::_('COM_POSTINSTALL_BTN_RESET'); ?> </a> </div> <?php else : ?> <?php foreach ($this->items as $item) : ?> <fieldset> <legend><?php echo JText::_($item->title_key); ?></legend> <p class="small"> <?php echo JText::sprintf('COM_POSTINSTALL_LBL_SINCEVERSION', $item->version_introduced); ?> </p> <div> <?php echo JText::_($item->description_key); ?> <?php if ($item->type !== 'message') : ?> <a href="index.php?option=com_postinstall&view=messages&task=action&id=<?php echo $item->postinstall_message_id; ?>&<?php echo $this->token; ?>=1" class="btn btn-primary"> <?php echo JText::_($item->action_key); ?> </a> <?php endif; ?> <?php if (Factory::getUser()->authorise('core.edit.state', 'com_postinstall')) : ?> <a href="index.php?option=com_postinstall&view=message&task=unpublish&id=<?php echo $item->postinstall_message_id; ?>&<?php echo $this->token; ?>=1" class="btn btn-inverse btn-small"> <?php echo JText::_('COM_POSTINSTALL_BTN_HIDE'); ?> </a> <?php endif; ?> </div> </fieldset> <?php endforeach; ?> <?php endif; ?> <?php if ($this->eid == 700) : ?> </div> <div class="span4"<?php if ($lang->isRtl()) : ?> style="padding-right: 20px;"<?php endif; ?>> <h2><?php echo JText::_('COM_POSTINSTALL_LBL_RELEASENEWS'); ?></h2> <?php echo $renderer->render($mod, $params, $options); ?> </div> </div> <?php endif; ?> PK ��!]�8�:Y Y controllers/message.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Postinstall message controller. * * @since 3.2 */ class PostinstallControllerMessage extends FOFController { /** * Resets all post-installation messages of the specified extension. * * @return void * * @since 3.2 */ public function reset() { // CSRF prevention. $this->_csrfProtection(); /** @var PostinstallModelMessages $model */ $model = $this->getThisModel(); $eid = (int) $model->getState('eid', '700', 'int'); if (empty($eid)) { $eid = 700; } $model->resetMessages($eid); $this->setRedirect('index.php?option=com_postinstall&eid=' . $eid); } /** * Hides all post-installation messages of the specified extension. * * @return void * * @since 3.8.7 */ public function hideAll() { // CSRF prevention. $this->_csrfProtection(); /** @var PostinstallModelMessages $model */ $model = $this->getThisModel(); $eid = (int) $model->getState('eid', '700', 'int'); if (empty($eid)) { $eid = 700; } $model->hideMessages($eid); $this->setRedirect('index.php?option=com_postinstall&eid=' . $eid); } /** * Executes the action associated with an item. * * @return void * * @since 3.2 */ public function action() { // CSRF prevention. $this->_csrfProtection(); $model = $this->getThisModel(); if (!$model->getId()) { $model->setIDsFromRequest(); } $item = $model->getItem(); switch ($item->type) { case 'link': $this->setRedirect($item->action); return; break; case 'action': jimport('joomla.filesystem.file'); $file = FOFTemplateUtils::parsePath($item->action_file, true); if (JFile::exists($file)) { require_once $file; call_user_func($item->action); } break; case 'message': default: break; } $this->setRedirect('index.php?option=com_postinstall'); } } PK "]��{�| | messages/default.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_postinstall * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $renderer = JFactory::getDocument()->loadRenderer('module'); $options = array('style' => 'raw'); $mod = JModuleHelper::getModule('mod_feed'); $param = array( 'rssurl' => 'https://www.joomla.org/announcements/release-news.feed?type=rss', 'rsstitle' => 0, 'rssdesc' => 0, 'rssimage' => 1, 'rssitems' => 5, 'rssitemdesc' => 1, 'word_count' => 200, 'cache' => 0, 'moduleclass_sfx' => ' list-striped' ); $params = array('params' => json_encode($param)); ?> <?php if (empty($this->items)): ?> <h2><?php echo JText::_('COM_POSTINSTALL_LBL_NOMESSAGES_TITLE') ?></h2> <p><?php echo JText::_('COM_POSTINSTALL_LBL_NOMESSAGES_DESC') ?></p> <div> <button onclick="window.location='index.php?option=com_postinstall&view=messages&task=reset&eid=<?php echo $this->eid; ?>&<?php echo $this->token ?>=1'; return false;" class="btn btn-warning"> <span class="icon icon-eye-open"></span> <?php echo JText::_('COM_POSTINSTALL_BTN_RESET') ?> </button> </div> <?php if ($this->eid == 700): ?> <br/> <div> <h3><?php echo JText::_('COM_POSTINSTALL_LBL_RELEASENEWS'); ?></h3> <?php echo $renderer->render($mod, $params, $options); ?> </div> <?php endif; ?> <?php else: ?> <?php if ($this->eid == 700): echo JHtml::_('sliders.start', 'panel-sliders', array('useCookie' => '1')); echo JHtml::_('sliders.panel', JText::_('COM_POSTINSTALL_LBL_MESSAGES'), 'postinstall-panel-messages'); else: ?> <h2><?php echo JText::_('COM_POSTINSTALL_LBL_MESSAGES') ?></h2> <?php endif; ?> <?php foreach ($this->items as $item): ?> <fieldset> <legend><?php echo JText::_($item->title_key) ?></legend> <p class="small"> <?php echo JText::sprintf('COM_POSTINSTALL_LBL_SINCEVERSION', $item->version_introduced) ?> </p> <p><?php echo JText::_($item->description_key) ?></p> <div> <?php if ($item->type !== 'message'): ?> <button onclick="window.location='index.php?option=com_postinstall&view=messages&task=action&id=<?php echo $item->postinstall_message_id ?>&<?php echo $this->token ?>=1'; return false;" class="btn btn-primary"> <?php echo JText::_($item->action_key) ?> </button> <?php endif; ?> <?php if (JFactory::getUser()->authorise('core.edit.state', 'com_postinstall')) : ?> <button onclick="window.location='index.php?option=com_postinstall&view=message&task=unpublish&id=<?php echo $item->postinstall_message_id ?>&<?php echo $this->token ?>=1'; return false;" class="btn btn-inverse btn-small"> <?php echo JText::_('COM_POSTINSTALL_BTN_HIDE') ?> </button> <?php endif; ?> </div> </fieldset> <?php endforeach; ?> <?php if ($this->eid == 700): echo JHtml::_('sliders.panel', JText::_('COM_POSTINSTALL_LBL_RELEASENEWS'), 'postinstall-panel-releasenotes'); ?> <?php echo $renderer->render($mod, $params, $options); ?> <?php echo JHtml::_('sliders.end'); endif; ?> <?php endif; ?> PK ��!]9x��U U config.xmlnu &1i� PK ��!]?�6�N N � access.xmlnu &1i� PK ��!]9���� � fof.xmlnu &1i� PK ��!]�ۧf f � postinstall.phpnu &1i� PK ��!]���# # x postinstall.xmlnu &1i� PK ��!]���-� � � toolbar.phpnu &1i� PK ��!]�eQ��; �; � models/messages.phpnu &1i� PK ��!]�Au/ �I views/messages/view.html.phpnu &1i� PK ��!]:�Z� � �O views/messages/tmpl/default.xmlnu &1i� PK ��!](�v v "Q views/messages/tmpl/default.phpnu &1i� PK ��!]�8�:Y Y �^ controllers/message.phpnu &1i� PK "]��{�| | �g messages/default.phpnu &1i� PK � Gt
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка