summaryrefslogtreecommitdiff
path: root/roundcubemail
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-05-14 14:38:27 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-05-14 14:38:27 +0000
commit96a54ef4ac60382fe33f596759deb778cdbc5b82 (patch)
tree50699686c36270e6b538808b5f82d9275c165bbd /roundcubemail
parentca132a2638c80719193a852cb82949a201f12ba5 (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.php2
-rw-r--r--roundcubemail/program/include/rcube_mdb2.php26
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)