diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-05-14 14:38:27 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-05-14 14:38:27 +0000 |
| commit | 96a54ef4ac60382fe33f596759deb778cdbc5b82 (patch) | |
| tree | 50699686c36270e6b538808b5f82d9275c165bbd /roundcubemail | |
| parent | ca132a2638c80719193a852cb82949a201f12ba5 (diff) | |
Fix sort order when contact name is empty
git-svn-id: https://svn.roundcube.net/trunk@4768 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail')
| -rw-r--r-- | roundcubemail/program/include/rcube_contacts.php | 2 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_mdb2.php | 26 |
2 files changed, 27 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_contacts.php b/roundcubemail/program/include/rcube_contacts.php index e7c078f7e..687b4b111 100644 --- a/roundcubemail/program/include/rcube_contacts.php +++ b/roundcubemail/program/include/rcube_contacts.php @@ -184,7 +184,7 @@ class rcube_contacts extends rcube_addressbook " AND c.user_id=?" . ($this->group_id ? " AND m.contactgroup_id=?" : ""). ($this->filter ? " AND (".$this->filter.")" : "") . - " ORDER BY c.name, c.email", + " ORDER BY ". $this->db->concat('c.name', 'c.email'), $start_row, $length, $this->user_id, diff --git a/roundcubemail/program/include/rcube_mdb2.php b/roundcubemail/program/include/rcube_mdb2.php index a68d1dd92..02ed17ac2 100644 --- a/roundcubemail/program/include/rcube_mdb2.php +++ b/roundcubemail/program/include/rcube_mdb2.php @@ -600,6 +600,32 @@ class rcube_mdb2 } } + /** + * Abstract SQL statement for value concatenation + * + * @return string SQL statement to be used in query + * @access public + */ + function concat(/* col1, col2, ... */) + { + $func = ''; + switch($this->db_provider) { + case 'mysql': + case 'mysqli': + $func = 'CONCAT'; + $delim = ', '; + break; + case 'mssql': + case 'sqlsrv': + $delim = ' + '; + break; + default: + $delim = ' || '; + } + + return $func . '(' . join($delim, func_get_args()) . ')'; + } + /** * Encodes non-UTF-8 characters in string/array/object (recursive) |
