6 * Copyright (c) 2002-2005 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
9 * Originally contrubuted by Michal Szczotka <michal@tuxy.org>
11 * Functions to edit an event.
15 * @subpackage calendar
19 define('SM_PATH','../../');
21 /* Calender plugin required files. */
22 require_once(SM_PATH
. 'plugins/calendar/calendar_data.php');
23 require_once(SM_PATH
. 'plugins/calendar/functions.php');
25 /* SquirrelMail required files. */
26 require_once(SM_PATH
. 'include/validate.php');
27 require_once(SM_PATH
. 'functions/strings.php');
28 require_once(SM_PATH
. 'functions/date.php');
29 require_once(SM_PATH
. 'config/config.php');
30 require_once(SM_PATH
. 'functions/page_header.php');
31 require_once(SM_PATH
. 'include/load_prefs.php');
32 require_once(SM_PATH
. 'functions/html.php');
37 // undo rg = on effects
38 if (isset($month)) unset($month);
39 if (isset($year)) unset($year);
40 if (isset($day)) unset($day);
41 if (isset($hour)) unset($hour);
42 if (isset($minute)) unset($minute);
43 if (isset($event_year)) unset($event_year);
44 if (isset($event_month)) unset($event_month);
45 if (isset($event_day)) unset($event_day);
46 if (isset($event_hour)) unset($event_hour);
47 if (isset($event_minute)) unset($event_minute);
48 if (isset($event_length)) unset($event_length);
49 if (isset($event_priority)) unset($event_priority);
51 if (isset($_POST['updated'])) {
52 $updated = $_POST['updated'];
55 if (isset($_POST['event_year']) && is_numeric($_POST['event_year'])) {
56 $event_year = $_POST['event_year'];
58 if (isset($_POST['event_month']) && is_numeric($_POST['event_month'])) {
59 $event_month = $_POST['event_month'];
61 if (isset($_POST['event_day']) && is_numeric($_POST['event_day'])) {
62 $event_day = $_POST['event_day'];
64 if (isset($_POST['event_hour']) && is_numeric($_POST['event_hour'])) {
65 $event_hour = $_POST['event_hour'];
67 if (isset($_POST['event_minute']) && is_numeric($_POST['event_minute'])) {
68 $event_minute = $_POST['event_minute'];
70 if (isset($_POST['event_length']) && is_numeric($_POST['event_length'])) {
71 $event_length = $_POST['event_length'];
73 if (isset($_POST['event_title'])) {
74 $event_title = $_POST['event_title'];
76 if (isset($_POST['event_text'])) {
77 $event_text = $_POST['event_text'];
79 if (isset($_POST['send'])) {
80 $send = $_POST['send'];
82 if (isset($_POST['event_priority']) && is_numeric($_POST['event_priority'])) {
83 $event_priority = $_POST['event_priority'];
85 if (isset($_POST['confirmed'])) {
86 $confirmed = $_POST['confirmed'];
89 if (isset($_POST['year']) && is_numeric($_POST['year'])) {
90 $year = $_POST['year'];
91 } elseif (isset($_GET['year']) && is_numeric($_GET['year'])) {
92 $year = $_GET['year'];
94 if (isset($_POST['month']) && is_numeric($_POST['month'])) {
95 $month = $_POST['month'];
96 } elseif (isset($_GET['month']) && is_numeric($_GET['month'])) {
97 $month = $_GET['month'];
99 if (isset($_POST['day']) && is_numeric($_POST['day'])) {
100 $day = $_POST['day'];
101 } elseif (isset($_GET['day']) && is_numeric($_GET['day'])) {
104 if (isset($_POST['hour']) && is_numeric($_POST['hour'])) {
105 $hour = $_POST['hour'];
106 } elseif (isset($_GET['hour']) && is_numeric($_GET['hour'])) {
107 $hour = $_GET['hour'];
109 if (isset($_POST['minute']) && is_numeric($_POST['minute'])) {
110 $minute = $_POST['minute'];
112 elseif (isset($_GET['minute']) && is_numeric($_GET['minute'])) {
113 $minute = $_GET['minute'];
118 function update_event_form() {
119 global $color, $editor_size, $year, $day, $month, $hour, $minute, $calendardata;
121 $tmparray = $calendardata["$month$day$year"]["$hour$minute"];
122 echo "\n<form name=\"eventupdate\" action=\"event_edit.php\" method=\"post\">\n".
123 " <input type=\"hidden\" name=\"year\" value=\"$year\" />\n".
124 " <input type=\"hidden\" name=\"month\" value=\"$month\" />\n".
125 " <input type=\"hidden\" name=\"day\" value=\"$day\" />\n".
126 " <input type=\"hidden\" name=\"hour\" value=\"$hour\" />\n".
127 " <input type=\"hidden\" name=\"minute\" value=\"$minute\" />\n".
128 " <input type=\"hidden\" name=\"updated\" value=\"yes\" />\n".
130 html_tag( 'td', _("Date:"), 'right', $color[4] ) . "\n" .
131 html_tag( 'td', '', 'left', $color[4] ) .
132 " <select name=\"event_year\">\n";
133 select_option_year($year);
134 echo " </select>\n" .
136 " <select name=\"event_month\">\n";
137 select_option_month($month);
140 " <select name=\"event_day\">\n";
141 select_option_day($day);
145 html_tag( 'td', _("Time:"), 'right', $color[4] ) . "\n" .
146 html_tag( 'td', '', 'left', $color[4] ) .
147 " <select name=\"event_hour\">\n";
148 select_option_hour($hour);
151 " <select name=\"event_minute\">\n";
152 select_option_minute($minute);
156 html_tag( 'td', _("Length:"), 'right', $color[4] ) . "\n" .
157 html_tag( 'td', '', 'left', $color[4] ) .
158 " <select name=\"event_length\">\n";
159 select_option_length($tmparray['length']);
163 html_tag( 'td', _("Priority:"), 'right', $color[4] ) . "\n" .
164 html_tag( 'td', '', 'left', $color[4] ) .
165 " <select name=\"event_priority\">\n";
166 select_option_priority($tmparray['priority']);
170 html_tag( 'td', _("Title:"), 'right', $color[4] ) . "\n" .
171 html_tag( 'td', '', 'left', $color[4] ) .
172 " <input type=\"text\" name=\"event_title\" value=\"$tmparray[title]\" size=\"30\" maxlenght=\"50\" /><br />\n".
175 " <textarea name=\"event_text\" rows=\"5\" cols=\"$editor_size\" wrap=\"hard\">$tmparray[message]</textarea>\n" ,
176 'left', $color[4], 'colspan="2"' ) .
177 '</tr>' . html_tag( 'tr' ) .
179 '<input type="submit" name="send" value="' .
180 _("Update Event") . "\" />\n" ,
181 'left', $color[4], 'colspan="2"' ) .
186 function confirm_update() {
187 global $calself, $year, $month, $day, $hour, $minute, $calendardata, $color, $event_year, $event_month, $event_day, $event_hour, $event_minute, $event_length, $event_priority, $event_title, $event_text;
189 $tmparray = $calendardata["$month$day$year"]["$hour$minute"];
191 echo html_tag( 'table',
193 html_tag( 'th', _("Do you really want to change this event from:") . "<br />\n", '', $color[4], 'colspan="2"' ) ."\n"
196 html_tag( 'td', _("Date:") , 'right', $color[4] ) ."\n" .
197 html_tag( 'td', $month.'/'.$day.'/'.$year , 'left', $color[4] ) ."\n"
200 html_tag( 'td', _("Time:") , 'right', $color[4] ) ."\n" .
201 html_tag( 'td', $hour.':'.$minute , 'left', $color[4] ) ."\n"
204 html_tag( 'td', _("Priority:") , 'right', $color[4] ) ."\n" .
205 html_tag( 'td', $tmparray['priority'] , 'left', $color[4] ) ."\n"
208 html_tag( 'td', _("Title:") , 'right', $color[4] ) ."\n" .
209 html_tag( 'td', $tmparray['title'] , 'left', $color[4] ) ."\n"
212 html_tag( 'td', _("Message:") , 'right', $color[4] ) ."\n" .
213 html_tag( 'td', $tmparray['message'] , 'left', $color[4] ) ."\n"
216 html_tag( 'th', _("to:") . "<br />\n", '', $color[4], 'colspan="2"' ) ."\n"
220 html_tag( 'td', _("Date:") , 'right', $color[4] ) ."\n" .
221 html_tag( 'td', $event_month.'/'.$event_day.'/'.$event_year , 'left', $color[4] ) ."\n"
224 html_tag( 'td', _("Time:") , 'right', $color[4] ) ."\n" .
225 html_tag( 'td', $event_hour.':'.$event_minute , 'left', $color[4] ) ."\n"
228 html_tag( 'td', _("Priority:") , 'right', $color[4] ) ."\n" .
229 html_tag( 'td', $event_priority , 'left', $color[4] ) ."\n"
232 html_tag( 'td', _("Title:") , 'right', $color[4] ) ."\n" .
233 html_tag( 'td', $event_title , 'left', $color[4] ) ."\n"
236 html_tag( 'td', _("Message:") , 'right', $color[4] ) ."\n" .
237 html_tag( 'td', $event_text , 'left', $color[4] ) ."\n"
241 " <form name=\"updateevent\" method=\"post\" action=\"$calself\">\n".
242 " <input type=\"hidden\" name=\"year\" value=\"$year\" />\n".
243 " <input type=\"hidden\" name=\"month\" value=\"$month\" />\n".
244 " <input type=\"hidden\" name=\"day\" value=\"$day\" />\n".
245 " <input type=\"hidden\" name=\"hour\" value=\"$hour\" />\n".
246 " <input type=\"hidden\" name=\"minute\" value=\"$minute\" />\n".
247 " <input type=\"hidden\" name=\"event_year\" value=\"$event_year\" />\n".
248 " <input type=\"hidden\" name=\"event_month\" value=\"$event_month\" />\n".
249 " <input type=\"hidden\" name=\"event_day\" value=\"$event_day\" />\n".
250 " <input type=\"hidden\" name=\"event_hour\" value=\"$event_hour\" />\n".
251 " <input type=\"hidden\" name=\"event_minute\" value=\"$event_minute\" />\n".
252 " <input type=\"hidden\" name=\"event_priority\" value=\"$event_priority\" />\n".
253 " <input type=\"hidden\" name=\"event_length\" value=\"$event_length\" />\n".
254 " <input type=\"hidden\" name=\"event_title\" value=\"$event_title\" />\n".
255 " <input type=\"hidden\" name=\"event_text\" value=\"$event_text\" />\n".
256 " <input type=\"hidden\" name=\"updated\" value=\"yes\" />\n".
257 " <input type=\"hidden\" name=\"confirmed\" value=\"yes\" />\n".
258 ' <input type="submit" value="' . _("Yes") . "\" />\n".
260 'right', $color[4] ) ."\n" .
262 " <form name=\"nodelevent\" method=\"post\" action=\"day.php\">\n".
263 " <input type=\"hidden\" name=\"year\" value=\"$year\" />\n".
264 " <input type=\"hidden\" name=\"month\" value=\"$month\" />\n".
265 " <input type=\"hidden\" name=\"day\" value=\"$day\" />\n".
266 ' <input type="submit" value="' . _("No") . "\" />\n".
268 'left', $color[4] ) ."\n"
270 '', $color[0], 'border="0" cellpadding="2" cellspacing="1"' );
274 $month = date( 'm' );
286 $calself=basename($PHP_SELF);
288 displayPageHeader($color, 'None');
292 echo html_tag( 'tr', '', '', $color[0] ) .
293 html_tag( 'td', '', 'left' ) .
294 html_tag( 'table', '', '', $color[0], 'width="100%" border="0" cellpadding="2" cellspacing="1"' ) .
297 date_intl( _("l, F j Y"), mktime(0, 0, 0, $month, $day, $year)) ,
298 'left', '', 'colspan="2"' );
299 if (!isset($updated)){
300 //get changes to event
304 if (!isset($confirmed)){
307 // strip event text so it fits in one line
308 $event_text=nl2br($event_text);
309 $event_text=ereg_replace ("\n", '', $event_text);
310 $event_text=ereg_replace ("\r", '', $event_text);
313 update_event("$month$day$year", "$hour$minute");
315 html_tag( 'td', _("Event updated!"), 'left' )
319 "<a href=\"day.php?year=$year&month=$month&day=$day\">" .
320 _("Day View") ."</a>",
324 $fixdate = date( 'mdY', mktime(0, 0, 0, $event_month, $event_day, $event_year));
325 //if event has been moved to different year then act accordingly
326 if ($year==$event_year){
327 $calendardata["$fixdate"]["$event_hour$event_minute"] = array("length"=>"$event_length","priority"=>"$event_priority","title"=>"$event_title","message"=>"$event_text");
332 $calendardata = array();
334 $calendardata["$fixdate"]["$event_hour$event_minute"] = array("length"=>"$event_length","priority"=>"$event_priority","title"=>"$event_title","message"=>"$event_text");
341 </table
></td
></tr
></table
>