banniere
<=
<?php
 error_reporting
(E_ALL);
 
ignore_user_abort(true);
 
set_time_limit(5);
 
 if (
PHP_VERSION 5.0) die();
 
 
define('PAGE_DIR''./pages');
 
define('LANGUAGE_DIR''./languages');
// define('DEFAULT_DIR', '/var/www/warriorhouse.net/httpdocs');
 
define('DEFAULT_DIR''/httpdocs');
 
define('INCLUDED'1);
 
define('SKIN''bw');
 
define('DEFAULT_LANGUAGE''fr');
 
 
$microtime microtime(true);
 
// iconv_set_encoding('internal_encoding', 'ISO-8859-15');
// iconv_set_encoding('output_encoding', 'UTF-8');
 
ob_start();
 
 class 
win_website {
  private 
$args = Array();
  
  public final function 
startPage($query) {
   if (
$query == NULL) return true;
   
$urlData base64_decode(str_rot13(strrev(str_replace(chr(0x2A), chr(0x3D), $query))));
   if (
$urlData === false) return false;
   
$arrData = Array();
   
$u explode('$'$urlData);
   foreach (
$u as $arrItem) {
    
$U explode(':'$arrItem);
    if (!isset(
$U[1])) $U[1] = '';
    
$arrData[rawurldecode($U[0])] = rawurldecode($U[1]);
   }
   
$this->args $arrData;
   return 
true;
  }
  
  public final function 
createQuery($arrData) {
   
$query '';
   foreach (
$arrData as $name => $data) {
    if ((!
is_resource($data)) && (!is_object($data)) && (!is_array($data))) {
     if (
is_bool($data)) $data = (int) $data;
     else if (
is_double($data)) {
      
$tmp explode(' ', (string) $data);
      
$data = ($tmp[0]+$tmp[1]);
     }
     
$query .= str_replace(Array(':''$'), Array('%3A''%24'), $name).':'.str_replace(Array(':''$'), Array('%3A''%24'), $data).'$';
    }
   }
   return 
substr($query0, -1);
  }
  
  public final function 
getQuery() { 
   return 
str_replace(chr(0x3D), chr(0x2A), strrev(str_rot13(base64_encode($this->createQuery($this->args)))));
  }
  
  public final function 
getQueryVar($var) {
   if (!isset(
$this->args[$var])) return false;
   return 
$this->args[$var];
  }
  
  public final function 
setQueryVar($var$data) {
   
$this->args[$var] = $data;
   return 
true;
  }
  public final function 
delQueryVar($var) {
   if (!isset(
$this->args[$var])) return false;
   unset(
$this->args[$var]);
   return 
true;
  }
  
  public final function 
makeSecureUrl($url) {
   
$url2 $url;
   while (
true) { 
    
$url2 str_replace('\\''/'$url);
    
$url2 str_replace(Array('../'chr(0x01), chr(0x00), chr(0x0A)), ''$url2);
    if (
$url === $url2) {
     break;
    }
    
$url $url2;
   }
   return 
$url2;
  }
  
  public final function 
translate(&$data$page$language 'fr') {
   
$language strtolower($language);
   if (!
is_readable(DEFAULT_DIR.'/'.LANGUAGE_DIR.'/'.$this->makeSecureUrl($language).'/'.$this->makeSecureUrl($page).'.lang')) {
    throw new 
exception ('Unable to load language file.');
    return 
false;
   }
   
$a = @file_get_contents(DEFAULT_DIR.'/'.LANGUAGE_DIR.'/'.$this->makeSecureUrl($language).'/'.$this->makeSecureUrl($page).'.lang');
   
$a preg_split("/[\r\n]/"$a);
   foreach (
$a as $b) {
    if ((!isset(
$b{0})) || ($b{0} == '$')) continue;
    if (
preg_match('/^([^ ]+) (.+)$/'$b$r)) $data str_replace('%'.$r[1].'%'$r[2], $data);
   }
   
$data str_replace('bw'SKIN$data);
   return 
true;
  }
  
  public final function 
getExtension($file) {
   
$file basename($file);
   
$ext substr($filestrrpos($file'.'));
   return 
$ext;
  }
  
  public final function 
getImageFromExtension($ext) {
   switch (
strtolower($ext)) {
    
/* image */
    
case '.jpeg': case '.jpg': case '.gif': case '.png': case '.ico': case '.tiff': case '.bmp':
     return 
'image';
    break;
    
/* prog */
    
case '.php': case '.phps': case '.phtml': case '.php3': case '.php4': case '.php5': case '.html': case '.htm': case '.css': case '.inc': case '.js': case '.sh': case '.mrc':
     return 
'script';
    break;
    
/* execution php */
    
case '.win':
     return 
'burst';
    break;
    
/* image font ttf */
    
case '.ttf':
     return 
'a';
    break;
    
/* Executable */
    
case '.exe': case '.dll':
     return 
'binary';
    break;
    
/* Fichiers core */
    
case '.core':
     return 
'broken';
    break;
    
/* images (iso & co) */
    
case '.iso': case '.img': case '.nrg': case '.bin':
     return 
'diskimg';
    break;
    
/* Autre compression */
    
case '.zip': case '.rar': case '.ace': case '.bz2': case '.bz': case '.z'; case '.tar': case '.gz': case '.tgz':
     return 
'compressed';
    break;
    
/* Musique */
    
case '.mp2': case '.mp3': case '.ogg': case '.ram': case '.wav':
     return 
'sound2';
    break;
    
/* Video */
    
case '.avi': case '.mov': case '.mp4': case '.rm':
     return 
'movie';
    break;
    
/* Flash */
    
case '.flv': case '.youtube': case '.dailymotion': case '.distflv':
     return 
'disk';
    break;
    
/* Flash */
    
case '.swf';
     return 
'f';
    break;
    
/* C/C++/C# */
    
case '.c': case '.h': case '.cpp': case '.hpp': case '.cs':
     return 
'c';
    break;
    
/* Texte */
    
case '.txt': case '.def': case '.conf': case '.cfg': case '.m4': case '.in': case '.sub': case '.status': case '.guess': case '.ini': case '.srt':
     return 
'text';
    break;
    
/* autre */
    
default:
     return 
'unknown';
   }
  }
  
  public final function 
getSize($size) {
   if (
$size 1024) return $size;
   else if (
$size < (1024*1024)) return round($size/10242).'k';
   else if (
$size < (1024*1024*1024)) return round($size/1024/10242).'m';
   else if (
$size < (1024*1024*1024*1024)) return round($size/1024/1024/10242).'g';
   return 
round($size/1024/1024/1024/10242).'t';
  }
  
  public final function 
myurlencode($url) {
   
$j strlen($url);
   
$a '';
   for (
$i 0$i $j$i++) $a .= ($url{$i} != '/') ? rawurlencode($url{$i}) : '/';
   return 
$a;
  }
 }
 
 
$kernel = new win_website();
 
$kernel->startPage($_SERVER['QUERY_STRING']);
 if (
$kernel->getQueryVar('page') === false$kernel->setQueryVar('page''list');
 if (
$kernel->getQueryVar('lang') === false$kernel->setQueryVar('lang'DEFAULT_LANGUAGE);
 if (!
is_dir(DEFAULT_DIR.'/'.LANGUAGE_DIR.'/'.$kernel->makeSecureUrl($kernel->getQueryVar('lang')))) die();
 
$pAaAaAge $kernel->getQueryVar('page');
 if (
is_readable(PAGE_DIR.'/'.$kernel->makeSecureUrl($pAaAaAge).'.inc.php5')) {
  
ob_start();
  include(
PAGE_DIR.'/'.$kernel->makeSecureUrl($pAaAaAge).'.inc.php5');
  
$u ob_get_clean();
  
$kernel->translate($u$pAaAaAge$kernel->makeSecureUrl($kernel->getQueryVar('lang')));
 }
 
/*********/
 
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 <head>
  <title><?php echo 'Welcome to open source world -- [Time: '.date('H:i:s').' - Page: '.htmlentities($pAaAaAge).' - Language: '.htmlentities($kernel->getQueryVar('lang')); ?>]</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta http-equiv="Content-Language" content="fr-FR" />
  <meta name="keywords" content="win,warriorhouse" />
  <meta name="description" content="win's website" />
  <link rel="stylesheet" type="text/css" href="skins/<?php echo SKIN?>/css/styles.css" title="<?php echo SKIN?>" />
  <script type="text/javascript" src="scripts.js"></script>
 </head>
 <body>
  <div id="infobulle" style="display: none;"></div>
  <div style="text-align: center;">
   <img id="banniere" alt="banniere" src="skins/<?php echo SKIN?>/images/banniere.png" />
  </div>
  <div>
   <?php echo $u?>
  </div>
  <br /><br />
  <script type="text/javascript">
   <!--
    document.write('<div id="copyright'+(document.all ? 'ie' : '')+'" ondblclick="document.location.reload();" onmousedown="return false;">Cr&eacute;&eacute; par win 2006-<?php echo date('Y'); ?> - Page g&eacute;ner&eacute;e en <?php echo substr((microtime(true)-$microtime), 05); ?>s</div>');
   -->
  </script>
 </body>
</html>
<?php
 ob_end_flush
();
?>