X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fuser.php;h=0273183d0ba5a99b909f8319362ac91c82881527;hp=0f67a68f9791ff9f7fc418421d46817dbc12494d;hb=6206ef89ad9a9a1a541ecb67971815d11f12199b;hpb=09515348107d9aab7823a12d31b082a2ebb75555;ds=sidebyside diff --git a/include/user.php b/include/user.php index 0f67a68..0273183 100644 --- a/include/user.php +++ b/include/user.php @@ -1,5 +1,5 @@ ". @@ -81,192 +82,140 @@ if(myisset("forgot")) "or else try again."; } } - else - { /* normal user page */ - - - /* verify password and email */ - if(strlen($password)!=32) - $password = md5($password); +else + { /* normal user page */ - $ok = 1; - $myid = DB_get_userid('email-password',$email,$password); - if(!$myid) - $ok = 0; + /* verify password and email */ + if(strlen($password)!=32) + $password = md5($password); - if($ok) - { - /* user information is ok */ - $myname = DB_get_name('email',$email); - $_SESSION["name"] = $myname; - output_status(); - - DB_get_PREF($myid); - - /* does the user want to change some preferences? */ - if(myisset("setpref")) - { - $setpref=$_REQUEST["setpref"]; - switch($setpref) - { - case "germancards": - case "englishcards": - $result = mysql_query("SELECT * from User_Prefs". - " WHERE user_id='$myid' AND pref_key='cardset'" ); - if( mysql_fetch_array($result,MYSQL_NUM)) - $result = mysql_query("UPDATE User_Prefs SET value=".DB_quote_smart($setpref). - " WHERE user_id='$myid' AND pref_key='cardset'" ); - else - $result = mysql_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','cardset',". - DB_quote_smart($setpref).")"); - echo "Ok, changed you preferences for the cards.\n"; - break; - case "emailaddict": - case "emailnonaddict": - $result = mysql_query("SELECT * from User_Prefs". - " WHERE user_id='$myid' AND pref_key='email'" ); - if( mysql_fetch_array($result,MYSQL_NUM)) - $result = mysql_query("UPDATE User_Prefs SET value=".DB_quote_smart($setpref). - " WHERE user_id='$myid' AND pref_key='email'" ); - else - $result = mysql_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','email',". - DB_quote_smart($setpref).")"); - echo "Ok, changed you preferences for sending out emails.\n"; - break; - } - } - /* user wants to change his password or request a temporary one */ - else if(myisset("passwd")) - { - if( $_REQUEST["passwd"]=="ask" ) - { - /* reset password form*/ - output_password_recovery($email,$password); - } - else if($_REQUEST["passwd"]=="set") - { - /* reset password */ - $ok = 1; + $ok = 1; + $myid = DB_get_userid('email-password',$email,$password); + if(!$myid) + $ok = 0; - /* check if old password matches */ - $oldpasswd = md5($_REQUEST["password0"]); - if(!( ($password == $oldpasswd) || DB_check_recovery_passwords($oldpasswd,$email) )) - $ok = -1; - /* check if new passwords are types the same twice */ - if($_REQUEST["password1"] != $_REQUEST["password2"] ) - $ok = -2; + if($ok) + { + /* user information is ok */ + $myname = DB_get_name('email',$email); + $_SESSION["name"] = $myname; - switch($ok) - { - case '-2': - echo "The new passwords don't match.
"; - break; - case '-1': - echo "The old password is not correct.
"; - break; - case '1': - echo "Changed the password.
"; - mysql_query("UPDATE User SET password='".md5($_REQUEST["password1"]). - "' WHERE id=".DB_quote_smart($myid)); - break; - } - /* set password */ - } - } - else /* output default user page */ - { - /* display links to settings */ - output_user_settings(); + $PREF = DB_get_PREF($myid); - DB_update_user_timestamp($myid); + DB_update_user_timestamp($myid); - display_user_menu(); + display_user_menu($myid); - /* display all games the user has played */ - echo "
"; - echo "

These are all your games:

\n"; - echo "

Session:
\n"; - echo " p = pre-game phase "; - echo "P = game in progess "; - echo "F = game finished
"; - echo "

\n"; + /* display all games the user has played */ + echo "
"; - $output = array(); - $result = mysql_query("SELECT Hand.hash,Hand.game_id,Game.mod_date,Game.player,Game.status from Hand". - " LEFT JOIN Game ON Game.id=Hand.game_id". - " WHERE user_id='$myid'". - " ORDER BY Game.session,Game.create_date" ); - $gamenrold = -1; - echo "\n \n \n
\n"; - while( $r = mysql_fetch_array($result,MYSQL_NUM)) - { - $game = DB_format_gameid($r[1]); - $gamenr = (int) $game; - if($gamenrold < $gamenr) - { - if($gamenrold!=-1) - echo "
$gamenr: "; - else - echo "$gamenr: "; - $gamenrold = $gamenr; - } - if($r[4]=='pre') - { - echo "\n p "; + if($myvacation = check_vacation($myid)) + { + $vac_start = $myvacation[0]; + $vac_stop = $myvacation[1]; + $vac_comment = $myvacation[2]; + echo "

Enjoy your vacation (don't forgot to change your settings once you're back). Between $vac_start and $vac_stop other users will see the following message: $vac_comment.

\n"; + } - } - else if ($r[4]=='gameover') - echo "\n F "; - else - { - echo "\n P "; - } - if($r[4] != 'gameover') - { - echo "
\n "; - if($r[3]==$myid || !$r[3]) - echo "(it's your turn)\n"; - else - { - $name = DB_get_name('userid',$r[3]); - $gameid = $r[1]; - if(DB_get_reminder($r[3],$gameid)==0) - if(time()-strtotime($r[2]) > 60*60*24*7) - echo "". - "Send a reminder."; - echo "(it's $name's turn)\n"; - }; - if(time()-strtotime($r[2]) > 60*60*24*30) - echo "". - "Cancel?". - " (clicking here is final and can't be restored)"; + echo "

These are all your games:

\n"; + /* output legend */ + echo "

Session:
\n"; + echo " p = pre-game phase "; + echo "P = game in progess "; + echo "E = game ended "; + echo "N = N games with same hand
"; + echo "

\n"; + + $output = array(); + $result = DB_query("SELECT Hand.hash,Hand.game_id,G.mod_date,G.player,G.status, ". + " (SELECT count(H.randomnumbers) FROM Game H WHERE H.randomnumbers=G.randomnumbers) AS count ". + " FROM Hand". + " LEFT JOIN Game G ON G.id=Hand.game_id". + " WHERE user_id='$myid'". + " ORDER BY G.session,G.create_date" ); + + $gamenrold = -1; + $count = 0; + echo "\n \n \n"; + else + echo "$gamenr:\n"; + $gamenrold = $gamenr; + echo "\n\n
\n"; + while( $r = DB_fetch_array($result)) + { + $count++; + $game = DB_format_gameid($r[1]); + $gamenr = (int) $game; + if($gamenrold < $gamenr) + { + if($gamenrold!=-1) + echo "
$gamenr:\n"; + } + $Multi = ($r[5]>1) ? "multi" : ""; + if($r[4]=='pre') + echo " p \n"; + else if (in_array($r[4],array('gameover','cancel-timedout','cancel-nines','cancel-noplay','cancel-trump'))) + { + echo " "; + if($r[5]<2) + echo "E "; + else + echo $r[5]; + echo "\n"; + } + else + echo " P \n"; + if($r[4] == 'pre' || $r[4] == 'play') + { + echo "\n "; + if($r[3]==$myid || !$r[3]) + echo "(it's your turn)\n"; + else + { + $name = DB_get_name('userid',$r[3]); + $gameid = $r[1]; + /* check if we need to send out a reminder */ + if(DB_get_reminder($r[3],$gameid)==0) + if(time()-strtotime($r[2]) > 60*60*24*7) + echo "Send a reminder."; + + /* check vacaction status of this user */ + if($vacation=check_vacation($r[3])) + { + $stop = substr($vacation[1],0,10); + $title = 'begin:'.substr($vacation[0],0,10).' end:'.$vacation[1].' '.$vacation[2]; + echo "(it's $name's (on vacation until $stop) turn)\n"; + } + else + echo "(it's $name's turn)\n"; + }; + if(time()-strtotime($r[2]) > 60*60*24*30) + echo "Cancel? "; + } + } + echo "
\n"; - } - } - echo "
\n"; + /* give a hint for new players */ + if($count<10) + echo "

You can start new games using the link in the top right corner!

\n"; - /* display last 5 users that have signed up to e-DoKo */ - $names = DB_get_names_of_new_logins(5); - echo "

New Players:

\n

\n"; - echo implode(", ",$names).",...\n"; - echo "

\n"; + /* display last 5 users that have signed up to e-DoKo */ + $names = DB_get_names_of_new_logins(5); + echo "

New Players:

\n

\n"; + echo implode(", ",$names).",...\n"; + echo "

\n"; - /* display last 5 users that logged on */ - $names = DB_get_names_of_last_logins(5); - echo "

Players last logged in:

\n

\n"; - echo implode(", ",$names).",...\n"; - echo "

\n"; - - echo "
\n"; - } - } - else - { - echo "
Sorry email and password don't match. Please try again.
"; - } - }; -output_footer(); -DB_close(); -exit(); + /* display last 5 users that logged on */ + $names = DB_get_names_of_last_logins(5); + echo "

Players last logged in:

\n

\n"; + echo implode(", ",$names).",...\n"; + echo "

\n"; + echo "
\n"; + } + else + { + echo "
Sorry email and password don't match. Please try again.
"; + } + }; ?> \ No newline at end of file