From 22e8556691d134c4bf778837d4a0c24e4504b8cf Mon Sep 17 00:00:00 2001 From: eric Date: Sat, 19 Jun 2004 14:36:22 +0000 Subject: finished tweaking language selection --- web/lib/aur.inc | 63 ++++++++++++++++++++++++++++++++++++++++++++++---- web/lib/translator.inc | 15 ------------ 2 files changed, 59 insertions(+), 19 deletions(-) (limited to 'web/lib') diff --git a/web/lib/aur.inc b/web/lib/aur.inc index 8a4756e..87309e4 100644 --- a/web/lib/aur.inc +++ b/web/lib/aur.inc @@ -3,6 +3,13 @@ include_once("aur_po.inc"); # Define global variables # +$PASS_PHRASE = "Dustyissocool"; +$SUPPORTED_LANGS = array( + "en" => 1, # English + "es" => 1, # Español + "de" => 1, # Deutsch + "fr" => 1, # Français +); # connect to the database @@ -26,6 +33,43 @@ function db_connect() { return $handle; } +# set up the visitor's language +# +function set_lang() { + global $_REQUEST; + global $_COOKIE; + global $LANG; + global $SUPPORTED_LANGS; + + $update_cookie = 0; + if (isset($_REQUEST['setlang'])) { + # visitor is requesting a language change + # + $LANG = $_REQUEST['setlang']; + $update_cookie = 1; + + } elseif (isset($_COOKIE['AURLANG'])) { + # If a cookie is set, use that + # + $LANG = $_COOKIE['AURLANG']; + + } # TODO query the database if the user is logged in + + if (!$LANG || !array_key_exists($LANG, $SUPPORTED_LANGS)) { + $LANG = "en"; # default to English + } + + if ($update_cookie) { + # TODO do we need to set the domain too? I seem to remember some + # security concerns about not using domains - but it's not like + # we really care if another site can see what language our visitor + # was using.... + # + setcookie("AURLANG", $LANG, 0, "/"); + } + return; +} + # common header # @@ -49,11 +93,22 @@ function html_header() { print " \n"; print " \n"; print " \n"; - print " \n"; + print " \n"; print " \n"; + print "ArchLinux User-community Repository
"; + + # XXX CSS help - a:link, a:visited, etc are defined, but I don't want to + # use the defaults. Is this the way to override them? + # + print "English "; + print "Español "; + print "Deutsch "; + print "Français"; + print " \n"; print " \n"; print "
"; - print ""; + + # XXX Can I scale a PNG like this? + # + print ""; - print "ArchLinux User-community Repository
\n"; print " \n"; diff --git a/web/lib/translator.inc b/web/lib/translator.inc index 87fe781..ca9e4dd 100644 --- a/web/lib/translator.inc +++ b/web/lib/translator.inc @@ -25,23 +25,8 @@ include_once("common_po.inc"); function __($tag, $args=array()) { global $_t; - global $_REQUEST; global $LANG; - $supported_langs = array( - "en" => 1, # English - "es" => 1, # Español - "de" => 1, # Deutsch - "fr" => 1, # Français - ); - - # default to English if the lang hasn't been provided or isn't supported - # - $LANG = $_REQUEST['LANG']; - if (!$LANG || !array_key_exists($LANG, $supported_langs)) { - $LANG = "en"; - } - # create the translation, if it doesn't exist, highlight it # $translated = $_t[$LANG][$tag]; -- cgit v1.2.3-70-g09d2