- $tag = (x($_POST,'tag') ? hex2bin(notags(trim($_POST['tag']))) : '');
- $item_id = (x($_POST,'item') ? intval($_POST['item']) : 0);
+ $tags = [];
+ foreach ($_POST['tag'] ?? [] as $tag) {
+ $tags[] = hex2bin(Strings::escapeTags(trim($tag)));
+ }
+
+ $item_id = $_POST['item'] ?? 0;
+ update_tags($item_id, $tags);
+ info(DI::l10n()->t('Tag(s) removed') . EOL);
+
+ DI::baseUrl()->redirect($_SESSION['photo_return']);
+ // NOTREACHED
+}
+
+/**
+ * Updates tags from an item
+ *
+ * @param $item_id
+ * @param $tags array
+ * @throws Exception
+ */
+function update_tags($item_id, $tags){
+ if (empty($item_id) || empty($tags)){
+ return;
+ }