summaryrefslogtreecommitdiff
path: root/classes/feeds.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-03-01 20:25:53 +0300
committerAndrew Dolgov <[email protected]>2021-03-01 20:25:53 +0300
commit56f658711fc0271c41a2f3975e49c5d69bd9573b (patch)
tree4d19e876d6b8f6f3a365f0c34c532c555e7d492a /classes/feeds.php
parent8b1a2406e61952fb8c26c8430a13db1093188702 (diff)
use orm for a bunch of short feed/cat queries
Diffstat (limited to 'classes/feeds.php')
-rwxr-xr-xclasses/feeds.php83
1 files changed, 35 insertions, 48 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index bf165f93a..83e799cbc 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -1843,18 +1843,13 @@ class Feeds extends Handler_Protected {
}
static function _cat_of_feed($feed) {
- $pdo = Db::pdo();
-
- $sth = $pdo->prepare("SELECT cat_id FROM ttrss_feeds
- WHERE id = ?");
- $sth->execute([$feed]);
+ $feed = ORM::for_table('ttrss_feeds')->find_one($feed);
- if ($row = $sth->fetch()) {
- return $row["cat_id"];
+ if ($feed) {
+ return $feed->cat_id;
} else {
- return false;
+ return null;
}
-
}
private function _color_of($name) {
@@ -1905,6 +1900,15 @@ class Feeds extends Handler_Protected {
return preg_match("/<html|DOCTYPE html/i", substr($content, 0, 8192)) !== 0;
}
+ static function _remove_cat(int $id, int $owner_uid) {
+ $cat = ORM::for_table('ttrss_feed_categories')
+ ->where('owner_uid', $owner_uid)
+ ->find_one($id);
+
+ if ($cat)
+ $cat->delete();
+ }
+
static function _add_cat($feed_cat, $parent_cat_id = false, $order_id = 0) {
if (!$feed_cat) return false;
@@ -1942,42 +1946,31 @@ class Feeds extends Handler_Protected {
return false;
}
- static function _get_access_key($feed_id, $is_cat, $owner_uid = false) {
-
+ static function _get_access_key($feed_id, bool $is_cat, int $owner_uid = 0) {
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
- $is_cat = bool_to_sql_bool($is_cat);
-
- $pdo = Db::pdo();
-
- $sth = $pdo->prepare("SELECT access_key FROM ttrss_access_keys
- WHERE feed_id = ? AND is_cat = ?
- AND owner_uid = ?");
- $sth->execute([$feed_id, $is_cat, $owner_uid]);
+ $key = ORM::for_table('ttrss_access_keys')
+ ->where('owner_uid', $owner_uid)
+ ->where('feed_id', $feed_id)
+ ->where('is_cat', $is_cat)
+ ->find_one();
- if ($row = $sth->fetch()) {
- return $row["access_key"];
+ if ($key) {
+ return $key->access_key;
} else {
- $key = uniqid_short();
+ $key = ORM::for_table('ttrss_access_keys')->create();
- $sth = $pdo->prepare("INSERT INTO ttrss_access_keys
- (access_key, feed_id, is_cat, owner_uid)
- VALUES (?, ?, ?, ?)");
-
- $sth->execute([$key, $feed_id, $is_cat, $owner_uid]);
+ $key->owner_uid = $owner_uid;
+ $key->feed_id = $feed_id;
+ $key->is_cat = $is_cat;
+ $key->access_key = uniqid_short();
- return $key;
+ if ($key->save()) {
+ return $key->access_key;
+ }
}
}
- /**
- * Purge a feed old posts.
- *
- * @param mixed $feed_id The id of the purged feed.
- * @param mixed $purge_interval Olderness of purged posts.
- * @access public
- * @return mixed
- */
static function _purge($feed_id, $purge_interval) {
if (!$purge_interval) $purge_interval = self::_get_purge_interval($feed_id);
@@ -2049,21 +2042,15 @@ class Feeds extends Handler_Protected {
}
private static function _get_purge_interval($feed_id) {
+ $feed = ORM::for_table('ttrss_feeds')->find_one($feed_id);
- $pdo = Db::pdo();
+ if ($feed) {
- $sth = $pdo->prepare("SELECT purge_interval, owner_uid FROM ttrss_feeds
- WHERE id = ?");
- $sth->execute([$feed_id]);
-
- if ($row = $sth->fetch()) {
- $purge_interval = $row["purge_interval"];
- $owner_uid = $row["owner_uid"];
-
- if ($purge_interval == 0)
- $purge_interval = get_pref(Prefs::PURGE_OLD_DAYS, $owner_uid);
+ if ($feed->purge_interval != 0)
+ return $feed->purge_interval;
+ else
+ return get_pref(Prefs::PURGE_OLD_DAYS, $feed->owner_uid);
- return $purge_interval;
} else {
return -1;
}