$title = ' - powered by phpMyFAQ ' . $faqconfig->get('main.currentVersion'); $keywords = ''; $a = $faq->getIdFromSolutionId($solution_id); if (is_array($a)) { $id = $a['id']; $lang = $a['lang']; $title = ' - ' . $faq->getRecordTitle($id); $keywords = ' ' . $faq->getRecordKeywords($id); } } // // Handle the Tagging ID // $tag_id = PMF_Filter::filterInput(INPUT_GET, 'tagging_id', FILTER_VALIDATE_INT); if (!is_null($tag_id)) { $title = ' - ' . $oTag->getTagNameById($tag_id); $keywords = ''; } // // Found a category ID? // $cat = PMF_Filter::filterInput(INPUT_GET, 'cat', FILTER_VALIDATE_INT, 0); $cat_from_id = -1; if (is_numeric($id) && $id > 0) { $cat_from_id = $category->getCategoryIdFromArticle($id); } if ($cat_from_id != -1 && $cat == 0) { $cat = $cat_from_id; } $category->transform(0); $category->collapseAll();
$faqSearch = new PMF_Search($faqConfig); $faqSearchResult = new PMF_Search_Resultset($user, $faq, $faqConfig); $tagging = new PMF_Tags($faqConfig); $tagHelper = new PMF_Helper_Tags(); $tagSearch = false; // // Handle the Tagging ID // if (!is_null($inputTag) && '' !== $inputTag) { $tagSearch = true; $tags = []; $tagIds = explode(',', $inputTag); $tagHelper->setTaggingIds($tagIds); foreach ($tagIds as $tagId) { if (!isset($tags[$tagId])) { $tags[$tagId] = $tagging->getTagNameById($tagId); } } $recordIds = $tagging->getRecordsByIntersectionTags($tags); if (0 === count($recordIds)) { $searchResult = ''; } else { $relatedTags = []; foreach ($recordIds as $recordId) { $resultTags = $tagging->getAllTagsById($recordId); foreach ($resultTags as $resultTagId => $resultTagName) { if (isset($tags[$resultTagId])) { // if the given tag is in the search term we don't want to list it continue; } if (isset($relatedTags[$resultTagId])) {