changeset 2:6d420f2a1d91

Add flag generator.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Tue, 10 May 2011 19:07:57 +0200
parents d91abe5f6214
children 238c5127b78c
files flag.php
diffstat 1 files changed, 60 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flag.php	Tue May 10 19:07:57 2011 +0200
@@ -0,0 +1,60 @@
+<?php
+include 'cache_check.inc';
+include 'accept-language.inc';
+
+function loadFile($sFilename, $sCharset = 'UTF-8')
+{
+    if (floatval(phpversion()) >= 4.3) {
+      if (!file_exists($sFilename)) return -3;
+      $sData = file_get_contents($sFilename);
+    } else {
+        if (!file_exists($sFilename)) return -3;
+        $rHandle = fopen($sFilename, 'r');
+        if (!$rHandle) return -2;
+
+        $sData = '';
+        while(!feof($rHandle))
+            $sData .= fread($rHandle, filesize($sFilename));
+        fclose($rHandle);
+    }
+    if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) {
+       if ($sEncoding != 1) {
+       	 $sData = mb_convert_encoding($sData, $sCharset, $sEncoding);
+       }
+    }
+    return $sData;
+}
+
+
+$active = $_GET['active'];
+$lang = $_GET['lang'];
+
+if(!$name) {
+  $name="home";
+}
+if(!$lang) {
+  $lang="no";
+  $langs=acceptedLanguages();
+  foreach ($langs as $l => $val) {
+    if (file_exists($l)) {
+      $lang=$l;
+      break;
+    }
+  }
+}
+
+$name="../img/flag-${lang}";
+if ($active)
+  $name.="-active";
+$name.=".png";
+
+$flag=loadFile("${name}");
+
+if (floatval($flag)<0) {
+  header('HTTP/1.0 404 Not Found');
+  print '<div id="page"><h1>Resource not found</h1></div>';
+}
+else {
+  header("Content-Type: image/png"); 
+  print $flag;
+}