Version 4.7.23

This commit is contained in:
Neo committed 2025-12-19 16:21:27 -08:00
1 parent 7124a02564
commit 25ddeb65d6
1791 files changed
+76990 -44452

No files matched your search

+23 -18
View File
@@ -83,6 +83,7 @@ class IPS
$outputCache = 'Database';
$outputCacheConfig = NULL;
$guestTimeout = 900;
$redisMaxConnectionAttempts = 5;
if ( isset( self::$cicConfig['guests']['guest_cache_timeout'] ) and self::$cicConfig['guests']['guest_cache_timeout'] and \is_numeric( self::$cicConfig['guests']['guest_cache_timeout'] ) )
{
@@ -97,6 +98,11 @@ class IPS
$guestTimeout = self::$cicConfig['redis']['guest_cache_timeout'];
}
if ( isset( self::$cicConfig['redis']['max_connection_attempts'] ) and self::$cicConfig['redis']['max_connection_attempts'] > 0 )
{
$redisMaxConnectionAttempts = (int) self::$cicConfig['redis']['max_connection_attempts'];
}
$storeMethod = 'Redis';
$cacheMethod = 'Redis';
$redisEnabled = TRUE;
@@ -129,12 +135,18 @@ class IPS
}
else
{
$uniqueKey = preg_match( '/^\/var\/www\/html\/(.+?)$/i', __DIR__, $matches ) ? str_replace( '/', '', $matches[1] ) : mb_substr( md5( 'nullcave' . '$Rev: 3023$'), 10, 10 );
$uniqueKey = preg_match( '/^\/var\/www\/html\/(.+?)$/i', __DIR__, $matches ) ? str_replace( '/', '', $matches[1] ) : mb_substr( md5( '13_mafia' . '$Rev: 3023$'), 10, 10 );
}
}
else
{
$uniqueKey = mb_substr( md5( 'nullcave' . '$Rev: 3023$'), 10, 10 );
$uniqueKey = mb_substr( md5( '13_mafia' . '$Rev: 3023$'), 10, 10 );
}
$staticKey = null;
if ( isset( self::$cicConfig['static_key'] ) )
{
$staticKey = self::$cicConfig['static_key'];
}
// ==========================================================================================
@@ -189,7 +201,7 @@ class IPS
// the database name and password, but that means if you ever change those, the data
// won't be able to be read. So if you *do* change those, you can set this constant
// to md5( old_database_pass + old_database_name ) to fix that.
'TEXT_ENCRYPTION_KEY' => NULL,
'TEXT_ENCRYPTION_KEY' => $staticKey,
// Data storage / caching settings
// To change any of the below, go to [AdminCP > System > Advanced Configuration >
@@ -202,6 +214,7 @@ class IPS
'CACHE_PAGE_TIMEOUT' => $guestTimeout, // Guest caching timeout in seconds
'REDIS_ENABLED' => $redisEnabled, // Use Redis for sessions and to topic view counters in addition to normal caching?
'REDIS_CONFIG' => $redisConfig, // JSON-encoded settings specific to Redis
'REDIS_MAX_CONNECTION_ATTEMPTS' => $redisMaxConnectionAttempts, // Maximum number of connection attempts before giving up
// These ones can't be changed in the AdminCP, but it's the same idea - allows Redis to be used for caching *except* guest page caching:
'OUTPUT_CACHE_METHOD' => $outputCache, // Caching Method for guest page caching (Redis, Database or None)
'OUTPUT_CACHE_METHOD_CONFIG' => $outputCacheConfig , // JSON-encoded settings specific to the guest page caching method
@@ -255,8 +268,8 @@ class IPS
// Threshold for "basic search mode"
// Very big database tables can be very slow to search, so if a value is set here, and
// the core_search_index table has more rows than whatever its value is, we default to
// limiting searches to the last year
'USE_MYSQL_SEARCH_BASIC_MODE_THRESHOLD' => 0,
// limiting searches to the last year on the form and via quick search (but users can change) and only sorting by newest, relevance is not an option.
'USE_MYSQL_SEARCH_OPTIMIZED_MODE' => FALSE,
// Maximum number of emails per batch
// Note: changing this will have very little practical effect because the batches will just
@@ -313,6 +326,9 @@ class IPS
// How long a task is late running before the admin gets a notification
// CiC is longer as CiC is more closely monitored and delayed tasks are not a symptom of a hosting issue
'TASK_OVERDUE_HOURS' => 36,
// Number of replies when a topic is considered large
'LARGE_TOPIC_REPLIES' => 10000,
//--------------------------------------------------------------------------------------
// DEPRECATED OPTIONS: CHANGE AT YOUR OWN RISK
@@ -468,18 +484,12 @@ class IPS
'TEST_DELTA_ZIP' => '', // The path to a zip file which will be used by the upgrader rather than downloading a zip from IPS servers
'TEST_DELTA_DETAILS' => NULL, // Array of responses to use for the various version difference tools the upgrader does rather than actually calling them
'DELTA_FORCE_FTP' => FALSE, // Will force the upgrader to ask for FTP details, even if it would be able to just write the files
'UPGRADE_MD5_CHECK' => TRUE, // Can be used to prevent the upgrader checking that the files that are present are correct
'IPS_PASSWORD' => NULL, // Used to authenticate with delta system's backend
'IPS_ALPHA_BUILD' => FALSE, // Are we submitting an alpha build to the delta system's backend?
// Use old UI in converter app?
// Used for development/testing purposes
'CONVERTERS_DEV_UI' => FALSE,
// Marketplace API
// All of these are just used by IPS developers to test Marketplace integration
'MARKETPLACE_URL' => "https://invisioncommunity.com", // The URL to the Marketplace
'MARKETPLACE_GUEST_TOKEN' => "a6f37dc05b427d82aa5a2e5b6e6229ed_f45f8df7aa132ddfebebe33853187a5f1211d3be8cdf0b41f92c3d20664e9596", // The OAuth access token for making requests when the user is not authenticated
//--------------------------------------------------------------------------------------
// CODING SHORTCUTS: NEVER CHANGE
@@ -506,7 +516,7 @@ class IPS
// CACHEBUST_KEY to be a "for reals, will change every release" one. DO NOT set a value
// for it in constants.php
'SUITE_UNIQUE_KEY' => $uniqueKey,
'CACHEBUST_KEY' => mb_substr( md5( 'nullcave' . '$Rev: 3023$'), 10, 10 ),
'CACHEBUST_KEY' => mb_substr( md5( '13_mafia' . '$Rev: 3023$'), 10, 10 ),
// Thumbnail size
// This needs to be hardcoded rather than configurable because it's the smallest size that
@@ -586,12 +596,7 @@ class IPS
}
/* Load in our CiC functions */
if ( isset( $_SERVER['IPS_CLOUD2'] ) AND isset( $_SERVER['IPS_CLOUD2_ID'] ) AND file_exists( "/var/www/sitefiles/{$_SERVER['IPS_CLOUD2_ID']}/applications/cloud/sources/functions.php" ) )
{
/* If we are uploading the cloud app manually, we need this */
@include_once( "/var/www/sitefiles/{$_SERVER['IPS_CLOUD2_ID']}/applications/cloud/sources/functions.php" );
}
else if( file_exists( __DIR__ . '/applications/cloud/sources/functions.php' ) )
if( ( isset( $_SERVER['IPS_CLOUD2'] ) AND isset( $_SERVER['IPS_CLOUD2_ID'] ) ) OR file_exists( __DIR__ . '/applications/cloud/sources/functions.php' ) )
{
@require_once( __DIR__ . '/applications/cloud/sources/functions.php' );
}