| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/minedecapgaronne/components/com_search/ |
Upload File : |
<?php
/**
* @package Joomla.Site
* @subpackage com_search
*
* @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Search Component Controller
*
* @package Joomla.Site
* @subpackage com_search
* @since 1.5
*/
class SearchController extends JControllerLegacy
{
/**
* Method to display a view.
*
* @param boolean If true, the view output will be cached
* @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
*
* @return JController This object to support chaining.
* @since 1.5
*/
public function display($cachable = false, $urlparams = false)
{
$this->input->set('view', 'search'); // force it to be the search view
return parent::display($cachable, $urlparams);
}
public function search()
{
// slashes cause errors, <> get stripped anyway later on. # causes problems.
$badchars = array('#', '>', '<', '\\');
$searchword = trim(str_replace($badchars, '', $this->input->getString('searchword', null, 'post')));
// if searchword enclosed in double quotes, strip quotes and do exact match
if (substr($searchword, 0, 1) == '"' && substr($searchword, -1) == '"')
{
$post['searchword'] = substr($searchword, 1, -1);
$this->input->set('searchphrase', 'exact');
}
else
{
$post['searchword'] = $searchword;
}
$post['ordering'] = $this->input->getWord('ordering', null, 'post');
$post['searchphrase'] = $this->input->getWord('searchphrase', 'all', 'post');
$post['limit'] = $this->input->getUInt('limit', null, 'post');
if ($post['limit'] === null)
{
unset($post['limit']);
}
$areas = $this->input->post->get('areas', null, 'array');
if ($areas)
{
foreach ($areas as $area)
{
$post['areas'][] = JFilterInput::getInstance()->clean($area, 'cmd');
}
}
// set Itemid id for links from menu
$app = JFactory::getApplication();
$menu = $app->getMenu();
$items = $menu->getItems('link', 'index.php?option=com_search&view=search');
if (isset($items[0]))
{
$post['Itemid'] = $items[0]->id;
} elseif ($this->input->getInt('Itemid') > 0) { //use Itemid from requesting page only if there is no existing menu
$post['Itemid'] = $this->input->getInt('Itemid');
}
unset($post['task']);
unset($post['submit']);
$uri = JUri::getInstance();
$uri->setQuery($post);
$uri->setVar('option', 'com_search');
$this->setRedirect(JRoute::_('index.php'.$uri->toString(array('query', 'fragment')), false));
}
}