Example #1
0
 public function send($to, $message)
 {
     $retVal = Db::query(['INSERT INTO "pms" ("from","to","message") VALUES (:id,:to,:message)', [':id' => $_SESSION['id'], ':to' => $to, ':message' => $message]], Db::FETCH_ERRSTR);
     $wentWell = $retVal == Db::NO_ERRSTR;
     if ($wentWell && $this->user->wantsPush($to) && Config\PUSHED_ENABLED) {
         try {
             $pushed = Pushed::connectIp(Config\PUSHED_PORT, Config\PUSHED_IP6);
             $msg = json_encode(['messageFrom' => html_entity_decode(User::getUsername(), ENT_QUOTES, 'UTF-8'), 'messageFromId' => (string) $this->user->getId(), 'messageBody' => substr(html_entity_decode($message, ENT_QUOTES, 'UTF-8'), 0, 2000)]);
             //truncate to 2000 chars because of possibile service limitations
             $pushed->push($to, $msg);
         } catch (PushedException $e) {
             Db::dumpException($e);
         }
     }
     return $retVal;
 }
Example #2
0
 public static function upsertGuest()
 {
     try {
         Db::getDb()->beginTransaction();
         $stmt = Db::getDb()->prepare('UPDATE guests SET last = NOW() WHERE remote_addr = :ip');
         $stmt->execute([':ip' => $_SERVER['REMOTE_ADDR']]);
         $stmt = Db::getDb()->prepare('INSERT INTO guests(remote_addr, http_user_agent)
             SELECT :ip, :ua
             WHERE NOT EXISTS (SELECT 1 FROM guests WHERE remote_addr = :ip)');
         $stmt->execute([':ip' => $_SERVER['REMOTE_ADDR'], ':ua' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '']);
         Db::getDb()->commit();
     } catch (PDOException $e) {
         Db::dumpException($e);
     }
 }