= lang('Config.ospos_info') . ':' ?>
= esc(config('App')->application_version) ?> - = esc(substr(config(OSPOS::class)->commit_sha1, 0, 6)) ?>
Language Code: = current_language_code() ?>
Extensions & Modules:
Enabled ✓' : '
Disabled ✗', '
';
echo "» BC Math: ", extension_loaded('bcmath') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» INTL: ", extension_loaded('intl') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» OpenSSL: ", extension_loaded('openssl') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» MBString: ", extension_loaded('mbstring') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» Curl: ", extension_loaded('curl') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» Json: ", extension_loaded('json') ? '
Enabled ✓' : '
Disabled ✗', '
';
echo "» Xml: ", extension_loaded('xml') ? '
Enabled ✓' : '
Disabled ✗', '
';
?>
User Configuration:
.Browser:
'Opera',
strpos($userAgent, 'Edge') !== false => 'Edge',
strpos($userAgent, 'Chrome') !== false => 'Chrome',
strpos($userAgent, 'Safari') !== false => 'Safari',
strpos($userAgent, 'Firefox') !== false => 'Firefox',
strpos($userAgent, 'MSIE') !== false || strpos($userAgent, 'Trident/7') !== false => 'Internet Explorer',
default => 'Other',
};
$version = match ($browser) {
'Opera' => preg_match('/(Opera|OPR)\/([0-9.]+)/', $userAgent, $matches) ? $matches[2] : '',
'Edge' => preg_match('/Edge\/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '',
'Chrome' => preg_match('/Chrome\/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '',
'Safari' => preg_match('/Version\/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '',
'Firefox' => preg_match('/Firefox\/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '',
'Internet Explorer' => preg_match('/(MSIE|rv:)([0-9.]+)/', $userAgent, $matches) ? $matches[2] : '',
default => '',
};
return $browser . ($version ? ' ' . $version : '');
}
echo esc(getBrowserNameAndVersion($_SERVER['HTTP_USER_AGENT']));
?>
Server Software: = esc($_SERVER['SERVER_SOFTWARE']) ?>
PHP Version: = PHP_VERSION ?>
DB Version: = esc($dbVersion) ?>
Server Port: = esc($_SERVER['SERVER_PORT']) ?>
OS: = php_uname('s') . ' ' . php_uname('r') ?>
File Permissions:
» [writable/logs:]
Writable ✓ ';
} else {
echo ' - ' . substr(sprintf("%o", fileperms($logs)), -4) . ' | ' . '
Not Writable ✗ ';
}
clearstatcache();
if (is_writable($logs) && substr(decoct(fileperms($logs)), -4) != 750) {
echo ' |
Vulnerable or Incorrect Permissions ✗';
} else {
echo ' |
Security Check Passed ✓';
}
clearstatcache();
?>
» [public/uploads:]
Writable ✓ ';
} else {
echo ' - ' . substr(sprintf("%o", fileperms($uploads)), -4) . ' | ' . '
Not Writable ✗ ';
}
clearstatcache();
if (is_writable($uploads) && substr(decoct(fileperms($uploads)), -4) != 750) {
echo ' |
Vulnerable or Incorrect Permissions ✗';
} else {
echo ' |
Security Check Passed ✓ ';
}
clearstatcache();
?>
» [public/uploads/item_pics:]
Writable ✓ ';
} else {
echo ' - ' . substr(sprintf("%o", fileperms($images)), -4) . ' | ' . '
Not Writable ✗ ';
}
clearstatcache();
if (substr(decoct(fileperms($images)), -4) != 750) {
echo ' |
Vulnerable or Incorrect Permissions ✗';
} else {
echo ' |
Security Check Passed ✓ ';
}
clearstatcache();
?>
» [importCustomers.csv:]
Readable ✓ ';
} else {
echo ' - ' . substr(sprintf("%o", fileperms($importCustomers)), -4) . ' | ' . '
Not Readable ✗ ';
}
clearstatcache();
if (!((substr(decoct(fileperms($importCustomers)), -4) == 640) || (substr(decoct(fileperms($importCustomers)), -4) == 660))) {
echo ' |
Vulnerable or Incorrect Permissions ✗';
} else {
echo ' |
Security Check Passed ✓ ';
}
clearstatcache();
?>
' . lang('Config.security_issue') . '
' . lang('Config.perm_risk') . '';
} else {
echo '
' . lang('Config.no_risk') . '
';
}
if (substr(decoct(fileperms($logs)), -4) != 750) {
echo '
» [writable/logs:] ' . lang('Config.is_writable') . '';
}
if (substr(decoct(fileperms($uploads)), -4) != 750) {
echo '
» [writable/uploads:] ' . lang('Config.is_writable') . '';
}
if (substr(decoct(fileperms($images)), -4) != 750) {
echo '
» [writable/uploads/item_pics:] ' . lang('Config.is_writable') . '';
}
if (!((substr(decoct(fileperms($importCustomers)), -4) == 640)
|| (substr(decoct(fileperms($importCustomers)), -4) == 660))) {
echo '
» [importCustomers.csv:] ' . lang('Config.is_readable') . '';
}
?>