. */ namespace Fisharebest\Webtrees; use Fisharebest\Webtrees\Controller\SimpleController; use Fisharebest\Webtrees\Module\CkeditorModule; use PDO; /** * Defined in session.php * * @global Tree $WT_TREE */ global $WT_TREE; define('WT_SCRIPT_NAME', 'editnews.php'); require './includes/session.php'; $controller = new SimpleController; $controller ->setPageTitle(I18N::translate('Add/edit a journal/news entry')) ->restrictAccess(Auth::isMember($WT_TREE)) ->pageHeader(); $action = Filter::get('action', 'compose|save', 'compose'); $news_id = Filter::getInteger('news_id'); $user_id = Filter::get('user_id', WT_REGEX_INTEGER, Filter::post('user_id', WT_REGEX_INTEGER)); $gedcom_id = Filter::get('gedcom_id', WT_REGEX_INTEGER, Filter::post('gedcom_id', WT_REGEX_INTEGER)); $date = Filter::postInteger('date', 0, PHP_INT_MAX, WT_TIMESTAMP); $title = Filter::post('title'); $text = Filter::post('text'); switch ($action) { case 'compose': if (Module::getModuleByName('ckeditor')) { CkeditorModule::enableEditor($controller); } echo '

' . I18N::translate('Add/edit a journal/news entry') . '

'; echo '
'; if ($news_id) { $news = Database::prepare("SELECT SQL_CACHE news_id AS id, user_id, gedcom_id, UNIX_TIMESTAMP(updated) AS date, subject, body FROM `##news` WHERE news_id=?")->execute(array($news_id))->fetchOneRow(PDO::FETCH_ASSOC); } else { $news = array(); $news['user_id'] = $user_id; $news['gedcom_id'] = $gedcom_id; $news['date'] = WT_TIMESTAMP; $news['subject'] = ''; $news['body'] = ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
' . I18N::translate('Title') . '
' . I18N::translate('Content') . '
'; echo ''; echo '
'; echo '
'; break; case 'save': if ($news_id) { Database::prepare("UPDATE `##news` SET subject=?, body=?, updated=FROM_UNIXTIME(?) WHERE news_id=?")->execute(array($title, $text, $date, $news_id)); } else { Database::prepare("INSERT INTO `##news` (user_id, gedcom_id, subject, body, updated) VALUES (NULLIF(?, ''), NULLIF(?, '') ,? ,?, CURRENT_TIMESTAMP)")->execute(array($user_id, $gedcom_id, $title, $text)); } $controller->addInlineJavascript('window.opener.location.reload();window.close();'); break; }