summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-03-02 08:26:37 +0300
committerAndrew Dolgov <[email protected]>2021-03-02 08:26:37 +0300
commit84d8b08d1fe1a85f1dee823bdb180921959fb0c6 (patch)
treeffbe55d244095afbe314afef440cf343398f6f13 /classes
parent70adfd4a742775f492bbf09afad2eebb67d4a150 (diff)
use orm for feed access keys
Diffstat (limited to 'classes')
-rwxr-xr-xclasses/feeds.php18
-rwxr-xr-xclasses/pref/feeds.php27
2 files changed, 23 insertions, 22 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 1e648a958..493fe8a97 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -1946,9 +1946,23 @@ class Feeds extends Handler_Protected {
return false;
}
- static function _get_access_key($feed_id, bool $is_cat, int $owner_uid = 0) {
- if (!$owner_uid) $owner_uid = $_SESSION["uid"];
+ static function _clear_access_keys(int $owner_uid) {
+ $key = ORM::for_table('ttrss_access_keys')
+ ->where('owner_uid', $owner_uid)
+ ->delete_many();
+ }
+
+ static function _update_access_key(string $feed_id, bool $is_cat, int $owner_uid) {
+ $key = ORM::for_table('ttrss_access_keys')
+ ->where('owner_uid', $owner_uid)
+ ->where('feed_id', $feed_id)
+ ->where('is_cat', $is_cat)
+ ->delete_many();
+
+ return self::_get_access_key($feed_id, $is_cat, $owner_uid);
+ }
+ static function _get_access_key(string $feed_id, bool $is_cat, int $owner_uid) {
$key = ORM::for_table('ttrss_access_keys')
->where('owner_uid', $owner_uid)
->where('feed_id', $feed_id)
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index d6bdeab5c..2afa9013c 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -1253,12 +1253,16 @@ class Pref_Feeds extends Handler_Protected {
}
}
+ function clearKeys() {
+ return Feeds::_clear_access_keys($_SESSION['uid']);
+ }
+
function getOPMLKey() {
print json_encode(["link" => OPML::get_publish_url()]);
}
function regenOPMLKey() {
- $this->update_feed_access_key('OPML:Publish',
+ Feeds::_update_access_key('OPML:Publish',
false, $_SESSION["uid"]);
print json_encode(["link" => OPML::get_publish_url()]);
@@ -1268,12 +1272,12 @@ class Pref_Feeds extends Handler_Protected {
$feed_id = clean($_REQUEST['id']);
$is_cat = clean($_REQUEST['is_cat']);
- $new_key = $this->update_feed_access_key($feed_id, $is_cat, $_SESSION["uid"]);
+ $new_key = Feeds::_update_access_key($feed_id, $is_cat, $_SESSION["uid"]);
print json_encode(["link" => $new_key]);
}
- function getsharedurl() {
+ function getSharedURL() {
$feed_id = clean($_REQUEST['id']);
$is_cat = clean($_REQUEST['is_cat']) == "true";
$search = clean($_REQUEST['search']);
@@ -1292,23 +1296,6 @@ class Pref_Feeds extends Handler_Protected {
]);
}
- private function update_feed_access_key($feed_id, $is_cat, $owner_uid) {
-
- // clear old value and generate new one
- $sth = $this->pdo->prepare("DELETE FROM ttrss_access_keys
- WHERE feed_id = ? AND is_cat = ? AND owner_uid = ?");
- $sth->execute([$feed_id, bool_to_sql_bool($is_cat), $owner_uid]);
-
- return Feeds::_get_access_key($feed_id, $is_cat, $owner_uid);
- }
-
- // Silent
- function clearKeys() {
- $sth = $this->pdo->prepare("DELETE FROM ttrss_access_keys WHERE
- owner_uid = ?");
- $sth->execute([$_SESSION['uid']]);
- }
-
private function calculate_children_count($cat) {
$c = 0;