summaryrefslogtreecommitdiffstats
path: root/include/preferences.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/preferences.php')
-rw-r--r--include/preferences.php97
1 files changed, 95 insertions, 2 deletions
diff --git a/include/preferences.php b/include/preferences.php
index 6557330..a319130 100644
--- a/include/preferences.php
+++ b/include/preferences.php
@@ -7,7 +7,7 @@ if(!isset($HOST))
$name = $_SESSION["name"];
$email = DB_get_email('name',$name);
-$myid = DB_get_userid('email',$email);
+$myid = DB_get_userid('email',$email);
if(!$myid)
return;
@@ -33,6 +33,79 @@ DB_update_user_timestamp($myid);
* update the database and track changes with a variable, so that
* we can later highlight the changed value
*/
+if(myisset('vacation_start','vacation_stop','vacation_comment'))
+ {
+ $vacation_start = $_REQUEST['vacation_start'].' 00:00:00';
+ $vacation_stop = $_REQUEST['vacation_stop'].' 23:59:59';
+ $vacation_comment = $_REQUEST['vacation_comment'];
+
+ /* check if everything is valid */
+ if(!strtotime($vacation_start))
+ $changed_vacation = -1;
+ if(!strtotime($vacation_stop))
+ $changed_vacation = -1;
+
+ /* test if we should delete the entry */
+ if($vacation_start == '- 00:00:00')
+ {
+ $result = DB_query("DELETE FROM User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation start'" );
+ $result = DB_query("DELETE FROM User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation stop'" );
+ $result = DB_query("DELETE FROM User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation comment'" );
+ $changed_vacation = 1;
+ }
+ /* change in database if format is ok */
+ else if($changed_vacation>=0)
+ {
+ /* only change if different from current value */
+ if($vacation_start!=$PREF['vacation_start'])
+ {
+ $result = DB_query("SELECT * from User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation start'" );
+ if( DB_fetch_array($result))
+ $result = DB_query("UPDATE User_Prefs SET value=".DB_quote_smart($vacation_start).
+ " WHERE user_id='$myid' AND pref_key='vacation start'" );
+ else
+ $result = DB_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','vacation start',".
+ DB_quote_smart($vacation_start).")");
+
+ $changed_vacation = 1;
+ }
+
+ /* same for the stop date */
+ if($vacation_stop!=$PREF['vacation_stop'])
+ {
+ $result = DB_query("SELECT * from User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation stop'" );
+ if( DB_fetch_array($result))
+ $result = DB_query("UPDATE User_Prefs SET value=".DB_quote_smart($vacation_stop).
+ " WHERE user_id='$myid' AND pref_key='vacation stop'" );
+ else
+ $result = DB_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','vacation stop',".
+ DB_quote_smart($vacation_stop).")");
+
+ $changed_vacation = 1;
+ }
+
+ /* does the user want to add a comment? */
+ if($vacation_comment!=$PREF['vacation_comment'])
+ {
+ $result = DB_query("SELECT * from User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='vacation comment'" );
+ if( DB_fetch_array($result))
+ $result = DB_query("UPDATE User_Prefs SET value=".DB_quote_smart($vacation_comment).
+ " WHERE user_id='$myid' AND pref_key='vacation comment'" );
+ else
+ $result = DB_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','vacation comment',".
+ DB_quote_smart($vacation_comment).")");
+
+ $changed_vacation = 1;
+ }
+ }
+ }
+
if(myisset("timezone"))
{
$newtimezone = $_REQUEST['timezone'];
@@ -174,8 +247,28 @@ echo " <form action=\"index.php?action=prefs\" method=\"post\">\n";
echo " <h2>Your settings are</h2>\n";
echo " <fieldset>\n";
echo " <legend>Game-related</legend>\n";
-
echo " <table>\n";
+
+echo " <tr><td>Vacation: </td>\n";
+if($PREF['vacation_start'])
+ $value = substr($PREF['vacation_start'],0,10);
+ else
+ $value = '';
+echo " <td>start:<input type=\"text\" id=\"vacation_start\" name=\"vacation_start\" size=\"10\" maxlength=\"10\" value=\"$value\" /></td>\n";
+if($PREF['vacation_stop'])
+ $value = substr($PREF['vacation_stop'],0,10);
+ else
+ $value = '';
+echo " <td>stop:<input type=\"text\" id=\"vacation_stop\" name=\"vacation_stop\" size=\"10\" maxlength=\"10\" value=\"$value\" /></td>\n";
+if($PREF['vacation_comment'])
+ $value = $PREF['vacation_comment'];
+else
+ $value = '';
+echo " <td>comment:<input type=\"text\" id=\"vacation_comment\" name=\"vacation_comment\" size=\"10\" maxlength=\"50\" value=\"$value\" />";
+if($changed_vacation == 1) echo "changed";
+if($changed_vacation == -1) echo "wrong date format";
+echo "</td></tr>\n";
+echo "<tr><td></td><td>use YYYY-MM-DD</td><td>use '-' in start field to unset vacation</td></tr>\n";
echo " <tr><td>Notification: </td><td>\n";
echo " <select id=\"notify\" name=\"notify\" size=\"1\">\n";
if($PREF['email']=="emailaddict")