LAYOUT: address game by session.gamenr
[e-DoKo.git] / index.php
index 4f69522c6d471e4f62c35912d831815b1959a134..71d40506c27d5cd52d2000b8dad41714ecd8fda7 100644 (file)
--- a/index.php
+++ b/index.php
@@ -102,9 +102,12 @@ else if(myisset("new"))
            DB_close();
            exit();
          };
+       /* get max session */
+       $max = DB_get_max_session();
+       $max++;
        
        mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', 'normal', NULL,NULL,'1',NULL,'pre', ".
-                 "'$ruleset',NULL ,NULL)");
+                 "'$ruleset','$max' ,NULL)");
       }
     $game_id = mysql_insert_id();
     
@@ -187,19 +190,19 @@ else if(myisset("cancle","me"))
     if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
       {
        $message = "Hello, \n\n".
-         "Game $gameid has been cancled since nothing happend for a while and $myname requested it.\n";
+         "Game ".DB_format_gameid($gameid)." has been cancled since nothing happend for a while and $myname requested it.\n";
        
        $userids = DB_get_all_userid_by_gameid($gameid);
        foreach($userids as $user)
          {
            $To = DB_get_email_by_userid($user);
-           mymail($To,$EmailName."game $gameid cancled (timed out)",$message);
+           mymail($To,$EmailName."game ".DB_format_gameid($gameid)." cancled (timed out)",$message);
          }
        
        /* delete everything from the dB */
        DB_cancel_game($me);
        
-       echo "<p style=\"background-color:red\";>Game $gameid has been cancled.<br /><br /></p>";
+       echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid)." has been cancled.<br /><br /></p>";
       }
     else
       echo "<p>You need to wait longer before you can cancle a game...</p>\n";
@@ -303,6 +306,33 @@ else if(myisset("me"))
 
     echo "<input type=\"submit\" value=\"submit\" />\n";
 
+
+    if($mystatus=='gameover' && DB_get_game_status_by_gameid($gameid)=='gameover' )
+      {
+       echo "<hr />\n";
+       
+       $session = DB_get_session_by_gameid($gameid);
+       $result  = mysql_query("SELECT id,create_date FROM Game".
+                              " WHERE session=$session".
+                              " ORDER BY create_date DESC".
+                              " LIMIT 1");
+       $r = -1;
+       if($result)
+         $r = mysql_fetch_array($result,MYSQL_NUM);
+       
+       if(!$session || $gameid==$r[0])
+         {
+           /* suggest a new game with the same people in it, just rotated once (unless last game was solo) */
+           $names = DB_get_all_names_by_gameid($gameid);
+           $type  = DB_get_gametype_by_gameid($gameid);
+           
+           if($type=="solo")
+             output_ask_for_new_game($names[0],$names[1],$names[2],$names[3],$gameid);
+           else
+             output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
+         }
+      }
+
     echo "</div>\n";
 
     /* output game */
@@ -372,7 +402,7 @@ else if(myisset("me"))
                foreach($userids as $user)
                  {
                    $To = DB_get_email_by_userid($user);
-                   mymail($To,$EmailName."game $gameid canceled",$message);
+                   mymail($To,$EmailName."game ".DB_format_gameid($gameid)." canceled",$message);
                  }
                
                /* delete everything from the dB */
@@ -486,10 +516,10 @@ else if(myisset("me"))
                  $userhash = DB_get_hash_from_gameid_and_userid($gameid,$user);
                  if($userhash != $me)
                    {
-                     $message = "Everyone finish the questionary in game $gameid, ".
+                     $message = "Everyone finish the questionary in game ".DB_format_gameid($gameid).", ".
                        "please visit this link now to continue: \n".
                        " ".$host."?me=".$userhash."\n\n" ;
-                     mymail($To,$EmailName." finished setup in game $gameid",$message);
+                     mymail($To,$EmailName." finished setup in game ".DB_format_gameid($gameid),$message);
                    }
                };
            };
@@ -583,7 +613,7 @@ else if(myisset("me"))
              foreach($userids as $user)
                {
                  $To = DB_get_email_by_userid($user);
-                 mymail($To,$EmailName."game $gameid canceled",$message);
+                 mymail($To,$EmailName."game ".DB_format_gameid($gameid)." canceled",$message);
                }
              
              /* delete everything from the dB */
@@ -759,7 +789,7 @@ else if(myisset("me"))
 
                      $message = "Someone has poverty, it's your turn to decide, if you want to take the trump. Please visit:".
                        " ".$host."?me=".$userhash."\n\n" ;
-                     mymail($To,$EmailName." poverty (game $gameid)",$message);
+                     mymail($To,$EmailName." poverty (game ".DB_format_gameid($gameid).")",$message);
                    }
 
                  /* this user is done */
@@ -840,7 +870,7 @@ else if(myisset("me"))
                              $message = "Someone has poverty, it's your turn to decide, ".
                                         "if you want to take the trump. Please visit:".
                                         " ".$host."?me=".$userhash."\n\n" ;
-                             mymail($To,$EmailName." poverty (game $gameid)",$message);
+                             mymail($To,$EmailName." poverty (game ".DB_format_gameid($gameid).")",$message);
                            }
                        }
                      
@@ -941,19 +971,19 @@ else if(myisset("me"))
          if($who==5 || $who==50)
            {
              $message = "Hello, \n\n".
-               "Game $gameid has been cancled since nobody wanted to take the trump.\n";
+               "Game ".DB_format_gameid($gameid)." has been cancled since nobody wanted to take the trump.\n";
              
              $userids = DB_get_all_userid_by_gameid($gameid);
              foreach($userids as $user)
                {
                  $To = DB_get_email_by_userid($user);
-                 mymail($To,$EmailName."game $gameid cancled (poverty not resolved)",$message);
+                 mymail($To,$EmailName."game ".DB_format_gameid($gameid)." cancled (poverty not resolved)",$message);
                }
              
              /* delete everything from the dB */
              DB_cancel_game($me);
              
-             echo "<p style=\"background-color:red\";>Game $gameid has been cancled.<br /><br /></p>";
+             echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid)." has been cancled.<br /><br /></p>";
              output_footer();
              DB_close();
              exit();
@@ -983,9 +1013,9 @@ else if(myisset("me"))
              if($hash!=$me)
                {
                  /* email startplayer) */
-                 $message = "It's your turn now in game $gameid.\n".
+                 $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
                    "Use this link to play a card: ".$host."?me=".$hash."\n\n" ;
-                 mymail($email,$EmailName."ready, set, go... (game $gameid) ",$message);
+                 mymail($email,$EmailName."ready, set, go... (game ".DB_format_gameid($gameid).") ",$message);
                }
              else
                echo " Please, <a href=\"$host?me=$me\">start</a> the game.<br />";      
@@ -1072,7 +1102,7 @@ else if(myisset("me"))
       $firstcard = ""; /* first card in a trick */
       
       echo "\n<ul class=\"tricks\">\n";
-      echo "  <li class=\"nohighlight\"> Game $gameid: </li>\n";
+      echo "  <li class=\"nohighlight\"> Game ".DB_format_gameid($gameid).": </li>\n";
       
       while($r = mysql_fetch_array($result,MYSQL_NUM))
        {
@@ -1132,15 +1162,10 @@ else if(myisset("me"))
          if($seq==4)
            {
              $trickNR++;
-             echo "    </div>\n  </li>\n";  /* end div table, end li table */
+             echo "    </div>\n  </li>\n";  /* end div trick, end li trick */
            }
        }
-      
-      if($seq!=4 && $trickNR>1) 
-       echo "    </div>\n  </li>\n";  /* end div table, end li table */
-      
-      echo "</ul>\n";
-      
+            
       /* whos turn is it? */
       if($seq==4)
        {
@@ -1282,13 +1307,20 @@ else if(myisset("me"))
                };  
              
              /* display played card */
-             echo "<div class=\"card\">";
-             echo " you played  <br />";
+             $pos = DB_get_pos_by_hash($me);
+             if($sequence==1)
+               {
+                 echo "  <li onclick=\"hl('".($tricknr)."');\" class=\"current\"><a href=\"#\">Trick ".($tricknr)."</a>\n".
+                   "    <div class=\"trick\" id=\"trick".($tricknr)."\">\n".
+                   "      <img class=\"arrow\" src=\"pics/arrow".($pos-1).".png\" alt=\"table\" />\n";
+               }
+             
+             echo "<div class=\"card".($pos-1)."\">";
              /* display comments */
              display_card($card,$PREF["cardset"]);
              if($comment!="")
-               echo "       <br /> Your comment:<br /><span class=\"comment\">".$comment."</span>\n";
-             echo "</div>\n";
+               echo "  <span class=\"comment\"> ".$comment."</span>\n";
+             echo "</div></div></li>\n";
              
              /*check if we still have cards left, else set status to gameover */
              if(sizeof(DB_get_hand($me))==0)
@@ -1319,10 +1351,10 @@ else if(myisset("me"))
                  $who       = DB_get_userid_by_email($email);
                  DB_set_player_by_gameid($gameid,$who);
                  
-                 $message = "A card has been played in game $gameid.\n\n".
+                 $message = "A card has been played in game ".DB_format_gameid($gameid).".\n\n".
                    "It's your turn  now.\n".
                    "Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ;
-                 mymail($email,$EmailName."a card has been played in game $gameid",$message);
+                 mymail($email,$EmailName."a card has been played in game ".DB_format_gameid($gameid),$message);
                }
              else /* send out final email */
                {
@@ -1360,15 +1392,15 @@ else if(myisset("me"))
                  $To = implode(",",$all);
 
                  $help = "\n\n (you can use reply all on this email to reach all the players.)\n";
-                 mymail($To,$EmailName."game over (game $gameid) part 1(2)",$message.$help);
+                 mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 1(2)",$message.$help);
 
                  foreach($userids as $user)
                    {
                      $To   = DB_get_email_by_userid($user);
                      $hash = DB_get_hash_from_gameid_and_userid($gameid,$user);
                      
-                     $link = "Use this link to have a look at game $gameid: ".$host."?me=".$hash."\n\n" ;
-                     mymail($To,$EmailName."game over (game $gameid) part 2(2)",$link);
+                     $link = "Use this link to have a look at game ".DB_format_gameid($gameid).": ".$host."?me=".$hash."\n\n" ;
+                     mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 2(2)",$link);
                    }
                }
            }
@@ -1381,6 +1413,36 @@ else if(myisset("me"))
        {
          echo "please wait until it's your turn! <br />\n";
        }
+
+      if($seq!=4 && $trickNR>1) 
+       echo "    </div>\n  </li>\n";  /* end div trick, end li trick */
+
+      /* display points in case game is over */
+      if($mystatus=='gameover' && DB_get_game_status_by_gameid($gameid)=='gameover' )
+       {
+         echo "  <li onclick=\"hl('13');\" class=\"current\"><a href=\"#\">Score</a>\n".
+           "    <div class=\"trick\" id=\"trick13\">\n";
+         /* add pic for re/contra
+          "      <img class=\"arrow\" src=\"pics/arrow".($pos-1).".png\" alt=\"table\" />\n";*/
+         
+         $result = mysql_query("SELECT User.fullname, IFNULL(SUM(Card.points),0), Hand.party,Hand.position FROM Hand".
+                               " LEFT JOIN Trick ON Trick.winner=Hand.position AND Trick.game_id=Hand.game_id".
+                               " LEFT JOIN User ON User.id=Hand.user_id".
+                               " LEFT JOIN Play ON Trick.id=Play.trick_id".
+                               " LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id".
+                               " LEFT JOIN Card ON Card.id=Hand_Card.card_id".
+                               " WHERE Hand.game_id='$gameid'".
+                               " GROUP BY User.fullname" );
+         while( $r = mysql_fetch_array($result,MYSQL_NUM))
+           echo "      <div class=\"card".($r[3]-1)."\">\n".
+                "        <span class=\"score\">".$r[2]."<br /> ".$r[1]."</span>\n".
+                "      </div>\n";
+         
+         echo "    </div>\n  </li>\n";  /* end div trick, end li trick */
+       }
+
+      
+      echo "</ul>\n"; /* end ul tricks*/
       
       $mycards = DB_get_hand($me);
       $mycards = mysort($mycards,$gametype);
@@ -1462,23 +1524,6 @@ else if(myisset("me"))
        }
       else
        {
-         echo "the game is over now...<br />\n";
-         
-         $result = mysql_query("SELECT User.fullname, IFNULL(SUM(Card.points),0), Hand.party FROM Hand".
-                               " LEFT JOIN Trick ON Trick.winner=Hand.position AND Trick.game_id=Hand.game_id".
-                               " LEFT JOIN User ON User.id=Hand.user_id".
-                               " LEFT JOIN Play ON Trick.id=Play.trick_id".
-                               " LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id".
-                               " LEFT JOIN Card ON Card.id=Hand_Card.card_id".
-                               " WHERE Hand.game_id='$gameid'".
-                               " GROUP BY User.fullname" );
-         echo "Final Score:<br />\n".
-           " <table>\n";;
-         while( $r = mysql_fetch_array($result,MYSQL_NUM))
-           echo "  <tr><td>  ".$r[0]."</td><td>(".$r[2].")</td><td> ".$r[1]."</td></tr>";
-         echo "</table>\n";
-
-
          $result = mysql_query("SELECT Hand.party, IFNULL(SUM(Card.points),0) FROM Hand".
                                " LEFT JOIN Trick ON Trick.winner=Hand.position AND Trick.game_id=Hand.game_id".
                                " LEFT JOIN User ON User.id=Hand.user_id".
@@ -1487,32 +1532,11 @@ else if(myisset("me"))
                                " LEFT JOIN Card ON Card.id=Hand_Card.card_id".
                                " WHERE Hand.game_id='$gameid'".
                                " GROUP BY Hand.party" );
-         echo "Totals:<br />\n".
-           " <table> \n";
+         echo "<div class=\"total\"> Totals:<br />\n";
          while( $r = mysql_fetch_array($result,MYSQL_NUM))
-           echo "  <tr><td>".$r[0]."</td><td> ".$r[1]."</td></tr>\n";
-         echo "</table>\n";
-         
-         $session = DB_get_session_by_gameid($gameid);
-         $result  = mysql_query("SELECT id,create_date FROM Game".
-                                " WHERE session=$session".
-                                " ORDER BY create_date DESC".
-                                " LIMIT 1");
-         $r = -1;
-         if($result)
-           $r = mysql_fetch_array($result,MYSQL_NUM);
+           echo "  ".$r[0]." ".$r[1]."<br />\n";
+         echo "</div>\n";
          
-         if(!$session || $gameid==$r[0])
-           {
-             /* suggest a new game with the same people in it, just rotated once (unless last game was solo) */
-             $names = DB_get_all_names_by_gameid($gameid);
-             $type  = DB_get_gametype_by_gameid($gameid);
-             
-             if($type=="solo")
-               output_ask_for_new_game($names[0],$names[1],$names[2],$names[3],$gameid);
-             else
-               output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
-           }
        }
       break;
     default:
@@ -1693,7 +1717,7 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
                                     " WHERE Hand.user_id='$uid' AND Game.status='pre'" );
               while( $r = mysql_fetch_array($result,MYSQL_NUM))
                 {
-                  echo "<a href=\"".$host."?me=".$r[0]."\">game #".$r[1]." </a>";
+                  echo "<a href=\"".$host."?me=".$r[0]."\">game".DB_format_gameid($r[1])." </a>";
                   if($r[3]==$uid || $r[3]==NULL)
                     echo "(it's <strong>your</strong> turn)\n";
                   else
@@ -1716,7 +1740,7 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
                                     " WHERE Hand.user_id='$uid' AND Game.status='play'" );
               while( $r = mysql_fetch_array($result,MYSQL_NUM))
                 {
-                  echo "<a href=\"".$host."?me=".$r[0]."\">game #".$r[1]." </a>";
+                  echo "<a href=\"".$host."?me=".$r[0]."\">game ".DB_format_gameid($r[1])." </a>";
                   if($r[3])
                     {
                       if($r[3]==$uid)
@@ -1740,7 +1764,7 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
               $output = array();
               $result = mysql_query("SELECT hash,game_id from Hand WHERE user_id='$uid' AND status='gameover'" );
               while( $r = mysql_fetch_array($result,MYSQL_NUM))
-                $output[] = "<a href=\"".$host."?me=".$r[0]."\">#".$r[1]." </a>";
+                $output[] = "<a href=\"".$host."?me=".$r[0]."\">".DB_format_gameid($r[1])." </a>";
               echo implode(", ",$output)."</p>\n";
               
               $names = DB_get_all_names();