@extends('themes.default1.installer.layout.installer')
@section('licence')
done
@stop
@section('environment')
active
@stop
@section('content')
Environment Test
FaveoHELPDESK '.Config::get('app.version').' and Newer');
define('STATUS_OK', 'ok');
define('STATUS_WARNING', 'warning');
define('STATUS_ERROR', 'error');
class TestResult {
var $message;
var $status;
function TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
}
?>
Probe
Probe Version: Testing For:
1. Environment test
Test/Probe Prerequisites required to be installed Probe
= 67108864) {
$results[] = new TestResult('Your memory limit is: ' . $formatted_memory_limit, STATUS_OK);
return true;
} else {
$results[] = new TestResult('Your memory is too low to complete the installation. Minimal value is 64MB, and you have it set to ' . $formatted_memory_limit, STATUS_ERROR);
return false;
} // if
} // validate_memory_limit
/**
* Format filesize
*
* @param string $value
* @return string
*/
function format_file_size($value) {
$data = array(
'TB' => 1099511627776,
'GB' => 1073741824,
'MB' => 1048576,
'kb' => 1024,
);
// commented because of integer overflow on 32bit sistems
// http://php.net/manual/en/language.types.integer.php#language.types.integer.overflow
// $value = (integer) $value;
foreach ($data as $unit => $bytes) {
$in_unit = $value / $bytes;
if ($in_unit > 0.9) {
return trim(trim(number_format($in_unit, 2), '0'), '.') . $unit;
} // if
} // foreach
return $value . 'b';
} // format_file_size
function validate_zend_compatibility_mode(&$results) {
$ok = true;
if (version_compare(PHP_VERSION, '5.0') >= 0) {
if (ini_get('zend.ze1_compatibility_mode')) {
$results[] = new TestResult('zend.ze1_compatibility_mode is set to On. This can cause some strange problems. It is strongly suggested to turn this value to Off (in your php.ini file)', STATUS_WARNING);
$ok = false;
} else {
$results[] = new TestResult('zend.ze1_compatibility_mode is turned Off', STATUS_OK);
} // if
} // if
return $ok;
} // validate_zend_compatibility_mode
function validate_extensions(&$results) {
$ok = true;
$required_extensions = array('mcrypt', 'openssl', 'pdo');
foreach ($required_extensions as $required_extension) {
if (extension_loaded($required_extension)) {
$results[] = new TestResult("Required extension '$required_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$required_extension' is required in order to run Faveo Helpdesk ", STATUS_ERROR);
$ok = false;
} // if
} // foreach
// Check for eAccelerator
if (extension_loaded('eAccelerator') && ini_get('eaccelerator.enable')) {
$results[] = new TestResult("eAccelerator opcode cache enabled. eAccelerator opcode cache causes Faveo Helpdesk to crash. Disable it for folder where Faveo Helpdesk is installed, or use APC instead: http://www.php.net/apc.", STATUS_ERROR);
$ok = false;
} // if
// Check for XCache
if (extension_loaded('XCache') && ini_get('xcache.cacher')) {
$results[] = new TestResult("XCache opcode cache enabled. XCache opcode cache causes Faveo Helpdesk to crash. Disable it for folder where Faveo Helpdesk is installed, or use APC instead: http://www.php.net/apc.", STATUS_ERROR);
$ok = false;
} // if
$recommended_extensions = array(
// 'gd' => 'GD is used for image manipulation. Without it, system is not able to create thumbnails for files or manage avatars, logos and project icons. Please refer to this page for installation instructions',
// 'mbstring' => 'MultiByte String is used for work with Unicode. Without it, system may not split words and string properly and you can have weird question mark characters in Recent Activities for example. Please refer to this page for installation instructions',
'curl' => 'cURL is used to support various network tasks. Please refer to this page for installation instructions',
// 'iconv' => 'Iconv is used for character set conversion. Without it, system is a bit slower when converting different character set. Please refer to this page for installation instructions',
// 'imap' => 'IMAP is used to connect to POP3 and IMAP servers. Without it, Incoming Mail module will not work. Please refer to this page for installation instructions',
// 'zlib' => 'ZLIB is used to read and write gzip (.gz) compressed files',
// SVN extension ommited, to avoid confusion
);
foreach ($recommended_extensions as $recommended_extension => $recommended_extension_desc) {
if (extension_loaded($recommended_extension)) {
$results[] = new TestResult("Recommended extension '$recommended_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$recommended_extension' was not found. $recommended_extension_desc", STATUS_WARNING);
} // if
} // foreach
return $ok;
} // validate_extensions
// ---------------------------------------------------
// Do the magic
// ---------------------------------------------------
$results = array();
$php_ok = validate_php($results);
$memory_ok = validate_memory_limit($results);
$extensions_ok = validate_extensions($results);
$compatibility_mode_ok = validate_zend_compatibility_mode($results);
foreach ($results as $result) {
print '' . $result->status . ' — ' . $result->message . ' ';
} // foreach
if ($php_ok && $memory_ok && $extensions_ok && $compatibility_mode_ok) {
?>
{{--
--}}
ok — All OK warning — Not a deal breaker, but it's recommended to have this installed for some features to work error — Faveo HELPDESK require this feature and can't work without it