$categoryUser->update($categoryId, $userPermission); $categoryGroup->update($categoryId, $groupPermission); printf('<p class="message">%s</p>', $PMF_LANG['ad_categ_updated']); } else { printf('<p class="error">%s</p>', $db->error()); } } } // Deletes an existing category if ($permission['delcateg'] && $action == 'removecategory') { $categoryId = PMF_Filter::filterInput(INPUT_POST, 'cat', FILTER_VALIDATE_INT); $categoryLang = PMF_Filter::filterInput(INPUT_POST, 'lang', FILTER_SANITIZE_STRING); $deleteAll = PMF_Filter::filterInput(INPUT_POST, 'deleteall', FILTER_SANITIZE_STRING); if ('yes' == $deleteAll) { $categoryNode->setLanguage($categoryLang); $categoryRelations->setLanguage($categoryLang); } if ($categoryNode->delete($categoryId) && $categoryRelations->delete($categoryId) && $categoryUser->delete($categoryId) && $categoryGroup->delete($categoryId)) { printf('<p class="message">%s</p>', $PMF_LANG['ad_categ_deleted']); } else { printf('<p class="error">%s</p>', $db->error()); } } // Moves a category if ($action == 'changecategory') { $firstCategoryId = PMF_Filter::filterInput(INPUT_POST, 'cat', FILTER_VALIDATE_INT); $secondCategoryId = PMF_Filter::filterInput(INPUT_POST, 'change', FILTER_VALIDATE_INT); if ($categoryHelper->swapCategories($firstCategoryId, $secondCategoryId)) { printf('<p class="message">%s</p>', $PMF_LANG['ad_categ_updated']); } else { printf('<p class="error">%s<br />%s</p>', $PMF_LANG['ad_categ_paste_error'], $db->error());
$tagging->saveTags($record_id, explode(',', $tags)); } else { $tagging->deleteTagsFromRecordId($record_id); } // Add record permissions $faqUser = new PMF_Faq_User(); $faqUser->update($record_id, array('user_id' => $restricted_users)); if ($groupSupport) { $faqGroup = new PMF_Faq_Group(); $faqGroup->update($recordId, array('group_id' => $restricted_groups)); } // Loop the categories $categoryUser = new PMF_Category_User(); $categoryGroup = new PMF_Category_Group(); $categoryRelations = new PMF_Category_Relations(); $categoryRelations->setLanguage($record_lang); foreach ($categories['rubrik'] as $categoryId) { $categoryData = array('category_id' => $categoryId, 'category_lang' => $categoryRelations->getLanguage(), 'record_id' => $record_id, 'record_lang' => $record_lang); // delete category relations $categoryRelations->delete($categoryId); // save or update the category relations $categoryRelations->create($categoryData); // Add user permissions $userPermission = array('category_id' => $categoryId, 'user_id' => $restricted_users); $categoryUser->update($categoryId, $userPermission); // Add group permission $groupPermission = array('category_id' => $categoryId, 'group_id' => $restricted_groups); $categoryGroup->update($category, $group_permission); } } elseif (isset($submit['submit'][0])) { $faqRecord = new PMF_Faq_Record();
if ($tags != '') { $tagging = new PMF_Tags(); $tagging->saveTags($recordId, explode(',', $tags)); } // Set record permissions $faqUser = new PMF_Faq_User(); $faqUser->create(array('record_id' => $recordId, 'user_id' => $restricted_users)); if ($groupSupport) { $faqGroup = new PMF_Faq_Group(); $faqGroup->create(array('record_id' => $recordId, 'group_id' => $restricted_groups)); } // Loop the categories $categoryUser = new PMF_Category_User(); $categoryGroup = new PMF_Category_Group(); $categoryRelations = new PMF_Category_Relations(); $categoryRelations->setLanguage($recordData['lang']); foreach ($categories['rubrik'] as $categoryId) { // Insert the new category relations $categoryData = array('category_id' => $categoryId, 'category_lang' => $categoryRelations->getLanguage(), 'record_id' => $recordId, 'record_lang' => $recordData['lang']); // save or update the category relations $categoryRelations->create($categoryData); // Add user permissions $userPermission = array('category_id' => $categoryId, 'user_id' => $restricted_users); $categoryUser->delete($categoryId); $categoryUser->create($userPermission); // Add group permission if ($groupSupport) { $groupPermission = array('category_id' => $categoryId, 'group_id' => $restricted_groups); $categoryGroup->delete($categoryId); $categoryGroup->create($groupPermission); }
$question = $faqQuestions->fetch($questionId); $current_category = $question->category_id; $faqData['title'] = $question->question; $categories = array('category_id' => $current_category, 'category_lang' => $faqData['lang']); } if ($action == 'editpreview') { $faqData['id'] = PMF_Filter::filterInput(INPUT_POST, 'id', FILTER_VALIDATE_INT); if (!is_null($faqData['id'])) { $url_variables = 'saveentry&id=' . $faqData['id']; } else { $url_variables = 'insertentry'; } $faqData['lang'] = PMF_Filter::filterInput(INPUT_POST, 'artlang', FILTER_SANITIZE_STRING); $current_category = isset($_POST['rubrik']) ? $_POST['rubrik'] : null; if (is_array($current_category)) { $categoryRelations->setLanguage($faqData['lang']); $categories = $categoryRelations->fetchAll($current_category); } $faqData['active'] = PMF_Filter::filterInput(INPUT_POST, 'active', FILTER_SANITIZE_STRING); $faqData['keywords'] = PMF_Filter::filterInput(INPUT_POST, 'keywords', FILTER_SANITIZE_STRING); $faqData['title'] = PMF_Filter::filterInput(INPUT_POST, 'thema', FILTER_SANITIZE_STRING); $faqData['content'] = PMF_Filter::filterInput(INPUT_POST, 'content', FILTER_SANITIZE_SPECIAL_CHARS); $faqData['author'] = PMF_Filter::filterInput(INPUT_POST, 'author', FILTER_SANITIZE_STRING); $faqData['email'] = PMF_Filter::filterInput(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); $faqData['comment'] = PMF_Filter::filterInput(INPUT_POST, 'comment', FILTER_SANITIZE_STRING); $faqData['solution_id'] = PMF_Filter::filterInput(INPUT_POST, 'solution_id', FILTER_VALIDATE_INT); $faqData['revision_id'] = PMF_Filter::filterInput(INPUT_POST, 'revision_id', FILTER_VALIDATE_INT, 0); $faqData['sticky'] = PMF_Filter::filterInput(INPUT_POST, 'sticky', FILTER_VALIDATE_INT); $tags = PMF_Filter::filterInput(INPUT_POST, 'tags', FILTER_SANITIZE_STRING); $changed = PMF_Filter::filterInput(INPUT_POST, 'changed', FILTER_SANITIZE_STRING); $faqData['dateStart'] = PMF_Filter::filterInput(INPUT_POST, 'dateStart', FILTER_SANITIZE_STRING);