Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

+16 -8
View File
@@ -57,7 +57,7 @@ class _Install
if ( $return['requirements']['PHP']['version']['success'] and version_compare( $phpVersion, $requirements['php']['recommended'] ) == -1 )
{
$return['requirements']['PHP']['version']['message'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_php_version_success', FALSE, array( 'sprintf' => array( $phpVersion ) ) );
$return['advice']['php'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_php_version_advice', FALSE, array( 'sprintf' => array( $phpVersion, $requirements['php']['recommended'] ) ) );
$return['advice']['PHP']['php'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_php_version_advice', FALSE, array( 'sprintf' => array( $phpVersion, $requirements['php']['recommended'] ) ) );
}
/* We require file_uploads otherwise lots of stuff won't work */
@@ -66,6 +66,7 @@ class _Install
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_file_uploads' ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_fileuploads' ),
);
}
@@ -84,13 +85,14 @@ class _Install
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_curl_fopen' ),
);
$return['advice'][] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_curl_advice' );
$return['advice']['PHP']['curl'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_curl_advice' );
}
else
{
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_curl_fail' ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_curl' ),
);
}
@@ -109,6 +111,7 @@ class _Install
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_mb_regex' ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_mbregex' ),
);
}
@@ -117,6 +120,7 @@ class _Install
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_mb_overload' ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_mboverload' ),
);
}
}
@@ -125,6 +129,7 @@ class _Install
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_mb_fail' ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_mb' ),
);
}
@@ -148,17 +153,18 @@ class _Install
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_extension_fail', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( "requirements_extension_{$extension}" ) ) ) ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_extension', FALSE, array( 'sprintf' => array( $extension ) ) ),
);
}
elseif ( $type === 'advised' )
{
if( \IPS\Member::loggedIn()->language()->checkKeyExists( 'requirements_extension_advice_' . $extension ) )
{
$return['advice'][] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_extension_advice_' . $extension );
$return['advice']['PHP'][ $extension ] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_extension_advice_' . $extension );
}
else
{
$return['advice'][] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_extension_advice', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( "requirements_extension_{$extension}" ) ) ) );
$return['advice']['PHP'][ $extension ] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_extension_advice', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( "requirements_extension_{$extension}" ) ) ) );
}
}
}
@@ -198,10 +204,13 @@ class _Install
{
$return['requirements']['PHP'][] = array(
'success' => FALSE,
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_memory_limit_fail', FALSE, array( 'sprintf' => array( \IPS\Output\Plugin\Filesize::humanReadableFilesize( $memoryLimit ) ) ) )
'message' => \IPS\Member::loggedIn()->language()->addToStack( 'requirements_memory_limit_fail', FALSE, array( 'sprintf' => array( \IPS\Output\Plugin\Filesize::humanReadableFilesize( $memoryLimit ) ) ) ),
'short' => \IPS\Member::loggedIn()->language()->addToStack( 'health__php_memory' ),
);
}
$writeablesKey = \IPS\Member::loggedIn()->language()->addToStack('requirements_file_system');
/* Suhosin */
if ( \extension_loaded( 'suhosin' ) )
{
@@ -217,19 +226,18 @@ class _Install
$value = ini_get( $setting );
if ( $value and $value < $minimum )
{
$return['advice'][] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_suhosin_limit', FALSE, array( 'sprintf' => array( $setting, $value, $minimum ) ) );
$return['advice'][ $writeablesKey ]['suhosin'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_suhosin_limit', FALSE, array( 'sprintf' => array( $setting, $value, $minimum ) ) );
}
}
$value = ini_get('suhosin.cookie.encrypt');
if ( $value and $value == 1 )
{
$return['advice'][] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_suhosin_cookie_encrypt' );
$return['advice'][ $writeablesKey ]['suhosin'] = \IPS\Member::loggedIn()->language()->addToStack( 'requirements_suhosin_cookie_encrypt' );
}
}
/* Writeables */
$writeablesKey = \IPS\Member::loggedIn()->language()->addToStack('requirements_file_system');
foreach ( array( 'applications', 'datastore', 'plugins', 'uploads' ) as $dir )
{
$success = is_writable( \IPS\ROOT_PATH . '/' . $dir );