File manager - Edit - /home/verseaumee/ptitsanes/plugins/solidres/experience/components/com_solidres/controllers/experiences.php
Back
<?php /** ------------------------------------------------------------------------ SOLIDRES - Accommodation booking extension for Joomla ------------------------------------------------------------------------ * @author Solidres Team <contact@solidres.com> * @website https://www.solidres.com * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved. * @license GNU General Public License version 3, or later ------------------------------------------------------------------------ */ defined('_JEXEC') or die; require_once SRPlugin::getAdminPath('experience') . '/controllers/experiencesbase.php'; if (is_file(JPATH_SITE . '/modules/mod_sr_experience_filter/helper.php')) { require_once JPATH_SITE . '/modules/mod_sr_experience_filter/helper.php'; } use Joomla\String\StringHelper; use Joomla\CMS\Factory; class SolidresControllerExperiences extends SolidresControllerExperiencesBase { public function search() { JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); $Itemid = (int) $this->input->getInt('Itemid', 0); $baseLocation = $this->input->getString('base_location', ''); $endLocation = $this->input->getString('end_location', ''); $range = $this->input->getString('range', ''); $fromDate = $this->input->getString('fromDate', ''); $toDate = $this->input->getString('toDate', ''); $cid = (int) $this->input->getInt('category_id', 0); $link = clone JUri::getInstance('index.php?option=com_solidres&view=experiences'); if (!empty($baseLocation)) { $link->setVar('base_location', trim($baseLocation)); } if (!empty($endLocation)) { $link->setVar('end_location', trim($endLocation)); } // Sys search and filter if (!empty($range)) { $link->setVar('range', str_replace(',', '-', $range)); } else { $minRange = (float) $this->input->getFloat('minRange', 0.00); $maxRange = (float) $this->input->getFloat('maxRange', 0.00); if ($minRange > 0.00 || $maxRange > 0.00) { $link->setVar('range', $minRange . '-' . $maxRange); } } $app = JFactory::getApplication('site'); $menu = $app->getMenu()->getItem($Itemid); if ($menu && isset($menu->query['view']) && $menu->query['view'] == 'experiences') { $link->setVar('Itemid', $Itemid); if ($app->get('sef')) { $link->delVar('view'); } } if ($cid > 0) { $link->setVar('cat', $cid); } if (!empty($fromDate) && !empty($fromDate)) { try { $testDate1 = JFactory::getDate($fromDate); $testDate2 = JFactory::getDate($toDate); unset($testDate1, $testDate2); $link->setVar('fromDate', $fromDate); $link->setVar('toDate', $toDate); } catch (Exception $e) { } } $this->setRedirect(JRoute::_($link->toString(array('path', 'query')), false)) ->redirect(); } public function redirect() { $redirect = $this->input->getBase64('redirect'); if (!empty($redirect)) { $this->redirect = base64_decode($redirect); } return parent::redirect(); } public function filter() { try { if (!class_exists('ModSRExperienceFilterHelper')) { throw new RuntimeException('Module Solidres Filter is not enabled.'); } $params = $this->input->get('params', array(), 'array'); $Itemid = $this->input->getUint('Itemid', 0); $uri = JUri::getInstance($this->input->getString('baseUrl')); $fields = ModSRExperienceFilterHelper::getFilterQueryNames(); $request = array(); if ($Itemid && ($menu = JFactory::getApplication()->getMenu()->getItem($Itemid))) { $params['mode'] = $menu->params->get('mode') ? 'list' : 'grid'; } if ($params) { foreach ($params as $name => $value) { if (in_array($name, $fields)) { $uri->setVar($name, $value); $request[$name] = $value; } else { $uri->delVar($name); } } } $ordering = $uri->getVar('ordering'); $direction = $uri->getVar('direction'); $mode = $uri->getVar('mode'); if (!in_array($ordering, array('ordering', 'name', 'review', 'distance'), true)) { $uri->setVar('ordering', 'ordering'); $request['ordering'] = 'ordering'; } if (!in_array($direction, array('asc', 'desc'), true)) { $uri->setVar('direction', 'asc'); $request['direction'] = 'asc'; } if (!in_array($mode, array('list', 'grid'), true)) { $uri->setVar('mode', 'grid'); $request['mode'] = 'grid'; } if ($tag = $uri->getVar('tag', '')) { $db = Factory::getDbo(); $tags = []; foreach (explode('|', $tag) as $tagAlias) { if (empty($tagAlias)) { continue; } $query = $db->getQuery(true) ->select('a.id') ->from($db->quoteName('#__tags', 'a')) ->where('a.lft > 0 AND a.published = 1 AND a.alias = ' . $db->quote($tagAlias)); $db->setQuery($query); if ($tagId = $db->loadResult()) { $tags[] = (int) $tagId; } } if ($tags) { $request['filter_tag'] = $tags; } } foreach ($request as $name => $value) { $this->input->set($name, $value); } $model = $this->getModel('Experiences', 'SolidresModel', array('ignore_request' => false)); $view = $this->getView('Experiences', 'html', 'SolidresView', array('base_path' => SRPlugin::getSitePath('experience') . '/views')); $view->setModel($model, true); ob_start(); $view->display(); $response = array( 'page' => $uri->toString(), 'html' => ob_get_clean(), 'contentModule' => '', ); if ($moduleId = (int) $this->input->getUint('moduleId', 0)) { foreach (JModuleHelper::getModuleList() as $module) { if ($moduleId === (int) $module->id) { $response['contentModule'] = JModuleHelper::renderModule($module); break; } } } if (extension_loaded('mbstring')) { if (!StringHelper::valid($response['html'])) { $response['html'] = mb_convert_encoding($response['html'], mb_detect_encoding($response['html']), 'UTF-8'); } if (!StringHelper::valid($response['contentModule'])) { $response['contentModule'] = mb_convert_encoding($response['contentModule'], mb_detect_encoding($response['contentModule']), 'UTF-8'); } } } catch (RuntimeException $e) { $response = $e; } echo new JResponseJson($response); JFactory::getApplication()->close(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings