diff --git a/program/include/rcmail.php b/program/include/rcmail.php index c70170209..a6b0bcd57 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -726,8 +726,12 @@ class rcmail extends rcube */ public function url($p) { - if (!is_array($p)) + if (!is_array($p)) { + if (strpos($p, 'http') === 0) + return $p; + $p = array('_action' => @func_get_arg(0)); + } $task = $p['_task'] ? $p['_task'] : ($p['task'] ? $p['task'] : $this->task); $p['_task'] = $task; diff --git a/program/include/rcube_addressbook.php b/program/include/rcube_addressbook.php index f5b32cd52..069ea5715 100644 --- a/program/include/rcube_addressbook.php +++ b/program/include/rcube_addressbook.php @@ -422,7 +422,7 @@ abstract class rcube_addressbook function get_col_values($col, $data, $flat = false) { $out = array(); - foreach ($data as $c => $values) { + foreach ((array)$data as $c => $values) { if ($c === $col || strpos($c, $col.':') === 0) { if ($flat) { $out = array_merge($out, (array)$values);