[Back] <?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! class_exists( 'OsSearchController' ) ) :
class OsSearchController extends OsController {
private $booking;
function __construct(){
parent::__construct();
$this->views_folder = LATEPOINT_VIEWS_ABSPATH . 'search/';
}
function query_results(){
$query = trim($this->params['query']);
if(!$query) return;
$sql_query = '%'.$query.'%';
$bookings = new OsBookingModel();
$bookings = $bookings->filter_allowed_records()->where(['booking_code' => strtoupper($query)])->get_results_as_models();
$this->vars['bookings'] = $bookings;
$customers = new OsCustomerModel();
$customers->filter_allowed_records()->where(array('OR' => array('CONCAT (first_name, " ", last_name) LIKE ' => $sql_query, 'email LIKE' => $sql_query, 'phone LIKE' => $sql_query)))->set_limit(6);
$customers = $customers->get_results_as_models();
$this->vars['customers'] = $customers;
$this->vars['query'] = $query;
if(OsRolesHelper::can_user('service__view')){
$services = new OsServiceModel();
$services = $services->filter_allowed_records()->where(array('name LIKE ' => $sql_query))->set_limit(6)->get_results_as_models();
$this->vars['services'] = $services;
}
if(OsRolesHelper::can_user('agent__view')) {
$agents = new OsAgentModel();
$agents = $agents->filter_allowed_records()->where(array('OR' => array('CONCAT (first_name, " ", last_name) LIKE ' => $sql_query, 'email LIKE' => $sql_query, 'phone LIKE' => $sql_query)))->set_limit(6)->get_results_as_models();
$this->vars['agents'] = $agents;
}
$this->format_render(__FUNCTION__);
}
}
endif;