<? require("config.inc.php"); mysql_connect($DBHOST,$DBUSER,$DBPASS); mysql_select_db($DBNAME); session_start(); //find out the fair year and any other 'year=0' configuration parameters (things that dont change as the years go on) $q=mysql_query("SELECT * FROM config WHERE year='0'"); while($r=mysql_fetch_object($q)) { $config[$r->var]=$r->val; } //now pull the rest of the configuration $q=mysql_query("SELECT * FROM config WHERE year='".$config['FAIRYEAR']."'"); while($r=mysql_fetch_object($q)) { $config[$r->var]=$r->val; } //detect the browser first, so we know what icons to use - we store this in the config array as well //even though its not configurable by the fair if(stristr($_SERVER['HTTP_USER_AGENT'],"MSIE")) $config['icon_extension']="gif"; else $config['icon_extension']="png"; //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,$args=array()) { if(!$str) return ""; if($_SESSION['lang']) { if($_SESSION['lang']=="en") { for($x=1;$x<=count($args);$x++) { $str=str_replace("%$x",$args[$x-1],$str); } 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) { $ret=$r->val; for($x=1;$x<=count($args);$x++) { $ret=str_replace("%$x",$args[$x-1],$ret); } return $ret; } else { for($x=1;$x<=count($args);$x++) { $str=str_replace("%$x",$args[$x-1],$str); } return "<font color=red>$str</font>"; } } else { mysql_query("INSERT INTO translations (lang,strmd5,str) VALUES ('".$_SESSION['lang']."','".md5($str)."','".mysql_escape_string($str)."')"); for($x=1;$x<=count($args);$x++) { $str=str_replace("%$x",$args[$x-1],$str); } return "<font color=red>$str</font>"; } } } else { //no language set, assume english return $str; } } function error($str) { return "<div class=\"error\">$str</div><br />"; } function notice($str) { return "<div class=\"notice\">$str</div><br />"; } function happy($str) { return "<div class=\"happy\">$str</div><br />"; } $HEADER_SENT=false; function send_header($title="") { global $HEADER_SENT; global $config; //do this so we can use send_header() a little more loosly and not worry about it being sent more than once. if($HEADER_SENT) return; else $HEADER_SENT=true; echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n"; ?> <!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><?=i18n($title)?></title> <link rel="stylesheet" href="<?=$config['SFIABDIRECTORY']?>/sfiab.css" type="text/css" /> </head> <body> <script language="javascript" type="text/javascript"> //useful function that we'll be using throughout function confirmClick(msg) { var okay=confirm(msg); if(okay) return true; else return false; } </script> <div id="header"> <? echo "<h1>".i18n($config['fairname'])."</h1>"; ?> <hr /> </div> <div id="left"> <ul class="mainnav"> <li><a href="<?=$config['SFIABDIRECTORY']?>/index.php"><?=i18n("Home Page")?></a></li> <li><a href="<?=$config['SFIABDIRECTORY']?>/register_participants.php"><?=i18n("Participant Registration")?></a></li> <li><a href="<?=$config['SFIABDIRECTORY']?>/register_judges.php"><?=i18n("Judges Registration")?></a></li> </ul> <br /> <ul class="mainnav"> <li><a href="<?=$config['SFIABDIRECTORY']?>/admin/"><?=i18n("Fair Administration")?></a></li> <li><a href="<?=$config['SFIABDIRECTORY']?>/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> <br /> <br /> <? include "http://counter.lightbox.org/?user=sfiab&name=testsite&addr=".$_SERVER['REMOTE_ADDR']; ?> </div> </div> <div id="main"> <? if($title) echo "<h2>".i18n($title)."</h2>"; } function send_footer() { ?> </div> <div id="footer"> <? print_r($_SESSION); ?> </div> </body> </html> <? } function emit_month_selector($name,$selected="") { echo "<select name=\"$name\">\n"; $months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); echo "<option value=\"\">".i18n("Month")."</option>\n"; for($x=1;$x<=12;$x++) { if($x==$selected) $s="selected=\"selected\""; else $s=""; echo "<option $s value=\"$x\">".$months[$x]."</option>\n"; } echo "</select>\n"; } function emit_day_selector($name,$selected="") { echo "<select name=\"$name\">\n"; echo "<option value=\"\">".i18n("Day")."</option>\n"; for($x=1;$x<=31;$x++) echo "<option value=\"".($x<10?"0":"")."$x\" ".($selected==$x?"selected=\"selected\"":"").">$x</option>\n"; echo "</select>\n"; } function emit_year_selector($name,$selected="",$min=0,$max=0) { $curyear=date("Y"); echo "<select name=\"$name\">\n"; echo "<option value=\"\">".i18n("Year")."</option>\n"; if($min&&$max) { for($x=$min;$x<=$max;$x++) echo "<option value=\"$x\" ".($selected==$x?"selected=\"selected\"":"").">$x</option>\n"; } else { //if we arent given a min and max, lets show current year + 5 for($x=$curyear;$x<$curyear+5;$x++) echo "<option value=\"$x\" ".($selected==$x?"selected=\"selected\"":"").">$x</option>\n"; } echo "</select>\n"; } function emit_province_selector($name,$selected="") { $q=mysql_query("SELECT * FROM provinces ORDER BY province"); if(mysql_num_rows($q)==1) { $r=mysql_fetch_object($q); echo "<input type=\"hidden\" name=\"$name\" value=\"$r-code\">"; echo i18n($r->province); } else { echo "<select name=\"$name\">\n"; echo "<option value=\"\">".i18n("Select a Province")."</option>\n"; while($r=mysql_fetch_object($q)) { if($r->code == $selected) $sel="selected=\"selected\""; else $sel=""; echo "<option $sel value=\"$r->code\">".i18n($r->province)."</option>\n"; } echo "</select>\n"; } } function outputStatus($status) { $ret=""; switch($status) { case 'incomplete': $ret.="<div class=\"incomplete\">"; $ret.= i18n("Incomplete"); $ret.= "</div>"; break; case 'complete': $ret.= "<div class=\"complete\">"; $ret.= i18n("Complete"); $ret.= "</div>"; break; case 'empty': $ret.="<div class=\"incomplete\">"; $ret.= i18n("Empty"); $ret.= "</div>"; break; default: $ret.=i18n("Unknown"); break; } return $ret; } ?>