0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
joomla
/
1.7.2-0
/
standard
/
htdocs
/
components
/
com_search
/
[
Home
]
File: controller.php
<?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)); } }