Файловый менеджер - Редактировать - /home/harasnat/www/sommer/components/com_spsimpleportfolio/models/item.php
Назад
<?php /** * @package SP Simple Portfolio * * @copyright Copyright (C) 2010 - 2022 JoomShaper. All rights reserved. * @license GNU General Public License version 2 or later. */ // No direct access to this file defined('_JEXEC') or die('Restricted access'); use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\Model\ItemModel; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Language\Multilanguage; use Joomla\CMS\MVC\Model\BaseDatabaseModel; class SpsimpleportfolioModelItem extends ItemModel { protected $_context = 'com_spsimpleportfolio.item'; protected function populateState() { $app = Factory::getApplication('site'); $itemId = $app->input->getInt('id'); $this->setState('item.id', $itemId); $this->setState('filter.language', Multilanguage::isEnabled()); } public function getItem( $itemId = null ) { PluginHelper::importPlugin('spsimpleportfolio'); $params = Factory::getApplication('com_spsimpleportfolio')->getParams(); $limitstart = 0; $user = Factory::getUser(); $itemId = (!empty($itemId))? $itemId : (int)$this->getState('item.id'); if ( $this->_item == null ) { $this->_item = array(); } if (!isset($this->_item[$itemId])) { try { $db = $this->getDbo(); $query = $db->getQuery(true) ->select('a.*, a.tagids AS spsimpleportfolio_tag_id, a.created AS created_on') ->from('#__spsimpleportfolio_items as a') ->where('a.id = ' . (int) $itemId); $query->select('l.title AS language_title') ->leftJoin( $db->quoteName('#__languages') . ' AS l ON l.lang_code = a.language'); $query->select('ua.name AS author_name') ->leftJoin('#__users AS ua ON ua.id = a.created_by'); // Filter by published state. $query->where('a.published = 1'); if ($this->getState('filter.language')) { $query->where('a.language in (' . $db->quote(Factory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); } $db->setQuery($query); $data = $db->loadObject(); // Items Model BaseDatabaseModel::addIncludePath(JPATH_SITE . '/components/com_spsimpleportfolio/models'); $itemsModel = BaseDatabaseModel::getInstance('Items', 'SpsimpleportfolioModel'); if (isset($data->tagids) && $data->tagids) { $data->spsimpleportfolio_tag_id = json_decode($data->tagids, true); $data->tags = $itemsModel->getItemTags($data->tagids, true); } if (empty($data)) { throw new Exception(Text::_('COM_SPSIMPLEPORTFOLIO_ERROR_ITEM_NOT_FOUND'), 404); } $user = Factory::getUser(); $groups = $user->getAuthorisedViewLevels(); if(!in_array($data->access, $groups)) { throw new Exception(Text::_('COM_SPSIMPLEPORTFOLIO_ERROR_NOT_AUTHORISED'), 404); } // Event trigger Factory::getApplication()->triggerEvent('onSPPortfolioPrepareContent', array( 'com_spsimpleportfolio.item', &$data, &$params, $limitstart )); $this->_item[$itemId] = $data; } catch (Exception $e) { if ($e->getCode() == 404 ) { throw new Exception($e->getMessage(), 404); } else { $this->setError($e); $this->_item[$itemId] = false; } } } return $this->_item[$itemId]; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка