From 26afec23794c251ff86b3ff51140c4bc992e1d89 Mon Sep 17 00:00:00 2001 From: maTh Date: Thu, 11 Nov 2021 19:57:05 +0100 Subject: Fix label management (#3959) * disable inputs * fix create empty tags * Update app/Controllers/tagController.php Co-authored-by: Alexandre Alapetite * Update app/views/tag/index.phtml Co-authored-by: Alexandre Alapetite * Small additional checks Co-authored-by: Alexandre Alapetite --- app/Controllers/tagController.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'app/Controllers') diff --git a/app/Controllers/tagController.php b/app/Controllers/tagController.php index 4f3fe9bf9..0a57c0df2 100644 --- a/app/Controllers/tagController.php +++ b/app/Controllers/tagController.php @@ -90,7 +90,7 @@ class FreshRSS_tag_Controller extends Minz_ActionController { $name = Minz_Request::param('name'); $tagDAO = FreshRSS_Factory::createTagDao(); - if (null === $tagDAO->searchByName($name)) { + if (strlen($name) > 0 && null === $tagDAO->searchByName($name)) { $tagDAO->addTag(['name' => $name]); Minz_Request::good(_t('feedback.tag.created', $name), ['c' => 'tag', 'a' => 'index'], true); } @@ -106,13 +106,19 @@ class FreshRSS_tag_Controller extends Minz_ActionController { $targetName = Minz_Request::param('name'); $sourceId = Minz_Request::param('id_tag'); - $tagDAO = FreshRSS_Factory::createTagDao(); + if ($targetName == '' || $sourceId == '') { + return Minz_Error::error(400); + } - $sourceName = $tagDAO->searchById($sourceId)->name(); + $tagDAO = FreshRSS_Factory::createTagDao(); + $sourceTag = $tagDAO->searchById($sourceId); + $sourceName = $sourceTag == null ? null : $sourceTag->name(); $targetTag = $tagDAO->searchByName($targetName); - if (null === $targetTag) { + if ($targetTag == null) { + // There is no existing tag with the same target name $tagDAO->updateTag($sourceId, ['name' => $targetName]); } else { + // There is an existing tag with the same target name $tagDAO->updateEntryTag($sourceId, $targetTag->id()); $tagDAO->deleteTag($sourceId); } -- cgit v1.2.3