fixed a lot of bugs, started to work on solos, moved some stuff to output.php
authorarun <arun@nubati.net>
Thu, 21 Dec 2006 20:20:42 +0000 (20:20 +0000)
committerarun <arun>
Thu, 21 Dec 2006 20:20:42 +0000 (20:20 +0000)
db.php
functions.php
index.php
output.php

diff --git a/db.php b/db.php
index 4b18d9c526f23e411ffbcec7b98a06dfb1c7c57b..254c460ae538f541cab5f56afdaa9873ddd7aed8 100644 (file)
--- a/db.php
+++ b/db.php
@@ -200,9 +200,10 @@ function DB_set_hand_status_by_hash($hash,$status)
   return;
 }
 
   return;
 }
 
-function DB_get_hand_status_by_userid($id)
+function DB_get_hand_status_by_userid_and_gameid($uid,$gid)
 {
 {
-  $result = mysql_query("SELECT status FROM Hand WHERE user_id=".DB_quote_smart($id));
+  $result = mysql_query("SELECT status FROM Hand WHERE user_id=".DB_quote_smart($uid).
+                       " AND game_id=".DB_quote_smart($gid));
   $r      = mysql_fetch_array($result,MYSQL_NUM);
   
   if($r)
   $r      = mysql_fetch_array($result,MYSQL_NUM);
   
   if($r)
index 7cc2826d2a41bc090bfd5c428e35ad209b23e4ab..c4305b506ced23d5dbc37deedbd7631aa8e6c2fa 100644 (file)
@@ -14,28 +14,123 @@ function mymail($To,$Subject,$message)
   return;
 }
 
   return;
 }
 
-function is_trump($c) { return (($c<27) ? 1:0);}
-function is_club($c)  { return (in_array($c,array('27','28','29','30','31','32','33','34')));}
-function is_spade($c) { return (in_array($c,array('35','36','37','38','39','40','41','42')));}
-function is_heart($c) { return (in_array($c,array('43','44','45','46','47','48')));}
+function myisset()
+{
+  /* returns 1 if all names passed as args are defined by a GET or POST statement,
+   * else it returns 0
+   */
+
+  $ok   = 1;
+  $args = func_get_args();
+  
+  foreach($args as $arg)
+    {
+      $ok = $ok * isset($_REQUEST[$arg]);
+      /* echo "$arg: ok = $ok <br />";
+       */
+    }
+  return $ok;
+}
 
 
-function compare_cards($a,$b,$mode)
+function is_trump($c,$game) 
+{ 
+  switch($game)
+    {
+    case "queen":
+      if(in_array($c,array('3','4','5','6','7','8','9','10')))
+       return 1;
+      else 
+       return 0;
+      break;
+    case "normal":
+      return (($c<27) ? 1:0);
+      break;
+    }
+}
+
+function is_same_suite($c1,$c2,$game) 
+{
+  switch($game)
+    {
+    case "queen":
+      /* clubs */
+      if(in_array($c1,array('11','12','27','28','29','30','31','32','33','34')) &&
+        in_array($c2,array('11','12','27','28','29','30','31','32','33','34')) )
+       return 1;
+      /* spade */
+      if(in_array($c1,array('13','14','35','36','37','38','39','40','41','42')) &&
+        in_array($c2,array('13','14','35','36','37','38','39','40','41','42')) )
+       return 1;
+      /* heart */
+      if(in_array($c1,array( '1', '2','15','16','43','44','45','46','47','48')) &&
+        in_array($c2,array( '1', '2','15','16','43','44','45','46','47','48')) )
+       return 1;
+      /* diamonds */
+      if(in_array($c1,array('17','18','19','20','21','22','23','24','25','26')) &&
+        in_array($c2,array('17','18','19','20','21','22','23','24','25','26')) )
+       return 1;
+      
+      return 0;
+      break;
+    case "normal":
+      /* clubs */
+      if(in_array($c1,array('27','28','29','30','31','32','33','34')) &&
+        in_array($c2,array('27','28','29','30','31','32','33','34')) )
+       return 1;
+      /* spade */
+      if(in_array($c1,array('35','36','37','38','39','40','41','42')) &&
+        in_array($c2,array('35','36','37','38','39','40','41','42')) )
+       return 1;
+      /* heart */
+      if(in_array($c1,array('43','44','45','46','47','48')) &&
+        in_array($c2,array('43','44','45','46','47','48')) )
+       return 1;
+      
+      return 0;
+      break;
+    }
+}
+
+function compare_cards($a,$b,$game)
 {
   /* if "a" is higher than "b" return 1, else 0, "a" being the card first played */
 
 {
   /* if "a" is higher than "b" return 1, else 0, "a" being the card first played */
 
-  /* don't think we need this */
+  /* first map all cards to the odd number, 
+   * this insure that the first card wins the trick 
+   * if they are the same card
+   */
   if( $a/2 - (int)($a/2) != 0.5)
     $a--;
   if( $b/2 - (int)($b/2) != 0.5)
     $b--;
   
   if( $a/2 - (int)($a/2) != 0.5)
     $a--;
   if( $b/2 - (int)($b/2) != 0.5)
     $b--;
   
-  switch($mode)
+  switch($game)
     {
     case "trumpless":
       break;
     case "jack":
       break;
     case "queen":
     {
     case "trumpless":
       break;
     case "jack":
       break;
     case "queen":
+      if(is_trump($a,$game) && $a<=$b)
+       return 1;
+      else if(is_trump($a,$game))
+       return 0;
+      else 
+       { /*$a is not a trump */
+         if(is_trump($b,$game))
+           return 0;
+         else
+           {
+             if(is_same_suite($a,$b,$game))
+               if($a<=$b)
+                 return 1;
+               else
+                 return 0;
+             
+             /* not the same suit and no trump: a wins */
+             return 1;
+           }     
+       }
       break;
     case "trump":
       break;
       break;
     case "trump":
       break;
@@ -46,35 +141,25 @@ function compare_cards($a,$b,$mode)
     case "heart":
       break;
     case "normal":
     case "heart":
       break;
     case "normal":
-      /* first map all cards to the odd number */
-      if(is_trump($a) && $a<=$b)
+      if($a==1 && $b==1) /* both 10 of hearts */
+       return 0;        /* second one wins. TODO should be able to set this at the start of a new game */
+      if(is_trump($a,$game) && $a<=$b)
        return 1;
        return 1;
-      else if(is_trump($a) && $a>$b)
+      else if(is_trump($a,$game))
        return 0;
       else 
        { /*$a is not a trump */
        return 0;
       else 
        { /*$a is not a trump */
-         if(is_trump($b))
+         if(is_trump($b,$game))
            return 0;
          else
            {
            return 0;
          else
            {
-             /* both clubs? */
-             if( is_club($a) && is_club($b))
-               if($a<=$b)
-                 return 1;
-               else
-                 return 0;
-             /* both spade? */
-             if( is_spade($a) && is_spade($b))
-               if($a<=$b)
-                 return 1;
-               else
-                 return 0;
-             /* both heart? */
-             if( is_heart($a) && is_heart($b))
+             if(is_same_suite($a,$b,$game))
                if($a<=$b)
                  return 1;
                else
                  return 0;
                if($a<=$b)
                  return 1;
                else
                  return 0;
+             
+             /* not the same suit and no trump: a wins */
              return 1;
            }     
        }
              return 1;
            }     
        }
@@ -92,9 +177,9 @@ function get_winner($p,$mode)
   /* find out who won */
   if( compare_cards($c1,$c2,$mode) && compare_cards($c1,$c3,$mode) && compare_cards($c1,$c4,$mode) )
     return 1;
   /* find out who won */
   if( compare_cards($c1,$c2,$mode) && compare_cards($c1,$c3,$mode) && compare_cards($c1,$c4,$mode) )
     return 1;
-  if( compare_cards($c2,$c3,$mode) && compare_cards($c2,$c4,$mode) )
+  if( !compare_cards($c1,$c2,$mode) && compare_cards($c2,$c3,$mode) && compare_cards($c2,$c4,$mode) )
     return 2;
     return 2;
-  if( compare_cards($c3,$c4,$mode) )
+  if( !compare_cards($c1,$c3,$mode) && !compare_cards($c2,$c3,$mode) && compare_cards($c3,$c4,$mode) )
     return 3;
   return 4;
 }
     return 3;
   return 4;
 }
index c849f69c4cbb068a3bc2297f9650ae83b8fb1012..29b3eb13898411cc516c4e9a651ee583329a7325 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,26 +1,21 @@
 <?php
 error_reporting(E_ALL);
 
 <?php
 error_reporting(E_ALL);
 
-include_once("config.php");     
+include_once("config.php");      
 include_once("output.php");      /* html output only */
 include_once("db.php");          /* database only */
 include_once("functions.php");   /* the rest */
 
 DB_open();
 
 include_once("output.php");      /* html output only */
 include_once("db.php");          /* database only */
 include_once("functions.php");   /* the rest */
 
 DB_open();
 
-/*****************  M A I N **************************/
 output_header();
 
 output_header();
 
-
 /* check if we want to start a new game */
 /* check if we want to start a new game */
-if(isset($_REQUEST["new"]))
-     output_form_for_new_game();
+if(myisset("new"))
+  output_form_for_new_game();
 
 /*check if everything is ready to set up a new game */
 
 /*check if everything is ready to set up a new game */
-else if( isset($_REQUEST["PlayerA"]) && 
-    isset($_REQUEST["PlayerB"]) && 
-    isset($_REQUEST["PlayerC"]) && 
-    isset($_REQUEST["PlayerD"]) )
+else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD" ))
   {
     $PlayerA = $_REQUEST["PlayerA"];
     $PlayerB = $_REQUEST["PlayerB"];
   {
     $PlayerA = $_REQUEST["PlayerA"];
     $PlayerB = $_REQUEST["PlayerB"];
@@ -49,7 +44,7 @@ else if( isset($_REQUEST["PlayerA"]) &&
     
     /* create game */
     $followup = NULL;
     
     /* create game */
     $followup = NULL;
-    if(isset($_REQUEST["followup"])) 
+    if(myisset("followup") )
       {
        $followup= $_REQUEST["followup"];
        mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', NULL, NULL,'pre','$followup' ,NULL)");
       {
        $followup= $_REQUEST["followup"];
        mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', NULL, NULL,'pre','$followup' ,NULL)");
@@ -109,12 +104,11 @@ else if( isset($_REQUEST["PlayerA"]) &&
   }    
 /* end set up a new game */
 
   }    
 /* end set up a new game */
 
-else if(isset($_REQUEST["me"]))
+else if(myisset("me"))
   {
   {
-     /* handle request from one specifig player,
-      * the hash is set on a per game base, so first just handle this game
-      * perhaps also show links to other games in a sidebar
-      */
+    /* handle request from one specific player,
+     * the hash is set on a per game base
+     */
     
     $me = $_REQUEST["me"];
 
     
     $me = $_REQUEST["me"];
 
@@ -123,7 +117,7 @@ else if(isset($_REQUEST["me"]))
     if(!$myid)
       {
        echo "Can't find you in the database, please check the url.<br />\n";
     if(!$myid)
       {
        echo "Can't find you in the database, please check the url.<br />\n";
-       echo "perhaps the game has been cancled.";
+       echo "perhaps the game has been cancled, check by login in <a href=\"$host\">here</a>.";
        exit();
       }
     
        exit();
       }
     
@@ -141,7 +135,7 @@ else if(isset($_REQUEST["me"]))
        DB_set_hand_status_by_hash($me,'init');
        break;
       case 'init':
        DB_set_hand_status_by_hash($me,'init');
        break;
       case 'init':
-       if( !isset($_REQUEST["in"]) || !isset($_REQUEST["update"]))
+       if( !myisset("in","update") )
          {
            DB_set_hand_status_by_hash($me,'start');
            echo "you need to answer both question";
          {
            DB_set_hand_status_by_hash($me,'start');
            echo "you need to answer both question";
@@ -183,17 +177,14 @@ else if(isset($_REQUEST["me"]))
        break;
        
       case 'check':
        break;
        
       case 'check':
-       echo "no checking at the moment... you need to play a normal game. At the moment you need to reload this page to finish the setup.";
-       if(!isset($_REQUEST["solo"])    || 
-          !isset($_REQUEST["wedding"]) ||
-          !isset($_REQUEST["poverty"]) ||
-          !isset($_REQUEST["nines"]) )
+       echo "no checking at the moment... you need to play a normal game.".
+         " At the moment you need to reload this page to finish the setup.";
+       if(!myisset("solo","wedding","poverty","nines") )
          {
          {
-           DB_set_hand_status_by_hash($me,'init');
-           /* problem: by setting it back to init, variables "in" and "update" are 
-            * not set, so the player will be send back to the start, after seeing his hand
-            */
-           echo "you need to fill out the form";
+           /* all these variables have a pre-selected default,
+            * so we should never get here,
+            * unless a user tries to cheat ;) */
+           echo "something went wrong...please contact the admin.";
          }
        else
          {
          }
        else
          {
@@ -237,17 +228,23 @@ else if(isset($_REQUEST["me"]))
 
        /* check if the game can start  */
        $userids = DB_get_all_userid_by_gameid($gameid);
 
        /* check if the game can start  */
        $userids = DB_get_all_userid_by_gameid($gameid);
-       $done=1;
+       $ok=1;
        foreach($userids as $user)
        foreach($userids as $user)
-         if(DB_get_hand_status_by_userid($user)!='play')
-           $done=0;
+         if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='play')
+           $ok=0;
 
 
-       if($done)
+       if($ok)
          DB_set_game_status_by_gameid($gameid,'play');
 
        break;
       case 'play':
          DB_set_game_status_by_gameid($gameid,'play');
 
        break;
       case 'play':
-      case 'gameover': /*both entries here,  so that the tricks are visible for both in case of 'play' there is a break later that skips the last part*/
+      case 'gameover': 
+       /* both entries here,  so that the tricks are visible for both.
+        * in case of 'play' there is a break later that skips the last part
+        */
+
+       /* display useful things in divs */
+       
        /* display local time */
        echo "<div class=\"time\">\n Local times:<table>";
        $users = array();
        /* display local time */
        echo "<div class=\"time\">\n Local times:<table>";
        $users = array();
@@ -255,35 +252,35 @@ else if(isset($_REQUEST["me"]))
        foreach($users as $user)
          {
            $offset = DB_get_user_timezone($user);
        foreach($users as $user)
          {
            $offset = DB_get_user_timezone($user);
-           $zone = return_timezone($offset);
+           $zone   = return_timezone($offset);
            date_default_timezone_set($zone);
            date_default_timezone_set($zone);
-           $name = DB_get_name_by_userid($user);
+           $name   = DB_get_name_by_userid($user);
            
            echo "<tr> <td>$name</td> <td>".date("Y-m-d H:i:s")."</td></tr>\n";
          };
        echo "</table>\n</div>\n";
            
            echo "<tr> <td>$name</td> <td>".date("Y-m-d H:i:s")."</td></tr>\n";
          };
        echo "</table>\n</div>\n";
+
        display_status();
 
        display_status();
 
-       /* display links to other games */
-       echo "<div class=\"over\">\n";
+       /* display links to the users status page */
        $result = mysql_query("SELECT email,password from User WHERE id='$myid'" );
        $result = mysql_query("SELECT email,password from User WHERE id='$myid'" );
-       $r = mysql_fetch_array($result,MYSQL_NUM);
-       echo "<form action=\"index.php\" method=\"post\">\n";
-       echo "  <input type=\"hidden\" name=\"email\" value=\"".$r[0]."\" />\n";
-       echo "  <input type=\"hidden\" name=\"password\" value=\"".$r[1]."\" />\n";
-       echo "  <input type=\"submit\" value=\"go to my user page\" />\n";
-       echo "</form>\n";
-       echo "</div>\n";
-
+       $r      = mysql_fetch_array($result,MYSQL_NUM);
+       output_link_to_user_page($r[0],$r[1]);
+         
        display_news();
 
        display_news();
 
+       /* end display useful things*/
+
+       /* has the game started? No, then just wait here...*/
        $gamestatus = DB_get_game_status_by_gameid($gameid);
        if($gamestatus == 'pre')
          {
            echo "you need to wait for the others... <br />";
        $gamestatus = DB_get_game_status_by_gameid($gameid);
        if($gamestatus == 'pre')
          {
            echo "you need to wait for the others... <br />";
-           break;
+           break; /* not sure this works... the idea is that you can 
+                   * only  play a card after everyone is ready to play */
          }
          }
-       /* get everythin relevant to display the tricks */
+       
+       /* get everything relevant to display the tricks */
        $result = mysql_query("SELECT Hand_Card.card_id as card,".
                              "       User.fullname as name,".
                              "       Hand.position as position,".
        $result = mysql_query("SELECT Hand_Card.card_id as card,".
                              "       User.fullname as name,".
                              "       Hand.position as position,".
@@ -388,7 +385,7 @@ else if(isset($_REQUEST["me"]))
          $myturn = 0;
 
        /* do we want to play a card? */
          $myturn = 0;
 
        /* do we want to play a card? */
-       if(isset($_REQUEST["card"]) && $myturn)
+       if(myisset("card") && $myturn)
          {
            $card   = $_REQUEST["card"];
            $handid = DB_get_handid_by_hash($me); 
          {
            $card   = $_REQUEST["card"];
            $handid = DB_get_handid_by_hash($me); 
@@ -412,7 +409,7 @@ else if(isset($_REQUEST["me"]))
                $playid = DB_play_card($trickid,$handcardid,$sequence);
 
                /*check for coment */
                $playid = DB_play_card($trickid,$handcardid,$sequence);
 
                /*check for coment */
-               if(isset($_REQUEST["comment"]))
+               if(myisset("comment"))
                  {
                    DB_insert_comment($_REQUEST["comment"],$playid,$myid);
                  };  
                  {
                    DB_insert_comment($_REQUEST["comment"],$playid,$myid);
                  };  
@@ -430,11 +427,11 @@ else if(isset($_REQUEST["me"]))
                    $mystatus='gameover';
                  }
                
                    $mystatus='gameover';
                  }
                
-               /* if all players are done, set game status also to game over */
+               /* if all players are done, set game status to game over */
                $userids = DB_get_all_userid_by_gameid($gameid);
                $done=1;
                foreach($userids as $user)
                $userids = DB_get_all_userid_by_gameid($gameid);
                $done=1;
                foreach($userids as $user)
-                 if(DB_get_hand_status_by_userid($user)!='gameover')
+                 if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='gameover')
                    $done=0;
 
                if($done)
                    $done=0;
 
                if($done)
@@ -474,7 +471,7 @@ else if(isset($_REQUEST["me"]))
                echo "couldn't find card <br />\n";
              }
          }
                echo "couldn't find card <br />\n";
              }
          }
-       else if(isset($_REQUEST["card"]) && !$myturn )
+       else if(myisset("card") && !$myturn )
          {
            echo "please wait until it is your turn! <br />\n";
          }
          {
            echo "please wait until it is your turn! <br />\n";
          }
@@ -483,19 +480,18 @@ else if(isset($_REQUEST["me"]))
        sort($mycards);
        echo "<div class=\"mycards\">\n";
        
        sort($mycards);
        echo "<div class=\"mycards\">\n";
        
-       if($myturn && !isset($_REQUEST["card"]))
+       if($myturn && !myisset("card"))
          {
            echo "Hello ".$myname.", it's your turn!  <br />\n";
            echo "Your cards are: <br />\n";
            echo "<form action=\"index.php?me=$me\" method=\"post\">\n";
            foreach($mycards as $card) 
              display_link_card($card);
          {
            echo "Hello ".$myname.", it's your turn!  <br />\n";
            echo "Your cards are: <br />\n";
            echo "<form action=\"index.php?me=$me\" method=\"post\">\n";
            foreach($mycards as $card) 
              display_link_card($card);
-?>
-    <br />A short comments:<input name="comment" type="text" size="30" maxlength="50" /> 
-    <input type="hidden" name="me" value="<?php echo $me; ?>" />
-    <input type="submit" value="move" />
- </form>
- <?php
+
+           echo "<br />\nA short comments:<input name=\"comment\" type=\"text\" size=\"30\" maxlength=\"50\" />\n";
+           echo "<input type=\"hidden\" name=\"me\" value=\"$me\" />\n";
+           echo "<input type=\"submit\" value=\"move\" />\n";
+           echo "</form>\n";
          }
        else if($mystatus=='play')
          {
          }
        else if($mystatus=='play')
          {
@@ -508,7 +504,7 @@ else if(isset($_REQUEST["me"]))
        /* check if we need to set status to 'gameover' is done during playing of the card */
        if($mystatus=='play')
          break;
        /* check if we need to set status to 'gameover' is done during playing of the card */
        if($mystatus=='play')
          break;
-   /* the following happens only when the gamestatus is 'gameover' */
+       /* the following happens only when the gamestatus is 'gameover' */
        /* check if game is over, display results */
        if(DB_get_game_status_by_gameid($gameid)=='play')
          {
        /* check if game is over, display results */
        if(DB_get_game_status_by_gameid($gameid)=='play')
          {
@@ -520,16 +516,7 @@ else if(isset($_REQUEST["me"]))
            
            /* suggest a new game with the same people in it, just rotated once */
            $names = DB_get_all_names_by_gameid($gameid);
            
            /* suggest a new game with the same people in it, just rotated once */
            $names = DB_get_all_names_by_gameid($gameid);
-           
-           echo "Do you want to continue playing?(This will start a new game, with the next person as dealer.)\n";
-           echo "<form action=\"index.php\" method=\"post\">\n";
-           echo "  <input type=\"hidden\" name=\"PlayerA\" value=\"".($names[1])."\" />\n";
-           echo "  <input type=\"hidden\" name=\"PlayerB\" value=\"".($names[2])."\" />\n";
-           echo "  <input type=\"hidden\" name=\"PlayerC\" value=\"".($names[3])."\" />\n";
-           echo "  <input type=\"hidden\" name=\"PlayerD\" value=\"".($names[0])."\" />\n";
-           echo "  <input type=\"hidden\" name=\"followup\" value=\"".($gameid)."\" />\n";
-           echo "  <input type=\"submit\" value=\"keep playing\" />\n";
-           echo "</form>\n";
+           output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
          }
        break;
       default:
          }
        break;
       default:
@@ -538,7 +525,7 @@ else if(isset($_REQUEST["me"]))
     exit();
   } 
 /* user status page */ 
     exit();
   } 
 /* user status page */ 
else if(isset($_REQUEST["email"]) && isset($_REQUEST["password"]))
   else if(myisset("email","password"))
   {
     /* test id and password, should really be done in one step */
     $email     = $_REQUEST["email"];
   {
     /* test id and password, should really be done in one step */
     $email     = $_REQUEST["email"];
@@ -576,6 +563,7 @@ else if(isset($_REQUEST["me"]))
        foreach ($names as $name)
          echo "$name <br />\n";
        echo "</p>\n";
        foreach ($names as $name)
          echo "$name <br />\n";
        echo "</p>\n";
+
        echo "<p>Want to start a new game? remember 4 names from the list above and visit ".
          "<a href=\"".$host."?new\">this page.</a></p>";
       }
        echo "<p>Want to start a new game? remember 4 names from the list above and visit ".
          "<a href=\"".$host."?new\">this page.</a></p>";
       }
@@ -586,42 +574,12 @@ else if(isset($_REQUEST["me"]))
     exit();
   }
 /* page for registration */
     exit();
   }
 /* page for registration */
-else if(isset($_REQUEST["register"]) )
+else if(myisset("register") )
   {
   {
-    echo "IMPORTANT: passwords are going over the net as clear text, so pick an easy password. No need to pick anything complicated here ;)<br /><br />";
-    echo "TODO: convert timezone into a menu<br />\n";
-    echo "TODO: figure out a way to handle passwrods <br />\n";
-?>
-        <form action="index.php" method="post">
-          <fieldset>
-            <legend>Register</legend>
-             <table>
-              <tr>
-               <td><label for="Rfullname">Full name:</label></td>
-              <td><input type="text" id="Rfullname" name="Rfullname" size="20" maxsize="30" /> </td>
-              </tr><tr>
-               <td><label for="Remail">Email:</label></td>
-              <td><input type="text" id="Remail" name="Remail" size="20" maxsize="30" /></td>
-              </tr><tr>
-              <td><label for="Rpassword">Password(will be displayed in cleartext on the next page):</label></td>
-               <td><input type="password" id="Rpassword" name="Rpassword" size="20" maxsize="30" /></td>
-              </tr><tr>
-              <td><label for="Rtimezone">Timezone:</label></td>
-               <td>
-                  <input type="text" id="Rtimezone" name="Rtimezone" size="4" maxsize="4" value="+1" />
-              </td>
-              </tr><tr>
-               <td colspan="2"> <input type="submit" value="register" /></td>
-             </table>
-          </fieldset>
-        </form>
-<?php
+    output_register();
   }
 /* new user wants to register */
   }
 /* new user wants to register */
-else if(isset($_REQUEST["Rfullname"]) && 
-       isset($_REQUEST["Remail"]   ) && 
-       isset($_REQUEST["Rpassword"]) && 
-       isset($_REQUEST["Rtimezone"]) )
+ else if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
   {
        $ok=1;
        if(DB_get_userid_by_name($_REQUEST["Rfullname"]))
   {
        $ok=1;
        if(DB_get_userid_by_name($_REQUEST["Rfullname"]))
@@ -642,15 +600,15 @@ else if(isset($_REQUEST["Rfullname"]) &&
                      ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL)"); 
            
            if($r)
                      ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL)"); 
            
            if($r)
-             echo "  added you to the database";
+             echo " added you to the database";
            else
              echo " something went wrong";
          }
   }
 /* default login page */
 else
            else
              echo " something went wrong";
          }
   }
 /* default login page */
 else
-  { /* no new game, not in a game */
-    home_page();
+  { 
+    output_home_page();
   }
 
 output_footer();
   }
 
 output_footer();
index 68cfb28f7fa96fdc3eda723c448853ec78dcf999..5b796813df5738af4770f7bc69e5b5897f79a5f6 100644 (file)
@@ -22,6 +22,66 @@ function display_news()
   return;
 }
 
   return;
 }
 
+function output_link_to_user_page($email,$password)
+{
+  echo "<div class=\"over\">\n";
+  echo "<form action=\"index.php\" method=\"post\">\n";
+  echo "  <input type=\"hidden\" name=\"email\" value=\"".$email."\" />\n";
+  echo "  <input type=\"hidden\" name=\"password\" value=\"".$password."\" />\n";
+  echo "  <input type=\"submit\" value=\"go to my user page\" />\n";
+  echo "</form>\n";
+  echo "</div>\n";
+  
+  return;
+}
+
+function output_register()
+{
+  echo "IMPORTANT: passwords are going over the net as clear text, so pick an easy password. No need to pick anything complicated here ;)<br /><br />";
+  echo "TODO: convert timezone into a menu<br />\n";
+  echo "TODO: figure out a way to handle passwrods <br />\n";
+  ?>
+        <form action="index.php" method="post">
+          <fieldset>
+            <legend>Register</legend>
+             <table>
+              <tr>
+               <td><label for="Rfullname">Full name:</label></td>
+              <td><input type="text" id="Rfullname" name="Rfullname" size="20" maxsize="30" /> </td>
+              </tr><tr>
+               <td><label for="Remail">Email:</label></td>
+              <td><input type="text" id="Remail" name="Remail" size="20" maxsize="30" /></td>
+              </tr><tr>
+              <td><label for="Rpassword">Password(will be displayed in cleartext on the next page):</label></td>
+               <td><input type="password" id="Rpassword" name="Rpassword" size="20" maxsize="30" /></td>
+              </tr><tr>
+              <td><label for="Rtimezone">Timezone:</label></td>
+               <td>
+                  <input type="text" id="Rtimezone" name="Rtimezone" size="4" maxsize="4" value="+1" />
+              </td>
+              </tr><tr>
+               <td colspan="2"> <input type="submit" value="register" /></td>
+             </table>
+          </fieldset>
+        </form>
+<?php
+  return;
+}                                         
+
+function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid)
+{
+  echo "Do you want to continue playing?(This will start a new game, with the next person as dealer.)\n";
+  echo "<form action=\"index.php\" method=\"post\">\n";
+  echo "  <input type=\"hidden\" name=\"PlayerA\" value=\"$playerA\" />\n";
+  echo "  <input type=\"hidden\" name=\"PlayerB\" value=\"$playerB\" />\n";
+  echo "  <input type=\"hidden\" name=\"PlayerC\" value=\"$playerC\" />\n";
+  echo "  <input type=\"hidden\" name=\"PlayerD\" value=\"$playerD\" />\n";
+  echo "  <input type=\"hidden\" name=\"followup\" value=\"$oldgameid\" />\n";
+  echo "  <input type=\"submit\" value=\"keep playing\" />\n";
+  echo "</form>\n";
+
+  return;
+}
 
 function output_form_for_new_game()
 {
 
 function output_form_for_new_game()
 {
@@ -69,7 +129,7 @@ function check_for_sickness($me,$mycards)
 
     do you want to play solo? 
     <select name="solo" size="1">
 
     do you want to play solo? 
     <select name="solo" size="1">
-      <option>No</option>
+      <option selected="selected">No</option>
       <option>trumpless</option>
       <option>trump</option>
       <option>queen</option>
       <option>trumpless</option>
       <option>trump</option>
       <option>queen</option>
@@ -85,7 +145,7 @@ function check_for_sickness($me,$mycards)
    echo "wedding?";
   if(check_wedding($mycards))
      {
    echo "wedding?";
   if(check_wedding($mycards))
      {
-       echo " yes<input type=\"radio\" name=\"wedding\" value=\"yes\" />";
+       echo " yes<input type=\"radio\" name=\"wedding\" value=\"yes\" checked=\"checked\" />";
        echo " no <input type=\"radio\" name=\"wedding\" value=\"no\" /> <br />\n";
      }
    else
        echo " no <input type=\"radio\" name=\"wedding\" value=\"no\" /> <br />\n";
      }
    else
@@ -96,7 +156,7 @@ function check_for_sickness($me,$mycards)
   echo "do you have poverty?";
   if(count_trump($mycards)<4)
     {
   echo "do you have poverty?";
   if(count_trump($mycards)<4)
     {
-      echo " yes<input type=\"radio\" name=\"poverty\" value=\"yes\" />";
+      echo " yes<input type=\"radio\" name=\"poverty\" value=\"yes\" checked=\"checked\" />";
       echo " no <input type=\"radio\" name=\"poverty\" value=\"no\" /> <br />\n";
     }
   else
       echo " no <input type=\"radio\" name=\"poverty\" value=\"no\" /> <br />\n";
     }
   else
@@ -107,7 +167,7 @@ function check_for_sickness($me,$mycards)
    echo "do you have too many nines?";
   if(count_nines($mycards)>4)
      {
    echo "do you have too many nines?";
   if(count_nines($mycards)>4)
      {
-       echo " yes<input type=\"radio\" name=\"nines\" value=\"yes\" />";
+       echo " yes<input type=\"radio\" name=\"nines\" value=\"yes\" checked=\"checked\" />";
        echo " no <input type=\"radio\" name=\"nines\" value=\"no\" /> <br />\n";
      }
    else
        echo " no <input type=\"radio\" name=\"nines\" value=\"no\" /> <br />\n";
      }
    else
@@ -143,7 +203,7 @@ function check_want_to_play($me)
   return;
 }
 
   return;
 }
 
-function home_page()
+function output_home_page()
 {
 ?>
     <p> If you want to play a game of Doppelkopf, you found the right place ;) </p>
 {
 ?>
     <p> If you want to play a game of Doppelkopf, you found the right place ;) </p>
@@ -213,6 +273,8 @@ function output_header()
   return;
 }
 
   return;
 }
 
+
+
 function output_footer()
 {
   echo "</body>\n";
 function output_footer()
 {
   echo "</body>\n";