protected function get_user_from_db($id, $fields = array(), $name_case = 'nom') { // Logger::temporary_debug_on(); $sth = $this->db->prepare('SELECT type, value FROM user_properties WHERE user_id = :id AND updated > DATE_SUB(NOW(), INTERVAL 30 MINUTE)'); $sth->execute(array('id' => $id)); $user = new stdClass(); $user->{'id'} = $id; while ($field = $sth->fetch(PDO::FETCH_ASSOC)) { $user->{$field['type']} = json_decode($field['value']); } if (!$this->check_fields($user, $fields, $name_case)) { $user = parent::get_user($id, $fields, $name_case); $this->save_user_to_db($user, $name_case); Logger::temporary_debug_off(); return $user; } else { Logger::log(LOG_DEBUG, 'returning user data from db'); Logger::temporary_debug_off(); return $user; } }