feeds/_add_cat: use ORM
This commit is contained in:
parent
7cf12233d7
commit
c4eaab8a31
|
@ -1909,40 +1909,27 @@ class Feeds extends Handler_Protected {
|
||||||
$cat->delete();
|
$cat->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
static function _add_cat($feed_cat, $parent_cat_id = false, $order_id = 0) {
|
static function _add_cat(string $title, int $owner_uid, int $parent_cat = null, int $order_id = 0) {
|
||||||
|
|
||||||
if (!$feed_cat) return false;
|
$cat = ORM::for_table('ttrss_feed_categories')
|
||||||
|
->where('owner_uid', $owner_uid)
|
||||||
|
->where('parent_cat', $parent_cat)
|
||||||
|
->where('title', $title)
|
||||||
|
->find_one();
|
||||||
|
|
||||||
$feed_cat = mb_substr($feed_cat, 0, 250);
|
if (!$cat) {
|
||||||
if (!$parent_cat_id) $parent_cat_id = null;
|
$cat = ORM::for_table('ttrss_feed_categories')->create();
|
||||||
|
|
||||||
$pdo = Db::pdo();
|
$cat->set([
|
||||||
$tr_in_progress = false;
|
'owner_uid' => $owner_uid,
|
||||||
|
'parent_cat' => $parent_cat,
|
||||||
|
'order_id' => $order_id,
|
||||||
|
'title' => $title,
|
||||||
|
]);
|
||||||
|
|
||||||
try {
|
return $cat->save();
|
||||||
$pdo->beginTransaction();
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$tr_in_progress = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$sth = $pdo->prepare("SELECT id FROM ttrss_feed_categories
|
|
||||||
WHERE (parent_cat = :parent OR (:parent IS NULL AND parent_cat IS NULL))
|
|
||||||
AND title = :title AND owner_uid = :uid");
|
|
||||||
$sth->execute([':parent' => $parent_cat_id, ':title' => $feed_cat, ':uid' => $_SESSION['uid']]);
|
|
||||||
|
|
||||||
if (!$sth->fetch()) {
|
|
||||||
|
|
||||||
$sth = $pdo->prepare("INSERT INTO ttrss_feed_categories (owner_uid,title,parent_cat,order_id)
|
|
||||||
VALUES (?, ?, ?, ?)");
|
|
||||||
$sth->execute([$_SESSION['uid'], $feed_cat, $parent_cat_id, (int)$order_id]);
|
|
||||||
|
|
||||||
if (!$tr_in_progress) $pdo->commit();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$pdo->commit();
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ class OPML extends Handler_Protected {
|
||||||
<body class='claro ttrss_utility'>
|
<body class='claro ttrss_utility'>
|
||||||
<h1>".__('OPML Utility')."</h1><div class='content'>";
|
<h1>".__('OPML Utility')."</h1><div class='content'>";
|
||||||
|
|
||||||
Feeds::_add_cat("Imported feeds");
|
Feeds::_add_cat("Imported feeds", $owner_uid);
|
||||||
|
|
||||||
$this->opml_notice(__("Importing OPML..."));
|
$this->opml_notice(__("Importing OPML..."));
|
||||||
|
|
||||||
|
@ -521,9 +521,8 @@ class OPML extends Handler_Protected {
|
||||||
|
|
||||||
if ($cat_id === false) {
|
if ($cat_id === false) {
|
||||||
$order_id = (int) $root_node->attributes->getNamedItem('ttrssSortOrder')->nodeValue;
|
$order_id = (int) $root_node->attributes->getNamedItem('ttrssSortOrder')->nodeValue;
|
||||||
if (!$order_id) $order_id = 0;
|
|
||||||
|
|
||||||
Feeds::_add_cat($cat_title, $parent_id, $order_id);
|
Feeds::_add_cat($cat_title, $_SESSION['uid'], $parent_id ? $parent_id : null, (int)$order_id);
|
||||||
$cat_id = $this->get_feed_category($cat_title, $parent_id);
|
$cat_id = $this->get_feed_category($cat_title, $parent_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -867,7 +867,7 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
function addCat() {
|
function addCat() {
|
||||||
$feed_cat = clean($_REQUEST["cat"]);
|
$feed_cat = clean($_REQUEST["cat"]);
|
||||||
|
|
||||||
Feeds::_add_cat($feed_cat);
|
Feeds::_add_cat($feed_cat, $_SESSION['uid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function importOpml() {
|
function importOpml() {
|
||||||
|
|
Loading…
Reference in New Issue