1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 
<?php
/* --------------------------------------------------------------
   LiveSearchController.inc.php 2016-05-19
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2016 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

/**
 * Class LiveSearchController
 * 
 * @extends    HttpViewController
 * @category   System
 * @package    HttpViewControllers
 */
class LiveSearchController extends HttpViewController
{
    /**
     * @todo get rid of old AjaxHandler
     * @todo use GET and POST REST-API like      
     * 
     * @return HttpControllerResponse
     */
    public function actionDefault()
    {
        $ajaxHandler = MainFactory::create('LiveSearchAjaxHandler');
        
        $keywords             = !is_null($this->_getPostData('keywords'))
            ? (string)$this->_getPostData('keywords')
            : '';
        $categoryId           = !is_null($this->_getPostData('categories_id'))
            ? (int)$this->_getPostData('categories_id')
            : 0;
        $includeSubCategories = !is_null($this->_getPostData('inc_subcat'))
            ? (int)$this->_getPostData('inc_subcat')
            : 1;

        $getData = array(
            'needle'        => trim($keywords),
            'categories_id' => $categoryId,
            'inc_subcat'    => $includeSubCategories
        );

        $ajaxHandler->set_data('GET', $getData);
        $ajaxHandler->proceed();

        return MainFactory::create('HttpControllerResponse', $ajaxHandler->get_response());
    }
}