|
|
@ -562,21 +562,22 @@ abstract class rcube_addressbook
|
|
|
|
* @param array Hash array with contact data as key-value pairs
|
|
|
|
* @param array Hash array with contact data as key-value pairs
|
|
|
|
* @param string Optional email address
|
|
|
|
* @param string Optional email address
|
|
|
|
* @param string Optional name (self::compose_list_name() result)
|
|
|
|
* @param string Optional name (self::compose_list_name() result)
|
|
|
|
|
|
|
|
* @param string Optional template to use (defaults to the 'contact_search_name' config option)
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @return string Display name
|
|
|
|
* @return string Display name
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static function compose_search_name($contact, $email = null, $name = null)
|
|
|
|
public static function compose_search_name($contact, $email = null, $name = null, $templ = null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
static $template;
|
|
|
|
static $template;
|
|
|
|
|
|
|
|
|
|
|
|
if (!isset($template)) { // cache this
|
|
|
|
if (empty($templ) && !isset($template)) { // cache this
|
|
|
|
$template = rcube::get_instance()->config->get('contact_search_name');
|
|
|
|
$template = rcube::get_instance()->config->get('contact_search_name');
|
|
|
|
if (empty($template)) {
|
|
|
|
if (empty($template)) {
|
|
|
|
$template = '{name} <{email}>';
|
|
|
|
$template = '{name} <{email}>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$result = $template;
|
|
|
|
$result = $templ ?: $template;
|
|
|
|
|
|
|
|
|
|
|
|
if (preg_match_all('/\{[a-z]+\}/', $result, $matches)) {
|
|
|
|
if (preg_match_all('/\{[a-z]+\}/', $result, $matches)) {
|
|
|
|
foreach ($matches[0] as $key) {
|
|
|
|
foreach ($matches[0] as $key) {
|
|
|
|