diff options
-rw-r--r-- | program/include/rcube_mdb2.php | 12 | ||||
-rw-r--r-- | program/include/rcube_session.php | 5 |
2 files changed, 7 insertions, 10 deletions
diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php index 365832806..a68d1dd92 100644 --- a/program/include/rcube_mdb2.php +++ b/program/include/rcube_mdb2.php @@ -545,9 +545,12 @@ class rcube_mdb2 /** * Return SQL statement to convert a field value into a unix timestamp * + * This method is deprecated and should not be used anymore due to limitations + * of timestamp functions in Mysql (year 2038 problem) + * * @param string $field Field name * @return string SQL statement to use in query - * @access public + * @deprecated */ function unixtimestamp($field) { @@ -574,12 +577,7 @@ class rcube_mdb2 */ function fromunixtime($timestamp) { - switch ($this->db_provider) { - case 'mysql': - return 'FROM_UNIXTIME(' . intval($timestamp) . ')'; - default: - return date("'Y-m-d H:i:s'", $timestamp); - } + return date("'Y-m-d H:i:s'", $timestamp); } diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php index d3da36f57..e4d9a87aa 100644 --- a/program/include/rcube_session.php +++ b/program/include/rcube_session.php @@ -131,12 +131,11 @@ class rcube_session public function db_read($key) { $sql_result = $this->db->query( - sprintf("SELECT vars, ip, %s AS changed FROM %s WHERE sess_id = ?", - $this->db->unixtimestamp('changed'), get_table_name('session')), + "SELECT vars, ip, changed FROM ".get_table_name('session')." WHERE sess_id = ?", $key); if ($sql_arr = $this->db->fetch_assoc($sql_result)) { - $this->changed = $sql_arr['changed']; + $this->changed = strtotime($sql_arr['changed']); $this->ip = $sql_arr['ip']; $this->vars = base64_decode($sql_arr['vars']); $this->key = $key; |