Your IP : 216.73.216.229


Current Path : /home/jeromecohp/www/aesecure/premium/third/smartoptimizer/
Upload File :
Current File : /home/jeromecohp/www/aesecure/premium/third/smartoptimizer/index.php

<?php
   // @file : /premium/third/smartoptimizer/index.php
   // @version : 2.0.2
   // @author : AVONTURE Christophe - christophe@aesecure.com
   // @copyright : (C) 2013-2015 - Christophe Avonture - all right reserved.
   // @url : http://www.aesecure.com/
   // @package : 2015-02-14 13:37:46
   // @license : This program is a commercial software.  You CAN'T redistribute it and/or modify it.
   // Source code is the property of Christophe Avonture and can't be reused, in whole or in part, in any programs.
?>
<?php
static $cacheDir='';static $debug=false;
function debug($key,$value){header('aeSecure-Minify-'.$key.': '.$value); return;}
function debugExit($msg){
global $settings;header('Content-Type: text/html; charset='.$settings['charSet']);header("Content-Encoding: none");
debug('Error',str_replace("\n", "",$msg));header('HTTP/1.0 404 Not Found');
exit();} function gmdatestr($time = null){if(is_null($time)) $time = time(); return gmdate("D, d M Y H:i:s",$time)." GMT";}
function gChFlNe($filename,$fileType){
global $settings;
return md5($filename).'.'.$fileType.($settings['gzip']?'.gz':'');}
function sFlBrwR($content,$fileType=null,$arr=null){
global $settings;
global $debug;
global $mimeTypes;if($fileType==null) $fileType='html';
$mime=$mimeTypes[$fileType]['mime'];  $isText=($mimeTypes[$fileType]['text']==true);
$filename=@realpath($content);if(is_file($filename)&&is_readable($filename)){
$mtime = filemtime(realpath($filename));
$content=file_get_contents($content, FILE_USE_INCLUDE_PATH);} else{
$mtime = time();}
if($isText==true){
if($settings['gzip']) header("Content-Encoding: gzip");header("Vary: Accept-Encoding");header('Content-type: '.$mime.';charset='.$settings['charSet']);} else{
header('Accept-Ranges: bytes');header('Content-type: '.$mime.';');}
header('Content-Length: '.strlen($content));header('Cache-Control: public');header('Last-Modified: '.gmdatestr($mtime));header("Expires: ".gmdatestr(time() + 315360000));if(!$arr==null){foreach ($arr as $key=>$value) debug($key,$value);}
if($isText==true){
echo $content;} else{
readfile($filename);}}
require_once('config.php');
$query=$_SERVER['REQUEST_URI'];if(preg_match('/^\/?(.+\/)?(.+)$/',$query,$matchResult)){
$fileName = $matchResult[2];if(strpos($fileName, '?')) $fileName=substr($fileName, 0, strpos($fileName, '?'));
$fileDir = $settings['baseDir'].$matchResult[1];} else debugExit("Invalid file name ($query)");if(realpath($fileDir.$fileName)=='') $fileDir=substr($fileDir,3,strlen($fileDir));if(strpos(realpath($fileDir), realpath($settings['baseDir'])) !== 0) return ;
$fileType = (preg_match('/^[^\x00]+\.([a-z0-9]+)$/i',$fileName,$matchResult))?strtolower($matchResult[1]):'';if(!isset($mimeTypes[$fileType])) debugExit("Unsupported file type ($fileType)");
$settings['gzip'] =
($settings['gzip']&&!in_array($fileType,$settings['gzipExceptions'])&&function_exists('gzencode') &&
in_array('gzip', array_map('trim', explode(',',@$_SERVER['HTTP_ACCEPT_ENCODING']))));
$mime=$mimeTypes[$fileType]['mime'];if($settings['serverCache']){
if(trim($cacheDir)==''){
$aeSecure_root=dirname(dirname(dirname(dirname(__FILE__))));require_once ($aeSecure_root.'/helpers/configuration.php');
$aesC=new aeSecureConfiguration();
$cacheDir=realpath($aesC->cache());
$debug=$aesC->dbu();
$settings['minify_css']=$aesC->getMinify('css', 1)===1;
$settings['minify_js']=$aesC->getMinify('js', 0)===1;  $settings['minify_html']=$aesC->getMinify('html', 1)===1;
$settings['optimize_img']=$aesC->getOptimize('images', 'enabled',$settings['optimize_img']);
$settings['optimize_img_ratio_decrease']=$aesC->getOptimize('images', 'ratio_decrease',$settings['optimize_img_ratio_decrease']);
$settings['optimize_img_max_width']=$aesC->getOptimize('images', 'max_width',$settings['optimize_img_max_width']);if($debug){error_reporting(E_ALL);}
unset($aesC);}   $cachedFile = (is_dir($cacheDir)&&is_writable($cacheDir))?$cacheDir.DIRECTORY_SEPARATOR.'aesecure_'.gChFlNe($query,$fileType):'';}
if(file_exists($cachedFile)){sFlBrwR($cachedFile,$fileType,array('from-cache'=>'yes')); return;}
$settings['minify'] = (!(preg_match('@(?<!\.min)\.(js|css|html?)$@',$fileName)))?false:true;if($settings['minify']){
switch (strtolower($fileType)){
case 'css':$settings['minify']=$settings['minify_css']&&file_exists('minifiers/'.$fileType.'.php');break;case 'js':$settings['minify']=$settings['minify_js']&&file_exists('minifiers/'.$fileType.'.php');break;case 'html': $settings['minify']=$settings['minify_html']&&file_exists('minifiers/'.$fileType.'.php');break;
default:$settings['minify']=false;}}
$settings['optimize_img']= $settings['optimize_img']&&file_exists('images/'.($fileType=='jpeg'?'jpg':$fileType).'.php');if($settings['optimize_img']){if(($settings['optimize_img_ratio_decrease']==1)&&($settings['optimize_img_max_width']==0)) $settings['optimize_img']=false;}
$arr=array();if($mimeTypes[$fileType]['text']===true){
$arr['minify']=($settings['minify']?'yes':'no');
$arr['gzip']=($settings['gzip']?'yes':'no');
$content = @file_get_contents(realpath($fileDir.$fileName));if($settings['minify']){require_once('minifiers/'.$fileType.'.php'); $content = call_user_func('minify_'.$fileType,$content);}
if($settings['gzip']) $content = @gzencode($content,$settings['compressionLevel']);
$arr['cached']=(trim($cachedFile)!=''?'true':'false');if(trim($cachedFile)!=''){
try{
if($handle = fopen($cachedFile, 'w')){
fwrite($handle,$content);
fclose($handle);} else{
if($debug) $arr['Error']='Could not create the cache version of the file; write failed ['.$cachedFile.']';}} catch (Exception $ex){}}} else{
if($settings['optimize_img']===true){
$arr['cached']=(trim($cachedFile)!=''?'true':'false');
$arr['decreate_ratio']=$settings['optimize_img_ratio_decrease'];
$arr['max_width']=$settings['optimize_img_max_width'];require_once ('images/'.($fileType=='jpeg'?'jpg':$fileType).'.php');
$content = call_user_func('optimize_'.($fileType=='jpeg'?'jpg':$fileType), array(
'filename'=>$fileDir.$fileName,
'cache'=>$cachedFile,
'DecreaseRatio'=>$settings['optimize_img_ratio_decrease'],
'maxImgWidth'=>$settings['optimize_img_max_width'])
);} else{$content=$fileDir.$fileName;}}
sFlBrwR($content,$fileType,$arr);