Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+32 -17
View File
@@ -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();
}