Mercurial > SimpleWebPresenter
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; +}
