X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Foutput.php;h=a5e49420072709ac5f1dd882c3a9de20e3dd7029;hp=b51f4396886ab3ec2e9f54cefa398d9f15f1ef49;hb=4681b437e331256dc70663f130ce2de57a03d099;hpb=51fcc71c971df1a1983ceff9d0e40ffff3ddeafe diff --git a/include/output.php b/include/output.php index b51f439..a5e4942 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 */ @@ -7,21 +26,38 @@ if(!isset($HOST)) /* functions which only ouput html */ +function autoversion($file) +{ + /* changes the file name of e.g. css/style.css to css/style..css/js + * this way the browser can cache the file and will reload it if the file changed + * needs to have .htaccess set up correctly to link back to css/style.css */ + + /* only use it for file that have an absolut path */ + if(!file_exists(dirname($_SERVER['SCRIPT_FILENAME']). '/' . $file)) + return $file; + + $md5 = md5_file(dirname($_SERVER['SCRIPT_FILENAME']). '/' . $file); + return preg_replace('{\\.([^./]+)$}', ".$md5.\$1", $file); +} + + function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid) { global $RULES; echo "
\n
\n"; - echo "Do you want to continue playing?(This will start a new game, with $playerD as dealer.)\n"; + $output = sprintf(_('Do you want to continue playing? (This will start a new game, with %s starting the game.)'),$playerA); + echo $output."\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; - echo " \n"; + echo " \n"; echo "
\n
"; return; } @@ -32,86 +68,124 @@ function output_form_for_new_game($names) * after we selected them to make sure that each name * only shows up once */ -?> -
-

Select players (Remember: you need to be one of the players)

-
- table -'; + echo '

'._('Select players (Remember: you need to be one of the players)').'

'; - /* delete players name, since he will be on position D anyway */ - unset($copy_names[array_search($_SESSION["name"],$copy_names)]); + echo '
'; - srand((float) microtime() * 10000000); - foreach( array("PlayerA","PlayerB","PlayerC","PlayerD") as $player) + echo "
\n"; + $randkey = array_rand($copy_names); + $rand = $copy_names[$randkey]; + /* delete this name from the list of possible names */ + unset($copy_names[$randkey]); + echo " \n
\n"; - echo "
\n"; - $i++; - echo " \n
\n"; + echo '
'; + + $randkey = array_rand($copy_names); + $rand = $copy_names[$randkey]; + /* delete this name from the list of possible names */ + unset($copy_names[$randkey]); + echo "
\n"; + echo " just normal non-trump -
  • first ten of hearts wins the trick
  • -
  • second ten of hearts wins the trick
  • - -

    Schweinchen (both foxes), only in normal games or silent solos:

    -
      -
    • none
    • -
    • - both become highest trump (automatic call at beginning of the game) -
    • -
    • - first one normal, second one becomes highest (call during the game)
    • -
    • - second one become highest only in case re/contra was announced -
    • -
    -

    Call Re/Contra, etc.:

    -
      -
    • - Can call re/contra on the first own card played, 90 on the second, etc.
    • -
    • - Can call re/contra until 5th card is played, 90 until 9th card is played, etc.
    • -
    • - Can call re/contra until 5th card is played, 90 if player still has 9 cards, etc.
    • -
    - - -\n
    \n"; + + echo ' table'; + $randkey = array_rand($copy_names); + $rand = $copy_names[$randkey]; + /* delete this name from the list of possible names */ + unset($copy_names[$randkey]); + echo "
    \n"; + echo " \n
    \n"; + + echo '
    '; + $rand = $_SESSION["name"]; + echo "
    \n"; + echo " \n
    \n"; + + /* ask player for names */ + + echo '
    '; + echo ''; + echo '

    '._('Rules').'

    '; + echo '

    '._('Gameplay-related').'

    '; + echo '

    '._('Ten of hearts').':

    '; + echo '

    '; + echo ' '; + echo '

    '; + echo '

    '._('Schweinchen (both foxes), only in normal games or silent solos').':

    '; + echo '

    '; + echo ' '; + echo '

    '; + echo '

    '._('Call Re/Contra, etc.').':

    '; + echo '

    '; + 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 '

    '; + echo '

    '._('Scoring-related').'

    '; + echo '

    '._('(not yet implemented)').'

    '; + echo '

    '; + echo ' '; + } function output_table($data,$caption="",$class="",$id="") @@ -174,70 +248,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 "
    \"".DB_get_card_name($card)."\"
    \n"; + echo "\n"; else - echo "
    \"".DB_get_card_name($card-1)."\"
    \n"; + echo "\n"; return; } function output_check_for_sickness($me,$mycards) { - ?> -
    Thanks for joining the game...
    - - do you want to play solo? - -
    - - '._('Thanks for joining the game').'...
    '; + echo ''; + echo ' '._('Do you want to play solo?').''; + echo ' '; + echo '
    '; + if(check_wedding($mycards)) { - echo " yes"; - echo " no
    \n"; + echo _('Do you want to call Wedding?'); + echo ' '._('yes').""; + echo ' '._('no')."
    \n"; } else { - echo " no
    \n"; + echo " \n"; }; - echo "Do you have poverty?"; if(count_trump($mycards)<4) { - echo " yes"; - echo " no
    \n"; + echo _('Do you want to call poverty?'); + echo ' '._('yes').""; + echo ' '._('no')."
    \n"; } else { - echo " no
    \n"; + echo " \n"; }; - echo "Do you have too many nines?"; if(count_nines($mycards)>4) { - echo " yes"; - echo " no
    \n"; + echo _('Do you want to call too many nines?'); + echo ' '._('yes').""; + echo ' '._('no')."
    \n"; } else { - echo " no
    \n"; + echo " \n"; }; + if($RULES['lowtrump']=='cancel' || $RULES['lowtrump']=='poverty') + { + if(check_low_trump($mycards)) + { + if($RULES['lowtrump']=='cancel') + echo _('Do you want to call low trump (cancel game)?'); + else + echo _('Do you want to call low trump (poverty)?'); + + echo ' '._('yes').""; + echo ' '._('no')."
    \n"; + } + else + { + echo " \n"; + }; + } + else + echo " "; + echo "\n"; - echo "\n"; + echo "
    \n"; echo "
    \n"; @@ -246,43 +342,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($tmp==2) echo $highstart; + echo ' 30:'. + ' '; + if($tmp==2) echo $highend; + echo "\n"; + } + $tmp = can_call(0,$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 ' 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; @@ -292,29 +417,19 @@ function output_header() { global $REV; ?> - - + + e-Doko - - - - - - - + + + + " /> + " /> + "/> + -
    -

    Welcome to E-Doko

    -
    "; @@ -323,22 +438,28 @@ function output_header() function output_footer() { - global $REV,$PREF; + global $REV, $PREF, $INDEX; echo "
    \n\n"; - echo "
    \n"; - echo "

    copyright 2006-2009 Arun Persaud, Lance Thornton(graphics), Jeff Zerger(database support)
    \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". + echo "

    \n"; + echo "

    copyright 2006-2012 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 "\n\n"; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; echo "\n"; echo "\n"; @@ -346,50 +467,82 @@ function output_footer() return; } -function output_status() +function output_navbar() { - global $defaulttimezone,$INDEX,$WIKI; - if(isset($_SESSION["name"])) - { - $name = $_SESSION["name"]; - - /* logout info */ - echo "\n
    \n"; - echo $name,"\n"; - echo " | mypage \n"; - echo " | settings\n"; - echo " | new game\n"; - echo " | statistics\n"; - echo " | wiki\n"; - echo " |    logout\n"; - echo "
    \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']; + $email = DB_get_email('name',$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 " E-DoKo\n"; + echo " \n"; + echo "
    \n"; + + echo "
    "._('last login').": ".date("r",$unixtime)."
    \n\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"; + + foreach($LOCALE as $place=>$locale) + { + if($language==$locale) + echo " \n"; + else + echo " \n"; + } + echo " \n"; + + return; +} + + function output_password_recovery($email,$password) { ?> @@ -418,13 +591,13 @@ function output_password_recovery($email,$password) Password recovery - + - + - + @@ -439,13 +612,13 @@ 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"; + echo " $note
    \n"; if($userstatus!='gameover') - echo "\n"; - echo "
    \n"; + echo " \n"; + echo "
    \n\n"; return; } @@ -475,7 +648,7 @@ function output_exchanged_cards() */ /* need some information about the game */ - global $gameid,$mygametype, $PREF,$me,$mystatus; + global $gameid,$mygametype, $PREF,$me,$mystatus, $RULES; /* some variables to track where the people with poverty are sitting */ $partnerpos1 = 0; @@ -492,7 +665,7 @@ function output_exchanged_cards() for($mypos=1;$mypos<5;$mypos++) { $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid); - if($usersick == 'poverty') + if($usersick == 'poverty' || ($RULES['lowtrump']=='poverty' && $usersick=='lowtrump')) if($povertypos1) $povertypos2 = $mypos; else @@ -525,6 +698,19 @@ function output_exchanged_cards() $show=1; for($mypos=1;$mypos<5;$mypos++) { + /* output comments */ + if($mypos==2) + { + /* display all comments on the top right (card1)*/ + $comments = DB_get_pre_comment($gameid); + /* display card */ + echo "
    \n"; + /* display comments */ + foreach( $comments as $comment ) + echo " ".$comment[1].": ".$comment[0]."\n"; + echo "
    \n"; /* end div card */ + } + $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid); if($usersick!=NULL || $mypos==$povertypos1 || $mypos==$partnerpos1 || @@ -535,7 +721,7 @@ function output_exchanged_cards() if($povertypos2) foreach($povertycards1 as $card) { - if(is_trump($card)) + if(is_trump($card)) { $trump_back1=1; break; @@ -545,13 +731,13 @@ function output_exchanged_cards() if($povertypos2) foreach($povertycards2 as $card) { - if(is_trump($card)) + if(is_trump($card)) { $trump_back2=1; break; } } - + /* output vorbehalt */ echo "
    Vorbehalt
    \n"; if($show) @@ -568,7 +754,7 @@ function output_exchanged_cards() else display_card(0,$PREF['cardset']); } - if($trump_back1) echo " Trump back"; + if($trump_back1) echo ' '._('Trump back'); } else if($mypos==$povertypos1) { @@ -580,7 +766,7 @@ function output_exchanged_cards() else display_card(0,$PREF['cardset']); } - if($trump_back1) echo " Trump back"; + if($trump_back1) echo ' '._('Trump back'); } else if($mypos==$povertypos2) { @@ -592,7 +778,7 @@ function output_exchanged_cards() else display_card(0,$PREF['cardset']); } - if($trump_back2) echo " Trump back"; + if($trump_back2) echo ' '._('Trump back'); } else if($mypos==$partnerpos2) { @@ -605,7 +791,7 @@ function output_exchanged_cards() else display_card(0,$PREF['cardset']); } - if($trump_back2) echo " Trump back"; + if($trump_back2) echo ' '._('Trump back'); } echo "
    \n"; } @@ -615,4 +801,4 @@ function output_exchanged_cards() } -?> \ No newline at end of file +?>