Allow caller to supply the template for contact name composition

pull/213/head
Thomas Bruederli 10 years ago
parent 6a0a4a3a52
commit 25a9ec7bb7

@ -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) {

Loading…
Cancel
Save