aboutsummaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <aledeg@users.noreply.github.com> 2020-07-23 11:31:38 +0200
committerGravatar GitHub <noreply@github.com> 2020-07-23 11:31:38 +0200
commit909fdaca3172c0e825c7e6268950e16bc5d3e4f3 (patch)
tree1d71aaf56ec7d4e39b46ed669d0fb57df60eecd3 /app/Models
parent12d2baf64d3d6a1b95376460c7128a079dd1bac6 (diff)
Add tag management page (#3121)
The new page allows to create, delete and rename tags. See #3058
Diffstat (limited to 'app/Models')
-rw-r--r--app/Models/TagDAO.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/Models/TagDAO.php b/app/Models/TagDAO.php
index 05a88b182..854dc07f2 100644
--- a/app/Models/TagDAO.php
+++ b/app/Models/TagDAO.php
@@ -148,6 +148,28 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
}
}
+ public function updateEntryTag($oldTagId, $newTagId) {
+ $sql = 'DELETE FROM `_entrytag` WHERE EXISTS (SELECT 1 FROM `_entrytag` AS e WHERE e.id_entry = `_entrytag`.id_entry AND e.id_tag = ? AND `_entrytag`.id_tag = ?)';
+ $stm = $this->pdo->prepare($sql);
+
+ if (!($stm && $stm->execute([$newTagId, $oldTagId]))) {
+ $info = $stm == null ? $this->pdo->errorInfo() : $stm->errorInfo();
+ Minz_Log::error('SQL error moveTag: ' . $info[2]);
+ return false;
+ }
+
+ $sql = 'UPDATE `_entrytag` SET id_tag = ? WHERE id_tag = ?';
+ $stm = $this->pdo->prepare($sql);
+
+ if ($stm && $stm->execute([$newTagId, $oldTagId])) {
+ return $stm->rowCount();
+ } else {
+ $info = $stm == null ? $this->pdo->errorInfo() : $stm->errorInfo();
+ Minz_Log::error('SQL error moveTag: ' . $info[2]);
+ return false;
+ }
+ }
+
public function searchById($id) {
$sql = 'SELECT * FROM `_tag` WHERE id=?';
$stm = $this->pdo->prepare($sql);