improved language detection using browser information; set the language directly...
[e-DoKo.git] / index.php
index 61b0e3f284aadb42d304c350734cf0ad2c092e24..2a55ed833adbe0faf7ce11b28b1c5681e2949cd0 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,5 +1,5 @@
 <?php
-/* Copyright 2006, 2007, 2008, 2009, 2010 Arun Persaud <arun@nubati.net>
+/* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Arun Persaud <arun@nubati.net>
  *
  *   This file is part of e-DoKo.
  *
@@ -45,40 +45,34 @@ if($DBopen<0)
       echo "Database error, can't connect... Please wait a while and try again. ".
        "If the problem doesn't go away feel free to contact $ADMIN_NAME at $ADMIN_EMAIL.";
     else if ($DBopen == -2)
-      echo "Wrong database version, please update your database using the update.php script.";
+      echo 'Wrong database version, please update your database using the update.php script.';
 
     output_footer();
     exit();
   }
 
-/* localization */
+/**** localization ****/
 /* needs to be in front of output_header, but we don't know the users preferences at this time,
  * so we go by the session variable or if language is set
  */
-if(myisset('language') || isset($_SESSION['language']))
-  {
-    $language = 'en';
-    if(isset($_SESSION['language']))
-       $language = $_SESSION['language'];
-    if(myisset('language'))
-      {
-       $language = $_REQUEST['language'];
-       $_SESSION['language'] = $language; /* overrule preferences */
-      }
-    switch($language)
-      {
-      case 'de':
-       putenv("LC_ALL=de_DE");
-       setlocale(LC_ALL, "de_DE");
-       // Specify location of translation tables
-       bindtextdomain("edoko", "./locale");
-       // Choose domain
-       textdomain("edoko");
-       break;
-      default:
-       /* do nothing */
-      }
-  }
+/* set default */
+$language =  detectlanguage();
+
+/* check if default in array of supported languages, else default to english */
+$supported_languages = array ('en','de');
+
+if ( !in_array($language, $supported_languages) )
+   $language = 'en';
+
+/* override with explicit request from user */
+if(myisset('language'))
+  $language = $_REQUEST['language'];
+else if(isset($_SESSION['language']))
+  $language = $_SESSION['language'];
+
+/* set it */
+set_language($language);
+/**** end language ****/
 
 /* done major error checking, output header of HTML page */
 output_header();
@@ -120,6 +114,9 @@ switch($action)
   case 'game':
     require './include/game.php';
     break;
+  case 'about':
+    require './include/about.php';
+    break;
   case 'stats':
     if(isset($_SESSION["name"]))
       require './include/stats.php';
@@ -136,7 +133,7 @@ switch($action)
 /* ask for login or display login info, needs to go at the end, so that we have the
  * session-variable already set.
  */
-output_status();
+output_navbar();
 
 output_footer();