From 25a9ec7bb7a1bea7238f400248599e74c4a93950 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Mon, 18 Aug 2014 08:16:20 -0400
Subject: [PATCH] Allow caller to supply the template for contact name composition

---
 program/lib/Roundcube/rcube_addressbook.php |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/program/lib/Roundcube/rcube_addressbook.php b/program/lib/Roundcube/rcube_addressbook.php
index 5bc3edf..69027b0 100644
--- a/program/lib/Roundcube/rcube_addressbook.php
+++ b/program/lib/Roundcube/rcube_addressbook.php
@@ -562,21 +562,22 @@
      * @param array  Hash array with contact data as key-value pairs
      * @param string Optional email address
      * @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
      */
-    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;
 
-        if (!isset($template)) {  // cache this
+        if (empty($templ) && !isset($template)) {  // cache this
             $template = rcube::get_instance()->config->get('contact_search_name');
             if (empty($template)) {
                 $template = '{name} <{email}>';
             }
         }
 
-        $result = $template;
+        $result = $templ ?: $template;
 
         if (preg_match_all('/\{[a-z]+\}/', $result, $matches)) {
             foreach ($matches[0] as $key) {

--
Gitblit v1.9.1