public function proxy(Request $request)
 {
     //root url / base url
     $root = $request->root();
     //generated url if no parameters redirect to search
     $redirect_url = url('search');
     //$root;
     //generated url parameters container
     $url_params = array();
     //get incoming parameters
     $params = Input::all();
     //print_r($params);
     //exit;
     //check for category selection
     $cid = 0;
     if (isset($params['cid']) && $params['cid'] > 0) {
         $cid = $params['cid'];
         $category_slug = $this->category->getCategoryFullPathById($cid);
         $url_params[] = $category_slug;
         unset($params['cid']);
     }
     //check for location selection
     $lid = 0;
     if (isset($params['lid']) && $params['lid'] > 0) {
         $lid = $params['lid'];
         $location_slug = $this->location->getSlugById($lid);
         $url_params[] = 'l-' . $location_slug;
         unset($params['lid']);
         session()->put('lid', $lid);
         session()->put('location_slug', $location_slug);
     } else {
         if (session()->has('lid')) {
             session()->forget('lid');
         }
         if (session()->has('location_slug')) {
             session()->forget('location_slug');
         }
     }
     //check for search text
     $search_text = '';
     if (isset($params['search_text'])) {
         $search_text_tmp = Util::sanitize($params['search_text']);
         if (!empty($search_text_tmp) && mb_strlen($search_text_tmp, 'utf-8') > 3) {
             $search_text = $search_text_tmp;
             $search_text = preg_replace('/\\s+/', '-', $search_text);
             $url_params[] = 'q-' . $search_text;
         }
         unset($params['search_text']);
     }
     //generate new url for redirection
     if (!empty($url_params)) {
         $redirect_url = Util::buildUrl($url_params);
     }
     //check if there are parameters for query string
     $query_string = '';
     if (!empty($params)) {
         //clear token var if exist
         if (isset($params['_token'])) {
             unset($params['_token']);
         }
         $query_string = Util::getQueryStringFromArray($params);
     }
     //add query string to generated url
     if (!empty($query_string)) {
         $redirect_url .= '?' . $query_string;
     }
     return redirect($redirect_url);
 }