diff --git a/application/controllers/InstallerController.php b/application/controllers/InstallerController.php index 0e4e34023ea..17b1e9acffe 100644 --- a/application/controllers/InstallerController.php +++ b/application/controllers/InstallerController.php @@ -830,6 +830,10 @@ function check_DirectoryWriteable($directory, &$data, $base, $keyError, $bRecurs if (version_compare(PHP_VERSION, '5.1.6', '<')) $bProceed = !$data['verror'] = true; + if ($this->return_bytes(ini_get('memory_limit'))/1024/1024<64) + $bProceed = !$data['bMemoryError'] = true; + + // mbstring library check if (!check_PHPFunction('mb_convert_encoding', $data['mbstringPresent'])) $bProceed = false; @@ -1232,5 +1236,26 @@ function _dbConnect($aDbConfig = array(), $aData = array()) } } } + + /** + * This function returns the full number from a PHP ini value + * + * @param string $sValue + */ + function return_bytes($sValue) { + $sValue = trim($sValue); + $last = strtolower($sValue[strlen($sValue)-1]); + switch($last) { + // The 'G' modifier is available since PHP 5.1.0 + case 'g': + $sValue *= 1024; + case 'm': + $sValue *= 1024; + case 'k': + $sValue *= 1024; + } + + return $sValue; + } } diff --git a/application/controllers/admin/checkintegrity.php b/application/controllers/admin/checkintegrity.php index f0326793e08..e5ed5a2033d 100644 --- a/application/controllers/admin/checkintegrity.php +++ b/application/controllers/admin/checkintegrity.php @@ -340,7 +340,8 @@ protected function _checkintegrity() $surveys = Survey::model()->findAll(); $sids = array(); foreach ($surveys as $survey) $sids[] = $survey['sid']; - $criteria->addNotInCondition('sid', $sids, 'OR'); + $criteria->addNotInCondition('entity_id', $sids, 'OR'); + $criteria->addCondition("entity='survey'"); Permission::model()->deleteAll($criteria); diff --git a/application/views/installer/precheck_view.php b/application/views/installer/precheck_view.php index 2334c0b83fc..e6748972ac8 100644 --- a/application/views/installer/precheck_view.php +++ b/application/views/installer/precheck_view.php @@ -59,6 +59,13 @@ function dirReport($dir, $write, $clang) eT("Outdated"); ?>: + + eT("Minimum memory available"); ?> + 64MB + eT("Outdated"); ?>: return_bytes(ini_get('memory_limit'))/1024/1024; ?>MB + return_bytes(ini_get('memory_limit'))/1024/1024; ?>MB + eT("PHP PDO driver library"); ?> eT("At least one installed"); ?>