fixed more language settings in email; marked more strings for translation
[e-DoKo.git] / include / game.php
index ec1be1254f8411dd8655d90355240eb09f8a767b..16359ed033362fa43f2e8ead81378b8e0acc5b2b 100644 (file)
@@ -57,9 +57,9 @@ $playid   = DB_get_current_playid($gameid); /* might be -1 at beginning of the g
 
 /* get prefs and save them in a variable*/
 $PREF = DB_get_PREF(isset($_SESSION['id'])?$_SESSION['id']:$myid);
-/* set language chosen in preferences, will become active on the next reload (see index.php)*/
+/* set language chosen in preferences */
 $_SESSION['language'] = $PREF['language'];
-
+set_language($PREF['language']);
 
 /* get rule set for this game */
 $RULES = DB_get_RULES($gameid);
@@ -71,7 +71,10 @@ $GT         = $gametype;
 if($gametype=='solo')
   {
     $gametype = DB_get_solo_by_gameid($gameid);
-    $GT  = $gametype.' '.$GT;
+    if($gametype=='silent')
+      $GT = 'normal';
+    else
+      $GT = $gametype.' '.$GT;
   }
 
 /* do we need to worry about Schweinchen?
@@ -334,9 +337,10 @@ if($session)
          echo "&nbsp;&nbsp;&nbsp;<a href=\"{$INDEX}?action=game&amp;me=$previous\">"._('previous')."</a> \n";
        if($next)
          echo "&nbsp;&nbsp;&nbsp;<a href=\"{$INDEX}?action=game&amp;me=$next\">"._('next')."</a> \n";
+
+       if($j != $i )
+         echo "&nbsp;&nbsp;&nbsp;<a href=\"{$INDEX}?action=game&amp;me=$lasthash\">"._('last')."</a> \n";
       }
-    if($j != $i )
-      echo "&nbsp;&nbsp;&nbsp;<a href=\"{$INDEX}?action=game&amp;me=$lasthash\">last</a> \n";
 
     echo "\n</div>\n";
   }
@@ -363,7 +367,7 @@ switch($mystatus)
   case 'check':
     /* output sickness of other playes, in case they already selected and are sitting in front of the current player */
     echo "\n<ul class=\"tricks\">\n";
-    echo "  <li onclick=\"hl('0');\" class=\"current\"><a href=\"#\">Pre</a>\n";
+    echo "  <li onclick=\"hl(0);\" class=\"active\" id=\"tricks0\"><a href=\"#\">Pre</a>\n";
 
     echo "    </li>\n</ul>\n";  /* end div trick, end li trick , end tricks*/
     /* end displaying sickness */
@@ -377,7 +381,7 @@ switch($mystatus)
 
        $mygametype =  DB_get_gametype_by_gameid($gameid);
 
-       echo "  <li onclick=\"hl('0');\" class=\"current\"><a href=\"#\">Pre</a>\n";
+       echo "  <li onclick=\"hl(0);\" class=\"active\"><a href=\"#\">Pre</a>\n";
        echo "  </li>\n</ul>\n\n";  /* end div trick, end li trick , end ul tricks */
       }
     /* end output pre-game trick */
@@ -392,7 +396,7 @@ switch($mystatus)
     $mygamesolo = DB_get_solo_by_gameid($gameid);
     if($mygametype != 'normal') /* only show when needed */
       if(!( $mygametype == 'solo' && $mygamesolo == 'silent') )
-       echo "  <li onclick=\"hl('0');\" class=\"old\"><a href=\"#\">Pre</a></li>\n";
+       echo "  <li onclick=\"hl(0);\" class=\"old\"><a href=\"#\">Pre</a></li>\n";
 
     $result = DB_query('SELECT Trick.id '.
                       'FROM Trick '.
@@ -407,19 +411,19 @@ switch($mystatus)
       {
        $trick=$r[0];
        if($trick!=$lasttrick)
-         echo "  <li onclick=\"hl('$trickNR');\" class=\"old\"><a href=\"#\">"._('Trick')." $trickNR</a></li>\n";
+         echo "  <li onclick=\"hl($trickNR);\" id=\"tricks$trickNR\"><a href=\"#\">$trickNR</a></li>\n";
        else if($trick==$lasttrick)
-         echo "  <li onclick=\"hl('$trickNR');\" class=\"current\"><a href=\"#\">"._('Trick')." $trickNR</a></li>\n";
+         echo "  <li onclick=\"hl($trickNR);\" id=\"tricks$trickNR\" class=\"active\"><a href=\"#\">$trickNR</a></li>\n";
        $trickNR++;
       }
 
     /* if game is over, also output link to Score tab */
     if($mystatus=='gameover' && DB_get_game_status_by_gameid($gameid)=='gameover' )
-      echo "  <li onclick=\"hl('13');\" class=\"current\"><a href=\"#\">"._('Score')."</a></li>\n";
+      echo "  <li onclick=\"hl(13);\" id=\"tricks13\" class=\"active\"><a href=\"#\">"._('Score')."</a></li>\n";
 
     /* output previous/next buttons */
-    echo '  <li onclick="hl_prev();" ><button>'._('prev')."</button></li>\n";
-    echo '  <li onclick="hl_next();" ><button>'._('next')."</button></li>\n";
+    echo '  <li onclick="hl_prev();" id="prevtr"><a href="#">'._('prev')."</a></li>\n";
+    echo '  <li onclick="hl_next();" id="nexttr"><a href="#">'._('next')."</a></li>\n";
 
     echo "</ul>\n\n";
 
@@ -488,12 +492,15 @@ switch($mystatus)
        if(!$skip && $_REQUEST['in'] == 'no' )
          {
            /* cancel the game */
-           $email_message = "Hello, \n\n".
-             "the game has been canceled due to the request of one of the players.\n\n";
-
            $userids = DB_get_all_userid_by_gameid($gameid);
            foreach($userids as $user)
+           {
+             set_language($user,'uid');
+             $email_message = _("Hello, \n\n".
+               "the game has been canceled due to the request of one of the players.")."\n\n";
              mymail($user,$gameid,GAME_CANCELED,$email_message);
+           };
+           set_language($myid,'uid');
 
            $card_status = CARDS_EMPTY;
 
@@ -690,36 +697,47 @@ switch($mystatus)
            /* cancel game */
            if($cancelsick == 'nines')
              {
-               $email_message = 'The game has been canceled because '.DB_get_name('userid',$cancel).
-                 " has five or more nines and nobody is playing solo.\n\n".
-                 "To redeal either start a new game or, in case the game was part of a tournament,\n".
-                 "go to the last game and use the link at the bottom of the page to redeal.\n\n";
-
                /* update game status */
                cancel_game('nines',$gameid);
 
-               $messages[] = 'The game has been canceled because '.DB_get_name('userid',$cancel).
-                 " has five or more nines and nobody is playing solo.";
+               $messages[] = sprintf(_('The game has been canceled because %s'.
+                 ' has five or more nines and nobody is playing solo.'),DB_get_name('userid',$cancel) );
              }
            else if ($cancelsick == 'lowtrump')
              {
-               $email_message = 'The game has been canceled because '.DB_get_name('userid',$cancel).
-                 " has low trump and nobody is playing solo.\n\n".
-                 "To redeal either start a new game or, in case the game was part of a tournament,\n".
-                 "go to the last game and use the link at the bottom of the page to redeal.\n\n";
-
                /* update game status */
                cancel_game('lowtrump',$gameid);
 
-               $messages[] = 'The game has been canceled because '.DB_get_name('userid',$cancel).
-                 ' has low trump and nobody is playing solo.';
+               $messages[] = sprintf(('The game has been canceled because %s'.
+                 ' has low trump and nobody is playing solo.'),DB_get_name('userid',$cancel));
              };
 
            $userids = DB_get_all_userid_by_gameid($gameid);
            foreach($userids as $user)
              {
+               set_language($user,'uid');
+               if($cancelsick == 'nines')
+               {
+                 $email_message = sprintf(_('The game has been canceled because %s'.
+                   ' has five or more nines and nobody is playing solo.'),DB_get_name('userid',$cancel) ).
+                   "\n\n".
+                   _("To redeal either start a new game or, in case the game was part of a tournament,\n".
+                   "go to the last game and use the link at the bottom of the page to redeal.").
+                   "\n\n";
+               }
+               else if ($cancelsick == 'lowtrump')
+               {
+                 $email_message = sprintf(_('The game has been canceled because %s'.
+                   " has low trump and nobody is playing solo."),DB_get_name('userid',$cancel)).
+                   "\n\n".
+                   _("To redeal either start a new game or, in case the game was part of a tournament,\n".
+                   "go to the last game and use the link at the bottom of the page to redeal.").
+                   "\n\n";
+               };
+
                mymail($user,$gameid, GAME_CANCELED, $email_message);
              }
+             set_language($myid,'uid');
 
            break;
          }
@@ -852,9 +870,11 @@ switch($mystatus)
                if(DB_get_email_pref_by_hash($hash)!='emailaddict')
                  {
                    /* email startplayer */
-                   $email_message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
-                     "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
+                   set_language($userid,'uid');
+                   $email_message = sprintf(_("It's your turn now in game %s.\n".
+                     "Use this link to play a card:"),DB_format_gameid($gameid))." ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
                    mymail($userid,$gameid,GAME_READY,$email_message);
+                   set_language($myid,'uid');
                  }
              }
            else
@@ -877,9 +897,11 @@ switch($mystatus)
                if(DB_get_email_pref_by_hash($hash)!='emailaddict')
                  {
                    /* email player for poverty */
-                   $email_message = "Poverty: It's your turn now in game ".DB_format_gameid($gameid).".\n".
-                     'Use this link to play a card: '.$HOST.$INDEX."?action=game&me=".$whohash."\n\n" ;
+                   set_language($whoid,'uid');
+                   $email_message = sprintf(_("Poverty: It's your turn now in game %s.\n".
+                     'Use this link to play a card: '),DB_format_gameid($gameid)).$HOST.$INDEX."?action=game&me=".$whohash."\n\n" ;
                    mymail($whoid,$gameid,GAME_POVERTY,$email_message);
+                   set_language($myid,'uid');
                  }
              }
          }
@@ -948,9 +970,11 @@ switch($mystatus)
            if(DB_get_email_pref_by_hash($hash)!='emailaddict')
              {
                /* email startplayer */
-               $email_message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
-                 'Use this link to play a card: '.$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
+               set_language($userid,'uid');
+               $email_message = sprintf(_("It's your turn now in game %s.\n".
+                 'Use this link to play a card: '),DB_format_gameid($gameid)).$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
                mymail($userid,$gameid,GAME_READY,$email_message);
+               set_language($myid,'uid');
              }
          }
        else
@@ -1021,14 +1045,16 @@ switch($mystatus)
            /* no more people to ask, need to cancel the game */
            if($mypos+$next>4)
              {
-               $email_message = "Hello, \n\n".
-                 'Game '.DB_format_gameid($gameid)." has been canceled since nobody wanted to take the trump.\n\n";
-
                $userids = DB_get_all_userid_by_gameid($gameid);
                foreach($userids as $user)
                  {
+                   set_language($user,'uid');
+                   $email_message = sprintf("Hello, \n\n".
+                     'Game %s has been canceled since nobody wanted to take the trump.',DB_format_gameid($gameid)).
+                     "\n\n";
                    mymail($user, $gameid, GAME_CANCELED_POVERTY, $email_message);
                  }
+               set_language($myid,'uid');
 
                /* update game status */
                cancel_game('trump',$gameid);
@@ -1045,9 +1071,11 @@ switch($mystatus)
                DB_set_player_by_gameid($gameid,$userid);
                DB_set_hand_status_by_hash($userhash,'poverty');
 
-               $email_message = "Someone has poverty, it's your turn to decide, if you want to take the trump. Please visit:".
+               set_language($userid,'uid');
+               $email_message = _("Someone has poverty, it's your turn to decide, if you want to take the trump. Please visit:").
                  " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ;
                mymail($userid,$gameid, GAME_POVERTY, $email_message);
+               set_language($myid,'uid');
              }
 
            $cards_status = CARDS_SHOW;
@@ -1138,9 +1166,11 @@ switch($mystatus)
                    DB_set_player_by_gameid($gameid,$userid);
                    DB_set_hand_status_by_hash($userhash,'poverty');
 
-                   $email_message = "Two people have poverty, it's your turn to decide, if you want to take the trump. Please visit:".
+                   set_langauge($userid,'uid');
+                   $email_message = _("Two people have poverty, it's your turn to decide, if you want to take the trump. Please visit:").
                      " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ;
                    mymail($userid,$gameid, GAME_DPOVERTY, $email_message);
+                   set_language($myid,'uid');
                  }
              }
            $messages[] = "Please, <a href=\"$INDEX?action=game&amp;me=$me\">continue</a> here";
@@ -1210,9 +1240,11 @@ switch($mystatus)
            if($hash!=$me && DB_get_email_pref_by_hash($hash)!='emailaddict')
              {
                /* email startplayer) */
-               $email_message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
-                 'Use this link to play a card: '.$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
+               set_language($userid,'uid');
+               $email_message = sprintf(_("It's your turn now in game %s.\n".
+                 'Use this link to play a card: '),DB_format_gameid($gameid)).$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
                mymail($userid,$gameid, GAME_READY, $email_message);
+               set_language($myid,'uid');
              }
          }
       }
@@ -1662,12 +1694,14 @@ switch($mystatus)
                $userid    = DB_get_userid('hash',$next_hash);
                DB_set_player_by_gameid($gameid,$userid);
 
-               $email_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.$INDEX.'?action=game&me='.$next_hash."\n\n" ;
                if( DB_get_email_pref_by_uid($userid)!='emailaddict' )
                  {
+                   set_language($userid,'uid');
+                   $email_message = sprintf(_("A card has been played in game %s.\n\n".
+                     "It's your turn  now.\n".
+                     'Use this link to play a card: '),DB_format_gameid($gameid)).$HOST.$INDEX.'?action=game&me='.$next_hash."\n\n" ;
                    mymail($userid,$gameid, GAME_YOUR_TURN, $email_message);
+                   set_language($myid,'uid');
                  }
              }
            else /* send out final email */
@@ -1906,7 +1940,7 @@ switch($mystatus)
                      $link = "$name: ".$HOST.$INDEX."?action=game&me=".$hash."\n" ;
                      $email_message .= $link;
                    }
-                 $email_message .= "\n\n (you can use reply all on this email to reach all the players.)\n\n";
+                 $email_message .= "\n\n (use in-game comments to reach all players)\n\n";
                  mymail($userids,$gameid, GAME_OVER, $email_message);
              }
          }