public function toggleStatusRelation($tagId, $typeId, $parentId) { $tagModel = new tagModel(); $tagRelation = $tagModel->getTagRelation($tagId, $typeId); if ($tagRelation->status == TAG_RELATION_STATUS_INACTIVE) { if ($parentId) { $parentTagRelation = $tagModel->getTagRelation($parentId, $typeId); if ($parentTagRelation->status == TAG_RELATION_STATUS_INACTIVE) { return false; } } $tagModel->updateTagRelationOrder($tagId, $typeId, ['status' => TAG_RELATION_STATUS_ACTIVE]); } if ($tagRelation->status == TAG_RELATION_STATUS_ACTIVE) { $tagModel->updateTagRelationOrder($tagId, $typeId, ['status' => TAG_RELATION_STATUS_INACTIVE]); $tagArr = []; $subTags = $this->getAllChildTag($tagId, $tagArr, $typeId, TAG_RELATION_STATUS_ACTIVE); foreach ($subTags as $subTag) { $tagModel->updateTagRelationOrder($subTag, $typeId, ['status' => TAG_RELATION_STATUS_INACTIVE]); } } return true; }