mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 06:38:00 +02:00
Merge pull request #3529 from Deltik/fix-3528
Namespaced class support! Also: readlink() has been "polyfilled"
This commit is contained in:
67
class2.php
67
class2.php
@@ -261,73 +261,6 @@ $e107 = e107::getInstance()->initCore($e107_paths, e_ROOT, $sql_info, varset($E1
|
|||||||
|
|
||||||
e107::getSingleton('eIPHandler'); // This auto-handles bans etc
|
e107::getSingleton('eIPHandler'); // This auto-handles bans etc
|
||||||
|
|
||||||
|
|
||||||
### NEW Register Autoload - do it asap
|
|
||||||
if(!function_exists('spl_autoload_register'))
|
|
||||||
{
|
|
||||||
// PHP >= 5.1.2 required
|
|
||||||
die('Fatal exception - spl_autoload_* required.');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// allow disable of autoloading - may be removed as e107::autoload_register() is flexible enough
|
|
||||||
if(!defset('E107_DISABLE_AUTOLOAD', false))
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Generic autoloader. (didn't work while in e107_class.php)
|
|
||||||
* @example if your plugin calls 'use Xxxxx\Yyyyy\Zzzzz;' it will attempt to load: ./vendor/Xxxxx/Yyyyy/Zzzzz.php
|
|
||||||
*/
|
|
||||||
function autoloadPsr0($className)
|
|
||||||
{
|
|
||||||
$className = str_replace("_", "\\", $className);
|
|
||||||
$className = ltrim($className, '\\');
|
|
||||||
$fileName = '';
|
|
||||||
$namespace = '';
|
|
||||||
|
|
||||||
if ($lastNsPos = strripos($className, '\\'))
|
|
||||||
{
|
|
||||||
$namespace = substr($className, 0, $lastNsPos);
|
|
||||||
$className = substr($className, $lastNsPos + 1);
|
|
||||||
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
|
|
||||||
}
|
|
||||||
|
|
||||||
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
|
|
||||||
|
|
||||||
$fullPath = 'vendor'. DIRECTORY_SEPARATOR . $fileName;
|
|
||||||
|
|
||||||
if(file_exists($fullPath))
|
|
||||||
{
|
|
||||||
e107_require_once($fullPath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
e107::autoload_register(array('e107', 'autoload'));
|
|
||||||
// e107::autoload_register('autoloadPsr0'); // Generic 'use xxxx\yyyy\zzzz;' fix/solution for plugin developers.
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function genericAutoload($className)
|
|
||||||
{
|
|
||||||
$className = str_replace("_", "\\", $className);
|
|
||||||
$className = ltrim($className, '\\');
|
|
||||||
$fileName = '';
|
|
||||||
$namespace = '';
|
|
||||||
if ($lastNsPos = strripos($className, '\\'))
|
|
||||||
{
|
|
||||||
$namespace = substr($className, 0, $lastNsPos);
|
|
||||||
$className = substr($className, $lastNsPos + 1);
|
|
||||||
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
|
|
||||||
}
|
|
||||||
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
|
|
||||||
|
|
||||||
e107_require_once($fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NEW - system security levels
|
* NEW - system security levels
|
||||||
* Could be overridden by e107_config.php OR $CLASS2_INCLUDE script (if not set earlier)
|
* Could be overridden by e107_config.php OR $CLASS2_INCLUDE script (if not set earlier)
|
||||||
|
17
e107_handlers/Shims/All.php
Normal file
17
e107_handlers/Shims/All.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* e107 website system
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008-2018 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* Shims for PHP internal functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace e107\Shims;
|
||||||
|
|
||||||
|
class All
|
||||||
|
{
|
||||||
|
use InternalShims;
|
||||||
|
}
|
17
e107_handlers/Shims/Internal.php
Normal file
17
e107_handlers/Shims/Internal.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* e107 website system
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008-2018 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* Shims for PHP internal functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace e107\Shims;
|
||||||
|
|
||||||
|
class Internal
|
||||||
|
{
|
||||||
|
use InternalShims;
|
||||||
|
}
|
63
e107_handlers/Shims/InternalShims.php
Normal file
63
e107_handlers/Shims/InternalShims.php
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* e107 website system
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008-2018 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* Shims for PHP internal functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace e107\Shims;
|
||||||
|
|
||||||
|
trait InternalShims
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Outputs a file
|
||||||
|
*
|
||||||
|
* Resilient replacement for PHP internal readfile()
|
||||||
|
*
|
||||||
|
* @see https://github.com/e107inc/e107/issues/3528 Why this method was implemented
|
||||||
|
* @param string $filename The filename being read.
|
||||||
|
* @param bool $use_include_path You can use the optional second parameter and set it to TRUE,
|
||||||
|
* if you want to search for the file in the include_path, too.
|
||||||
|
* @param resource $context A context stream resource.
|
||||||
|
* @return int|bool Returns the number of bytes read from the file.
|
||||||
|
* If an error occurs, FALSE is returned.
|
||||||
|
*/
|
||||||
|
public static function readfile($filename, $use_include_path = FALSE, $context = NULL)
|
||||||
|
{
|
||||||
|
$output = @readfile($filename, $use_include_path, $context);
|
||||||
|
if ($output === NULL)
|
||||||
|
{
|
||||||
|
return self::readfile_alt($filename, $use_include_path, $context);
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Outputs a file
|
||||||
|
*
|
||||||
|
* Alternative implementation using file streams
|
||||||
|
*
|
||||||
|
* @param $filename
|
||||||
|
* @param bool $use_include_path
|
||||||
|
* @param resource $context
|
||||||
|
* @return bool|int
|
||||||
|
*/
|
||||||
|
public static function readfile_alt($filename, $use_include_path = FALSE, $context = NULL)
|
||||||
|
{
|
||||||
|
// fopen() silently returns false if there is no context
|
||||||
|
if (!is_resource($context)) $context = stream_context_create();
|
||||||
|
|
||||||
|
$handle = @fopen($filename, 'rb', $use_include_path, $context);
|
||||||
|
if ($handle === FALSE) return FALSE;
|
||||||
|
while (!feof($handle))
|
||||||
|
{
|
||||||
|
echo(fread($handle, 8192));
|
||||||
|
}
|
||||||
|
fclose($handle);
|
||||||
|
return filesize($filename);
|
||||||
|
}
|
||||||
|
}
|
18
e107_handlers/Shims/eShims.php
Normal file
18
e107_handlers/Shims/eShims.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* e107 website system
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008-2018 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* Shims for PHP internal functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
// e107 v2-style classes
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
class eShims extends \e107\Shims\All
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@@ -226,6 +226,7 @@ class e107
|
|||||||
'eRequest' => '{e_HANDLER}application.php',
|
'eRequest' => '{e_HANDLER}application.php',
|
||||||
'eResponse' => '{e_HANDLER}application.php',
|
'eResponse' => '{e_HANDLER}application.php',
|
||||||
'eRouter' => '{e_HANDLER}application.php',
|
'eRouter' => '{e_HANDLER}application.php',
|
||||||
|
'eShims' => '{e_HANDLER}Shims/eShims.php',
|
||||||
'eUrl' => '{e_HANDLER}e107Url.php',
|
'eUrl' => '{e_HANDLER}e107Url.php',
|
||||||
'eUrlConfig' => '{e_HANDLER}application.php',
|
'eUrlConfig' => '{e_HANDLER}application.php',
|
||||||
'eUrlRule' => '{e_HANDLER}application.php',
|
'eUrlRule' => '{e_HANDLER}application.php',
|
||||||
@@ -4613,31 +4614,31 @@ class e107
|
|||||||
{
|
{
|
||||||
$_data = self::getSession()->get('__sessionBrowserCache');
|
$_data = self::getSession()->get('__sessionBrowserCache');
|
||||||
if(!is_array($_data)) $_data = array();
|
if(!is_array($_data)) $_data = array();
|
||||||
|
|
||||||
if(null === $set)
|
if(null === $set)
|
||||||
{
|
{
|
||||||
return in_array(e_REQUEST_URI, $_data);
|
return in_array(e_REQUEST_URI, $_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove e_REQUEST_URI from the set
|
// remove e_REQUEST_URI from the set
|
||||||
if(false === $set)
|
if(false === $set)
|
||||||
{
|
{
|
||||||
$check = array_search(e_REQUEST_URI, $_data);
|
$check = array_search(e_REQUEST_URI, $_data);
|
||||||
if(false !== $check)
|
if(false !== $check)
|
||||||
{
|
{
|
||||||
unset($_data[$check]);
|
unset($_data[$check]);
|
||||||
self::getSession()->set('__sessionBrowserCache', $_data);
|
self::getSession()->set('__sessionBrowserCache', $_data);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(true === $set)
|
if(true === $set)
|
||||||
{
|
{
|
||||||
$set = e_REQUEST_URI;
|
$set = e_REQUEST_URI;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($set) || !is_string($set) || in_array($set, $_data)) return;
|
if(empty($set) || !is_string($set) || in_array($set, $_data)) return;
|
||||||
|
|
||||||
$_data[] = $set;
|
$_data[] = $set;
|
||||||
self::getSession()->set('__sessionBrowserCache', array_unique($_data));
|
self::getSession()->set('__sessionBrowserCache', array_unique($_data));
|
||||||
}
|
}
|
||||||
@@ -4669,7 +4670,7 @@ class e107
|
|||||||
* If $do_return, will always return with ban status - TRUE for OK, FALSE for banned.
|
* If $do_return, will always return with ban status - TRUE for OK, FALSE for banned.
|
||||||
* If return permitted, will never display a message for a banned user; otherwise will display any message then exit
|
* If return permitted, will never display a message for a banned user; otherwise will display any message then exit
|
||||||
* FIXME - moved to ban helper, replace all calls
|
* FIXME - moved to ban helper, replace all calls
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param string $query
|
* @param string $query
|
||||||
* @param boolean $show_error
|
* @param boolean $show_error
|
||||||
@@ -4720,11 +4721,11 @@ class e107
|
|||||||
* @param string $div divider
|
* @param string $div divider
|
||||||
* @return string encoded IP
|
* @return string encoded IP
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function ipEncode($ip, $div = ':')
|
public function ipEncode($ip, $div = ':')
|
||||||
{
|
{
|
||||||
return self::getIPHandler()->ipEncode($ip);
|
return self::getIPHandler()->ipEncode($ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takes an encoded IP address - returns a displayable one
|
* Takes an encoded IP address - returns a displayable one
|
||||||
@@ -4829,18 +4830,25 @@ class e107
|
|||||||
*/
|
*/
|
||||||
public static function autoload_register($function, $prepend = false)
|
public static function autoload_register($function, $prepend = false)
|
||||||
{
|
{
|
||||||
|
### NEW Register Autoload - do it asap
|
||||||
|
if(!function_exists('spl_autoload_register'))
|
||||||
|
{
|
||||||
|
// PHP >= 5.1.2 required
|
||||||
|
die_fatal_error('Fatal exception - spl_autoload_* required.');
|
||||||
|
}
|
||||||
|
|
||||||
if(!$prepend || false === ($registered = spl_autoload_functions()))
|
if(!$prepend || false === ($registered = spl_autoload_functions()))
|
||||||
{
|
{
|
||||||
return spl_autoload_register($function);
|
return spl_autoload_register($function);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($registered as $r)
|
foreach ($registered as $r)
|
||||||
{
|
{
|
||||||
spl_autoload_unregister($r);
|
spl_autoload_unregister($r);
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = spl_autoload_register($function);
|
$result = spl_autoload_register($function);
|
||||||
foreach ($registered as $r)
|
foreach ($registered as $r)
|
||||||
{
|
{
|
||||||
if(!spl_autoload_register($r)) $result = false;
|
if(!spl_autoload_register($r)) $result = false;
|
||||||
}
|
}
|
||||||
@@ -4849,7 +4857,7 @@ class e107
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Former __autoload, generic core autoload logic
|
* Former __autoload, generic core autoload logic
|
||||||
*
|
*
|
||||||
* Magic class autoload.
|
* Magic class autoload.
|
||||||
* We are raising plugin structure standard here - plugin auto-loading works ONLY if
|
* We are raising plugin structure standard here - plugin auto-loading works ONLY if
|
||||||
* classes live inside 'includes' folder.
|
* classes live inside 'includes' folder.
|
||||||
@@ -4886,6 +4894,14 @@ class e107
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Detect namespaced class
|
||||||
|
if (strpos($className, '\\') !== false)
|
||||||
|
{
|
||||||
|
self::autoload_namespaced($className);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$tmp = explode('_', $className);
|
$tmp = explode('_', $className);
|
||||||
|
|
||||||
//echo 'autoloding...'.$className.'<br />';
|
//echo 'autoloding...'.$className.'<br />';
|
||||||
@@ -4894,7 +4910,7 @@ class e107
|
|||||||
case 'plugin': // plugin handlers/shortcode batches
|
case 'plugin': // plugin handlers/shortcode batches
|
||||||
array_shift($tmp); // remove 'plugin'
|
array_shift($tmp); // remove 'plugin'
|
||||||
$end = array_pop($tmp); // check for 'shortcodes' end phrase
|
$end = array_pop($tmp); // check for 'shortcodes' end phrase
|
||||||
|
|
||||||
if (!isset($tmp[0]) || !$tmp[0])
|
if (!isset($tmp[0]) || !$tmp[0])
|
||||||
{
|
{
|
||||||
if($end)
|
if($end)
|
||||||
@@ -4905,7 +4921,7 @@ class e107
|
|||||||
}
|
}
|
||||||
return; // In case we get an empty class part
|
return; // In case we get an empty class part
|
||||||
}
|
}
|
||||||
|
|
||||||
// Currently only batches inside shortcodes/ folder are auto-detected,
|
// Currently only batches inside shortcodes/ folder are auto-detected,
|
||||||
// read the todo for e_shortcode.php related problems
|
// read the todo for e_shortcode.php related problems
|
||||||
if('shortcodes' == $end)
|
if('shortcodes' == $end)
|
||||||
@@ -4919,13 +4935,13 @@ class e107
|
|||||||
{
|
{
|
||||||
$tmp[] = $end; // not a shortcode batch - append the end phrase again
|
$tmp[] = $end; // not a shortcode batch - append the end phrase again
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handler check
|
// Handler check
|
||||||
$tmp[0] .= '/includes'; //folder 'includes' is not part of the class name
|
$tmp[0] .= '/includes'; //folder 'includes' is not part of the class name
|
||||||
$filename = e_PLUGIN.implode('/', $tmp).'.php';
|
$filename = e_PLUGIN.implode('/', $tmp).'.php';
|
||||||
//TODO add debug screen Auto-loaded classes - ['plugin: '.$filename.' - '.$className];
|
//TODO add debug screen Auto-loaded classes - ['plugin: '.$filename.' - '.$className];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: //core libraries, core shortcode batches
|
default: //core libraries, core shortcode batches
|
||||||
// core SC batch check
|
// core SC batch check
|
||||||
$end = array_pop($tmp);
|
$end = array_pop($tmp);
|
||||||
@@ -4934,12 +4950,12 @@ class e107
|
|||||||
$filename = e_CORE.'shortcodes/batch/'.$className.'.php'; // core shortcode batch
|
$filename = e_CORE.'shortcodes/batch/'.$className.'.php'; // core shortcode batch
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$filename = self::getHandlerPath($className, true);
|
$filename = self::getHandlerPath($className, true);
|
||||||
//TODO add debug screen Auto-loaded classes - ['core: '.$filename.' - '.$className];
|
//TODO add debug screen Auto-loaded classes - ['core: '.$filename.' - '.$className];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($filename) && is_file($filename)) // Test with chatbox_menu
|
if(!empty($filename) && is_file($filename)) // Test with chatbox_menu
|
||||||
{
|
{
|
||||||
// autoload doesn't REQUIRE files, because this will break things like call_user_func()
|
// autoload doesn't REQUIRE files, because this will break things like call_user_func()
|
||||||
@@ -4947,6 +4963,27 @@ class e107
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autoloading logic for namespaced classes
|
||||||
|
*
|
||||||
|
* @param $className
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private static function autoload_namespaced($className)
|
||||||
|
{
|
||||||
|
$levels = explode('\\', $className);
|
||||||
|
|
||||||
|
// Guard against classes that are not ours
|
||||||
|
if ($levels[0] != 'e107') return;
|
||||||
|
|
||||||
|
$levels[0] = e_HANDLER;
|
||||||
|
$classPath = implode('/', $levels).'.php';
|
||||||
|
if (is_file($classPath) && is_readable($classPath))
|
||||||
|
{
|
||||||
|
include($classPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function __get($name)
|
public function __get($name)
|
||||||
{
|
{
|
||||||
switch ($name)
|
switch ($name)
|
||||||
@@ -5125,3 +5162,5 @@ class e107
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e107::autoload_register(array(e107::class, 'autoload'));
|
@@ -111,7 +111,7 @@ function resize_image($source_file, $destination_file, $type = "upload", $model
|
|||||||
{
|
{
|
||||||
if (($result = mimeFromFilename($source_file)) === FALSE) { return FALSE; }
|
if (($result = mimeFromFilename($source_file)) === FALSE) { return FALSE; }
|
||||||
header($result);
|
header($result);
|
||||||
if (@readfile($source_file) === FALSE) { return FALSE; }
|
if (eShims::readfile($source_file) === FALSE) { return FALSE; }
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
12
install.php
12
install.php
@@ -163,18 +163,6 @@ if($e107->initInstall($e107_paths, $ebase, $override)===false)
|
|||||||
|
|
||||||
unset($e107_paths,$override,$ebase);
|
unset($e107_paths,$override,$ebase);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### NEW Register Autoload - do it asap
|
|
||||||
if(!function_exists('spl_autoload_register'))
|
|
||||||
{
|
|
||||||
// PHP >= 5.1.2 required
|
|
||||||
die_fatal_error('Fatal exception - spl_autoload_* required.');
|
|
||||||
}
|
|
||||||
|
|
||||||
// register core autoload
|
|
||||||
e107::autoload_register(array('e107', 'autoload'));
|
|
||||||
|
|
||||||
// NEW - session handler
|
// NEW - session handler
|
||||||
require_once(e_HANDLER.'session_handler.php');
|
require_once(e_HANDLER.'session_handler.php');
|
||||||
define('e_SECURITY_LEVEL', e_session::SECURITY_LEVEL_NONE);
|
define('e_SECURITY_LEVEL', e_session::SECURITY_LEVEL_NONE);
|
||||||
|
15
thumb.php
15
thumb.php
@@ -324,11 +324,12 @@ class e_thumbpage
|
|||||||
|
|
||||||
$fname = e107::getParser()->thumbCacheFile($this->_src_path, $options);
|
$fname = e107::getParser()->thumbCacheFile($this->_src_path, $options);
|
||||||
|
|
||||||
if(($this->_cache === true) && is_file(e_CACHE_IMAGE.$fname) && is_readable(e_CACHE_IMAGE.$fname) && ($this->_debug !== true))
|
$cache_filename = e_CACHE_IMAGE . $fname;
|
||||||
|
if(($this->_cache === true) && is_file($cache_filename) && is_readable($cache_filename) && ($this->_debug !== true))
|
||||||
{
|
{
|
||||||
$thumbnfo['lmodified'] = filemtime(e_CACHE_IMAGE.$fname);
|
$thumbnfo['lmodified'] = filemtime($cache_filename);
|
||||||
$thumbnfo['md5s'] = md5_file(e_CACHE_IMAGE.$fname);
|
$thumbnfo['md5s'] = md5_file($cache_filename);
|
||||||
$thumbnfo['fsize'] = filesize(e_CACHE_IMAGE.$fname);
|
$thumbnfo['fsize'] = filesize($cache_filename);
|
||||||
|
|
||||||
// Send required headers
|
// Send required headers
|
||||||
if($this->_debug !== true)
|
if($this->_debug !== true)
|
||||||
@@ -349,9 +350,7 @@ class e_thumbpage
|
|||||||
// Send required headers
|
// Send required headers
|
||||||
//$this->sendHeaders($thumbnfo);
|
//$this->sendHeaders($thumbnfo);
|
||||||
|
|
||||||
|
eShims::readfile($cache_filename);
|
||||||
|
|
||||||
@readfile(e_CACHE_IMAGE.$fname);
|
|
||||||
//$bench->end()->logResult('thumb.php', $_GET['src'].' - retrieve cache');
|
//$bench->end()->logResult('thumb.php', $_GET['src'].' - retrieve cache');
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
@@ -443,7 +442,7 @@ class e_thumbpage
|
|||||||
//exit;
|
//exit;
|
||||||
|
|
||||||
// set cache
|
// set cache
|
||||||
$thumb->save(e_CACHE_IMAGE.$fname);
|
$thumb->save($cache_filename);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user