Remove possible bad system admin typos (#2827153).
[squirrelmail.git] / plugins / calendar / event_edit.php
index 9331262cb4f60c5a33ab18b652d8d46b18464d95..3538ac6479a091c21f8ae35d68119928aa53e7d0 100644 (file)
 <?php
 
 /**
- * event_edit.php
- *
- * Copyright (c) 2002-2003 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
- * Originally contrubuted by Michal Szczotka <michal@tuxy.org>
- *
  * Functions to edit an event.
  *
- * $Id$
+ * @copyright &copy; 2002-2009 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
  * @package plugins
  * @subpackage calendar
  */
 
-/** @ignore */
-define('SM_PATH','../../');
-
-/* Calender plugin required files. */
-require_once(SM_PATH . 'plugins/calendar/calendar_data.php');
-require_once(SM_PATH . 'plugins/calendar/functions.php');
+/**
+ * Include the SquirrelMail initialization file.
+ */
+require('../../include/init.php');
 
 /* SquirrelMail required files. */
-require_once(SM_PATH . 'include/validate.php');
-require_once(SM_PATH . 'functions/strings.php');
-require_once(SM_PATH . 'functions/date.php');
-require_once(SM_PATH . 'config/config.php');
-require_once(SM_PATH . 'functions/page_header.php');
-require_once(SM_PATH . 'include/load_prefs.php');
-require_once(SM_PATH . 'functions/html.php');
 
+/* date_intl() */
+include_once(SM_PATH . 'functions/date.php');
+/* form functions */
+include_once(SM_PATH . 'functions/forms.php');
+
+/* Calendar plugin required files. */
+include_once(SM_PATH . 'plugins/calendar/calendar_data.php');
+include_once(SM_PATH . 'plugins/calendar/functions.php');
 
 /* get globals */
 
-if (isset($_POST['updated'])) {
-    $updated = $_POST['updated'];
-}
-if (isset($_POST['event_year'])) {
-    $event_year = $_POST['event_year'];
-}
-if (isset($_POST['event_month'])) {
-    $event_month = $_POST['event_month'];
-}
-if (isset($_POST['event_day'])) {
-    $event_day = $_POST['event_day'];
-}
-if (isset($_POST['event_hour'])) {
-    $event_hour = $_POST['event_hour'];
-}
-if (isset($_POST['event_minute'])) {
-    $event_minute = $_POST['event_minute'];
-}
-if (isset($_POST['event_length'])) {
-    $event_length = $_POST['event_length'];
-}
-if (isset($_POST['event_title'])) {
-    $event_title = $_POST['event_title'];
-}
-if (isset($_POST['event_text'])) {
-    $event_text = $_POST['event_text'];
-}
-if (isset($_POST['send'])) {
-    $send = $_POST['send'];
-}
-if (isset($_POST['event_priority'])) {
-    $event_priority = $_POST['event_priority'];
+sqGetGlobalVar('updated',$updated,SQ_POST);
+
+/* get date values and make sure that they are numeric */
+if (! sqGetGlobalVar('event_year',$event_year,SQ_POST) || ! is_numeric($event_year)) {
+    unset($event_year);
 }
-if (isset($_POST['confirmed'])) {
-    $confirmed = $_POST['confirmed'];
+if (! sqGetGlobalVar('event_month',$event_month,SQ_POST) || ! is_numeric($event_month)) {
+    unset($event_month);
 }
-if (isset($_POST['year'])) {
-    $year = $_POST['year'];
+if (! sqGetGlobalVar('event_day',$event_day,SQ_POST) || ! is_numeric($event_day)) {
+    unset($event_day);
 }
-elseif (isset($_GET['year'])) {
-    $year = $_GET['year'];
+if (! sqGetGlobalVar('event_hour',$event_hour,SQ_POST) || ! is_numeric($event_hour)) {
+    unset($event_hour);
 }
-if (isset($_POST['month'])) {
-    $month = $_POST['month'];
+if (! sqGetGlobalVar('event_minute',$event_minute,SQ_POST) || ! is_numeric($event_minute)) {
+    unset($event_minute);
 }
-elseif (isset($_GET['month'])) {
-    $month = $_GET['month'];
+if (! sqGetGlobalVar('event_length',$event_length,SQ_POST) || ! is_numeric($event_length)) {
+    unset($event_length);
 }
-if (isset($_POST['day'])) {
-    $day = $_POST['day'];
+sqGetGlobalVar('event_title',$event_title,SQ_POST);
+sqGetGlobalVar('event_text',$event_text,SQ_POST);
+sqGetGlobalVar('send',$send,SQ_POST);
+
+if (! sqGetGlobalVar('event_priority',$event_priority,SQ_POST) || ! is_numeric($event_priority)) {
+    unset($event_priority);
 }
-elseif (isset($_GET['day'])) {
-    $day = $_GET['day'];
+
+sqGetGlobalVar('confirmed',$confirmed,SQ_POST);
+
+if (! sqGetGlobalVar('year',$year,SQ_FORM) || ! is_numeric($year)) {
+    unset($year);
 }
-if (isset($_POST['hour'])) {
-    $hour = $_POST['hour'];
+if (! sqGetGlobalVar('month',$month,SQ_FORM) || ! is_numeric($month)) {
+    unset($month);
 }
-elseif (isset($_GET['hour'])) {
-    $hour = $_GET['hour'];
+if (! sqGetGlobalVar('day',$day,SQ_FORM) || ! is_numeric($day)) {
+    unset($day);
 }
-if (isset($_POST['minute'])) {
-    $minute = $_POST['minute'];
+if (! sqGetGlobalVar('hour',$hour,SQ_FORM) || ! is_numeric($hour)) {
+    unset($hour);
 }
-elseif (isset($_GET['minute'])) {
-    $minute = $_GET['minute'];
+if (! sqGetGlobalVar('minute',$minute,SQ_FORM) || ! is_numeric($minute)) {
+    unset($minute);
 }
 /* got 'em */
 
-// update event info
-function show_event_form() {
+/**
+ * update event info
+ * @return void
+ * @access private
+ */
+function update_event_form() {
     global $color, $editor_size, $year, $day, $month, $hour, $minute, $calendardata;
 
     $tmparray = $calendardata["$month$day$year"]["$hour$minute"];
-    echo "\n<FORM name=eventupdate action=\"event_edit.php\" METHOD=POST >\n".
-         "      <INPUT TYPE=hidden NAME=\"year\" VALUE=\"$year\">\n".
-         "      <INPUT TYPE=hidden NAME=\"month\" VALUE=\"$month\">\n".
-         "      <INPUT TYPE=hidden NAME=\"day\" VALUE=\"$day\">\n".
-         "      <INPUT TYPE=hidden NAME=\"hour\" VALUE=\"$hour\">\n".
-         "      <INPUT TYPE=hidden NAME=\"minute\" VALUE=\"$minute\">\n".
-         "      <INPUT TYPE=hidden NAME=\"updated\" VALUE=\"yes\">\n".
+    $tab = '    ';
+    echo "\n<form name=\"eventupdate\" action=\"event_edit.php\" method=\"post\">\n".
+         $tab . addHidden('year',$year).
+         $tab . addHidden('month',$month).
+         $tab . addHidden('day',$day).
+         $tab . addHidden('hour',$hour).
+         $tab . addHidden('minute',$minute).
+         $tab . addHidden('updated','yes').
          html_tag( 'tr' ) .
          html_tag( 'td', _("Date:"), 'right', $color[4] ) . "\n" .
          html_tag( 'td', '', 'left', $color[4] ) .
-         "      <SELECT NAME=\"event_year\">\n";
+         "      <select name=\"event_year\">\n";
     select_option_year($year);
-    echo "      </SELECT>\n" .
+    echo "      </select>\n" .
          "      &nbsp;&nbsp;\n" .
-         "      <SELECT NAME=\"event_month\">\n";
+         "      <select name=\"event_month\">\n";
     select_option_month($month);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      &nbsp;&nbsp;\n".
-         "      <SELECT NAME=\"event_day\">\n";
+         "      <select name=\"event_day\">\n";
     select_option_day($day);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      </td></tr>\n".
          html_tag( 'tr' ) .
          html_tag( 'td', _("Time:"), 'right', $color[4] ) . "\n" .
          html_tag( 'td', '', 'left', $color[4] ) .
-         "      <SELECT NAME=\"event_hour\">\n";
+         "      <select name=\"event_hour\">\n";
     select_option_hour($hour);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      &nbsp;:&nbsp;\n".
-         "      <SELECT NAME=\"event_minute\">\n";
+         "      <select name=\"event_minute\">\n";
     select_option_minute($minute);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      </td></tr>\n".
          html_tag( 'tr' ) .
          html_tag( 'td', _("Length:"), 'right', $color[4] ) . "\n" .
          html_tag( 'td', '', 'left', $color[4] ) .
-         "      <SELECT NAME=\"event_length\">\n";
+         "      <select name=\"event_length\">\n";
     select_option_length($tmparray['length']);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      </td></tr>\n".
          html_tag( 'tr' ) .
          html_tag( 'td', _("Priority:"), 'right', $color[4] ) . "\n" .
          html_tag( 'td', '', 'left', $color[4] ) .
-         "      <SELECT NAME=\"event_priority\">\n";
+         "      <select name=\"event_priority\">\n";
     select_option_priority($tmparray['priority']);
-    echo "      </SELECT>\n".
+    echo "      </select>\n".
          "      </td></tr>\n".
          html_tag( 'tr' ) .
          html_tag( 'td', _("Title:"), 'right', $color[4] ) . "\n" .
-         html_tag( 'td', '', 'left', $color[4] ) .
-         "      <INPUT TYPE=text NAME=\"event_title\" VALUE=\"$tmparray[title]\" SIZE=30 MAXLENGTH=50><BR>\n".
-         "      </td></tr>\n".
-         html_tag( 'td',
-             "      <TEXTAREA NAME=\"event_text\" ROWS=5 COLS=\"$editor_size\" WRAP=HARD>$tmparray[message]</TEXTAREA>\n" ,
-         'left', $color[4], 'colspan="2"' ) .
+         html_tag( 'td', addInput('event_title',$tmparray['title'],30,50), 'left', $color[4]) .
+             "\n</tr>\n".
+         html_tag( 'tr' ) .
+         html_tag( 'td', addTextArea('event_text',$tmparray['message'],$editor_size,5),
+                   'left', $color[4], 'colspan="2"' ) .
          '</tr>' . html_tag( 'tr' ) .
-         html_tag( 'td',
-             "<INPUT TYPE=SUBMIT NAME=send VALUE=\"" .
-             _("Update Event") . "\">\n" ,
-         'left', $color[4], 'colspan="2"' ) .
-         "</tr></FORM>\n";
+         html_tag( 'td', addSubmit(_("Update Event"),'send'), 'left', $color[4], 'colspan="2"' ) .
+         "</tr></form>\n";
 }
 
-// self explenatory
+/**
+ * Confirms event update
+ * @return void
+ * @access private
+ */
 function confirm_update() {
-    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;
+    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;
 
     $tmparray = $calendardata["$month$day$year"]["$hour$minute"];
+    $tab = '    ';
 
     echo html_tag( 'table',
                 html_tag( 'tr',
-                    html_tag( 'th', _("Do you really want to change this event from:") . "<br>\n", '', $color[4], 'colspan="2"' ) ."\n"
+                    html_tag( 'th', _("Do you really want to change this event from:") . "<br />\n", '', $color[4], 'colspan="2"' ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Date:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $month.'/'.$day.'/'.$year , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', date_intl(_("m/d/Y"),mktime(0,0,0,$month,$day,$year)), 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Time:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $hour.':'.$minute , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', date_intl(_("H:i"),mktime($hour,$minute,0,$month,$day,$year)) , 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Priority:") , 'right', $color[4] ) ."\n" .
@@ -194,23 +176,23 @@ function confirm_update() {
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Title:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $tmparray['title'] , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', htmlspecialchars($tmparray['title']) , 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Message:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $tmparray['message'] , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', nl2br(htmlspecialchars($tmparray['message'])) , 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
-                    html_tag( 'th', _("to:") . "<br>\n", '', $color[4], 'colspan="2"' ) ."\n"
+                    html_tag( 'th', _("to:") . "<br />\n", '', $color[4], 'colspan="2"' ) ."\n"
                 ) .
 
                 html_tag( 'tr',
                     html_tag( 'td', _("Date:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $event_month.'/'.$event_day.'/'.$event_year , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', date_intl(_("m/d/Y"),mktime(0,0,0,$event_month,$event_day,$event_year)), 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Time:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $event_hour.':'.$event_minute , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', date_intl(_("H:i"),mktime($event_hour,$event_minute,0,$event_month,$event_day,$event_year)), 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Priority:") , 'right', $color[4] ) ."\n" .
@@ -218,41 +200,41 @@ function confirm_update() {
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Title:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $event_title , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', htmlspecialchars($event_title) , 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td', _("Message:") , 'right', $color[4] ) ."\n" .
-                    html_tag( 'td', $event_text , 'left', $color[4] ) ."\n"
+                    html_tag( 'td', nl2br(htmlspecialchars($event_text)) , 'left', $color[4] ) ."\n"
                 ) .
                 html_tag( 'tr',
                     html_tag( 'td',
-                        "    <FORM NAME=\"updateevent\" METHOD=POST ACTION=\"$calself\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"year\" VALUE=\"$year\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"month\" VALUE=\"$month\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"day\" VALUE=\"$day\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"hour\" VALUE=\"$hour\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"minute\" VALUE=\"$minute\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_year\" VALUE=\"$event_year\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_month\" VALUE=\"$event_month\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_day\" VALUE=\"$event_day\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_hour\" VALUE=\"$event_hour\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_minute\" VALUE=\"$event_minute\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_priority\" VALUE=\"$event_priority\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_length\" VALUE=\"$event_length\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_title\" VALUE=\"$event_title\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"event_text\" VALUE=\"$event_text\">\n".
-                        "       <INPUT TYPE=hidden NAME=\"updated\" VALUE=\"yes\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"confirmed\" VALUE=\"yes\">\n".
-                        '       <INPUT TYPE=SUBMIT VALUE="' . _("Yes") . "\">\n".
-                        "    </FORM>\n" ,
+                        "<form name=\"updateevent\" method=\"post\" action=\"$calself\">\n".
+                        $tab . addHidden('year',$year).
+                        $tab . addHidden('month',$month).
+                        $tab . addHidden('day',$day).
+                        $tab . addHidden('hour',$hour).
+                        $tab . addHidden('minute',$minute).
+                        $tab . addHidden('event_year',$event_year).
+                        $tab . addHidden('event_month',$event_month).
+                        $tab . addHidden('event_day',$event_day).
+                        $tab . addHidden('event_hour',$event_hour).
+                        $tab . addHidden('event_minute',$event_minute).
+                        $tab . addHidden('event_priority',$event_priority).
+                        $tab . addHidden('event_length',$event_length).
+                        $tab . addHidden('event_title',$event_title).
+                        $tab . addHidden('event_text',$event_text).
+                        $tab . addHidden('updated','yes').
+                        $tab . addHidden('confirmed','yes').
+                        $tab . addSubmit(_("Yes")).
+                        "</form>\n" ,
                     'right', $color[4] ) ."\n" .
                     html_tag( 'td',
-                        "    <FORM NAME=\"nodelevent\" METHOD=POST ACTION=\"day.php\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"year\" VALUE=\"$year\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"month\" VALUE=\"$month\">\n".
-                        "       <INPUT TYPE=HIDDEN NAME=\"day\" VALUE=\"$day\">\n".
-                        '       <INPUT TYPE=SUBMIT VALUE="' . _("No") . "\">\n".
-                        "    </FORM>\n" ,
+                        "<form name=\"nodelevent\" method=\"post\" action=\"day.php\">\n".
+                        $tab . addHidden('year',$year).
+                        $tab . addHidden('month',$month).
+                        $tab . addHidden('day',$day).
+                        $tab . addSubmit(_("No")).
+                        "</form>\n" ,
                     'left', $color[4] ) ."\n"
                 ) ,
             '', $color[0], 'border="0" cellpadding="2" cellspacing="1"' );
@@ -273,7 +255,7 @@ if ($hour <= 0){
 
 $calself=basename($PHP_SELF);
 
-displayPageHeader($color, 'None');
+displayPageHeader($color);
 //load calendar menu
 calendar_header();
 
@@ -287,15 +269,11 @@ echo html_tag( 'tr', '', '', $color[0] ) .
 if (!isset($updated)){
     //get changes to event
     readcalendardata();
-    show_event_form();
+    update_event_form();
 } else {
     if (!isset($confirmed)){
         //confirm changes
         readcalendardata();
-        // strip event text so it fits in one line
-        $event_text=nl2br($event_text);
-        $event_text=ereg_replace ("\n", '', $event_text);
-        $event_text=ereg_replace ("\r", '', $event_text);
         confirm_update();
     } else {
         update_event("$month$day$year", "$hour$minute");
@@ -304,7 +282,7 @@ if (!isset($updated)){
                 ) . "\n";
         echo html_tag( 'tr',
                    html_tag( 'td',
-                       "<a href=\"day.php?year=$year&amp;month=$month&amp;day=$day\">" . 
+                       "<a href=\"day.php?year=$year&amp;month=$month&amp;day=$day\">" .
                        _("Day View") ."</a>",
                    'left' )
                 ) . "\n";
@@ -312,14 +290,20 @@ if (!isset($updated)){
         $fixdate = date( 'mdY', mktime(0, 0, 0, $event_month, $event_day, $event_year));
         //if event has been moved to different year then act accordingly
         if ($year==$event_year){
-            $calendardata["$fixdate"]["$event_hour$event_minute"] = array("length"=>"$event_length","priority"=>"$event_priority","title"=>"$event_title","message"=>"$event_text");
+            $calendardata["$fixdate"]["$event_hour$event_minute"] = array('length'   => $event_length,
+                                                                          'priority' => $event_priority,
+                                                                          'title'    => $event_title,
+                                                                          'message'  => $event_text);
             writecalendardata();
         } else {
             writecalendardata();
             $year=$event_year;
             $calendardata = array();
             readcalendardata();
-            $calendardata["$fixdate"]["$event_hour$event_minute"] = array("length"=>"$event_length","priority"=>"$event_priority","title"=>"$event_title","message"=>"$event_text");
+            $calendardata["$fixdate"]["$event_hour$event_minute"] = array('length'   => $event_length,
+                                                                          'priority' => $event_priority,
+                                                                          'title'    => $event_title,
+                                                                          'message'  => $event_text);
             writecalendardata();
         }
     }