exit; } $news = new PMF_News($faqConfig); if ('addnews' == $action && $user->perm->checkRight($user->getUserId(), "addnews")) { $twig->loadTemplate('news/add.twig')->display(array('PMF_LANG' => $PMF_LANG, 'languageSelector' => PMF_Language::selectLanguages($LANGCODE, false, array(), 'langTo'), 'userDisplayName' => $user->getUserData('display_name'), 'userEmail' => $user->getUserData('email'))); } elseif ('news' == $action && $user->perm->checkRight($user->getUserId(), "editnews")) { $date = new PMF_Date($faqConfig); $newsHeader = $news->getNewsHeader(); foreach ($newsHeader as $key => $newsItem) { $newsHeader[$key]['date'] = $date->format($newsItem['date']); } $twig->loadTemplate('news/list.twig')->display(array('PMF_LANG' => $PMF_LANG, 'newsHeader' => $newsHeader)); unset($date, $newsHeader, $key, $newsItem); } elseif ('editnews' == $action && $user->perm->checkRight($user->getUserId(), 'editnews')) { $id = PMF_Filter::filterInput(INPUT_GET, 'id', FILTER_VALIDATE_INT); $newsData = $news->getNewsEntry($id, true); $dateStart = $newsData['dateStart'] != '00000000000000' ? PMF_Date::createIsoDate($newsData['dateStart'], 'Y-m-d') : ''; $dateEnd = $newsData['dateEnd'] != '99991231235959' ? PMF_Date::createIsoDate($newsData['dateEnd'], 'Y-m-d') : ''; $newsId = PMF_Filter::filterInput(INPUT_GET, 'id', FILTER_VALIDATE_INT); $oComment = new PMF_Comment($faqConfig); $comments = $oComment->getCommentsData($newsId, PMF_Comment::COMMENT_TYPE_NEWS); foreach ($comments as $item) { $item['date'] = PMF_Date::createIsoDate($item['date'], 'Y-m-d H:i', false); } $twig->loadTemplate('news/edit.twig')->display(array('PMF_LANG' => $PMF_LANG, 'comments' => $comments, 'commentType' => PMF_Comment::COMMENT_TYPE_NEWS, 'dateEnd' => $dateEnd, 'dateStart' => $dateStart, 'languageSelector' => PMF_Language::selectLanguages($newsData['lang'], false, array(), 'langTo'), 'newsData' => $newsData)); } elseif ('savenews' == $action && $user->perm->checkRight($user->getUserId(), "addnews")) { $dateStart = PMF_Filter::filterInput(INPUT_POST, 'dateStart', FILTER_SANITIZE_STRING); $dateEnd = PMF_Filter::filterInput(INPUT_POST, 'dateEnd', FILTER_SANITIZE_STRING); $header = PMF_Filter::filterInput(INPUT_POST, 'newsheader', FILTER_SANITIZE_STRIPPED); $content = PMF_Filter::filterInput(INPUT_POST, 'news', FILTER_SANITIZE_SPECIAL_CHARS); $author = PMF_Filter::filterInput(INPUT_POST, 'authorName', FILTER_SANITIZE_STRIPPED);
$commentData = array('record_id' => $id, 'type' => $type, 'username' => $user, 'usermail' => $mail, 'comment' => nl2br($comment), 'date' => $_SERVER['REQUEST_TIME'], 'helped' => ''); if ($faq->addComment($commentData)) { $emailTo = $faqconfig->get('main.administrationMail'); $urlToContent = ''; if ('faq' == $type) { $faq->getRecord($id); if ($faq->faqRecord['email'] != '') { $emailTo = $faq->faqRecord['email']; } $_faqUrl = sprintf('%saction=artikel&cat=%d&id=%d&artlang=%s', $sids, 0, $faq->faqRecord['id'], $faq->faqRecord['lang']); $oLink = new PMF_Link(PMF_Link::getSystemUri() . '?' . $_faqUrl); $oLink->itemTitle = $faq->faqRecord['title']; $urlToContent = $oLink->toString(); } else { $oNews = new PMF_News(); $news = $oNews->getNewsEntry($id); if ($news['authorEmail'] != '') { $emailTo = $news['authorEmail']; } $oLink = new PMF_Link(PMF_Link::getSystemUri() . '?action=news&newsid=' . $news['id'] . '&newslang=' . $news['lang']); $oLink->itemTitle = $news['header']; $urlToContent = $oLink->toString(); } $commentMail = 'User: '******'username'] . ', mailto:' . $commentData['usermail'] . "\n" . 'New comment posted on: ' . $urlToContent . "\n\n" . wordwrap($comment, 72); $mail = new PMF_Mail(); $mail->unsetFrom(); $mail->setFrom($commentData['usermail']); $mail->addTo($emailTo); // Let the category owner get a copy of the message if ($emailTo != $faqconfig->get('main.administrationMail')) { $mail->addCc($faqconfig->get('main.administrationMail'));
if (!is_null($showCaptcha)) { $captcha->showCaptchaImg(); exit; } $oNews = new PMF_News($db, $Language); $newsId = PMF_Filter::filterInput(INPUT_GET, 'newsid', FILTER_VALIDATE_INT); if (is_null($newsId)) { header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME'])); exit; } $faqsession->userTracking('news_view', $id); // Define the header of the page $newsMainHeader = $faqconfig->get('main.titleFAQ') . $PMF_LANG['msgNews']; $newsFeed = ' <a href="feed/news/rss.php" target="_blank"><img id="newsRSS" src="images/feed.png" width="16" height="16" alt="RSS" /></a>'; // Get all data from the news record $news = $oNews->getNewsEntry($newsId); $newsContent = $news['content']; $newsHeader = $news['header']; // Add Glossary entries $oGlossary = new PMF_Glossary(); $newsContent = $oGlossary->insertItemsIntoContent($newsContent); $newsHeader = $oGlossary->insertItemsIntoContent($newsHeader); // Add information link if existing if (strlen($news['link']) > 0) { $newsContent .= sprintf('</p><p>%s<a href="%s" target="%s">%s</a>', $PMF_LANG['msgInfo'], $news['link'], $news['target'], $news['linkTitle']); } // Show link to edit the news? $editThisEntry = ''; if (isset($permission['editnews'])) { $editThisEntry = sprintf('<a href="%sadmin/index.php?action=news&do=edit&id=%d">%s</a>', PMF_Link::getSystemRelativeUri('index.php'), $newsId, $PMF_LANG['ad_menu_news_edit']); }