- Merge r5966 from trunk (#1488375)

release-0.7
alecpl 12 years ago
parent b1a8dabb1f
commit 053538bf60

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix duplicate names handling in addressbook searches (#1488375)
- Fix displaying of HTML messages from Disqus (#1488372)
- Disable E_STRICT warnings on PHP 5.4
- Prevent from folder selection on virtual folder collapsing (#1488346)

@ -69,6 +69,7 @@ $page = isset($_SESSION['page']) ? $_SESSION['page'] : 1;
// update saved search after data changed
if (($search_request = $_REQUEST['_search']) && isset($_SESSION['search'][$search_request])) {
$sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$search = (array)$_SESSION['search'][$search_request];
$records = array();
@ -91,7 +92,7 @@ if (($search_request = $_REQUEST['_search']) && isset($_SESSION['search'][$searc
while ($row = $result->next()) {
$row['sourceid'] = $s;
$key = $row['name'] . ':' . $row['sourceid'];
$key = rcmail_contact_key($row, $sort_col);
$records[$key] = $row;
}
unset($result);

@ -24,6 +24,7 @@
// Use search result
if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']]))
{
$sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$search = (array)$_SESSION['search'][$_REQUEST['_search']];
$records = array();
@ -41,7 +42,7 @@ if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search
while ($row = $result->next()) {
$row['sourceid'] = $s;
$key = $row['name'] . ':' . $row['sourceid'];
$key = rcmail_contact_key($row, $sort_col);
$records[$key] = $row;
}
unset($result);

@ -728,6 +728,24 @@ function rcmail_format_date_col($val)
}
function rcmail_contact_key($row, $sort_col)
{
$key = $row[$sort_col] . ':' . $row['sourceid'];
// add email to a key to not skip contacts with the same name (#1488375)
if (!empty($row['email'])) {
if (is_array($row['email'])) {
$key .= ':' . implode(':', $row['email']);
}
else {
$key .= ':' . $row['email'];
}
}
return $key;
}
/**
* Returns contact ID(s) and source(s) from GET/POST data
*

@ -47,7 +47,7 @@ if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search
while ($row = $result->next()) {
$row['sourceid'] = $s;
$key = $row[$sort_col] . ':' . $row['sourceid'];
$key = rcmail_contact_key($row, $sort_col);
$records[$key] = $row;
}
unset($result);

@ -144,6 +144,7 @@ function rcmail_contact_search()
$sources = $RCMAIL->get_address_sources();
$search_set = array();
$records = array();
$sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
foreach ($sources as $s) {
$source = $RCMAIL->get_address_book($s['id']);
@ -182,7 +183,7 @@ function rcmail_contact_search()
while ($row = $result->next()) {
$row['sourceid'] = $s['id'];
$key = $row['name'] . ':' . $row['sourceid'];
$key = rcmail_contact_key($row, $sort_col);
$records[$key] = $row;
}

@ -65,13 +65,6 @@ if ($delcnt && ($search_request = $_REQUEST['_search']) && isset($_SESSION['sear
continue;
}
while ($row = $result->next()) {
$row['sourceid'] = $s;
$key = $row['name'] . ':' . $row['sourceid'];
$records[$key] = $row;
}
unset($result);
$search[$s] = $source->get_search_set();
}

Loading…
Cancel
Save