示例#1
0
 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;
     }
 }