X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FSelectValues.php;h=87b08e890f2393507f1948b21660f8caea1ae465;hb=d7e0c6a6d10fbd3548bfebb9926a3bf79c91296b;hp=44e5bdb85437c5839b946dbee1940e254e630942;hpb=899f47baf9527b53e51f1d9edebb530dbb155782;p=civicrm-core.git diff --git a/CRM/Core/SelectValues.php b/CRM/Core/SelectValues.php index 44e5bdb854..87b08e890f 100644 --- a/CRM/Core/SelectValues.php +++ b/CRM/Core/SelectValues.php @@ -3,7 +3,7 @@ +--------------------------------------------------------------------+ | CiviCRM version 5 | +--------------------------------------------------------------------+ - | Copyright CiviCRM LLC (c) 2004-2018 | + | Copyright CiviCRM LLC (c) 2004-2019 | +--------------------------------------------------------------------+ | This file is a part of CiviCRM. | | | @@ -31,7 +31,7 @@ * smart caching scheme on a per domain basis * * @package CRM - * @copyright CiviCRM LLC (c) 2004-2018 + * @copyright CiviCRM LLC (c) 2004-2019 * $Id$ * */ @@ -1124,4 +1124,39 @@ class CRM_Core_SelectValues { return $optionValues; } + /** + * Dropdown options for quicksearch in the menu + * + * @return array + */ + public static function quicksearchOptions() { + $includeEmail = civicrm_api3('setting', 'getvalue', array('name' => 'includeEmailInName', 'group' => 'Search Preferences')); + $options = [ + 'sort_name' => $includeEmail ? ts('Name/Email') : ts('Name'), + 'contact_id' => ts('Contact ID'), + 'external_identifier' => ts('External ID'), + 'first_name' => ts('First Name'), + 'last_name' => ts('Last Name'), + 'email' => ts('Email'), + 'phone_numeric' => ts('Phone'), + 'street_address' => ts('Street Address'), + 'city' => ts('City'), + 'postal_code' => ts('Postal Code'), + 'job_title' => ts('Job Title'), + ]; + $custom = civicrm_api3('CustomField', 'get', [ + 'return' => ['name', 'label', 'custom_group_id.title'], + 'custom_group_id.extends' => ['IN' => ['Contact', 'Individual', 'Organization', 'Household']], + 'data_type' => ['NOT IN' => ['ContactReference', 'Date', 'File']], + 'custom_group_id.is_active' => 1, + 'is_active' => 1, + 'is_searchable' => 1, + 'options' => ['sort' => ['custom_group_id.weight', 'weight'], 'limit' => 0], + ]); + foreach ($custom['values'] as $field) { + $options['custom_' . $field['name']] = $field['custom_group_id.title'] . ': ' . $field['label']; + } + return $options; + } + }