/** * @brief add/remove a notification class to/from the blacklist * @param string $uid user * @param int $class class id * @param boolean $block true to add, false to remove from blacklist */ public static function setBlacklist($uid = null, $class, $block) { if (is_null($uid)) { if (OCP\User::isLoggedIn()) { $uid = OCP\User::getUser(); } else { throw new Exception('Not logged in!'); } } $stmt = null; if ($block) { if (!isset(self::$addToBlacklistStmt)) { self::$addToBlacklistStmt = OCP\DB::prepare("INSERT INTO *PREFIX*notification_blacklist (uid, class) VALUES (?, ?)"); } $stmt = self::$addToBlacklistStmt; } else { if (!isset(self::$removeFromBlacklistStmt)) { self::$removeFromBlacklistStmt = OCP\DB::prepare("DELETE FROM *PREFIX*notification_blacklist WHERE uid = ? AND class = ?"); } $stmt = self::$removeFromBlacklistStmt; } $stmt->execute(array($uid, $class)); }