science-ation/common.inc.php
james 0e93f59524 add default language and language detection
xhtml 1.0 transitional compliance changes
2004-11-30 18:52:31 +00:00

175 lines
3.6 KiB
PHP

<?
require("config.inc.php");
mysql_connect($DBHOST,$DBUSER,$DBPASS);
mysql_select_db($DBNAME);
session_start();
//find out the fiar year
$q=mysql_query("SELECT * FROM config WHERE var='FAIRYEAR' AND year='0'");
$r=mysql_fetch_object($q);
$FAIRYEAR=$r->val;
$config['FAIRYEAR']=$FAIRYEAR;
//now pull the rest of the configuration
$q=mysql_query("SELECT * FROM config WHERE year='$FAIRYEAR'");
while($r=mysql_fetch_object($q))
{
$config[$r->var]=$r->val;
}
//now get the languages, and make sure we have at least one active language
$q=mysql_query("SELECT * FROM languages WHERE active='Y' ORDER BY langname");
if(mysql_num_rows($q)==0)
{
echo "No active languages defined, defaulting to English";
$config['languages']['en']="English";
}
else
{
while($r=mysql_fetch_object($q))
{
$config['languages'][$r->lang]=$r->langname;
}
}
//now if no language has been set yet, lets set it to the default language
if(!$_SESSION['lang'])
{
//first try the default language, if that doesnt work, use "en"
if($config['default_language'])
$_SESSION['lang']=$config['default_language'];
else
$_SESSION['lang']="en";
}
//if the user has switched languages, go ahead and switch the session variable
if($_GET['switchlanguage'])
{
//first, make sure its a valid language:
if($config['languages'][$_GET['switchlanguage']])
{
$_SESSION['lang']=$_GET['switchlanguage'];
}
else
{
//invalid language, dont do anything
}
}
function i18n($str)
{
if(!$str)
return "";
if($_SESSION['lang'])
{
if($_SESSION['lang']=="en")
return $str;
else
{
$q=mysql_query("SELECT * FROM translations WHERE lang='".$_SESSION['lang']."' AND strmd5='".md5($str)."'");
if($r=@mysql_fetch_object($q))
{
if($r->val)
return $r->val;
else
{
return "<font color=red>($str)</font>";
}
}
else
{
mysql_query("INSERT INTO translations (lang,strmd5,str) VALUES ('".$_SESSION['lang']."','".md5($str)."','".mysql_escape_string($str)."')");
echo mysql_error();
return "<font color=red>($str)</font>";
}
}
}
else
{
//no language set, assume english
return $str;
}
}
function send_header($title="")
{
global $config;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head><title><?=$title?></title>
<link rel="stylesheet" href="sfiab.css" type="text/css" />
</head>
<body>
<div id="header">
<?
echo "<h1>".i18n($config['FAIRNAME'])."</h1>";
?>
<hr />
</div>
<div id="left">
<ul class="mainnav">
<li><a href="register_participants.php"><?=i18n("Participant Registration")?></a></li>
<li><a href="register_judges.php"><?=i18n("Judges Registration")?></a></li>
</ul>
<br />
<ul class="mainnav">
<li><a href="admin/"><?=i18n("Fair Administration")?></a></li>
<li><a href="config/"><?=i18n("SFIAB Configuration")?></a></li>
</ul>
<div class="aligncenter">
<?
if(count($config['languages'])>1)
{
echo "<br />";
echo "<form name=\"languageselect\" method=\"get\" action=\"".$_SERVER['PHP_SELF']."\">";
echo "<select name=\"switchlanguage\" onchange=\"document.forms.languageselect.submit()\">\n";
foreach($config['languages'] AS $key=>$val)
{
if($_SESSION['lang']==$key) $selected="selected=\"selected\""; else $selected="";
echo "<option $selected value=\"$key\">$val</option>";
}
echo "</select>";
echo "</form>";
}
?>
<a href="http://www.sfiab.ca/"><?=i18n("Return to SFIAB Development Page")?></a>
</div>
</div>
<div id="main">
<?
}
function send_footer()
{
?>
</div>
<div id="footer">
</div>
</body>
</html>
<?
}
?>