X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Foutput.php;h=bbdc99f1e0d09b7f3b809e37a0f3a9559adceea1;hp=9564b823cbc121f0a7c896587a7cba9eb0e1e188;hb=a76008b94138f041b5a8f2426a55d59142152d02;hpb=8114e8920b56b4f078d2b3ff8d283cdf4d18c679
diff --git a/include/output.php b/include/output.php
index 9564b82..bbdc99f 100644
--- a/include/output.php
+++ b/include/output.php
@@ -1,4 +1,23 @@
+ *
+ * This file is part of e-DoKo.
+ *
+ * e-DoKo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * e-DoKo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with e-DoKo. If not, see .
+ *
+ */
+
/* make sure that we are not called from outside the scripts,
* use a variable defined in config.php to check this
*/
@@ -12,16 +31,18 @@ function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid)
global $RULES;
echo "
\n\n
";
return;
}
@@ -32,15 +53,15 @@ function output_form_for_new_game($names)
* after we selected them to make sure that each name
* only shows up once
*/
-?>
-
-';
+ echo '';
+ echo ' '._('Rules').' ';
+ echo ' '._('Gameplay-related').' ';
+ echo ' '._('Ten of hearts').': ';
+ echo ' ';
+ echo ' ';
+ echo ' '._('just normal non-trump').' ';
+ echo ' '._('first ten of hearts wins the trick').' ';
+ echo ' '.('second ten of hearts wins the trick').' ';
+ echo ' ';
+ echo '
';
+ echo ' '._('Schweinchen (both foxes), only in normal games or silent solos').': ';
+ echo ' ';
+ echo ' ';
+ echo ' '._('none').' ';
+ echo ' '._('both become highest trump (automatic call at beginning of the game)').' ';
+ echo ' '._('first one normal, second one becomes highest (call during the game)').' ';
+ echo ' ',_('second one become highest only in case re/contra was announced');
+ echo ' ';
+ echo ' ';
+ echo '
';
+ echo ' '._('Call Re/Contra, etc.').': ';
+ echo ' ';
+ echo ' ';
+ echo ' '._('Can call re/contra on the first own card played, 90 on the second, etc.').' ';
+ echo ' '._('Can call re/contra until 5th card is played, 90 until 9th card is played, etc.').' ';
+ echo ' '._('Can call re/contra until 5th card is played, 90 if player still has 9 cards, etc.').' ';
+ echo ' ';
+ echo '
';
+ echo ' '._('Low trump').' ';
+ echo ' ';
+ echo ' '._('Player can\'t trump a fox, that is none of his trump is higher than a fox.');
+ echo ' ';
+ echo ' '._('The trump will be treated as poverty and offered to another player.').' ';
+ echo ' '._('The game will be canceled unless there is a solo.').' ';
+ echo ' '._('Bad luck, the player needs to play a normal game.').' ';
+ echo ' ';
+ echo '
';
+ echo ' '._('Scoring-related').' ';
+ echo ' '._('(not yet implemented)').' ';
+ echo '
';
+ echo ' ';
+
}
-function output_table($data,$caption="",$class="")
+function output_table($data,$caption="",$class="",$id="")
{
+
+ $HTML = "\n\n";
- else
- $HTML = "\n\n";
+ $HTML.= " class=\"$class\"";
+ if($id!="")
+ $HTML.= " id=\"$id\"";
+
+ $HTML.=">\n";
$i=0;
@@ -130,10 +166,7 @@ function output_table($data,$caption="",$class="")
else
{
if($i==1) $HTML .= " \n";
- if($i % 2)
- $HTML .= " ";
- else
- $HTML .= " ";
+ $HTML .= " ";
}
foreach($record as $point)
{
@@ -169,70 +202,92 @@ function display_card($card,$dir="english")
return;
}
-function display_link_card($card,$dir="english",$type="card")
+function display_link_card($card,$dir="english",$type="card", $selected=0)
{
+ if($selected)
+ $selected = 'checked="checked"';
+
if( $card/2 - (int)($card/2) == 0.5)
- echo "\n";
+ echo " \n";
else
- echo "\n";
+ echo " \n";
return;
}
function output_check_for_sickness($me,$mycards)
{
- ?>
- Thanks for joining the game...
-
- do you want to play solo?
-
- No
- trumpless
- trump
- queen
- jack
- club
- spade
- heart
-
-
-
- '._('Thanks for joining the game').'... ';
+ echo '';
+ echo ' '._('Do you want to play solo?').'';
+ echo ' ';
+ echo ' '.'No'.' ';
+ echo ' '._('trumpless').' ';
+ echo ' '._('trump').' ';
+ echo ' '._('queen').' ';
+ echo ' '._('jack').' ';
+ echo ' '._('club').' ';
+ echo ' '._('spade').' ';
+ echo ' '._('heart').' ';
+ echo ' ';
+ echo ' ';
+
+ echo _('Wedding?');
if(check_wedding($mycards))
{
- echo " yes ";
- echo " no \n";
+ echo ' '._('yes')." ";
+ echo ' '._('no')." \n";
}
else
{
- echo " no \n";
+ echo ' '._('no')." \n";
};
- echo "Do you have poverty?";
+ echo _('Do you have poverty?');
if(count_trump($mycards)<4)
{
- echo " yes ";
- echo " no \n";
+ echo ' '._('yes')." ";
+ echo ' '._('no')." \n";
}
else
{
- echo " no \n";
+ echo ' '._('no')." \n";
};
- echo "Do you have too many nines?";
+ echo _('Do you have too many nines?');
if(count_nines($mycards)>4)
{
- echo " yes ";
- echo " no \n";
+ echo ' '._('yes')." ";
+ echo ' '._('no')." \n";
}
else
{
- echo " no \n";
+ echo ' '._('no')." \n";
};
+ if($RULES['lowtrump']=='cancel' || $RULES['lowtrump']=='poverty')
+ {
+ if($RULES['lowtrump']=='cancel')
+ echo _('Do you have low trump (cancel game)?');
+ else
+ echo _('Do you have low trump (poverty)?');
+
+ if(check_low_trump($mycards))
+ {
+ echo ' '._('yes')." ";
+ echo ' '._('no')." \n";
+ }
+ else
+ {
+ echo ' '._('no')." \n";
+ };
+ }
+ else
+ echo " ";
+
echo " \n";
- echo " \n";
+ echo " \n";
echo "
\n";
@@ -241,43 +296,72 @@ function output_check_for_sickness($me,$mycards)
function output_form_calls($me,$myparty)
{
- if( can_call(120,$me) )
+ $highstart = ' ';
+ $highend = ' ';
+
+ $tmp = can_call(120,$me);
+ if( $tmp )
+ {
+ if($tmp==2) echo $highstart;
+ if($myparty=='re')
+ echo ' re (120):';
+ else if ($myparty=='contra')
+ echo ' contra (120):';
+ else
+ echo ' re/contra (120):';
+ echo ' ';
+ if($tmp==2) echo $highend;
+ echo "\n";
+ }
+ $tmp = can_call(90,$me);
+ if( $tmp )
+ {
+ if($tmp==2) echo $highstart;
+ echo ' 90:'.
+ ' ';
+ if($tmp==2) echo $highend;
+ echo "\n";
+ }
+ $tmp = can_call(60,$me);
+ if( $tmp )
+ {
+ if($tmp==2) echo $highstart;
+ echo ' 60:'.
+ ' ';
+ if($tmp==2) echo $highend;
+ echo "\n";
+ }
+ $tmp = can_call(30,$me);
+ if( $tmp )
{
- if($myparty=='re')
- echo "re (120):";
- else if ($myparty=='contra')
- echo "contra (120):";
- else
- echo " re/contra (120):";
- echo " ";
+ if($tmp==2) echo $highstart;
+ echo ' 30:'.
+ ' ';
+ if($tmp==2) echo $highend;
+ echo "\n";
+ }
+ $tmp = can_call(0,$me);
+ if( $tmp )
+ {
+ if($tmp==2) echo $highstart;
+ echo ' 0:'.
+ ' ';
+ if($tmp==2) echo $highend;
+ echo "\n".
+ ' no call:'.
+ ' '."\n";
}
- if( can_call(90,$me) )
- echo " 90:".
- " ";
- if( can_call(60,$me) )
- echo " 60:".
- " ";
- if( can_call(30,$me) )
- echo " 30:".
- " ";
- if( can_call(0,$me) )
- echo " 0:".
- " ".
- " no call:".
- " ";
}
function output_check_want_to_play($me)
{
- ?>
-
- Do you want to play a game of DoKo?
- yes
- no
-';
+ echo ' '._('Do you want to play a game of DoKo?').' ';
+ echo ' '._('yes').' ';
+ echo ' '._('no').' ';
echo " \n";
echo "\n";
- echo " \n";
+ echo " \n";
echo "
\n";
return;
@@ -287,21 +371,62 @@ function output_header()
{
global $REV;
?>
-
-
+
+
e-Doko
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+ '._('Welcome to E-Doko').' ';
+?>
+
";
@@ -310,22 +435,22 @@ function output_header()
function output_footer()
{
- global $REV,$PREF;
+ global $REV, $PREF, $INDEX;
echo "\n\n";
- echo "\n";
+ echo "\n";
echo "\n";
echo "\n";
@@ -335,48 +460,72 @@ function output_footer()
function output_status()
{
- global $defaulttimezone,$INDEX,$WIKI;
- if(isset($_SESSION["name"]))
- {
- $name = $_SESSION["name"];
-
- /* logout info */
- echo "\n\n";
-
- /* last logon time */
- $myid = DB_get_userid("name",$name);
- $zone = DB_get_user_timezone($myid);
-
- $time = DB_get_user_timestamp($myid);
- date_default_timezone_set($defaulttimezone);
- $unixtime = strtotime($time);
- date_default_timezone_set($zone);
-
- echo "last login: ".date("r",$unixtime)."
\n";
- }
- else
- {
- echo "\n\n";
- echo "
login \n";
- echo "
\n";
- }
+ global $defaulttimezone, $INDEX, $WIKI, $RSS;
+
+ if(isset($_SESSION['name']))
+ {
+ $name = $_SESSION['name'];
+
+ /* last logon time */
+ $myid = DB_get_userid('name',$name);
+ $zone = DB_get_user_timezone($myid);
+
+ $time = DB_get_user_timestamp($myid);
+ date_default_timezone_set($defaulttimezone);
+ $unixtime = strtotime($time);
+ date_default_timezone_set($zone);
+
+ /* rss token */
+ $token = get_user_token($myid);
+
+ /* logout info */
+ echo "\n\n";
+
+ echo ""._('last login').": ".date("r",$unixtime)."
\n";
+ }
return;
}
function output_select_timezone($name,$timezone="")
{
- $Tzone = array ( "Europe/London" => "London",
- "Europe/Berlin" => "Berlin",
- "America/Vancouver" => "Berkeley",
- "Pacific/Auckland" => "Wellington" );
+ $Tzone = array ("Pacific/Apia" => "Apia", /*UTC-11*/
+ "Pacific/Honolulu" => "Honolulu", /*UTC-10*/
+ "America/Anchorage" => "Anchorage", /*UTC-9*/
+ "America/Vancouver" => "Berkeley", /*UTC-8*/
+ "America/Phoenix" => "Phoenix", /*UTC-7*/
+ "America/Chicago" => "Chicago", /*UTC-6*/
+ "America/New_York" => "New York", /*UTC-5*/
+ "America/Santiago" => "Santiago", /*UTC-4*/
+ "America/Buenos_Aires" => "Buenos Aires", /*UTC-3*/
+ "Atlantic/South_Georgia" => "Fernando de Noronha", /*UTC-2*/
+ "Atlantic/Azores" => "Azores", /*UTC-1"*/
+ "Europe/London" => "London", /*UTC*/
+ "Europe/Berlin" => "Berlin", /*UTC+1*/
+ "Africa/Cairo" => "Cairo", /*UTC+2*/
+ "Europe/Moscow" => "Moscow", /*UTC+3*/
+ "Asia/Tehran" => "Tehran", /*UTC+3:30*/
+ "Asia/Dubai" => "Dubai", /*UTC+4*/
+ "Asia/Karachi" => "Karachi", /*UTC+5*/
+ "Asia/Calcutta" => "Delhi", /*UTC+5:30*/
+ "Asia/Kathmandu" => "Kathmandu", /*UTC+5:45*/
+ "Asia/Dhaka" => "Dhaka", /*UTC+6*/
+ "Asia/Rangoon" => "Yangon", /*UTC+6:30*/
+ "Asia/Bangkok" => "Bangkok", /*UTC+7*/
+ "Asia/Hong_Kong" => "Beijing", /*UTC+8*/
+ "Asia/Tokyo" => "Tokyo", /*UTC+9*/
+ "Australia/Darwin" => "Darwin", /*UTC+9:30*/
+ "Australia/Sydney" => "Sydney", /*UTC+10*/
+ "Asia/Magadan" => "Magadan", /*UTC+11*/
+ "Pacific/Auckland" => "Wellington" ); /*UTC+12*/
echo " \n";
@@ -392,6 +541,26 @@ function output_select_timezone($name,$timezone="")
return;
}
+function output_select_language($name,$language="")
+{
+ $LOCALE = array ("English" => "en",
+ "Deutsch" => "de" );
+
+ echo " \n";
+
+ foreach($LOCALE as $place=>$locale)
+ {
+ if($language==$locale)
+ echo " $place \n";
+ else
+ echo " $place \n";
+ }
+ echo " \n";
+
+ return;
+}
+
+
function output_password_recovery($email,$password)
{
?>
@@ -405,13 +574,13 @@ function output_password_recovery($email,$password)
Password recovery
- Old password:
+ Old password:
- New password:
+ New password:
- Retype:
+ Retype:
@@ -426,7 +595,7 @@ function output_password_recovery($email,$password)
function output_user_notes($userid,$gameid,$userstatus)
{
- echo " Personal notes:
\n";
+ echo "
"._('Personal notes').":
\n";
$notes = DB_get_notes_by_userid_and_gameid($userid,$gameid);
foreach($notes as $note)
echo "$note
\n";
@@ -437,4 +606,169 @@ function output_user_notes($userid,$gameid,$userstatus)
return;
}
-?>
\ No newline at end of file
+function output_robotproof($i)
+{
+ switch($i)
+ {
+ case 0:
+ return "6*7=";
+ case 1:
+ return "5*7=";
+ case 2:
+ return "4*7=";
+ case 3:
+ return "3*7=";
+ case 4:
+ return "2*7=";
+ }
+}
+
+function output_exchanged_cards()
+{
+ /* in a poverty game this function will output the exchanged cards
+ * players in the team will see the cards, the other team will see
+ * the backside of cards
+ */
+
+ /* need some information about the game */
+ global $gameid,$mygametype, $PREF,$me,$mystatus, $RULES;
+
+ /* some variables to track where the people with poverty are sitting */
+ $partnerpos1 = 0;
+ $povertypos1 = 0;
+ $partnerpos2 = 0;
+ $povertypos2 = 0;
+
+ /* only need to do it in a poverty game, this might not be needed, but
+ * just to make sure everything is ok
+ */
+ if($mygametype == 'poverty' || $mygametype=='dpoverty')
+ {
+ /* find out who has poverty */
+ for($mypos=1;$mypos<5;$mypos++)
+ {
+ $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid);
+ if($usersick == 'poverty' || ($RULES['lowtrump']=='poverty' && $usersick=='lowtrump'))
+ if($povertypos1)
+ $povertypos2 = $mypos;
+ else
+ $povertypos1 = $mypos;
+ }
+ /* get hash and exchanged cards for all involved */
+ $povertyhash1 = DB_get_hash_from_game_and_pos($gameid,$povertypos1);
+ $partnerhash1 = DB_get_partner_hash_by_hash($povertyhash1);
+
+ $povertycards1 = DB_get_exchanged_cards($povertyhash1);
+ $partnercards1 = DB_get_exchanged_cards($partnerhash1);
+
+ $partnerpos1 = DB_get_pos_by_hash($partnerhash1);
+ if($povertypos2)
+ {
+ $povertyhash2 = DB_get_hash_from_game_and_pos($gameid,$povertypos2);
+ $partnerhash2 = DB_get_partner_hash_by_hash($povertyhash2);
+
+ $povertycards2 = DB_get_exchanged_cards($povertyhash2);
+ $partnercards2 = DB_get_exchanged_cards($partnerhash2);
+
+ $partnerpos2 = DB_get_pos_by_hash($partnerhash2);
+ }
+ }
+
+ /* output the cards
+ * go through all positions, check that position has cards that need to be shown and
+ * show those cards
+ */
+ $show=1;
+ for($mypos=1;$mypos<5;$mypos++)
+ {
+ $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid);
+ if($usersick!=NULL ||
+ $mypos==$povertypos1 || $mypos==$partnerpos1 ||
+ $mypos==$povertypos2 || $mypos==$partnerpos2 )
+ {
+ /* figure out if we gave trump back */
+ $trump_back1=0;
+ if($povertypos2)
+ foreach($povertycards1 as $card)
+ {
+ if(is_trump($card))
+ {
+ $trump_back1=1;
+ break;
+ }
+ }
+ $trump_back2=0;
+ if($povertypos2)
+ foreach($povertycards2 as $card)
+ {
+ if(is_trump($card))
+ {
+ $trump_back2=1;
+ break;
+ }
+ }
+
+ /* output vorbehalt */
+ echo "
Vorbehalt \n";
+ if($show)
+ echo " $usersick \n";
+
+ /* output cards */
+ if($mypos==$partnerpos1)
+ {
+ foreach($partnercards1 as $card)
+ {
+ echo ' ';
+ if($povertyhash1 == $me || $partnerhash1 == $me || $mystatus=='gameover')
+ display_card($card,$PREF['cardset']);
+ else
+ display_card(0,$PREF['cardset']);
+ }
+ if($trump_back1) echo ' '._('Trump back');
+ }
+ else if($mypos==$povertypos1)
+ {
+ foreach($povertycards1 as $card)
+ {
+ echo ' ';
+ if($povertyhash1 == $me || $partnerhash1 == $me || $mystatus=='gameover')
+ display_card($card,$PREF['cardset']);
+ else
+ display_card(0,$PREF['cardset']);
+ }
+ if($trump_back1) echo ' '._('Trump back');
+ }
+ else if($mypos==$povertypos2)
+ {
+ foreach($povertycards2 as $card)
+ {
+ echo ' ';
+ if($povertyhash2 == $me || $partnerhash2 == $me || $mystatus=='gameover')
+ display_card($card,$PREF['cardset']);
+ else
+ display_card(0,$PREF['cardset']);
+ }
+ if($trump_back2) echo ' '._('Trump back');
+ }
+ else if($mypos==$partnerpos2)
+ {
+ foreach($partnercards2 as $card)
+ {
+ if(is_trump($card)) $trump_back=1;
+ echo ' ';
+ if($povertyhash2 == $me || $partnerhash2 == $me || $mystatus=='gameover')
+ display_card($card,$PREF['cardset']);
+ else
+ display_card(0,$PREF['cardset']);
+ }
+ if($trump_back2) echo ' '._('Trump back');
+ }
+ echo "
\n";
+ }
+ if($mygametype == $usersick)
+ $show = 0;
+ }
+}
+
+
+?>