diff options
| author | 2020-07-23 11:31:38 +0200 | |
|---|---|---|
| committer | 2020-07-23 11:31:38 +0200 | |
| commit | 909fdaca3172c0e825c7e6268950e16bc5d3e4f3 (patch) | |
| tree | 1d71aaf56ec7d4e39b46ed669d0fb57df60eecd3 /app/Models | |
| parent | 12d2baf64d3d6a1b95376460c7128a079dd1bac6 (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.php | 22 |
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); |
