code cleanup
[e-DoKo.git] / functions.php
index 75f1fedc28622bc962d5c56c9ab750f39a2278c2..39cc2a5555c8d9ddc23503b01a1f33bd4263bad9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-function mymail($To,$Subject,$message)
+function mymail($To,$Subject,$message,$header="")
 {  
   global $debug;
 
@@ -9,12 +9,17 @@ function mymail($To,$Subject,$message)
       $message = str_replace("\n","<br />\n",$message);
       $message = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                      "<a href=\"\\0\">\\0</a>", $message);
-      //$message = ereg_replace("(http.*)[ <>]","<a href=\"\\1\">\\1 </a>",$message);
       
-      echo "<br />To: $To<br />Subject: $Subject <br />$message<br />\n";
+      echo "<br />To: $To<br />";
+      if($header != "") 
+       echo $header."<br />";
+      echo "Subject: $Subject <br />$message<br />\n";
     }
   else
-    mail($To,$Subject,$message);
+    if($header != "")
+      mail($To,$Subject,$message,$header);
+    else
+      mail($To,$Subject,$message);
   return;
 }
 
@@ -643,7 +648,48 @@ function sort_comp($a,$b)
 
 function can_call($what,$hash)
 {
-  return 1;
+  global $RULES;
+
+  /*TODO: check if this already has been call by teammate */
+  
+  $gameid   = DB_get_gameid_by_hash($hash);
+  $gametype = DB_get_gametype_by_gameid($gameid);
+
+  $NRcards  = count(DB_get_hand($hash));
+  
+  $NRallcards = 0;
+  for ($i=1;$i<5;$i++)
+    {
+      $user         = DB_get_hash_from_game_and_pos($gameid,$i);
+      $NRallcards  += count(DB_get_hand($user));
+    };
+  
+  /* in case of a wedding, everything will be delayed by an offset */
+  $offset = 0;
+  if($gametype=="wedding")
+    {
+      $offset = DB_get_sickness_by_gameid($gameid); 
+      if ($offset <0) /* not resolved */
+       return 0;
+    };
+
+  switch ($RULES["call"])
+    {
+    case "1st-own-card":
+      if( 4-($what/30) >= 12 - ($NRcards + $offset))
+       return 1;
+      break;
+    case "5th-card":
+      if( 27+4*($what/30) <= $NRallcards + $offset*4)
+       return 1;
+      break;
+    case "9-cards":
+      if( ($what/10) <= $NRcards + $offset)
+       return 1;
+      break;
+    }
+
+  return 0;
 }
 
-?>
\ No newline at end of file
+?>