Revert r4746 due to timestsamp issues with mysql; deprecate rcube_mdb2::unixtimestamp()
| | |
| | | /** |
| | | * 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) |
| | | { |
| | |
| | | */ |
| | | 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); |
| | | } |
| | | |
| | | |
| | |
| | | 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; |