diff --git a/app/operator_panel/autocomplete.php b/app/operator_panel/autocomplete.php index 0fcade9cca..0d37fde0c5 100644 --- a/app/operator_panel/autocomplete.php +++ b/app/operator_panel/autocomplete.php @@ -35,6 +35,17 @@ else { //search term $term = check_str($_GET['term']); + if (isset($_GET['debug'])) { + echo "Search Term: ".$term."

"; + } + +//if term contains spaces, break into array + if (substr_count($term, ' ') > 0) { + $terms = explode(' ', $term); + } + else { + $terms[] = $term; + } //add multi-lingual support $language = new text; @@ -55,14 +66,19 @@ else { $sql .= "from "; $sql .= "v_extensions e "; $sql .= "where "; - $sql .= "( "; - $sql .= " lower(e.effective_caller_id_name) like lower('%".$term."%') or "; - $sql .= " lower(e.outbound_caller_id_name) like lower('%".$term."%') or "; - $sql .= " lower(e.directory_full_name) like lower('%".$term."%') or "; - $sql .= " lower(e.description) like lower('%".$term."%') or "; - $sql .= " lower(e.call_group) like lower('%".$term."%') or "; - $sql .= " e.extension like '%".$term."%' "; - $sql .= ") "; + foreach ($terms as $index => $term) { + $sql .= "( "; + $sql .= " lower(e.effective_caller_id_name) like lower('%".$term."%') or "; + $sql .= " lower(e.outbound_caller_id_name) like lower('%".$term."%') or "; + $sql .= " lower(e.directory_full_name) like lower('%".$term."%') or "; + $sql .= " lower(e.description) like lower('%".$term."%') or "; + $sql .= " lower(e.call_group) like lower('%".$term."%') or "; + $sql .= " e.extension like '%".$term."%' "; + $sql .= ") "; + if ($index + 1 < sizeof($terms)) { + $sql .= " and "; + } + } $sql .= "and e.domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and e.enabled = 'true' "; $sql .= "order by "; @@ -99,14 +115,19 @@ else { $sql .= "v_contacts as c, "; $sql .= "v_contact_phones as p "; $sql .= "where "; - $sql .= "( "; - $sql .= " lower(c.contact_organization) like lower('%".$term."%') or "; - $sql .= " lower(c.contact_name_given) like lower('%".$term."%') or "; - $sql .= " lower(c.contact_name_middle) like lower('%".$term."%') or "; - $sql .= " lower(c.contact_name_family) like lower('%".$term."%') or "; - $sql .= " lower(c.contact_nickname) like lower('%".$term."%') or "; - $sql .= " p.phone_number like '%".$term."%' "; - $sql .= ") "; + foreach ($terms as $index => $term) { + $sql .= "( "; + $sql .= " lower(c.contact_organization) like lower('%".$term."%') or "; + $sql .= " lower(c.contact_name_given) like lower('%".$term."%') or "; + $sql .= " lower(c.contact_name_middle) like lower('%".$term."%') or "; + $sql .= " lower(c.contact_name_family) like lower('%".$term."%') or "; + $sql .= " lower(c.contact_nickname) like lower('%".$term."%') or "; + $sql .= " p.phone_number like '%".$term."%' "; + $sql .= ") "; + if ($index + 1 < sizeof($terms)) { + $sql .= " and "; + } + } $sql .= "and c.contact_uuid = p.contact_uuid "; $sql .= "and c.domain_uuid = '".$_SESSION['domain_uuid']."' "; if (sizeof($user_group_uuids) > 0) { diff --git a/app/operator_panel/index.php b/app/operator_panel/index.php index 7aaf4d5bc1..e50a546646 100644 --- a/app/operator_panel/index.php +++ b/app/operator_panel/index.php @@ -67,6 +67,7 @@ else { exit; } +$document['title'] = $text['title-operator_panel']; require_once "resources/header.php"; ?> @@ -79,8 +80,9 @@ require_once "resources/header.php";