check php version, the encryption app needs php >= 5.3.3

This commit is contained in:
Björn Schießle 2013-07-01 12:16:36 +02:00
parent cb5811bcf5
commit adcee5b695
3 changed files with 22 additions and 7 deletions

View File

@ -34,10 +34,9 @@ if (!OC_Config::getValue('maintenance', false)) {
$view = new OC_FilesystemView('/');
$sessionReady = false;
if(extension_loaded("openssl")) {
$sessionReady = OCA\Encryption\Helper::checkRequirements();
if($sessionReady) {
$session = new \OCA\Encryption\Session($view);
$sessionReady = true;
}
$user = \OCP\USER::getUser();

View File

@ -39,10 +39,10 @@ class Hooks {
*/
public static function login($params) {
$l = new \OC_L10N('files_encryption');
//check if openssl is available
if(!extension_loaded("openssl") ) {
$error_msg = $l->t("PHP module OpenSSL is not installed.");
$hint = $l->t('Please ask your server administrator to install the module. For now the encryption app was disabled.');
//check if all requirements are met
if(!Helper::checkRequirements() ) {
$error_msg = $l->t("Missing requirements.");
$hint = $l->t('Please make sure that the OpenSSL module and PHP >0 5.3.3 is installed. For now the encryption app was disabled.');
\OC_App::disable('files_encryption');
\OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
\OCP\Template::printErrorPage($error_msg, $hint);

View File

@ -208,4 +208,20 @@ class Helper {
header('Location: ' . $location . '?p=' . $post);
exit();
}
/**
* check requirements for encryptoin app.
* @return bool true if requirements are met
*/
public static function checkRequirements() {
$result = true;
//openssl extension needs to be loaded
$result &= extension_loaded("openssl");
// we need php >= 5.3.3
$result &= version_compare(phpversion(), '5.3.11', '>=');
return $result;
}
}