mirror of https://github.com/MISP/MISP
fix: [UI] Show proper unit for diagnostics
parent
50f2738f50
commit
fe0d0e3fa1
|
@ -1042,35 +1042,35 @@ class ServersController extends AppController
|
|||
$this->set('branch', $gitStatus['branch']);
|
||||
$this->set('commit', $gitStatus['commit']);
|
||||
$this->set('latestCommit', $gitStatus['latestCommit']);
|
||||
|
||||
$phpSettings = array(
|
||||
'max_execution_time' => array(
|
||||
'explanation' => 'The maximum duration that a script can run (does not affect the background workers). A too low number will break long running scripts like comprehensive API exports',
|
||||
'recommended' => 300,
|
||||
'unit' => false
|
||||
'unit' => 'seconds',
|
||||
),
|
||||
'memory_limit' => array(
|
||||
'explanation' => 'The maximum memory that PHP can consume. It is recommended to raise this number since certain exports can generate a fair bit of memory usage',
|
||||
'recommended' => 2048,
|
||||
'unit' => 'M'
|
||||
'unit' => 'MB'
|
||||
),
|
||||
'upload_max_filesize' => array(
|
||||
'explanation' => 'The maximum size that an uploaded file can be. It is recommended to raise this number to allow for the upload of larger samples',
|
||||
'recommended' => 50,
|
||||
'unit' => 'M'
|
||||
'unit' => 'MB'
|
||||
),
|
||||
'post_max_size' => array(
|
||||
'explanation' => 'The maximum size of a POSTed message, this has to be at least the same size as the upload_max_filesize setting',
|
||||
'recommended' => 50,
|
||||
'unit' => 'M'
|
||||
'unit' => 'MB'
|
||||
)
|
||||
);
|
||||
|
||||
foreach ($phpSettings as $setting => $settingArray) {
|
||||
$phpSettings[$setting]['value'] = ini_get($setting);
|
||||
if ($settingArray['unit']) {
|
||||
$phpSettings[$setting]['value'] = intval(rtrim($phpSettings[$setting]['value'], $phpSettings[$setting]['unit']));
|
||||
} else {
|
||||
$phpSettings[$setting]['value'] = intval($phpSettings[$setting]['value']);
|
||||
$phpSettings[$setting]['value'] = $this->Server->getIniSetting($setting);
|
||||
if ($phpSettings[$setting]['value'] && $settingArray['unit'] && $settingArray['unit'] === 'MB') {
|
||||
// convert basic unit to M
|
||||
$phpSettings[$setting]['value'] = (int) floor($phpSettings[$setting]['value'] / 1024 / 1024);
|
||||
}
|
||||
}
|
||||
$this->set('phpSettings', $phpSettings);
|
||||
|
@ -1651,10 +1651,6 @@ class ServersController extends AppController
|
|||
|
||||
public function testConnection($id = false)
|
||||
{
|
||||
if (!$this->Auth->user('Role')['perm_sync'] && !$this->Auth->user('Role')['perm_site_admin']) {
|
||||
throw new MethodNotAllowedException('You don\'t have permission to do that.');
|
||||
}
|
||||
|
||||
$server = $this->Server->find('first', ['conditions' => ['Server.id' => $id]]);
|
||||
if (!$server) {
|
||||
throw new NotFoundException(__('Invalid server'));
|
||||
|
|
|
@ -3432,6 +3432,32 @@ class Server extends AppModel
|
|||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return PHP setting in basic unit (bytes).
|
||||
* @param string $setting
|
||||
* @return string|int|null
|
||||
*/
|
||||
public function getIniSetting($setting)
|
||||
{
|
||||
$value = ini_get($setting);
|
||||
if ($value === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch ($setting) {
|
||||
case 'memory_limit':
|
||||
case 'upload_max_filesize':
|
||||
case 'post_max_size':
|
||||
return (int)preg_replace_callback('/(-?\d+)(.?)/', function ($m) {
|
||||
return $m[1] * pow(1024, strpos('BKMG', $m[2]));
|
||||
}, strtoupper($value));
|
||||
case 'max_execution_time':
|
||||
return (int)$value;
|
||||
default:
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
public function killWorker($pid, $user)
|
||||
{
|
||||
if (!is_numeric($pid)) {
|
||||
|
|
|
@ -156,11 +156,11 @@
|
|||
<p><?php echo __('The following settings might have a negative impact on certain functionalities of MISP with their current and recommended minimum settings. You can adjust these in your php.ini. Keep in mind that the recommendations are not requirements, just recommendations. Depending on usage you might want to go beyond the recommended values.');?></p>
|
||||
<?php
|
||||
foreach ($phpSettings as $settingName => &$phpSetting):
|
||||
echo $settingName . ' (<span class="bold">' . $phpSetting['value'] . ($phpSetting['unit'] ? $phpSetting['unit'] : '') . '</span>' .')' . '…';
|
||||
echo $settingName . ' (<b>' . $phpSetting['value'] . ($phpSetting['unit'] ? ' ' . $phpSetting['unit'] : '') . '</b>' .')' . '…';
|
||||
if ($phpSetting['value'] < $phpSetting['recommended']) $pass = false;
|
||||
else $pass = true;
|
||||
?>
|
||||
<span style="color:<?php echo $pass ? 'green': 'orange'; ?>"><?php echo $pass ? __('OK') : __('Low'); ?> (recommended: <?php echo strval($phpSetting['recommended']) . ($phpSetting['unit'] ? $phpSetting['unit'] : '') . ')'; ?></span><br />
|
||||
<span style="color:<?php echo $pass ? 'green': 'orange'; ?>"><?php echo $pass ? __('OK') : __('Low'); ?> (recommended: <?php echo strval($phpSetting['recommended']) . ($phpSetting['unit'] ? ' ' . $phpSetting['unit'] : '') . ')'; ?></span><br>
|
||||
<?php
|
||||
endforeach;
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue