Файловый менеджер - Редактировать - /var/www/html/plugins/osmembership/ticketshistory/ticketshistory.php
Ðазад
<?php /** * @package Joomla * @subpackage Membership Pro * @author Tuan Pham Ngoc * @copyright Copyright (C) 2012 - 2025 Ossolution Team * @license GNU/GPL, see LICENSE.php */ defined('_JEXEC') or die; use Joomla\CMS\Application\CMSApplication; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Plugin\PluginHelper; use Joomla\Database\DatabaseDriver; use Joomla\Event\Event; use Joomla\Event\SubscriberInterface; use OSL\Container\Container; use OSSolution\HelpdeskPro\Site\Helper\Database as HelpdeskproHelperDatabase; use OSSolution\HelpdeskPro\Site\Helper\Helper as HelpdeskproHelper; class plgOSMembershipTicketsHistory extends CMSPlugin implements SubscriberInterface { use MPFEventResult; /** * Application object. * * @var CMSApplication */ protected $app; /** * Database object. * * @var DatabaseDriver */ protected $db; public static function getSubscribedEvents(): array { return [ 'onProfileDisplay' => 'onProfileDisplay', ]; } /** * Render setting form * * @param Event $event * * @return void */ public function onProfileDisplay(Event $event): void { /* @var OSMembershipTableSubscriber $row */ [$row] = array_values($event->getArguments()); ob_start(); $this->drawTicketsHistory($row); $result = [ 'title' => Text::_('OSM_HDP_TICKETS_HISTORY'), 'form' => ob_get_clean(), ]; $this->addResult($event, $result); } /** * Register listeners * * @return void */ public function registerListeners() { if (!ComponentHelper::isEnabled('com_helpdeskpro')) { return; } if ($this->app->isClient('administrator')) { return; } parent::registerListeners(); } /** * Display tickets history of the current logged in user * * @param OSMembershipTableSubscriber $row */ private function drawTicketsHistory($row) { // Bootstrap the component $db = $this->db; $query = $db->getQuery(true) ->select('a.*, b.title AS category_title') ->from('#__helpdeskpro_tickets AS a') ->leftJoin('#__helpdeskpro_categories AS b ON a.category_id= b.id ') ->where('a.user_id = ' . $this->app->getIdentity()->id) ->order('id DESC'); $db->setQuery($query, 0, $this->params->get('number_tickets') ?: 20); $rows = $db->loadObjectList(); if (count($rows) === 0) { return; } // Bootstrap the component require_once JPATH_ADMINISTRATOR . '/components/com_helpdeskpro/init.php'; // Get component config data $config = require JPATH_ADMINISTRATOR . '/components/com_helpdeskpro/config.php'; // Creating component container, register auto-loader $container = Container::getInstance('com_helpdeskpro', $config); $fieldSuffix = HelpdeskproHelper::getFieldSuffix(); // Ticket status filter $rowStatuses = HelpdeskproHelperDatabase::getAllStatuses('ordering', $fieldSuffix); $statusList = []; foreach ($rowStatuses as $status) { $statusList[$status->id] = $status->title; } // Ticket priority filter $rowPriorities = HelpdeskproHelperDatabase::getAllPriorities('ordering', $fieldSuffix); $priorityList = []; foreach ($rowPriorities as $priority) { $priorityList[$priority->id] = $priority->title; } require PluginHelper::getLayoutPath('osmembership', 'ticketshistory', 'default'); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка