if (array_search($tagOp, $validOps) === FALSE) { $result = array('result' => 'KO', 'title' => '', 'key' => ''); die(json_encode($result)); } // Check for valid input parameters $parentID = intval(filter_input(INPUT_POST, 'parentID', FILTER_SANITIZE_NUMBER_INT)); $tagID = filter_input(INPUT_POST, 'tagID', FILTER_SANITIZE_NUMBER_INT); $tagName = filter_input(INPUT_POST, 'tagName', FILTER_SANITIZE_STRING); $tagLang = filter_input(INPUT_POST, 'tagLang', FILTER_SANITIZE_STRING); if ($parentID === FALSE || $tagName === FALSE || strlen($tagLang) === 0 || strlen($tagLang) > 2) { $result = array('result' => 'KO', 'title' => '', 'key' => ''); die(json_encode($result)); } // For write operations check if tag can be written if ($tagOp == 'rename' || $tagOp == 'delete') { if (!\OCA\OCLife\hTags::writeAllowed($tagID)) { $result = array('result' => 'NOTALLOWED', 'title' => '', 'key' => $tagID); die(json_encode($result)); } } // Tag handler instance $ctags = new \OCA\OCLife\hTags(); // Switch between possible operations switch ($tagOp) { case 'new': $tagID = $ctags->newTag($tagLang, $tagName, $parentID); $permission = $ctags->getTagPermission($tagID); $result = TRUE; break; case 'rename': $tagData = array($tagLang => $tagName);
/** * Set a new tag owner * @param type $tagID Tag ID to set * @param type $tagOwner Owner to set */ public function setTagOwner($tagID, $tagOwner) { if (trim($tagOwner) === '' || !\OCA\OCLife\hTags::writeAllowed($tagID)) { return FALSE; } $sql = 'UPDATE `*PREFIX*oclife_tags` SET `owner`=? WHERE `id`=?'; $args = array($tagOwner, $tagID); $query = \OCP\DB::prepare($sql); $query->execute($args); return $tagOwner; }