Aleksander Machniak
2013-06-25 2f98161392a160a3d5eb1a337789ad8586aaaf71
Fix empty messages list when register_globals is enabled (#1489157)

Conflicts:

CHANGELOG
4 files modified
35 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
installer/check.php 1 ●●●● patch | view | raw | blame | history
program/steps/mail/list_contacts.inc 14 ●●●● patch | view | raw | blame | history
program/steps/mail/search_contacts.inc 19 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix empty messages list when register_globals is enabled (#1489157)
- Fix so valid and set date.timezone is not required by installer checks (#1489180)
- Canonize boolean ini_get() results (#1489189)
- Fix so install do not fail when one of DB driver checks fails but other drivers exist (#1489178)
installer/check.php
@@ -48,6 +48,7 @@
    // required for utils/modcss.inc, should we require this?
    'allow_url_fopen'  => 1,
    'date.timezone'    => '-VALID-',
    'register_globals' => 0, // #1489157
);
$source_urls = array(
program/steps/mail/list_contacts.inc
@@ -19,10 +19,10 @@
 +-----------------------------------------------------------------------+
*/
$afields = $RCMAIL->config->get('contactlist_fields');
$sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$page_size = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$page = max(1, intval($_GET['_page']));
$afields       = $RCMAIL->config->get('contactlist_fields');
$addr_sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$page_size     = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$list_page     = max(1, intval($_GET['_page']));
// Use search result
if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']])) {
@@ -42,7 +42,7 @@
        while ($row = $result->next()) {
            $row['sourceid'] = $s;
            $key = rcube_addressbook::compose_contact_key($row, $sort_col);
            $key = rcube_addressbook::compose_contact_key($row, $addr_sort_col);
            $records[$key] = $row;
        }
        unset($result);
@@ -53,7 +53,7 @@
    // create resultset object
    $count  = count($records);
    $first  = ($page-1) * $page_size;
    $first  = ($list_page-1) * $page_size;
    $result = new rcube_result_set($count, $first);
    // we need only records for current page
@@ -71,7 +71,7 @@
    if ($CONTACTS && $CONTACTS->ready) {
        // set list properties
        $CONTACTS->set_pagesize($page_size);
        $CONTACTS->set_page($page);
        $CONTACTS->set_page($list_page);
        // list groups of this source (on page one)
        if ($CONTACTS->groups && $CONTACTS->list_page == 1) {
program/steps/mail/search_contacts.inc
@@ -19,16 +19,15 @@
 +-----------------------------------------------------------------------+
*/
$search  = get_input_value('_q', RCUBE_INPUT_GPC, true);
$sources = $RCMAIL->get_address_sources();
$search_mode = (int) $RCMAIL->config->get('addressbook_search_mode');
$sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$afields = $RCMAIL->config->get('contactlist_fields');
$search        = get_input_value('_q', RCUBE_INPUT_GPC, true);
$sources       = $RCMAIL->get_address_sources();
$search_mode   = (int) $RCMAIL->config->get('addressbook_search_mode');
$addr_sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name');
$afields       = $RCMAIL->config->get('contactlist_fields');
$page_size     = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$records       = array();
$search_set    = array();
$page = 1;
$page_size = $RCMAIL->config->get('addressbook_pagesize', $RCMAIL->config->get('pagesize', 50));
$records = $search_set = array();
foreach ($sources as $s) {
    $source = $RCMAIL->get_address_book($s['id']);
    $source->set_page(1);
@@ -46,7 +45,7 @@
    while ($row = $result->next()) {
        $row['sourceid'] = $s['id'];
        $key = rcube_addressbook::compose_contact_key($row, $sort_col);
        $key = rcube_addressbook::compose_contact_key($row, $addr_sort_col);
        $records[$key] = $row;
    }