/** * Запрашивает данные из мемкеша. Если не находит ключ, то кеширует результат запроса в * формате 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; }
/** * Получить забаненных пользователей. * * @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); }