| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/moke/components/com_search/ |
Upload File : |
<?php
/**
* @version $Id: controller.php 21097 2011-04-07 15:38:03Z dextercowley $
* @package Joomla.Site
* @subpackage com_search
* @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.controller');
/**
* Search Component Controller
*
* @package Joomla.Site
* @subpackage com_search
* @since 1.5
*/
class SearchController extends JController
{
/**
* 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)
{
JRequest::setVar('view','search'); // force it to be the search view
return parent::display($cachable, $urlparams);
}
function search()
{
// slashes cause errors, <> get stripped anyway later on. # causes problems.
$badchars = array('#','>','<','\\');
$searchword = trim(str_replace($badchars, '', JRequest::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);
JRequest::setVar('searchphrase', 'exact');
}
else {
$post['searchword'] = $searchword;
}
$post['ordering'] = JRequest::getWord('ordering', null, 'post');
$post['searchphrase'] = JRequest::getWord('searchphrase', 'all', 'post');
$post['limit'] = JRequest::getInt('limit', null, 'post');
if ($post['limit'] === null) unset($post['limit']);
$areas = JRequest::getVar('areas', null, 'post', '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;
} else if (JRequest::getInt('Itemid') > 0) { //use Itemid from requesting page only if there is no existing menu
$post['Itemid'] = JRequest::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));
}
}