From 865ecc87963dc3b26e66296616eef2a1cc41ac3f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 25 Oct 2023 12:55:09 +0300 Subject: move to psr-4 autoloader --- classes/labels.php | 233 ----------------------------------------------------- 1 file changed, 233 deletions(-) delete mode 100644 classes/labels.php (limited to 'classes/labels.php') diff --git a/classes/labels.php b/classes/labels.php deleted file mode 100644 index 026e6621f..000000000 --- a/classes/labels.php +++ /dev/null @@ -1,233 +0,0 @@ -prepare("SELECT id FROM ttrss_labels2 WHERE LOWER(caption) = LOWER(?) - AND owner_uid = ? LIMIT 1"); - $sth->execute([$label, $owner_uid]); - - if ($row = $sth->fetch()) { - return $row['id']; - } else { - return 0; - } - } - - static function find_caption(int $label, int $owner_uid): string { - $pdo = Db::pdo(); - - $sth = $pdo->prepare("SELECT caption FROM ttrss_labels2 WHERE id = ? - AND owner_uid = ? LIMIT 1"); - $sth->execute([$label, $owner_uid]); - - if ($row = $sth->fetch()) { - return $row['caption']; - } else { - return ""; - } - } - - /** - * @return array> - */ - static function get_as_hash(int $owner_uid): array { - $rv = []; - $labels = Labels::get_all($owner_uid); - - foreach ($labels as $i => $label) { - $rv[(int)$label["id"]] = $labels[$i]; - } - - return $rv; - } - - /** - * @return array> An array of label detail arrays - */ - static function get_all(int $owner_uid) { - $rv = array(); - - $pdo = Db::pdo(); - - $sth = $pdo->prepare("SELECT id, fg_color, bg_color, caption FROM ttrss_labels2 - WHERE owner_uid = ? ORDER BY caption"); - $sth->execute([$owner_uid]); - - while ($line = $sth->fetch(PDO::FETCH_ASSOC)) { - array_push($rv, $line); - } - - return $rv; - } - - /** - * @param array{'no-labels': 1}|array> $labels - * [label_id, caption, fg_color, bg_color] - * - * @see Article::_get_labels() - */ - static function update_cache(int $owner_uid, int $id, array $labels, bool $force = false): void { - $pdo = Db::pdo(); - - if ($force) - self::clear_cache($id); - - if (!$labels) - $labels = Article::_get_labels($id); - - $labels = json_encode($labels); - - $sth = $pdo->prepare("UPDATE ttrss_user_entries SET - label_cache = ? WHERE ref_id = ? AND owner_uid = ?"); - $sth->execute([$labels, $id, $owner_uid]); - - } - - static function clear_cache(int $id): void { - - $pdo = Db::pdo(); - - $sth = $pdo->prepare("UPDATE ttrss_user_entries SET - label_cache = '' WHERE ref_id = ?"); - $sth->execute([$id]); - - } - - static function remove_article(int $id, string $label, int $owner_uid): void { - - $label_id = self::find_id($label, $owner_uid); - - if (!$label_id) return; - - $pdo = Db::pdo(); - - $sth = $pdo->prepare("DELETE FROM ttrss_user_labels2 - WHERE - label_id = ? AND - article_id = ?"); - - $sth->execute([$label_id, $id]); - - self::clear_cache($id); - } - - static function add_article(int $id, string $label, int $owner_uid): void { - - $label_id = self::find_id($label, $owner_uid); - - if (!$label_id) return; - - $pdo = Db::pdo(); - - $sth = $pdo->prepare("SELECT - article_id FROM ttrss_labels2, ttrss_user_labels2 - WHERE - label_id = id AND - label_id = ? AND - article_id = ? AND owner_uid = ? - LIMIT 1"); - - $sth->execute([$label_id, $id, $owner_uid]); - - if (!$sth->fetch()) { - $sth = $pdo->prepare("INSERT INTO ttrss_user_labels2 - (label_id, article_id) VALUES (?, ?)"); - - $sth->execute([$label_id, $id]); - } - - self::clear_cache($id); - - } - - static function remove(int $id, int $owner_uid): void { - if (!$owner_uid) $owner_uid = $_SESSION["uid"]; - - $pdo = Db::pdo(); - $tr_in_progress = false; - - try { - $pdo->beginTransaction(); - } catch (Exception $e) { - $tr_in_progress = true; - } - - $sth = $pdo->prepare("SELECT caption FROM ttrss_labels2 - WHERE id = ?"); - $sth->execute([$id]); - - $row = $sth->fetch(); - $caption = $row['caption']; - - $sth = $pdo->prepare("DELETE FROM ttrss_labels2 WHERE id = ? - AND owner_uid = ?"); - $sth->execute([$id, $owner_uid]); - - if ($sth->rowCount() != 0 && $caption) { - - /* Remove access key for the label */ - - $ext_id = LABEL_BASE_INDEX - 1 - $id; - - $sth = $pdo->prepare("DELETE FROM ttrss_access_keys WHERE - feed_id = ? AND owner_uid = ?"); - $sth->execute([$ext_id, $owner_uid]); - - /* Remove cached data */ - - $sth = $pdo->prepare("UPDATE ttrss_user_entries SET label_cache = '' - WHERE owner_uid = ?"); - $sth->execute([$owner_uid]); - - } - - if (!$tr_in_progress) $pdo->commit(); - } - - /** - * @return false|int false if the check for an existing label failed, otherwise the number of rows inserted (1 on success) - */ - static function create(string $caption, ?string $fg_color = '', ?string $bg_color = '', ?int $owner_uid = null) { - - if (!$owner_uid) $owner_uid = $_SESSION['uid']; - - $pdo = Db::pdo(); - - $tr_in_progress = false; - - try { - $pdo->beginTransaction(); - } catch (Exception $e) { - $tr_in_progress = true; - } - - $sth = $pdo->prepare("SELECT id FROM ttrss_labels2 - WHERE LOWER(caption) = LOWER(?) AND owner_uid = ?"); - $sth->execute([$caption, $owner_uid]); - - if (!$sth->fetch()) { - $sth = $pdo->prepare("INSERT INTO ttrss_labels2 - (caption,owner_uid,fg_color,bg_color) VALUES (?, ?, ?, ?)"); - - $sth->execute([$caption, $owner_uid, $fg_color, $bg_color]); - - $result = $sth->rowCount(); - } else { - $result = false; - } - - if (!$tr_in_progress) $pdo->commit(); - - return $result; - } -} -- cgit v1.2.3-54-g00ecf