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=19eb27bc6745da85544254d34e7acd1c632d11a4;hb=6206ef89ad9a9a1a541ecb67971815d11f12199b;hpb=cd4cbd4a1cce2c35a6a78b1b957c17389001b4b1 diff --git a/include/user.php b/include/user.php index 19eb27b..0273183 100644 --- a/include/user.php +++ b/include/user.php @@ -1,12 +1,12 @@ ". @@ -81,48 +82,64 @@ if(myisset("forgot")) "or else try again."; } } -else +else { /* normal user page */ - + /* verify password and email */ if(strlen($password)!=32) $password = md5($password); - + $ok = 1; $myid = DB_get_userid('email-password',$email,$password); if(!$myid) $ok = 0; - + if($ok) { /* user information is ok */ $myname = DB_get_name('email',$email); $_SESSION["name"] = $myname; - + $PREF = DB_get_PREF($myid); - + DB_update_user_timestamp($myid); - - display_user_menu(); - + + display_user_menu($myid); + /* display all games the user has played */ echo "
"; + + 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"; + } + echo "

These are all your games:

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

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

\n"; - + $output = array(); - $result = DB_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". + $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 Game.session,Game.create_date" ); + " ORDER BY G.session,G.create_date" ); + $gamenrold = -1; + $count = 0; echo "\n \n\n
\n"; while( $r = DB_fetch_array($result)) { + $count++; $game = DB_format_gameid($r[1]); $gamenr = (int) $game; if($gamenrold < $gamenr) @@ -134,13 +151,21 @@ else $gamenrold = $gamenr; echo "\n"; } + $Multi = ($r[5]>1) ? "multi" : ""; if($r[4]=='pre') - echo " p \n"; - else if ($r[4]=='gameover') - echo " F \n"; + 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] != 'gameover') + echo " P \n"; + if($r[4] == 'pre' || $r[4] == 'play') { echo "\n "; if($r[3]==$myid || !$r[3]) @@ -149,30 +174,43 @@ 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."; - echo "(it's $name's turn)\n"; + + /* 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?". - " (clicking here is final and can't be restored)"; + echo "Cancel? "; } } 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 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