*
* 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
*/
if(!isset($HOST))
exit;
/* functions which only ouput html */
function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid)
{
global $RULES;
echo "
\n\n
";
return;
}
function output_form_for_new_game($names)
{
$copy_names = $names; /* local copy, so that we can delete names from it
* after we selected them to make sure that each name
* only shows up once
*/
echo ' ';
}
function output_table($data,$caption="",$class="",$id="")
{
$HTML = "\n\n";
$i=0;
if($caption!="")
$HTML .= " $caption \n";
foreach($data as $record)
{
if(!$i)
$HTML .= " \n \n";
else
{
if($i==1) $HTML .= " \n";
$HTML .= " ";
}
foreach($record as $point)
{
if($i)
$HTML .= " $point ";
else
$HTML .= " $point ";
}
if(!$i)
$HTML .= " \n \n";
else
{
$HTML .= " \n";
}
$i++;
}
$HTML .= " \n
\n";
return $HTML;
}
function display_card($card,$dir="english")
{
/* cards are only availabl for the odd values, e.g. 1.png, 3.png, ...
* convert even cards to the matching odd value */
if( $card/2 - (int)($card/2) == 0.5 || $card == 0)
echo " \n";
else
echo " \n";
return;
}
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";
else
echo " \n";
return;
}
function output_check_for_sickness($me,$mycards)
{
global $RULES;
echo ' '._('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";
}
else
{
echo ' '._('no')." \n";
};
echo _('Do you have poverty?');
if(count_trump($mycards)<4)
{
echo ' '._('yes')." ";
echo ' '._('no')." \n";
}
else
{
echo ' '._('no')." \n";
};
echo _('Do you have too many nines?');
if(count_nines($mycards)>4)
{
echo ' '._('yes')." ";
echo ' '._('no')." \n";
}
else
{
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";
return;
}
function output_form_calls($me,$myparty)
{
$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($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";
}
}
function output_check_want_to_play($me)
{
echo ' ';
echo ' '._('Do you want to play a game of DoKo?').' ';
echo ' '._('yes').' ';
echo ' '._('no').' ';
echo " \n";
echo "\n";
echo " \n";
echo "
\n";
return;
}
function output_header()
{
global $REV;
?>
e-Doko
'._('Welcome to E-Doko').' ';
?>
";
return;
}
function output_footer()
{
global $REV, $PREF, $INDEX;
echo "\n\n";
echo "\n";
echo " copyright 2006-2011 Arun Persaud, et al. \n".
" Verwendung der [deutschen] Kartenbilder mit Genehmigung der Spielkartenfabrik Altenburg GmbH,(c) ASS Altenburger \n".
" - ASS Altenburger Spielkarten - Spielkartenfabrik Altenburg GmbH \n".
" a Carta Mundi Company Email: info@spielkarten.com Internet: www.spielkarten.com
\n";
echo " See the latest changes \n".
" via git or download the source via \n'git clone http://nubati.net/git/e-DoKo.git' \n".
" \n".
" \n".
"
\n";
echo " \n\n";
echo "\n";
echo "\n";
return;
}
function output_status()
{
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\n";
echo ""._('last login').": ".date("r",$unixtime)."
\n\n";
}
return;
}
function output_select_timezone($name,$timezone="")
{
$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";
foreach($Tzone as $zone=>$city)
{
if($timezone==$zone)
echo " $city \n";
else
echo " $city \n";
}
echo " \n";
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)
{
?>
"._('Personal notes').": \n";
$notes = DB_get_notes_by_userid_and_gameid($userid,$gameid);
foreach($notes as $note)
echo " $note \n";
if($userstatus!='gameover')
echo " \n";
echo "\n\n";
return;
}
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;
}
}
?>