Fix address adding bug reported by David Koblas

release-0.6
thomascube 17 years ago
parent b716bd92d8
commit 3fc00e67bb

@ -1,6 +1,13 @@
CHANGELOG RoundCube Webmail
---------------------------
2007/07/03 (thomasb)
----------
- Added Macedonian (Slavic FYROM) localization
- Fix status message bug #1484464 with regard to #1484353
- Fix address adding bug reported by David Koblas
2007/06/28 (tomekp)
----------
- fix typos in Polish localization (Janusz Zamecki)

@ -171,7 +171,7 @@ class rcube_contacts
* @param boolean True if results are requested, False if count only
* @return Indexed list of contact records and 'count' value
*/
function search($fields, $value, $select=true)
function search($fields, $value, $strict=false, $select=true)
{
if (!is_array($fields))
$fields = array($fields);
@ -184,6 +184,8 @@ class rcube_contacts
$ids = !is_array($value) ? split(',', $value) : $value;
$add_where[] = $this->primary_key." IN (".join(',', $ids).")";
}
else if ($strict)
$add_where[] = $this->db->quoteIdentifier($col)."=".$this->db->quote($value);
else
$add_where[] = $this->db->quoteIdentifier($col)." LIKE ".$this->db->quote(strlen($value)>2 ? "%$value%" : "$value%");
}
@ -278,7 +280,7 @@ class rcube_contacts
$insert_id = $existing = false;
if ($check)
$existing = $this->search('email', $save_data['email'], false);
$existing = $this->search('email', $save_data['email'], true, false);
$a_insert_cols = $a_insert_values = array();
foreach ($this->table_cols as $col)

@ -231,7 +231,7 @@ class rcube_ldap
* @param boolean True if results are requested, False if count only
* @return Indexed list of contact records and 'count' value
*/
function search($fields, $value, $select=true)
function search($fields, $value, $strict=false, $select=true)
{
// special treatment for ID-based search
if ($fields == 'ID' || $fields == $this->primary_key)
@ -249,7 +249,7 @@ class rcube_ldap
}
$filter = '(|';
$wc = $this->prop['fuzzy_search'] ? '*' : '';
$wc = !$strict && $this->prop['fuzzy_search'] ? '*' : '';
if (is_array($this->prop['search_fields']))
{
foreach ($this->prop['search_fields'] as $k => $field)

@ -83,7 +83,7 @@ if (!empty($cid))
else
{
// check for existing contacts
$existing = $CONTACTS->search('email', $a_record['email'], false);
$existing = $CONTACTS->search('email', $a_record['email'], true, false);
// show warning message
if ($existing->count)

@ -40,7 +40,7 @@ if (!empty($_POST['_address']))
$contact['name'] = ucfirst(preg_replace('/[\.\-]/', ' ', substr($contact['email'], 0, strpos($contact['email'], '@'))));
// check for existing contacts
$existing = $CONTACTS->search('email', $contact['email'], false);
$existing = $CONTACTS->search('email', $contact['email'], true, false);
if ($done = $existing->count)
$OUTPUT->show_message('contactexists', 'warning');
else if ($done = $CONTACTS->insert($contact))

Loading…
Cancel
Save