From 5587b34cfa5d04fec8e009288cabd0ffdbf39413 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 30 Nov 2011 06:05:50 -0500
Subject: [PATCH] Enable buttons having an inner <span> for better CSS styling capabilities
---
program/include/rcube_addressbook.php | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/program/include/rcube_addressbook.php b/program/include/rcube_addressbook.php
index 94a715b..5f17f4a 100644
--- a/program/include/rcube_addressbook.php
+++ b/program/include/rcube_addressbook.php
@@ -30,7 +30,7 @@
/** constants for error reporting **/
const ERROR_READ_ONLY = 1;
const ERROR_NO_CONNECTION = 2;
- const ERROR_INCOMPLETE = 3;
+ const ERROR_VALIDATE = 3;
const ERROR_SAVING = 4;
const ERROR_SEARCH = 5;
@@ -96,12 +96,16 @@
*
* @param array List of fields to search in
* @param string Search value
+ * @param int Matching mode:
+ * 0 - partial (*abc*),
+ * 1 - strict (=),
+ * 2 - prefix (abc*)
* @param boolean True if results are requested, False if count only
* @param boolean True to skip the count query (select only)
* @param array List of fields that cannot be empty
* @return object rcube_result_set List of contact records and 'count' value
*/
- abstract function search($fields, $value, $strict=false, $select=true, $nocount=false, $required=array());
+ abstract function search($fields, $value, $mode=0, $select=true, $nocount=false, $required=array());
/**
* Count number of available contacts in database
@@ -182,15 +186,16 @@
* If input isn't valid, the message to display can be fetched using get_error()
*
* @param array Assoziative array with data to save
+ * @param boolean Attempt to fix/complete record automatically
* @return boolean True if input is valid, False if not.
*/
- public function validate($save_data)
+ public function validate(&$save_data, $autofix = false)
{
// check validity of email addresses
foreach ($this->get_col_values('email', $save_data, true) as $email) {
if (strlen($email)) {
if (!check_email(rcube_idn_to_ascii($email))) {
- $this->set_error('warning', rcube_label(array('name' => 'emailformaterror', 'vars' => array('email' => $email))));
+ $this->set_error(self::ERROR_VALIDATE, rcube_label(array('name' => 'emailformaterror', 'vars' => array('email' => $email))));
return false;
}
}
@@ -295,6 +300,18 @@
}
/**
+ * Get group properties such as name and email address(es)
+ *
+ * @param string Group identifier
+ * @return array Group properties as hash array
+ */
+ function get_group($group_id)
+ {
+ /* empty for address books don't supporting groups */
+ return null;
+ }
+
+ /**
* Create a contact group with the given name
*
* @param string The group name
@@ -386,7 +403,7 @@
{
$out = array();
foreach ($data as $c => $values) {
- if (strpos($c, $col) === 0) {
+ if ($c === $col || strpos($c, $col.':') === 0) {
if ($flat) {
$out = array_merge($out, (array)$values);
}
--
Gitblit v1.9.1