summaryrefslogtreecommitdiff
path: root/editnews.php
blob: 8a0620556d5a82543a0c3756ff5f2d7aa079620a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
// Popup window for Editing news items
//
// webtrees: Web based Family History software
// Copyright (C) 2011 webtrees development team.
//
// Derived from PhpGedView
// Copyright (C) 2002 to 2005  PGV Development Team
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// $Id$

define('WT_SCRIPT_NAME', 'editnews.php');
require './includes/session.php';

$controller=new WT_Controller_Simple();
$controller->setPageTitle(WT_I18N::translate('Add/edit journal/news entry'));
$controller->pageHeader();

if (!WT_USER_ID) {
	echo WT_I18N::translate('<b>Access Denied</b><br />You do not have access to this resource.');
	exit;
}

$action  =safe_GET('action', array('compose', 'save', 'delete'), 'compose');
$news_id =safe_GET('news_id');
$username=safe_REQUEST($_REQUEST, 'username');
$date    =safe_POST('date', WT_REGEX_UNSAFE);
$title   =safe_POST('title', WT_REGEX_UNSAFE);
$text    =safe_POST('text', WT_REGEX_UNSAFE);

if (empty($username)) $username=$GEDCOM;

if ($action=="compose") {
	echo '<span class="subheaders">'.WT_I18N::translate('Add/edit journal/news entry').'</span>';
	?>
	<script type="text/javascript">
		function checkForm(frm) {
			if (frm.title.value=="") {
				alert('<?php echo WT_I18N::translate('Please enter a title.'); ?>');
				document.messageform.title.focus();
				return false;
			}
			<?php if (!array_key_exists('ckeditor', WT_Module::getActiveModules())) { //will be empty for FCK. FIXME, use FCK API to check for content.
			?>
			if (frm.text.value=="") {
				alert('<?php echo WT_I18N::translate('Please enter some text for this News or Journal entry.'); ?>');
				document.messageform.text.focus();
				return false;
			}
			<?php } ?>
			return true;
		}
	</script>
	<?php
	echo "<br><form name=\"messageform\" method=\"post\" action=\"editnews.php?action=save&news_id=".$news_id."\" onsubmit=\"return checkForm(this);";
	echo "\">";
	if ($news_id) {
		$news = getNewsItem($news_id);
	} else {
		$news = array();
		$news["username"] = $username;
		$news["date"] = client_time();
		$news["title"] = "";
		$news["text"] = "";
	}
	echo "<input type=\"hidden\" name=\"username\" value=\"".$news["username"]."\">";
	echo "<input type=\"hidden\" name=\"date\" value=\"".$news["date"]."\">";
	echo "<table>";
	echo "<tr><td align=\"right\">".WT_I18N::translate('Title:')."</td><td><input type=\"text\" name=\"title\" size=\"50\" value=\"".$news["title"]."\"><br></td></tr>";
	echo "<tr><td valign=\"top\" align=\"right\">".WT_I18N::translate('Entry Text:')."<br></td>";
	echo "<td>";
	if (array_key_exists('ckeditor', WT_Module::getActiveModules())) {
		require_once WT_ROOT.WT_MODULES_DIR.'ckeditor/ckeditor.php';
		$oCKeditor = new CKEditor();
		$oCKeditor->basePath =  WT_MODULES_DIR.'ckeditor/';
		$oCKeditor->config['width'] = 700;
		$oCKeditor->config['height'] = 250;
		$oCKeditor->config['AutoDetectLanguage'] = false ;
		$oCKeditor->config['DefaultLanguage'] = 'en';
		$oCKeditor->editor('text', $news["text"]);
	} else { //use standard textarea
		echo "<textarea name=\"text\" cols=\"80\" rows=\"10\">".$news["text"]."</textarea>";
	}
	echo "<br></td></tr>";
	echo "<tr><td></td><td><input type=\"submit\" value=\"".WT_I18N::translate('Save')."\"></td></tr>";
	echo "</table>";
	echo "</form>";
} else if ($action=="save") {
	$date=time()-$_SESSION["timediff"];
	if (empty($title)) $title="No Title";
	if (empty($text)) $text="No Text";
	$message = array();
	if ($news_id) {
		$message["id"]=$news_id;
	}
	$message["username"] = $username;
	$message["date"]=$date;
	$message["title"] = $title;
	$message["text"] = $text;
	if (addNews($message)) {
		echo WT_I18N::translate('News/Journal entry successfully saved.');
	}
} else if ($action=="delete") {
	if (deleteNews($news_id)) echo WT_I18N::translate('The news/journal entry has been deleted.');
}
echo "<center><br><br><a href=\"#\" onclick=\"window.opener.location.reload(); window.close();\">".WT_I18N::translate('Close Window')."</a><br></center>";