diff options
Diffstat (limited to 'program/include/rcube_addressbook.php')
-rw-r--r-- | program/include/rcube_addressbook.php | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/program/include/rcube_addressbook.php b/program/include/rcube_addressbook.php index 5f17f4a8a..33f8f8a5b 100644 --- a/program/include/rcube_addressbook.php +++ b/program/include/rcube_addressbook.php @@ -44,6 +44,8 @@ abstract class rcube_addressbook public $group_id = null; public $list_page = 1; public $page_size = 10; + public $sort_col = 'name'; + public $sort_order = 'ASC'; public $coltypes = array('name' => array('limit'=>1), 'firstname' => array('limit'=>1), 'surname' => array('limit'=>1), 'email' => array('limit'=>1)); protected $error; @@ -180,6 +182,21 @@ abstract class rcube_addressbook $this->page_size = (int)$size; } + /** + * Set internal sort settings + * + * @param string $sort_col Sort column + * @param string $sort_order Sort order + */ + function set_sort_order($sort_col, $sort_order = null) + { + if ($sort_col != null && ($this->coltypes[$sort_col] || in_array($sort_col, $this->coltypes))) { + $this->sort_col = $sort_col; + } + if ($sort_order != null) { + $this->sort_order = strtoupper($sort_order) == 'DESC' ? 'DESC' : 'ASC'; + } + } /** * Check the given data before saving. |