uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
www
/
i-plan.ru
/
administrator
/
components
/
com_zoo
/
helpers
/
zoo.php
/
/
<?php /** * @package com_zoo * @author YOOtheme http://www.yootheme.com * @copyright Copyright (C) YOOtheme GmbH * @license http://www.gnu.org/licenses/gpl.html GNU/GPL */ /** * ZOOs generals helper class. * * @package Component.Helpers * @since 2.0 */ class ZooHelper extends AppHelper { /** * The current application * @var Application */ protected $_application; /** * The current version * @var string */ protected $_version; /** * user groups / view levels * @var array */ protected $_groups; /** * Returns a reference to the currently active Application object. * * @return Application * @since 2.0 */ public function getApplication() { // check if application object already exists if (isset($this->_application)) { return $this->_application; } // get joomla and application table $joomla = $this->app->system->application; $table = $this->app->table->application; // handle admin if ($joomla->isAdmin()) { // create application from user state, or search for default $id = $joomla->getUserState('com_zooapplication'); $apps = $table->all(array('order' => 'name')); if (isset($apps[$id])) { $this->_application = $apps[$id]; } else if (!empty($apps)) { $this->_application = array_shift($apps); } return $this->_application; } // handle site if ($joomla->isSite()) { // get component params $params = $joomla->getParams(); // create application from menu item params / request if ($item_id = $this->app->request->getInt('item_id') and $item = $this->app->table->item->get($item_id)) { $this->_application = $item->getApplication(); } else if ($category_id = $this->app->request->getInt('category_id') and $category = $this->app->table->category->get($category_id)) { $this->_application = $category->getApplication(); } else if ($submission_id = $this->app->request->getInt('submission_id') and $submission = $this->app->table->submission->get($submission_id)) { $this->_application = $submission->getApplication(); } else if ($id = $this->app->request->getInt('app_id')) { $this->_application = $table->get($id); } else if ($id = $params->get('application') and $application = $table->get((int) $id)) { $this->_application = $application; } else { // try to get application from default menu item $menu = $this->app->system->application->getMenu('site'); $default = $menu->getDefault(); if (isset($default->component) && $default->component == 'com_zoo') { if ($app_id = $menu->getParams($default->id)->get('application')) { $this->_application = $table->get((int) $app_id); } } } // trigger event $this->app->event->dispatcher->notify($this->app->event->create(null, 'zoo:initApp', array('application' => &$this->_application))); return $this->_application; } return null; } /** * Add help button to current toolbar to show help url in popup window. * * @param string $ref Help url * @since 2.0 */ public function toolbarHelp($ref = 'http://docs.yootheme.com/home/category/zoo-20') { JToolBar::getInstance('toolbar')->appendButton('Link', 'help', 'Help', $ref); } /** * Resize and cache image file. * * @param string $file * @param int $width * @param int $height * * @return string image path * @since 2.0 */ public function resizeImage($file, $width, $height) { // init vars $width = (int) $width; $height = (int) $height; $file_info = pathinfo($file); $thumbfile = $this->app->path->path('cache:').'/images/'.$file_info['filename'].'_'.md5($file.$width.$height).'.'.$file_info['extension']; $cache_time = 86400; // cache time 24h // check thumbnail directory if (!JFolder::exists(dirname($thumbfile))) { JFolder::create(dirname($thumbfile)); } // create or re-cache thumbnail if ($this->app->imagethumbnail->check() && (!is_file($thumbfile) || ($cache_time > 0 && time() > (filemtime($thumbfile) + $cache_time)))) { $thumbnail = $this->app->imagethumbnail->create($file); if ($width > 0 && $height > 0) { $thumbnail->setSize($width, $height); $thumbnail->save($thumbfile); } else if ($width > 0 && $height == 0) { $thumbnail->sizeWidth($width); $thumbnail->save($thumbfile); } else if ($width == 0 && $height > 0) { $thumbnail->sizeHeight($height); $thumbnail->save($thumbfile); } else { if (JFile::exists($file)) { JFile::copy($file, $thumbfile); } } $this->putIndexFile(dirname($thumbfile)); } if (is_file($thumbfile)) { return $thumbfile; } return $file; } /** * Trigger joomla content plugins on given text. * * @param string $text * @param array $params * @param string $context * * @return string The text after the plugins are applied to it * @since 2.0 */ public function triggerContentPlugins($text, $params = array(), $context = 'com_zoo') { // import joomla content plugins JPluginHelper::importPlugin('content'); $registry = new JRegistry(''); $registry->loadArray($params); $dispatcher = JDispatcher::getInstance(); $article = new stdClass; $article->text = $text; // disable loadmodule plugin on feed view if ($this->app->document->getType() == 'feed') { $plugin = JPluginHelper::getPlugin('content', 'loadmodule'); if ($this->app->parameter->create($plugin->params)->get('enabled', 1)) { // expression to search for $regex = '/{loadposition\s*.*?}/i'; $article->text = preg_replace($regex, '', $article->text); } } $dispatcher->trigger('onContentPrepare', array($context, &$article, &$registry, 0)); return $article->text; } /** * Returns user group objects. * * @return array * @since 2.0 */ public function getGroups() { if (!isset($this->_groups)) { $this->_groups = $this->app->database->queryObjectList("SELECT id, title AS name FROM #__viewlevels", "id"); } return $this->_groups; } /** * Return user group object. * * @param string $id * * @return object group * @since 2.0 */ public function getGroup($id) { $groups = $this->getGroups(); return isset($groups[$id]) ? $groups[$id] : (object) array('id' => '', 'name' => ''); } /** * Returns current ZOO version. * * @return string version * @since 2.0 */ public function version() { if (empty($this->_version) and $xml = @simplexml_load_file($this->app->path->path('component.admin:zoo.xml')) and ((string) $xml->name == 'ZOO' || (string) $xml->name == 'com_zoo')) { $this->_version = (string) current($xml->xpath('//version')); } return $this->_version; } /** * Build page title from Joomla configuration. * * @param string $title * * @return string title * @since 2.0 */ public function buildPageTitle($title) { $dir = $this->app->system->config->get('sitename_pagetitles', 0); if ($dir == 1) { return JText::sprintf('JPAGETITLE', $this->app->system->config->get('sitename'), $title); } else if ($dir == 2) { return JText::sprintf('JPAGETITLE', $title, $this->app->system->config->get('sitename')); } return $title; } /** * Puts an index.html into given directory * * @param string $dir * @since 2.0 */ public function putIndexFile($dir) { $dir = rtrim($dir, "\\/"); if (!JFile::exists($dir.'/index.html')) { $buffer = '<!DOCTYPE html><title></title>'; JFile::write($dir.'/index.html', $buffer); } } /** * Gets the application groups * * @return array groups * @since 2.0 * * @deprecated 2.5.11 use ApplicationHelper::groups() */ public function getApplicationGroups() { return $this->app->application->groups(); } /** * Gets the application layouts * * @param Application $application The application object * @param string $type_id The id of the type * @param string $layout_type The type of the layout to fetch. Default: all * * @return array layouts * @since 2.0 * * @deprecated 2.5.11 use TypeHelper::layouts() */ public function getLayouts($application, $type_id, $layout_type = '') { return $this->app->type->layouts($application->getType($type_id), $layout_type); } }
/var/www/iplanru/data/www/i-plan.ru/administrator/components/com_zoo/helpers/zoo.php