Merge branch 'master' of http://nubati.net/git/e-DoKo
[e-DoKo.git] / include / game.php
index 8d59103707e20d9166ef976a9a0b084fcc046f70..25e2b2ff8166d24097d722dd81273d49b5063d38 100644 (file)
@@ -9,9 +9,7 @@ if(!isset($HOST))
 if(!myisset("me"))
   {
     echo "Hmm, you really shouldn't mess with the urls.<br />\n";
-    output_footer();
-    DB_close();
-    exit();
+    return;
   }
 $me = $_REQUEST["me"];
 
@@ -21,17 +19,11 @@ if(!$myid)
   {
     echo "Can't find you in the database, please check the url.<br />\n";
     echo "perhaps the game has been canceled, check by login in <a href=\"$INDEX\">here</a>.";
-    output_footer();
-    DB_close();
-    exit();
+    return;
   }
 
 global $GAME,$RULES,$CARDS;
 
-/* user might get here by clicking on the link in an email, so session might not be set */
-if(isset($_SESSION["name"]))
-  output_status($_SESSION["name"]);
-
 /* the user has done something, update the timestamp */
 DB_update_user_timestamp($myid);
 
@@ -118,6 +110,18 @@ if( $mystatus!='gameover'  )
 };
 output_user_notes($myid,$gameid,$mystatus);
 
+/* handle calls */
+if(myisset("call")  && $_REQUEST["call"]  == "120" && can_call(120,$me))
+  $result = DB_query("UPDATE Hand SET point_call='120' WHERE hash='$me' ");
+if(myisset("call")  && $_REQUEST["call"]  == "90" && can_call(90,$me))
+  $result = DB_query("UPDATE Hand SET point_call='90'  WHERE hash='$me' ");
+if(myisset("call")  && $_REQUEST["call"]  == "60" && can_call(60,$me))
+  $result = DB_query("UPDATE Hand SET point_call='60'  WHERE hash='$me' ");
+if(myisset("call")  && $_REQUEST["call"]  == "30" && can_call(30,$me))
+  $result = DB_query("UPDATE Hand SET point_call='30'  WHERE hash='$me' ");
+if(myisset("call")  && $_REQUEST["call"]  == "0" && can_call(0,$me))
+  $result = DB_query("UPDATE Hand SET point_call='0'   WHERE hash='$me' ");
+
 /* output extra division in case this game is part of a session */
 if($session)
   {
@@ -489,9 +493,7 @@ switch($mystatus)
 
            echo "The game has been canceled because ".DB_get_name('userid',$nines).
              " has five or more nines and nobody is playing solo.\n";
-           output_footer();
-           DB_close();
-           exit();
+           return;
          }
        else if($poverty==1) /* one person has poverty */
          {
@@ -820,9 +822,7 @@ switch($mystatus)
                DB_cancel_game($me);
 
                echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid)." has been canceled.<br /><br /></p>";
-               output_footer();
-               DB_close();
-               exit();
+               return;
              }
            else
              {
@@ -1190,18 +1190,6 @@ switch($mystatus)
            /* update Game timestamp */
            DB_update_game_timestamp($gameid);
 
-           /* check if a call was made, must do this before we set the card status to played */
-           if(myisset("call")  && $_REQUEST["call"]  == "120" && can_call(120,$me))
-             $result = DB_query("UPDATE Hand SET point_call='120' WHERE hash='$me' ");
-           if(myisset("call")  && $_REQUEST["call"]  == "90" && can_call(90,$me))
-             $result = DB_query("UPDATE Hand SET point_call='90'  WHERE hash='$me' ");
-           if(myisset("call")  && $_REQUEST["call"]  == "60" && can_call(60,$me))
-             $result = DB_query("UPDATE Hand SET point_call='60'  WHERE hash='$me' ");
-           if(myisset("call")  && $_REQUEST["call"]  == "30" && can_call(30,$me))
-             $result = DB_query("UPDATE Hand SET point_call='30'  WHERE hash='$me' ");
-           if(myisset("call")  && $_REQUEST["call"]  == "0" && can_call(0,$me))
-             $result = DB_query("UPDATE Hand SET point_call='0'   WHERE hash='$me' ");
-
            /* mark card as played */
            DB_query("UPDATE Hand_Card SET played='true' WHERE hand_id='$handid' AND card_id=".
                     DB_quote_smart($card));
@@ -1894,8 +1882,4 @@ switch($mystatus)
              output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
          }
       }
-
-    output_footer();
-    DB_close();
-    exit();
 ?>
\ No newline at end of file