Файловый менеджер - Редактировать - /var/www/html/plugins/quickicon/kunena/src/Extension/Kunena.php
Ðазад
<?php /** * Kunena QuickIcon Plugin * * @package Kunena.Plugins * @subpackage QuickIcon * * @copyright Copyright (C) 2008 - 2026 Kunena Team. All rights reserved. * @license https://www.gnu.org/copyleft/gpl.html GNU/GPL * @link https://www.kunena.org **/ namespace Kunena\Forum\Plugin\Quickicon\Kunena\Extension; \defined('_JEXEC') or die(); use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\Database\DatabaseAwareInterface; use Joomla\Database\DatabaseAwareTrait; use Joomla\Database\DatabaseDriver; use Joomla\Event\SubscriberInterface; use Joomla\Module\Quickicon\Administrator\Event\QuickIconsEvent; use Kunena\Forum\Libraries\Factory\KunenaFactory; use Kunena\Forum\Libraries\Forum\KunenaForum; /** * Class plgQuickiconKunena * * @since Kunena 6.0 */ final class Kunena extends CMSPlugin implements SubscriberInterface, DatabaseAwareInterface { use DatabaseAwareTrait; /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 7.0.0 */ public static function getSubscribedEvents(): array { return [ 'onGetIcons' => 'onGetIcons', ]; } /** * Display Kunena backend icon in Joomla 4.0 * * @param QuickIconsEvent $context context * * @return array * @since Kunena 6.0 * * @throws \Exception */ public function onGetIcons(QuickIconsEvent $event): void { $app = $this->getApplication(); $context = $event->getContext(); if ($context != $this->params->get('context', 'mod_quickicon') || !$app->getIdentity()->authorise('core.manage', 'com_kunena')) { return; } KunenaFactory::loadLanguage('com_kunena.sys', 'admin'); $updateInfo = null; if (KunenaForum::installed() && $app->getIdentity()->authorise('core.manage', 'com_installer')) { $updateSite = 'https://update.kunena.org/%'; /** @var DatabaseDriver $db */ $db = $this->getDatabase(); $query = $db->createQuery() ->select('*') ->from($db->quoteName('#__updates')) ->where($db->quoteName('extension_id') . ' > 0') ->where($db->quoteName('detailsurl') . ' LIKE ' . $db->quote($updateSite)); $db->setQuery($query); $list = (array) $db->loadObjectList(); if ($list) { $updateInfo = new \stdClass(); $updateInfo->addons = 0; $updateInfo->version = 0; foreach ($list as $item) { if ($item->element == 'pkg_kunena') { $updateInfo->version = $item->version; } else { $updateInfo->addons++; } } } else { $query = $db->createQuery() ->select('update_site_id') ->from($db->quoteName('#__update_sites')) ->where($db->quoteName('enabled') . ' = 0') ->where($db->quoteName('location') . ' LIKE ' . $db->quote($updateSite)); $db->setQuery($query); $updateInfo = !$db->loadResult(); } } $link = 'index.php?option=com_kunena'; $useIcons = \version_compare(JVERSION, '3.0', '>'); if (!KunenaForum::installed()) { $icon = 'fas fa-exclamation-triangle'; // Not fully installed $img = $useIcons ? $icon : 'kunena/icons/icon-48-kupdate-alert-white.png'; $icon = 'kunena/icons/icon-48-kupdate-alert-white.png'; $text = Text::_('PLG_QUICKICON_KUNENA_COMPLETE_INSTALLATION'); $class = 'pulse warning'; } elseif ($updateInfo === null) { // Unsupported $icon = 'fas fa-remove'; $img = $useIcons ? $icon : 'kunena/icons/kunena-logo-48-white.png'; $icon = 'kunena/icons/kunena-logo-48-white.png'; $text = Text::_('COM_KUNENA'); $class = 'pulse error'; } elseif ($updateInfo === false) { // Disabled $icon = 'fas fa-minus-circle'; $img = $useIcons ? $icon : 'kunena/icons/icon-48-kupdate-alert-white.png'; $icon = 'kunena/icons/icon-48-kupdate-alert-white.png'; $text = Text::_('COM_KUNENA') . '<br />' . Text::_('PLG_QUICKICON_KUNENA_UPDATE_DISABLED'); $class = 'pulse error'; } elseif (!empty($updateInfo->version) && \version_compare(KunenaForum::version(), $updateInfo->version, '<')) { // Has updates $icon = 'fas fa-download'; $img = $useIcons ? $icon : 'kunena/icons/icon-48-kupdate-update-white.png'; $icon = 'kunena/icons/icon-48-kupdate-update-white.png'; $text = 'Kunena ' . $updateInfo->version . '<br />' . Text::_('PLG_QUICKICON_KUNENA_UPDATE_NOW'); $link = 'index.php?option=com_installer&view=update&filter_search=kunena'; $class = 'pulse warning'; } elseif (!empty($updateInfo->addons)) { // Has updated add-ons $icon = 'fas fa-download'; $img = $useIcons ? $icon : 'kunena/icons/icon-48-kupdate-update-white.png'; $icon = 'kunena/icons/icon-48-kupdate-update-white.png'; $text = Text::_('COM_KUNENA') . '<br />' . Text::sprintf('PLG_QUICKICON_KUNENA_UPDATE_ADDONS', $updateInfo->addons); $link = 'index.php?option=com_installer&view=update&filter_search=kunena'; $class = 'pulse warning'; } else { $icon = 'fas fa-comments'; $img = $useIcons ? $icon : 'kunena/icons/icon-48-kupdate-good-white.png'; $icon = 'kunena/icons/icon-48-kupdate-good-white.png'; $text = Text::_('COM_KUNENA'); $class = 'pulse success'; } // Use one line in J!4.0. $text = \preg_replace('|<br />|', ' - ', $text); $iconDefinition = [ 'link' => $link, 'image' => $img, 'icon' => $icon, 'text' => $text, 'class' => $class, 'id' => 'plg_quickicon_kunena', 'group' => 'update_quickicon', ]; // Add the icon to the result array $result = $event->getArgument('result', []); $result[] = [ $iconDefinition, ]; $event->setArgument('result', $result); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка