Beispiel #1
0
 /**
  * Запрашивает данные из мемкеша. Если не находит ключ, то кеширует результат запроса в
  * формате pg_fetch_all().
  *
  * @param string $error     возвращает сообщение об ошибке при запросе к Постгресу
  * @param string $sql       запрос к Постгресу
  * @param int    $expire    время жизни кэша (в секундах)
  * @param bool   $read_only запрос только на чтение?
  *
  * @return array результат запроса из кэша или базы в формате массива pg_fetch_all()
  */
 public function getSql(&$error, $sql, $expire = 600, $read_only = false, $group = false)
 {
     $key = md5($sql);
     $output = $this->get($key);
     //print "Buffer";
     if (!$output) {
         //print "NoBuffer!";
         $res = pg_query_Ex($sql, $read_only);
         $output = pg_fetch_all($res);
         $this->bWasMqUsed = false;
         $error = pg_errormessage();
         if (!$error) {
             $this->set($key, $output, $expire, $group);
         }
     }
     return $output;
 }
Beispiel #2
0
 /**
  * Получить забаненных пользователей.
  *
  * @param integer $uid   id пользователя
  * @param integer $where условие где забанен пользователь (0 - везде, 1 - в блогах)
  *
  * @return array данные пользователей
  */
 public function GetBan($uid, $where = 0)
 {
     $where = $where ? $where : '0 OR "where" IS NULL';
     $sql = "SELECT * FROM users_ban WHERE uid='" . $uid . "' AND (\"where\"= {$where}) ORDER BY \"from\" DESC LIMIT 1; ";
     $res = pg_query_Ex($sql, true);
     return pg_fetch_assoc($res);
 }