Version 4.1.19
This commit is contained in:
1 parent
28bd025b35
commit
2bd5025018
2674 files changed
+233518
-77766
No files matched your search
@@ -2,9 +2,9 @@
|
||||
/**
|
||||
* @brief File System Storage Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Social Suite
|
||||
* @package IPS Community Suite
|
||||
* @since 07 May 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
@@ -93,14 +93,14 @@ class _FileSystem extends \IPS\Data\Store
|
||||
{
|
||||
if ( !isset( static::$cache[ $key ] ) )
|
||||
{
|
||||
/* It is remotely possible that the file was removed in between an exists check and a get call on a busy site,
|
||||
so we need to make sure the file still exists in order to prevent a php warning */
|
||||
clearstatcache();
|
||||
|
||||
if ( file_exists( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' ) )
|
||||
if ( @filesize( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' ) )
|
||||
{
|
||||
static::$cache[ $key ] = require( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new \UnderflowException;
|
||||
}
|
||||
}
|
||||
|
||||
return static::$cache[ $key ];
|
||||
@@ -139,9 +139,9 @@ CONTENTS;
|
||||
static::$cache[ $key ] = $value;
|
||||
|
||||
/* Clear zend opcache if enabled */
|
||||
if( function_exists('opcache_reset') )
|
||||
if ( function_exists( 'opcache_invalidate' ) )
|
||||
{
|
||||
@opcache_reset();
|
||||
@opcache_invalidate( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
}
|
||||
|
||||
return $result;
|
||||
@@ -159,8 +159,18 @@ CONTENTS;
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return is_file( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->get( $key );
|
||||
return TRUE;
|
||||
}
|
||||
catch ( \UnderflowException $e )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -171,21 +181,24 @@ CONTENTS;
|
||||
*/
|
||||
public function delete( $key )
|
||||
{
|
||||
$return = false;
|
||||
if ( file_exists( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' ) )
|
||||
{
|
||||
return @unlink( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
$return = @unlink( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
}
|
||||
|
||||
if( isset( static::$cache[ $key ] ) )
|
||||
if( array_key_exists( $key, static::$cache ) )
|
||||
{
|
||||
unset( static::$cache[ $key ] );
|
||||
}
|
||||
|
||||
/* Clear zend opcache if enabled */
|
||||
if( function_exists('opcache_reset') )
|
||||
if ( function_exists( 'opcache_invalidate' ) )
|
||||
{
|
||||
@opcache_reset();
|
||||
@opcache_invalidate( $this->_path . '/' . $key . '.' . \IPS\SUITE_UNIQUE_KEY . '.php' );
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -211,8 +224,10 @@ CONTENTS;
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear zend opcache if enabled */
|
||||
if( function_exists('opcache_reset') )
|
||||
/* Clear zend opcache if enabled - we call reset here since we're wiping multiple files
|
||||
and since this gets called as part of a general 'rebuild everything', a reset is
|
||||
probably a good idea anyway */
|
||||
if ( function_exists( 'opcache_reset' ) )
|
||||
{
|
||||
@opcache_reset();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user