Merge pull request #389 from virtualtam/utils/check-php-version
application: move checkPHPVersion from Utils to ApplicationUtils
This commit is contained in:
commit
4409b9eb0f
5 changed files with 52 additions and 52 deletions
|
@ -5,6 +5,26 @@
|
|||
class ApplicationUtils
|
||||
{
|
||||
|
||||
/**
|
||||
* Checks the PHP version to ensure Shaarli can run
|
||||
*
|
||||
* @param string $minVersion minimum PHP required version
|
||||
* @param string $curVersion current PHP version (use PHP_VERSION)
|
||||
*
|
||||
* @throws Exception the PHP version is not supported
|
||||
*/
|
||||
public static function checkPHPVersion($minVersion, $curVersion)
|
||||
{
|
||||
if (version_compare($curVersion, $minVersion) < 0) {
|
||||
throw new Exception(
|
||||
'Your PHP version is obsolete!'
|
||||
.' Shaarli requires at least PHP '.$minVersion.', and thus cannot run.'
|
||||
.' Your PHP version has known security vulnerabilities and should be'
|
||||
.' updated as soon as possible.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks Shaarli has the proper access permissions to its resources
|
||||
*
|
||||
|
|
|
@ -119,26 +119,6 @@ function generateLocation($referer, $host, $loopTerms = array())
|
|||
return $finalReferer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the PHP version to ensure Shaarli can run
|
||||
*
|
||||
* @param string $minVersion minimum PHP required version
|
||||
* @param string $curVersion current PHP version (use PHP_VERSION)
|
||||
*
|
||||
* @throws Exception the PHP version is not supported
|
||||
*/
|
||||
function checkPHPVersion($minVersion, $curVersion)
|
||||
{
|
||||
if (version_compare($curVersion, $minVersion) < 0) {
|
||||
throw new Exception(
|
||||
'Your PHP version is obsolete!'
|
||||
.' Shaarli requires at least PHP '.$minVersion.', and thus cannot run.'
|
||||
.' Your PHP version has known security vulnerabilities and should be'
|
||||
.' updated as soon as possible.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate session ID to prevent Full Path Disclosure.
|
||||
*
|
||||
|
|
|
@ -159,7 +159,7 @@ require_once 'application/Router.php';
|
|||
|
||||
// Ensure the PHP version is supported
|
||||
try {
|
||||
checkPHPVersion('5.3', PHP_VERSION);
|
||||
ApplicationUtils::checkPHPVersion('5.3', PHP_VERSION);
|
||||
} catch(Exception $exc) {
|
||||
header('Content-Type: text/plain; charset=utf-8');
|
||||
echo $exc->getMessage();
|
||||
|
|
|
@ -11,6 +11,37 @@ require_once 'application/ApplicationUtils.php';
|
|||
*/
|
||||
class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* Check supported PHP versions
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion()
|
||||
{
|
||||
$minVersion = '5.3';
|
||||
ApplicationUtils::checkPHPVersion($minVersion, '5.4.32');
|
||||
ApplicationUtils::checkPHPVersion($minVersion, '5.5');
|
||||
ApplicationUtils::checkPHPVersion($minVersion, '5.6.10');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check a unsupported PHP version
|
||||
* @expectedException Exception
|
||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion51()
|
||||
{
|
||||
ApplicationUtils::checkPHPVersion('5.3', '5.1.0');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check another unsupported PHP version
|
||||
* @expectedException Exception
|
||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion52()
|
||||
{
|
||||
ApplicationUtils::checkPHPVersion('5.3', '5.2');
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks resource permissions for the current Shaarli installation
|
||||
*/
|
||||
|
|
|
@ -138,37 +138,6 @@ class UtilsTest extends PHPUnit_Framework_TestCase
|
|||
$this->assertEquals('?', generateLocation($ref, 'localhost'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check supported PHP versions
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion()
|
||||
{
|
||||
$minVersion = '5.3';
|
||||
checkPHPVersion($minVersion, '5.4.32');
|
||||
checkPHPVersion($minVersion, '5.5');
|
||||
checkPHPVersion($minVersion, '5.6.10');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check a unsupported PHP version
|
||||
* @expectedException Exception
|
||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion51()
|
||||
{
|
||||
checkPHPVersion('5.3', '5.1.0');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check another unsupported PHP version
|
||||
* @expectedException Exception
|
||||
* @expectedExceptionMessageRegExp /Your PHP version is obsolete/
|
||||
*/
|
||||
public function testCheckSupportedPHPVersion52()
|
||||
{
|
||||
checkPHPVersion('5.3', '5.2');
|
||||
}
|
||||
|
||||
/**
|
||||
* Test is_session_id_valid with a valid ID - TEST ALL THE HASHES!
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue