$logging = new PMF_Logging($faqConfig); $logging->logAdmin($user, 'Beitragcreatesave'); printf("<h2>%s</h2>\n", $PMF_LANG['ad_entry_aor']); $category = new PMF_Category($faqConfig, array(), false); $category->setUser($currentAdminUser); $category->setGroups($currentAdminGroups); $tagging = new PMF_Tags($faqConfig); $recordData = array('lang' => $recordLang, 'active' => $active, 'sticky' => !is_null($sticky) ? 1 : 0, 'thema' => html_entity_decode($question), 'content' => html_entity_decode($content), 'keywords' => $keywords, 'author' => $author, 'email' => $email, 'comment' => !is_null($comment) ? 'y' : 'n', 'date' => date('YmdHis'), 'dateStart' => empty($dateStart) ? '00000000000000' : str_replace('-', '', $dateStart) . '000000', 'dateEnd' => empty($dateEnd) ? '99991231235959' : str_replace('-', '', $dateEnd) . '235959', 'linkState' => '', 'linkDateCheck' => 0); // Add new record and get that ID $recordId = $faq->addRecord($recordData); if ($recordId) { // Create ChangeLog entry $faq->createChangeEntry($recordId, $user->getUserId(), nl2br($changed), $recordData['lang']); // Create the visit entry $visits = new PMF_Visits($faqConfig); $visits->add($recordId); // Insert the new category relations $faq->addCategoryRelations($categories['rubrik'], $recordId, $recordData['lang']); // Insert the tags if ($tags != '') { $tagging->saveTags($recordId, explode(',', trim($tags))); } // Add user permissions $faq->addPermission('user', $recordId, $permissions['restricted_user']); $category->addPermission('user', $categories['rubrik'], $permissions['restricted_user']); // Add group permission if ($faqConfig->get('security.permLevel') != 'basic') { $faq->addPermission('group', $recordId, $permissions['restricted_groups']); $category->addPermission('group', $categories['rubrik'], $permissions['restricted_groups']); } printf('<p class="alert alert-success">%s</p>', $PMF_LANG['ad_entry_savedsuc']);
if ($faqConfig->get('security.permLevel') != 'basic') { $faq->deletePermission('group', $record_id); $faq->addPermission('group', $record_id, $restricted_groups); $category->deletePermission('group', $categories['rubrik']); $category->addPermission('group', $categories['rubrik'], $restricted_groups); } } else { if ('insertentry' == $do) { unset($recordData['id']); unset($recordData['revision_id']); $revision_id = 1; $record_id = $faq->addRecord($recordData); if ($record_id) { $faq->createChangeEntry($record_id, $user->getUserId(), nl2br($changed), $recordData['lang']); $visits = new PMF_Visits($faqConfig); $visits->add($record_id); $faq->addCategoryRelations($categories['rubrik'], $record_id, $recordData['lang']); if ($tags != '') { $tagging->saveTags($record_id, explode(',', $tags)); } $faq->addPermission('user', $record_id, $restricted_users); $category->addPermission('user', $categories['rubrik'], $restricted_users); if ($faqConfig->get('security.permLevel') != 'basic') { $faq->addPermission('group', $record_id, $restricted_groups); $category->addPermission('group', $categories['rubrik'], $restricted_groups); } } } } $response->setData(array('msg' => sprintf("Item autosaved at revision %d", $revision_id), 'revision_id' => $revision_id, 'record_id' => $record_id)); }
$categories = $category->getCategoryIdsFromArticle($newData['id']); } $recordId = $faq->addRecord($newData, $isNew); $faq->addCategoryRelations($categories, $recordId, $newData['lang']); $openQuestionId = PMF_Filter::filterInput(INPUT_POST, 'openQuestionID', FILTER_VALIDATE_INT); if ($openQuestionId) { if ($faqConfig->get('records.enableDeleteQuestion')) { $faq->deleteQuestion($openQuestionId); } else { // adds this faq record id to the related open question $faq->updateQuestionAnswer($openQuestionId, $recordId, $categories[0]); } } // Activate visits $visits = new PMF_Visits($faqConfig); $visits->add($recordId, $newData['lang']); if ($autoActivate) { // Add user permissions $faq->addPermission('user', $recordId, array(-1)); $category->addPermission('user', $categories['rubrik'], array(-1)); // Add group permission if ($faqConfig->get('security.permLevel') != 'basic') { $faq->addPermission('group', $recordId, array(-1)); $category->addPermission('group', $categories['rubrik'], array(-1)); } } // Let the PMF Administrator and the Category Owner to be informed by email of this new entry $send = []; $mail = new PMF_Mail($faqConfig); $mail->setReplyTo($email, $name); $mail->addTo($faqConfig->get('main.administrationMail'));