Phpserververmonitor > Service consultation > Add an not logged page to view statistics for a website or a service
[+] Allows to retrieve website or service by its own label instead of its ID. [+] Add a specific AbstractConsultController for customizing some variables passed to the main template body.tpl.html [+] Add Logo and name Openscop in the main navar but only for page module ConsultController.php [+] Add some french translations for these features
This commit is contained in:
parent
5c5d980bd3
commit
55da4cb9c6
|
@ -12,3 +12,4 @@ __MACOSX/
|
|||
.DS_Store
|
||||
.buildpath
|
||||
.settings/
|
||||
.ddev/
|
||||
|
|
|
@ -18,3 +18,9 @@ AddOutputFilterByType DEFLATE application/rss+xml
|
|||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
</IfModule>
|
||||
|
||||
#Rule to avoid some characters in urls
|
||||
RewriteEngine on
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.+[a-zàâäéèêëîïôöûüA-Z0-9-\-\'\$\*\µ\§\£\€\:\(\)\,\;\.\!\<\^\{\}\°]+)$ ?mod=consult&action=view&ip=$1 [QSA,L]
|
||||
|
|
|
@ -81,16 +81,16 @@
|
|||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
"version": "v2.0.18",
|
||||
"version": "v2.0.19",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/random_compat.git",
|
||||
"reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db"
|
||||
"reference": "446fc9faa5c2a9ddf65eb7121c0af7e857295241"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db",
|
||||
"reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db",
|
||||
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/446fc9faa5c2a9ddf65eb7121c0af7e857295241",
|
||||
"reference": "446fc9faa5c2a9ddf65eb7121c0af7e857295241",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -126,7 +126,7 @@
|
|||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"time": "2019-01-03T20:59:08+00:00"
|
||||
"time": "2020-10-15T10:06:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-pushover/php-pushover",
|
||||
|
@ -160,21 +160,22 @@
|
|||
},
|
||||
{
|
||||
"name": "phpmailer/phpmailer",
|
||||
"version": "v6.1.3",
|
||||
"version": "v6.1.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPMailer/PHPMailer.git",
|
||||
"reference": "a25ae38e03de4ee4031725498a600012364787c7"
|
||||
"reference": "917ab212fa00dc6eacbb26e8bc387ebe40993bc1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a25ae38e03de4ee4031725498a600012364787c7",
|
||||
"reference": "a25ae38e03de4ee4031725498a600012364787c7",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/917ab212fa00dc6eacbb26e8bc387ebe40993bc1",
|
||||
"reference": "917ab212fa00dc6eacbb26e8bc387ebe40993bc1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-filter": "*",
|
||||
"ext-hash": "*",
|
||||
"php": ">=5.5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
|
@ -218,7 +219,13 @@
|
|||
}
|
||||
],
|
||||
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
|
||||
"time": "2019-11-21T09:37:46+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/synchro",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-09T14:55:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
@ -271,16 +278,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/config",
|
||||
"version": "v3.4.36",
|
||||
"version": "v3.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/config.git",
|
||||
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe"
|
||||
"reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/config/zipball/a599a867d0e4a07c342b5f1e656b3915a540ddbe",
|
||||
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe",
|
||||
"url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f",
|
||||
"reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -302,11 +309,6 @@
|
|||
"symfony/yaml": "To use the yaml reference dumper"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Config\\": ""
|
||||
|
@ -331,20 +333,34 @@
|
|||
],
|
||||
"description": "Symfony Config Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-12-01T10:45:41+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-24T10:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dependency-injection",
|
||||
"version": "v3.4.36",
|
||||
"version": "v3.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dependency-injection.git",
|
||||
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2"
|
||||
"reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
|
||||
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
|
||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/51d2a2708c6ceadad84393f8581df1dcf9e5e84b",
|
||||
"reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -373,11 +389,6 @@
|
|||
"symfony/yaml": ""
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\DependencyInjection\\": ""
|
||||
|
@ -402,20 +413,34 @@
|
|||
],
|
||||
"description": "Symfony DependencyInjection Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-12-01T08:33:36+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-24T10:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v3.4.36",
|
||||
"version": "v3.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "f9031c22ec127d4a2450760f81a8677fe8a10177"
|
||||
"reference": "31fde73757b6bad247c54597beef974919ec6860"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f9031c22ec127d4a2450760f81a8677fe8a10177",
|
||||
"reference": "f9031c22ec127d4a2450760f81a8677fe8a10177",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/31fde73757b6bad247c54597beef974919ec6860",
|
||||
"reference": "31fde73757b6bad247c54597beef974919ec6860",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -427,6 +452,7 @@
|
|||
"require-dev": {
|
||||
"psr/log": "~1.0",
|
||||
"symfony/config": "~2.8|~3.0|~4.0",
|
||||
"symfony/debug": "~3.4|~4.4",
|
||||
"symfony/dependency-injection": "~3.3|~4.0",
|
||||
"symfony/expression-language": "~2.8|~3.0|~4.0",
|
||||
"symfony/stopwatch": "~2.8|~3.0|~4.0"
|
||||
|
@ -436,11 +462,6 @@
|
|||
"symfony/http-kernel": ""
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\EventDispatcher\\": ""
|
||||
|
@ -465,20 +486,34 @@
|
|||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-10-24T15:33:53+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-24T10:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v3.4.36",
|
||||
"version": "v3.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2"
|
||||
"reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/00cdad0936d06fab136944bc2342b762b1c3a4a2",
|
||||
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3",
|
||||
"reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -486,11 +521,6 @@
|
|||
"symfony/polyfill-ctype": "~1.8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Filesystem\\": ""
|
||||
|
@ -515,20 +545,34 @@
|
|||
],
|
||||
"description": "Symfony Filesystem Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-11-25T16:36:22+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-24T10:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v3.4.36",
|
||||
"version": "v3.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593"
|
||||
"reference": "b9885fcce6fe494201da4f70a9309770e9d13dc8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d2d0cfe8e319d9df44c4cca570710fcf221d4593",
|
||||
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/b9885fcce6fe494201da4f70a9309770e9d13dc8",
|
||||
"reference": "b9885fcce6fe494201da4f70a9309770e9d13dc8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -540,11 +584,6 @@
|
|||
"symfony/expression-language": "~2.8|~3.0|~4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\HttpFoundation\\": ""
|
||||
|
@ -569,24 +608,38 @@
|
|||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-11-28T12:52:59+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-24T10:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
|
||||
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
|
||||
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
|
||||
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-ctype": "For best performance"
|
||||
|
@ -594,7 +647,11 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -627,24 +684,38 @@
|
|||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
|
||||
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",
|
||||
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "For best performance"
|
||||
|
@ -652,7 +723,11 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -686,42 +761,48 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T14:18:11+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php70",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php70.git",
|
||||
"reference": "af23c7bb26a73b850840823662dda371484926c4"
|
||||
"reference": "5f03a781d984aae42cebd18e7912fa80f02ee644"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/af23c7bb26a73b850840823662dda371484926c4",
|
||||
"reference": "af23c7bb26a73b850840823662dda371484926c4",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644",
|
||||
"reference": "5f03a781d984aae42cebd18e7912fa80f02ee644",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"paragonie/random_compat": "~1.0|~2.0|~9.99",
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"type": "library",
|
||||
"type": "metapackage",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Php70\\": ""
|
||||
"dev-main": "1.20-dev"
|
||||
},
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"classmap": [
|
||||
"Resources/stubs"
|
||||
]
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
|
@ -745,35 +826,48 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T14:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.42.4",
|
||||
"version": "v1.44.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "e587180584c3d2d6cb864a0454e777bb6dcb6152"
|
||||
"reference": "04b15d4c0bb18ddbf82626320ac07f6a73f199c9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/e587180584c3d2d6cb864a0454e777bb6dcb6152",
|
||||
"reference": "e587180584c3d2d6cb864a0454e777bb6dcb6152",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/04b15d4c0bb18ddbf82626320ac07f6a73f199c9",
|
||||
"reference": "04b15d4c0bb18ddbf82626320ac07f6a73f199c9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.0",
|
||||
"php": ">=7.2.5",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/container": "^1.0",
|
||||
"symfony/debug": "^3.4|^4.2",
|
||||
"symfony/phpunit-bridge": "^4.4@dev|^5.0"
|
||||
"symfony/phpunit-bridge": "^4.4.9|^5.0.9"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.42-dev"
|
||||
"dev-master": "1.44-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -797,7 +891,6 @@
|
|||
},
|
||||
{
|
||||
"name": "Twig Team",
|
||||
"homepage": "https://twig.symfony.com/contributors",
|
||||
"role": "Contributors"
|
||||
},
|
||||
{
|
||||
|
@ -811,7 +904,17 @@
|
|||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2019-11-11T16:49:32+00:00"
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-27T19:22:48+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
|
@ -828,5 +931,6 @@
|
|||
"ext-pdo": "*",
|
||||
"ext-xml": "*"
|
||||
},
|
||||
"platform-dev": []
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "1.1.0"
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/sc
|
|||
<parameter>module.server</parameter>
|
||||
<parameter>module.user</parameter>
|
||||
<parameter>module.install</parameter>
|
||||
<parameter>module.consult</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter key="path.src" type="constant">PSM_PATH_SRC</parameter>
|
||||
|
@ -31,6 +32,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/sc
|
|||
<service id="module.server" class="psm\Module\Server\ServerModule" />
|
||||
<service id="module.user" class="psm\Module\User\UserModule" />
|
||||
<service id="module.install" class="psm\Module\Install\InstallModule" />
|
||||
<service id="module.consult" class="psm\Module\Consult\ConsultModule" />
|
||||
<!--MODULES end-->
|
||||
|
||||
<!--SERVICES start-->
|
||||
|
|
|
@ -34,295 +34,299 @@ $sm_lang = array(
|
|||
'1' => 'fr_FR',
|
||||
'2' => 'french',
|
||||
),
|
||||
'openscop' => array(
|
||||
'title' => 'Openscop',
|
||||
'consult_title' => 'Disponibilité de service'
|
||||
),
|
||||
'locale_tag' => 'fr',
|
||||
'locale_dir' => 'ltr',
|
||||
'system' => array(
|
||||
'title' => 'Server Monitor',
|
||||
'install' => 'Installer',
|
||||
'action' => 'Action',
|
||||
'save' => 'Enregistrer',
|
||||
'edit' => 'Editer',
|
||||
'delete' => 'Supprimer',
|
||||
'view' => 'Détails',
|
||||
'date' => 'Date',
|
||||
'message' => 'Message',
|
||||
'yes' => 'Oui',
|
||||
'no' => 'Non',
|
||||
'insert' => 'Nouveau',
|
||||
'add_new' => 'Nouveau',
|
||||
'update_available' => 'Une nouvelle version ({version}) est disponible à l\'adresse <a
|
||||
'title' => 'Server Monitor',
|
||||
'install' => 'Installer',
|
||||
'action' => 'Action',
|
||||
'save' => 'Enregistrer',
|
||||
'edit' => 'Editer',
|
||||
'delete' => 'Supprimer',
|
||||
'view' => 'Détails',
|
||||
'date' => 'Date',
|
||||
'message' => 'Message',
|
||||
'yes' => 'Oui',
|
||||
'no' => 'Non',
|
||||
'insert' => 'Nouveau',
|
||||
'add_new' => 'Nouveau',
|
||||
'update_available' => 'Une nouvelle version ({version}) est disponible à l\'adresse <a
|
||||
href="https://github.com/phpservermon/phpservermon/releases/latest" target="_blank"
|
||||
rel="noopener">http://www.phpservermonitor.org</a>.',
|
||||
'back_to_top' => 'Haut de page',
|
||||
'go_back' => 'Retour',
|
||||
'ok' => 'OK',
|
||||
'bad' => 'mauvais',
|
||||
'cancel' => 'Annuler',
|
||||
'none' => 'Aucun',
|
||||
'activate' => 'Activer',
|
||||
'short_day_format' => 'Le %e %B',
|
||||
'long_day_format' => 'Le %e %B %Y',
|
||||
'yesterday_format' => 'Hier à %kh%M',
|
||||
'other_day_format' => '%A à %kh%M',
|
||||
'never' => 'Jamais',
|
||||
'hours_ago' => 'Il y a %d heures',
|
||||
'an_hour_ago' => 'Il y a une heure',
|
||||
'minutes_ago' => 'Il y a %d minutes',
|
||||
'a_minute_ago' => 'Il y a une minute',
|
||||
'seconds_ago' => 'Il y a %d secondes',
|
||||
'a_second_ago' => 'Il y a une seconde',
|
||||
'year' => 'année',
|
||||
'years' => 'années',
|
||||
'month' => 'mois',
|
||||
'months' => 'mois',
|
||||
'day' => 'jour',
|
||||
'days' => 'jours',
|
||||
'hour' => 'heure',
|
||||
'hours' => 'heures',
|
||||
'minute' => 'minute',
|
||||
'minutes' => 'minutes',
|
||||
'second' => 'seconde',
|
||||
'seconds' => 'secondes',
|
||||
'current' => 'actuel',
|
||||
'settings' => 'Paramètres',
|
||||
'search' => 'Recherche',
|
||||
),
|
||||
'back_to_top' => 'Haut de page',
|
||||
'go_back' => 'Retour',
|
||||
'ok' => 'OK',
|
||||
'bad' => 'mauvais',
|
||||
'cancel' => 'Annuler',
|
||||
'none' => 'Aucun',
|
||||
'activate' => 'Activer',
|
||||
'short_day_format' => 'Le %e %B',
|
||||
'long_day_format' => 'Le %e %B %Y',
|
||||
'yesterday_format' => 'Hier à %kh%M',
|
||||
'other_day_format' => '%A à %kh%M',
|
||||
'never' => 'Jamais',
|
||||
'hours_ago' => 'Il y a %d heures',
|
||||
'an_hour_ago' => 'Il y a une heure',
|
||||
'minutes_ago' => 'Il y a %d minutes',
|
||||
'a_minute_ago' => 'Il y a une minute',
|
||||
'seconds_ago' => 'Il y a %d secondes',
|
||||
'a_second_ago' => 'Il y a une seconde',
|
||||
'year' => 'année',
|
||||
'years' => 'années',
|
||||
'month' => 'mois',
|
||||
'months' => 'mois',
|
||||
'day' => 'jour',
|
||||
'days' => 'jours',
|
||||
'hour' => 'heure',
|
||||
'hours' => 'heures',
|
||||
'minute' => 'minute',
|
||||
'minutes' => 'minutes',
|
||||
'second' => 'seconde',
|
||||
'seconds' => 'secondes',
|
||||
'current' => 'actuel',
|
||||
'settings' => 'Paramètres',
|
||||
'search' => 'Recherche',
|
||||
),
|
||||
'menu' => array(
|
||||
'config' => 'Configuration',
|
||||
'server' => 'Serveurs',
|
||||
'server_log' => 'Événements',
|
||||
'server_status' => 'États',
|
||||
'server_update' => 'Mise à jour',
|
||||
'user' => 'Utilisateurs',
|
||||
'help' => 'Aide',
|
||||
),
|
||||
'config' => 'Configuration',
|
||||
'server' => 'Serveurs',
|
||||
'server_log' => 'Événements',
|
||||
'server_status' => 'États',
|
||||
'server_update' => 'Mise à jour',
|
||||
'user' => 'Utilisateurs',
|
||||
'help' => 'Aide',
|
||||
),
|
||||
'users' => array(
|
||||
'user' => 'Utilisateur',
|
||||
'name' => 'Nom',
|
||||
'user_name' => 'Nom d\'utilisateur',
|
||||
'password' => 'Mot de passe',
|
||||
'password_repeat' => 'Répéter le mot de passe',
|
||||
'password_leave_blank' => 'Laisser vide pour ne pas le modifier',
|
||||
'level' => 'Rôle',
|
||||
'level_10' => 'Administrateur',
|
||||
'level_20' => 'Utilisateur',
|
||||
'level_description' => 'Les <b>Administrateurs</b> ont un accès total. Ils peuvent gérer les serveurs, les
|
||||
'user' => 'Utilisateur',
|
||||
'name' => 'Nom',
|
||||
'user_name' => 'Nom d\'utilisateur',
|
||||
'password' => 'Mot de passe',
|
||||
'password_repeat' => 'Répéter le mot de passe',
|
||||
'password_leave_blank' => 'Laisser vide pour ne pas le modifier',
|
||||
'level' => 'Rôle',
|
||||
'level_10' => 'Administrateur',
|
||||
'level_20' => 'Utilisateur',
|
||||
'level_description' => 'Les <b>Administrateurs</b> ont un accès total. Ils peuvent gérer les serveurs, les
|
||||
utilisateurs et éditer la configuration globale.<br>Les <b>Utilisateurs</b> ne
|
||||
peuvent que voir et mettre à jour les serveurs qui leur ont été assignés.',
|
||||
'mobile' => 'Téléphone',
|
||||
'email' => 'Email',
|
||||
'pushover' => 'Pushover',
|
||||
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a
|
||||
'mobile' => 'Téléphone',
|
||||
'email' => 'Email',
|
||||
'pushover' => 'Pushover',
|
||||
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a
|
||||
href="https://pushover.net/" target="_blank">leur site web</a> pour plus
|
||||
d\'informations.',
|
||||
'pushover_key' => 'Clé Pushover',
|
||||
'pushover_device' => 'Appareil Pushover',
|
||||
'pushover_device_description' => 'Nom de l\'appareil auquel le message doit être envoyé. Laissez vide pour
|
||||
'pushover_key' => 'Clé Pushover',
|
||||
'pushover_device' => 'Appareil Pushover',
|
||||
'pushover_device_description' => 'Nom de l\'appareil auquel le message doit être envoyé. Laissez vide pour
|
||||
l\'envoyer à tous les appareils.',
|
||||
'telegram' => 'Telegram',
|
||||
'telegram_description' => '<a href="https://telegram.org/" target="_blank">Telegram</a> est une application de
|
||||
'telegram' => 'Telegram',
|
||||
'telegram_description' => '<a href="https://telegram.org/" target="_blank">Telegram</a> est une application de
|
||||
messagerie instantanée qui facilite la réception de notification en temps réel.
|
||||
Lisez la <a href="http://docs.phpservermonitor.org/"
|
||||
target="_blank">documentation</a> pour obtenir plus d\'informations sur la
|
||||
configuration de ce service.',
|
||||
'telegram_chat_id' => 'ID de conversation (Chat ID) Telegram',
|
||||
'telegram_chat_id_description' => 'Les notifications seront envoyées à la conversation correspondante.',
|
||||
'telegram_get_chat_id' => 'Cliquez ici pour obtenir votre ID de conversation (Chat ID)',
|
||||
'activate_telegram' => 'Activer les alertes Telegram',
|
||||
'activate_telegram_description' => 'Permet aux notifications Telegram d\'être envoyée à la conversation
|
||||
'telegram_chat_id' => 'ID de conversation (Chat ID) Telegram',
|
||||
'telegram_chat_id_description' => 'Les notifications seront envoyées à la conversation correspondante.',
|
||||
'telegram_get_chat_id' => 'Cliquez ici pour obtenir votre ID de conversation (Chat ID)',
|
||||
'activate_telegram' => 'Activer les alertes Telegram',
|
||||
'activate_telegram_description' => 'Permet aux notifications Telegram d\'être envoyée à la conversation
|
||||
spécifiée. Sans cette permission, Telegram ne nous autorise pas à vous
|
||||
envoyer des notifications.',
|
||||
'telegram_bot_username_found' => 'Le BOT a été trouvé !<br><a href="%s" target="_blank"
|
||||
'telegram_bot_username_found' => 'Le BOT a été trouvé !<br><a href="%s" target="_blank"
|
||||
rel="noopener"><button class="btn btn-primary">Étape suivante</button></a>
|
||||
<br>Cela va ouvrir une conversation avec le BOT. Vous devez appuyer sur
|
||||
\'/start\' ou le saisir.',
|
||||
'telegram_bot_username_error_token' => '<b>401 - Unauthorized</b>. Assuez-vous que le Token API soit valide.',
|
||||
'telegram_bot_error' => 'Une erreur s\'est produite en tentant d\'activer les notifications Telegram : %s',
|
||||
'delete_title' => 'Supprimer un utilisateur',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur \'%1\' ?',
|
||||
'deleted' => 'Utilisateur supprimé.',
|
||||
'updated' => 'Utilisateur mis à jour.',
|
||||
'inserted' => 'Utilisateur ajouté.',
|
||||
'profile' => 'Profil',
|
||||
'profile_updated' => 'Votre profil a été mis à jour.',
|
||||
'error_user_name_bad_length' => 'Le nom d\'utilisateur doit avoir entre 2 et 64 caractères.',
|
||||
'error_user_name_invalid' => 'Le nom d\'utilisateur ne peut contenir que des caractères alphabétiques (a-z,
|
||||
'telegram_bot_username_error_token' => '<b>401 - Unauthorized</b>. Assuez-vous que le Token API soit valide.',
|
||||
'telegram_bot_error' => 'Une erreur s\'est produite en tentant d\'activer les notifications Telegram : %s',
|
||||
'delete_title' => 'Supprimer un utilisateur',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur \'%1\' ?',
|
||||
'deleted' => 'Utilisateur supprimé.',
|
||||
'updated' => 'Utilisateur mis à jour.',
|
||||
'inserted' => 'Utilisateur ajouté.',
|
||||
'profile' => 'Profil',
|
||||
'profile_updated' => 'Votre profil a été mis à jour.',
|
||||
'error_user_name_bad_length' => 'Le nom d\'utilisateur doit avoir entre 2 et 64 caractères.',
|
||||
'error_user_name_invalid' => 'Le nom d\'utilisateur ne peut contenir que des caractères alphabétiques (a-z,
|
||||
A-Z), des chiffres (0-9), points (.) ou underscore (_).',
|
||||
'error_user_name_exists' => 'Ce nom d\'utilisateur existe déjà.',
|
||||
'error_user_email_bad_length' => 'L\'adresse email doit avoir entre 5 et 255 caractères.',
|
||||
'error_user_email_invalid' => 'L\'adresse email n\'est pas valide.',
|
||||
'error_user_level_invalid' => 'Le rôle d\'utilisateur n\'est pas valide.',
|
||||
'error_user_no_match' => 'L\'utilisateur n\'a pas été trouvé dans la base de données.',
|
||||
'error_user_password_invalid' => 'Le mot de passe n\'est pas valide.',
|
||||
'error_user_password_no_match' => 'Le mot de passe est incorrect.',
|
||||
),
|
||||
'error_user_name_exists' => 'Ce nom d\'utilisateur existe déjà.',
|
||||
'error_user_email_bad_length' => 'L\'adresse email doit avoir entre 5 et 255 caractères.',
|
||||
'error_user_email_invalid' => 'L\'adresse email n\'est pas valide.',
|
||||
'error_user_level_invalid' => 'Le rôle d\'utilisateur n\'est pas valide.',
|
||||
'error_user_no_match' => 'L\'utilisateur n\'a pas été trouvé dans la base de données.',
|
||||
'error_user_password_invalid' => 'Le mot de passe n\'est pas valide.',
|
||||
'error_user_password_no_match' => 'Le mot de passe est incorrect.',
|
||||
),
|
||||
'log' => array(
|
||||
'title' => 'Événements',
|
||||
'type' => 'Type',
|
||||
'status' => 'État',
|
||||
'email' => 'Email',
|
||||
'sms' => 'SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'telegram' => 'Telegram',
|
||||
'no_logs' => 'Aucun événement',
|
||||
'clear' => 'Effacer les journaux',
|
||||
'delete_title' => 'Supprimer les journaux',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer <b>tous</b> les journaux ?',
|
||||
),
|
||||
'title' => 'Événements',
|
||||
'type' => 'Type',
|
||||
'status' => 'État',
|
||||
'email' => 'Email',
|
||||
'sms' => 'SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'telegram' => 'Telegram',
|
||||
'no_logs' => 'Aucun événement',
|
||||
'clear' => 'Effacer les journaux',
|
||||
'delete_title' => 'Supprimer les journaux',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer <b>tous</b> les journaux ?',
|
||||
),
|
||||
'servers' => array(
|
||||
'server' => 'Serveur',
|
||||
'status' => 'État',
|
||||
'label' => 'Nom',
|
||||
'domain' => 'Domaine/IP',
|
||||
'timeout' => 'Délai d\'attente',
|
||||
'timeout_description' => 'Nombre de secondes à attendre une réponse du serveur.',
|
||||
'authentication_settings' => 'Paramètres d\'authentification',
|
||||
'optional' => 'Optionnel',
|
||||
'website_username' => 'Nom d\'utilisateur',
|
||||
'website_username_description' => 'Nom d\'utilisateur pour accèder au site. (Seul l\'authentification Apache
|
||||
'server' => 'Serveur',
|
||||
'status' => 'État',
|
||||
'label' => 'Nom',
|
||||
'domain' => 'Domaine/IP',
|
||||
'timeout' => 'Délai d\'attente',
|
||||
'timeout_description' => 'Nombre de secondes à attendre une réponse du serveur.',
|
||||
'authentication_settings' => 'Paramètres d\'authentification',
|
||||
'optional' => 'Optionnel',
|
||||
'website_username' => 'Nom d\'utilisateur',
|
||||
'website_username_description' => 'Nom d\'utilisateur pour accèder au site. (Seul l\'authentification Apache
|
||||
est supporté.)',
|
||||
'website_password' => 'Mot de passe',
|
||||
'website_password_description' => 'Mot de passe pour accèder au site. Le mot de passe est cryptè dans la
|
||||
'website_password' => 'Mot de passe',
|
||||
'website_password_description' => 'Mot de passe pour accèder au site. Le mot de passe est cryptè dans la
|
||||
base de donnée.',
|
||||
'fieldset_monitoring' => 'Monitoring',
|
||||
'fieldset_permissions' => 'Permissions',
|
||||
'permissions' => 'Les utilisateurs suivants pourront voir le serveur.',
|
||||
'port' => 'Port',
|
||||
'custom_port' => 'Port personnalisé',
|
||||
'popular_ports' => 'Ports courant',
|
||||
'request_method' => 'Type de requête',
|
||||
'custom_request_method' => 'Type de requête personalisée',
|
||||
'popular_request_methods' => 'Type de requête prédéfinie',
|
||||
'post_field' => 'Champ POST',
|
||||
'post_field_description' => 'Les données qui seront envoyés en utilisant le type de requête choisi.',
|
||||
'please_select' => 'Veuillez choisir',
|
||||
'type' => 'Type',
|
||||
'type_website' => 'Site Web',
|
||||
'type_service' => 'Service',
|
||||
'type_ping' => 'Ping',
|
||||
'pattern' => 'Rechercher un texte/motif',
|
||||
'pattern_description' => 'Si ce texte n\'est par retrouvé sur le site web, le serveur est marqué
|
||||
'fieldset_monitoring' => 'Monitoring',
|
||||
'fieldset_permissions' => 'Permissions',
|
||||
'permissions' => 'Les utilisateurs suivants pourront voir le serveur.',
|
||||
'port' => 'Port',
|
||||
'custom_port' => 'Port personnalisé',
|
||||
'popular_ports' => 'Ports courant',
|
||||
'request_method' => 'Type de requête',
|
||||
'custom_request_method' => 'Type de requête personalisée',
|
||||
'popular_request_methods' => 'Type de requête prédéfinie',
|
||||
'post_field' => 'Champ POST',
|
||||
'post_field_description' => 'Les données qui seront envoyés en utilisant le type de requête choisi.',
|
||||
'please_select' => 'Veuillez choisir',
|
||||
'type' => 'Type',
|
||||
'type_website' => 'Site Web',
|
||||
'type_service' => 'Service',
|
||||
'type_ping' => 'Ping',
|
||||
'pattern' => 'Rechercher un texte/motif',
|
||||
'pattern_description' => 'Si ce texte n\'est par retrouvé sur le site web, le serveur est marqué
|
||||
hors-service. Les expressions régulières sont autorisées.',
|
||||
'pattern_online' => 'Le texte indique que le site est',
|
||||
'pattern_online_description' => 'En ligne : Si ce texte est trouvé sur le site internet, le serveur sera
|
||||
'pattern_online' => 'Le texte indique que le site est',
|
||||
'pattern_online_description' => 'En ligne : Si ce texte est trouvé sur le site internet, le serveur sera
|
||||
considéré en ligne. Hors-ligne : Si ce texte n\'est pas trouvé sur le
|
||||
site, le serveur sera considéré hors-ligne.',
|
||||
'redirect_check' => 'La redirection vers un autre domaine est',
|
||||
'redirect_check_description' => 'Une redirection vers un autre domaine est généralement mauvais signe.',
|
||||
'allow_http_status' => 'Autoriser les codes de status HTTP',
|
||||
'allow_http_status_description' => 'Marquer le serveur en ligne. Les codes de status HTTP inférieur à 400
|
||||
'redirect_check' => 'La redirection vers un autre domaine est',
|
||||
'redirect_check_description' => 'Une redirection vers un autre domaine est généralement mauvais signe.',
|
||||
'allow_http_status' => 'Autoriser les codes de status HTTP',
|
||||
'allow_http_status_description' => 'Marquer le serveur en ligne. Les codes de status HTTP inférieur à 400
|
||||
sont considérés comme en ligne par défaut. Séparés les valeurs avec
|
||||
|.',
|
||||
'header_name' => 'Nom d\'en-têtes',
|
||||
'header_value' => 'Valeur d\'en-tête',
|
||||
'header_name_description' => 'Sensible à la casse.',
|
||||
'header_value_description' => 'Les expréssions régulières sont autorisées.',
|
||||
'last_check' => 'Dernière vérification',
|
||||
'last_online' => 'Dernière fois OK',
|
||||
'last_offline' => 'Dernière fois hors-ligne',
|
||||
'last_output' => 'Dernière sortie positive',
|
||||
'last_error' => 'Dernière erreur',
|
||||
'last_error_output' => 'Dernière erreur de sortie',
|
||||
'output' => 'Sortie',
|
||||
'monitoring' => 'Surveillé',
|
||||
'no_monitoring' => 'Non surveillé',
|
||||
'email' => 'Email',
|
||||
'send_email' => 'Envoyer un email',
|
||||
'sms' => 'SMS',
|
||||
'send_sms' => 'Envoyer un SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'send_pushover' => 'Envoyer des notifications Pushover',
|
||||
'telegram' => 'Telegram',
|
||||
'send_telegram' => 'Envoyer des notifications Telegram',
|
||||
'users' => 'Utilisateurs',
|
||||
'delete_title' => 'Supprimer un serveur',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
|
||||
'deleted' => 'Serveur supprimé.',
|
||||
'updated' => 'Serveur mis à jour.',
|
||||
'inserted' => 'Serveur ajouté.',
|
||||
'latency' => 'Temps de réponse',
|
||||
'latency_max' => 'Temps de réponse maximum',
|
||||
'latency_min' => 'Temps de réponse minimum',
|
||||
'latency_avg' => 'Temps de réponse moyen',
|
||||
'online' => 'en ligne',
|
||||
'offline' => 'hors ligne',
|
||||
'uptime' => 'Disponibilité',
|
||||
'year' => 'Année',
|
||||
'month' => 'Mois',
|
||||
'week' => 'Semaine',
|
||||
'day' => 'Jour',
|
||||
'hour' => 'Heure',
|
||||
'warning_threshold' => 'Seuil d\'alerte',
|
||||
'warning_threshold_description' => 'Nombre d\'échecs de connexion avant que le serveur soit marqué
|
||||
'header_name' => 'Nom d\'en-têtes',
|
||||
'header_value' => 'Valeur d\'en-tête',
|
||||
'header_name_description' => 'Sensible à la casse.',
|
||||
'header_value_description' => 'Les expréssions régulières sont autorisées.',
|
||||
'last_check' => 'Dernière vérification',
|
||||
'last_online' => 'Dernière fois OK',
|
||||
'last_offline' => 'Dernière fois hors-ligne',
|
||||
'last_output' => 'Dernière sortie positive',
|
||||
'last_error' => 'Dernière erreur',
|
||||
'last_error_output' => 'Dernière erreur de sortie',
|
||||
'output' => 'Sortie',
|
||||
'monitoring' => 'Surveillé',
|
||||
'no_monitoring' => 'Non surveillé',
|
||||
'email' => 'Email',
|
||||
'send_email' => 'Envoyer un email',
|
||||
'sms' => 'SMS',
|
||||
'send_sms' => 'Envoyer un SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'send_pushover' => 'Envoyer des notifications Pushover',
|
||||
'telegram' => 'Telegram',
|
||||
'send_telegram' => 'Envoyer des notifications Telegram',
|
||||
'users' => 'Utilisateurs',
|
||||
'delete_title' => 'Supprimer un serveur',
|
||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
|
||||
'deleted' => 'Serveur supprimé.',
|
||||
'updated' => 'Serveur mis à jour.',
|
||||
'inserted' => 'Serveur ajouté.',
|
||||
'latency' => 'Temps de réponse',
|
||||
'latency_max' => 'Temps de réponse maximum',
|
||||
'latency_min' => 'Temps de réponse minimum',
|
||||
'latency_avg' => 'Temps de réponse moyen',
|
||||
'online' => 'en ligne',
|
||||
'offline' => 'hors ligne',
|
||||
'uptime' => 'Disponibilité',
|
||||
'year' => 'Année',
|
||||
'month' => 'Mois',
|
||||
'week' => 'Semaine',
|
||||
'day' => 'Jour',
|
||||
'hour' => 'Heure',
|
||||
'warning_threshold' => 'Seuil d\'alerte',
|
||||
'warning_threshold_description' => 'Nombre d\'échecs de connexion avant que le serveur soit marqué
|
||||
hors-service.',
|
||||
'chart_last_week' => 'La dernière semaine',
|
||||
'chart_history' => 'Historique',
|
||||
'chart_day_format' => '%d/%m/%Y',
|
||||
'chart_long_date_format' => '%d/%m/%Y %H:%M:%S',
|
||||
'chart_short_date_format' => '%d/%m %H:%M',
|
||||
'chart_short_time_format' => '%H:%M',
|
||||
'warning_notifications_disabled_sms' => 'Les notifications SMS sont désactivées.',
|
||||
'warning_notifications_disabled_email' => 'Les notifications par email sont désactivées.',
|
||||
'warning_notifications_disabled_pushover' => 'Les notifications Pushover sont désactivées.',
|
||||
'warning_notifications_disabled_telegram' => 'Les notifications Telegram sont désactivées.',
|
||||
'error_server_no_match' => 'Serveur non trouvé.',
|
||||
'error_server_label_bad_length' => 'Le nom doit avoir entre 1 et 255 caractères.',
|
||||
'error_server_ip_bad_length' => 'Domaine/IP doit avoir entre 1 et 255 caractères.',
|
||||
'error_server_ip_bad_service' => 'L\'adresse IP n\'est pas valide.',
|
||||
'error_server_ip_bad_website' => 'L\'URL du site web n\'est pas valide.',
|
||||
'error_server_type_invalid' => 'Le type de service sélectionné n\'est pas valide.',
|
||||
'error_server_warning_threshold_invalid' => 'Le seuil d\'alerte doit être un nombre entier supérieur à 0.',
|
||||
),
|
||||
'chart_last_week' => 'La dernière semaine',
|
||||
'chart_history' => 'Historique',
|
||||
'chart_day_format' => '%d/%m/%Y',
|
||||
'chart_long_date_format' => '%d/%m/%Y %H:%M:%S',
|
||||
'chart_short_date_format' => '%d/%m %H:%M',
|
||||
'chart_short_time_format' => '%H:%M',
|
||||
'warning_notifications_disabled_sms' => 'Les notifications SMS sont désactivées.',
|
||||
'warning_notifications_disabled_email' => 'Les notifications par email sont désactivées.',
|
||||
'warning_notifications_disabled_pushover' => 'Les notifications Pushover sont désactivées.',
|
||||
'warning_notifications_disabled_telegram' => 'Les notifications Telegram sont désactivées.',
|
||||
'error_server_no_match' => 'Serveur non trouvé.',
|
||||
'error_server_label_bad_length' => 'Le nom doit avoir entre 1 et 255 caractères.',
|
||||
'error_server_ip_bad_length' => 'Domaine/IP doit avoir entre 1 et 255 caractères.',
|
||||
'error_server_ip_bad_service' => 'L\'adresse IP n\'est pas valide.',
|
||||
'error_server_ip_bad_website' => 'L\'URL du site web n\'est pas valide.',
|
||||
'error_server_type_invalid' => 'Le type de service sélectionné n\'est pas valide.',
|
||||
'error_server_warning_threshold_invalid' => 'Le seuil d\'alerte doit être un nombre entier supérieur à 0.',
|
||||
),
|
||||
'config' => array(
|
||||
'general' => 'Général',
|
||||
'language' => 'Langue',
|
||||
'show_update' => 'Vérifier les nouvelles mises à jour chaque semaine',
|
||||
'password_encrypt_key' => 'Clée de cryptage des mots de passe',
|
||||
'password_encrypt_key_note' => 'Cette clée est utilisée pour crypter les mots de passe qui sont enregistrés
|
||||
'general' => 'Général',
|
||||
'language' => 'Langue',
|
||||
'show_update' => 'Vérifier les nouvelles mises à jour chaque semaine',
|
||||
'password_encrypt_key' => 'Clée de cryptage des mots de passe',
|
||||
'password_encrypt_key_note' => 'Cette clée est utilisée pour crypter les mots de passe qui sont enregistrés
|
||||
dans la base de donnée pour les serveurs qui requiert une authentification.
|
||||
Si la clé est modifié, les mots de passe enregistré ne seront plus
|
||||
valide !',
|
||||
'proxy' => 'Activer le proxy',
|
||||
'proxy_url' => 'URL du proxy',
|
||||
'proxy_user' => 'Nom d\'utilisateur du proxy',
|
||||
'proxy_password' => 'Mot de passe du proxy',
|
||||
'email_status' => 'Autoriser l\'envoi de mail',
|
||||
'email_from_email' => 'Adresse de l\'expéditeur',
|
||||
'email_from_name' => 'Nom de l\'expéditeur',
|
||||
'email_smtp' => 'Utiliser un serveur SMTP',
|
||||
'email_smtp_host' => 'Adresse serveur SMTP',
|
||||
'email_smtp_port' => 'Port SMTP',
|
||||
'email_smtp_security' => 'Protocole de sécurité SMTP',
|
||||
'email_smtp_security_none' => 'Aucun',
|
||||
'email_smtp_username' => 'Nom utilisateur SMTP',
|
||||
'email_smtp_password' => 'Mot de passe SMTP',
|
||||
'email_smtp_noauth' => 'Laisser vide si pas d\'authentication',
|
||||
'sms_status' => 'Autoriser l\'envoi de SMS',
|
||||
'sms_gateway' => 'Passerelle à utiliser pour l\'envoi de SMS',
|
||||
'sms_gateway_username' => 'Nom utilisateur de la passerelle',
|
||||
'sms_gateway_password' => 'Mot de passe de la passerelle',
|
||||
'sms_from' => 'SMS de l\'expéditeur',
|
||||
'pushover_status' => 'Autoriser l\'envoi des messages Pushover',
|
||||
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a
|
||||
'proxy' => 'Activer le proxy',
|
||||
'proxy_url' => 'URL du proxy',
|
||||
'proxy_user' => 'Nom d\'utilisateur du proxy',
|
||||
'proxy_password' => 'Mot de passe du proxy',
|
||||
'email_status' => 'Autoriser l\'envoi de mail',
|
||||
'email_from_email' => 'Adresse de l\'expéditeur',
|
||||
'email_from_name' => 'Nom de l\'expéditeur',
|
||||
'email_smtp' => 'Utiliser un serveur SMTP',
|
||||
'email_smtp_host' => 'Adresse serveur SMTP',
|
||||
'email_smtp_port' => 'Port SMTP',
|
||||
'email_smtp_security' => 'Protocole de sécurité SMTP',
|
||||
'email_smtp_security_none' => 'Aucun',
|
||||
'email_smtp_username' => 'Nom utilisateur SMTP',
|
||||
'email_smtp_password' => 'Mot de passe SMTP',
|
||||
'email_smtp_noauth' => 'Laisser vide si pas d\'authentication',
|
||||
'sms_status' => 'Autoriser l\'envoi de SMS',
|
||||
'sms_gateway' => 'Passerelle à utiliser pour l\'envoi de SMS',
|
||||
'sms_gateway_username' => 'Nom utilisateur de la passerelle',
|
||||
'sms_gateway_password' => 'Mot de passe de la passerelle',
|
||||
'sms_from' => 'SMS de l\'expéditeur',
|
||||
'pushover_status' => 'Autoriser l\'envoi des messages Pushover',
|
||||
'pushover_description' => 'Pushover est un service qui simplifie les notifications en temps réel. Voir <a
|
||||
href="https://pushover.net/" target="_blank">leur site web</a> pour plus
|
||||
d\'informations.',
|
||||
'pushover_clone_app' => 'Cliquez ici pour créer votre application Pushover',
|
||||
'pushover_api_token' => 'Jeton application Pushover',
|
||||
'pushover_api_token_description' => 'Avant de pouvoir utiliser Pushover, vous devez <a href="%1$s"
|
||||
'pushover_clone_app' => 'Cliquez ici pour créer votre application Pushover',
|
||||
'pushover_api_token' => 'Jeton application Pushover',
|
||||
'pushover_api_token_description' => 'Avant de pouvoir utiliser Pushover, vous devez <a href="%1$s"
|
||||
target="_blank" rel="noopener">créer une application</a> sur leur site
|
||||
web et entrer ici le jeton (Token) de l\'application.',
|
||||
'telegram_status' => 'Autorise l\'envoi de message Telegram',
|
||||
'telegram_description' => '<a href="https://telegram.org/" target="_blank">Telegram</a> est une application de
|
||||
'telegram_status' => 'Autorise l\'envoi de message Telegram',
|
||||
'telegram_description' => '<a href="https://telegram.org/" target="_blank">Telegram</a> est une application de
|
||||
messagerie instantanée qui facilite la réception de notification en temps réel.
|
||||
Lisez la <a href="http://docs.phpservermonitor.org/"
|
||||
target="_blank">documentation</a> pour obtenir plus d\'informations sur la
|
||||
configuration de ce service.',
|
||||
'telegram_api_token' => 'Token API Telegram',
|
||||
'telegram_api_token_description' => 'Afin de pouvoir utiliser Telegram, il vous faut obtenir un token api.
|
||||
'telegram_api_token' => 'Token API Telegram',
|
||||
'telegram_api_token_description' => 'Afin de pouvoir utiliser Telegram, il vous faut obtenir un token api.
|
||||
Consultez la <a href="http://docs.phpservermonitor.org/"
|
||||
target="_blank">documentation</a> pour obtenir de l\'aide.',
|
||||
'alert_type' => 'Choisissez quand vous souhaitez être notifié',
|
||||
'alert_type_description' => '<b>Changement d\'état : </b>Vous recevez une notification chaque fois que
|
||||
'alert_type' => 'Choisissez quand vous souhaitez être notifié',
|
||||
'alert_type_description' => '<b>Changement d\'état : </b>Vous recevez une notification chaque fois que
|
||||
le serveur change d\'état. C\'est-à-dire passe de l\'état OK à HORS SERVICE
|
||||
ou de HORS SERVICE à OK.<br><br><b>Hors service : </b>Vous ne recevez une
|
||||
notification que quand le serveur passe de l\'état OK à HORS SERVICE. Par
|
||||
|
@ -331,145 +335,145 @@ $sm_lang = array(
|
|||
6 heures du matin.Vous ne recevez qu\'une seule notification à 1 heure du
|
||||
matin.<br><br><b>Toujours : </b>Vous recevez une notification à chaque
|
||||
exécution de la tâche planifiée si le serveur est à l\'état HORS SERVICE ',
|
||||
'alert_type_status' => 'Changement d\'état',
|
||||
'alert_type_offline' => 'Hors service',
|
||||
'alert_type_always' => 'Toujours',
|
||||
'combine_notifications' => 'Combiner les notifications',
|
||||
'combine_notifications_description' => 'Réduit le nombre de notifications en les combinant toutes en une
|
||||
'alert_type_status' => 'Changement d\'état',
|
||||
'alert_type_offline' => 'Hors service',
|
||||
'alert_type_always' => 'Toujours',
|
||||
'combine_notifications' => 'Combiner les notifications',
|
||||
'combine_notifications_description' => 'Réduit le nombre de notifications en les combinant toutes en une
|
||||
seule. (Cela ne s\'applique pas aux SMS.)',
|
||||
'alert_proxy' => 'Le serveur proxy n\'est jamais utilisé pour les services, même quand celui-ci est activé.',
|
||||
'alert_proxy_url' => 'Format : hôte:port',
|
||||
'log_status' => 'Etat des événements',
|
||||
'log_status_description' => 'Si l\'option est activée, un événement est enregistré chaque fois qu\'une
|
||||
'alert_proxy' => 'Le serveur proxy n\'est jamais utilisé pour les services, même quand celui-ci est activé.',
|
||||
'alert_proxy_url' => 'Format : hôte:port',
|
||||
'log_status' => 'Etat des événements',
|
||||
'log_status_description' => 'Si l\'option est activée, un événement est enregistré chaque fois qu\'une
|
||||
notification a lieu.',
|
||||
'log_email' => 'Enregistrer tous les emails envoyés',
|
||||
'log_sms' => 'Enregistrer tous les SMS envoyés',
|
||||
'log_pushover' => 'Enregistrer tous les messages Pushover envoyés',
|
||||
'log_telegram' => 'Enregistrer tous les messages Telegram envoyés',
|
||||
'updated' => 'La configuration a été mise à jour.',
|
||||
'tab_email' => 'Email',
|
||||
'tab_sms' => 'SMS',
|
||||
'tab_pushover' => 'Pushover',
|
||||
'tab_telegram' => 'Telegram',
|
||||
'settings_email' => 'Configuration email',
|
||||
'settings_sms' => 'Configuration SMS',
|
||||
'settings_pushover' => 'Configuration Pushover',
|
||||
'settings_telegram' => 'Configuration Telegram',
|
||||
'settings_notification' => 'Configuration des notifications',
|
||||
'settings_log' => 'Configuration des événements',
|
||||
'settings_proxy' => 'Configuration du proxy',
|
||||
'auto_refresh' => 'Auto-rachaîchissement',
|
||||
'auto_refresh_description' => 'Auto-rachaîchissement de la page serveurs.<br><span class="small">Temps en
|
||||
'log_email' => 'Enregistrer tous les emails envoyés',
|
||||
'log_sms' => 'Enregistrer tous les SMS envoyés',
|
||||
'log_pushover' => 'Enregistrer tous les messages Pushover envoyés',
|
||||
'log_telegram' => 'Enregistrer tous les messages Telegram envoyés',
|
||||
'updated' => 'La configuration a été mise à jour.',
|
||||
'tab_email' => 'Email',
|
||||
'tab_sms' => 'SMS',
|
||||
'tab_pushover' => 'Pushover',
|
||||
'tab_telegram' => 'Telegram',
|
||||
'settings_email' => 'Configuration email',
|
||||
'settings_sms' => 'Configuration SMS',
|
||||
'settings_pushover' => 'Configuration Pushover',
|
||||
'settings_telegram' => 'Configuration Telegram',
|
||||
'settings_notification' => 'Configuration des notifications',
|
||||
'settings_log' => 'Configuration des événements',
|
||||
'settings_proxy' => 'Configuration du proxy',
|
||||
'auto_refresh' => 'Auto-rachaîchissement',
|
||||
'auto_refresh_description' => 'Auto-rachaîchissement de la page serveurs.<br><span class="small">Temps en
|
||||
secondes. Si 0, la page n\'est pas rafraîchie.</span>',
|
||||
'seconds' => 'secondes',
|
||||
'test' => 'Tester',
|
||||
'test_email' => 'Un email va vous être envoyé à l\'adresse définie dans votre profil utilisateur.',
|
||||
'test_sms' => 'Un SMS va vous être envoyé au numéro défini dans votre profil utilisateur.',
|
||||
'test_pushover' => 'Une notification Pushover va être envoyée en utilisant la clé spécifiée dans votre
|
||||
'seconds' => 'secondes',
|
||||
'test' => 'Tester',
|
||||
'test_email' => 'Un email va vous être envoyé à l\'adresse définie dans votre profil utilisateur.',
|
||||
'test_sms' => 'Un SMS va vous être envoyé au numéro défini dans votre profil utilisateur.',
|
||||
'test_pushover' => 'Une notification Pushover va être envoyée en utilisant la clé spécifiée dans votre
|
||||
profil utilisateur.',
|
||||
'test_telegram' => 'Une notification Telegram sera envoyé à la conversion indiqué sur votre profil (ID de
|
||||
'test_telegram' => 'Une notification Telegram sera envoyé à la conversion indiqué sur votre profil (ID de
|
||||
conversation).',
|
||||
'send' => 'Envoyer',
|
||||
'test_subject' => 'Test',
|
||||
'test_message' => 'Message de test',
|
||||
'email_sent' => 'Email envoyé',
|
||||
'email_error' => 'Erreur lors de l\'envoi de l\'email',
|
||||
'sms_sent' => 'SMS envoyé',
|
||||
'sms_error' => 'Erreur lors de l\'envoi du SMS. %s',
|
||||
'sms_error_nomobile' => 'Impossible d\'envoyer un SMS de test: aucun numéro de téléphone défini dans votre
|
||||
'send' => 'Envoyer',
|
||||
'test_subject' => 'Test',
|
||||
'test_message' => 'Message de test',
|
||||
'email_sent' => 'Email envoyé',
|
||||
'email_error' => 'Erreur lors de l\'envoi de l\'email',
|
||||
'sms_sent' => 'SMS envoyé',
|
||||
'sms_error' => 'Erreur lors de l\'envoi du SMS. %s',
|
||||
'sms_error_nomobile' => 'Impossible d\'envoyer un SMS de test: aucun numéro de téléphone défini dans votre
|
||||
profil.',
|
||||
'pushover_sent' => 'Notification Pushover envoyée',
|
||||
'pushover_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification Pushover : %s',
|
||||
'pushover_error_noapp' => 'Impossible d\'envoyer une notification de test: Aucun jeton application Pushover
|
||||
'pushover_sent' => 'Notification Pushover envoyée',
|
||||
'pushover_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification Pushover : %s',
|
||||
'pushover_error_noapp' => 'Impossible d\'envoyer une notification de test: Aucun jeton application Pushover
|
||||
n\'a été défini dans la configuration Pushover.',
|
||||
'pushover_error_nokey' => 'Impossible d\'envoyer une notification de test: Aucune clé Pushover n\'a été
|
||||
'pushover_error_nokey' => 'Impossible d\'envoyer une notification de test: Aucune clé Pushover n\'a été
|
||||
définie dans votre profil.',
|
||||
'telegram_sent' => 'Notification Telegram envoyée',
|
||||
'telegram_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification : %s',
|
||||
'telegram_error_notoken' => 'Impossible d\'envoyé la notification de test : aucun token APII token
|
||||
'telegram_sent' => 'Notification Telegram envoyée',
|
||||
'telegram_error' => 'Une erreur s\'est produite lors de l\'envoi de la notification : %s',
|
||||
'telegram_error_notoken' => 'Impossible d\'envoyé la notification de test : aucun token APII token
|
||||
trouvé dans la configuration.',
|
||||
'telegram_error_noid' => 'Impossible d\'envoyé la notification de test : aucun ID de conversation
|
||||
'telegram_error_noid' => 'Impossible d\'envoyé la notification de test : aucun ID de conversation
|
||||
trouvé dans votre profil utilisateur.',
|
||||
'log_retention_period' => 'Durée de conservation',
|
||||
'log_retention_period_description' => 'Nombre de jours de conservation des événements envoyés et des temps
|
||||
'log_retention_period' => 'Durée de conservation',
|
||||
'log_retention_period_description' => 'Nombre de jours de conservation des événements envoyés et des temps
|
||||
de réponse des serveurs. Entrez 0 pour les conserver indéfiniment.',
|
||||
'log_retention_days' => 'jours',
|
||||
),
|
||||
'log_retention_days' => 'jours',
|
||||
),
|
||||
'notifications' => array(
|
||||
'off_sms' => 'Le Serveur \'%LABEL%\' est HORS SERVICE: IP=%IP%, Port=%PORT%. Erreur=%ERROR%',
|
||||
'off_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est HORS SERVICE',
|
||||
'off_email_body' => 'Impossible de se connecter au serveur suivant:<br><br>Serveur : %LABEL%<br>IP :
|
||||
'off_sms' => 'Le Serveur \'%LABEL%\' est HORS SERVICE: IP=%IP%, Port=%PORT%. Erreur=%ERROR%',
|
||||
'off_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est HORS SERVICE',
|
||||
'off_email_body' => 'Impossible de se connecter au serveur suivant:<br><br>Serveur : %LABEL%<br>IP :
|
||||
%IP%<br>Port : %PORT%<br>Erreur : %ERROR%<br>Date: %DATE%',
|
||||
'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE',
|
||||
'off_pushover_message' => 'Impossible de se connecter au serveur suivant :<br><br>Serveur :
|
||||
'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE',
|
||||
'off_pushover_message' => 'Impossible de se connecter au serveur suivant :<br><br>Serveur :
|
||||
%LABEL%<br>IP : %IP%<br>Port : %PORT%<br>Erreur :
|
||||
%ERROR%<br>Date : %DATE%',
|
||||
'off_telegram_message' => 'Impossible de se connecter au serveur suivant :<br><br>Serveur :
|
||||
'off_telegram_message' => 'Impossible de se connecter au serveur suivant :<br><br>Serveur :
|
||||
%LABEL%<br>IP : %IP%<br>Port : %PORT%<br>Erreur :
|
||||
%ERROR%<br>Date : %DATE%',
|
||||
'on_sms' => 'Le Serveur \'%LABEL%\' est OK: IP=%IP%, Port=%PORT%, il était hors-ligne pendant
|
||||
'on_sms' => 'Le Serveur \'%LABEL%\' est OK: IP=%IP%, Port=%PORT%, il était hors-ligne pendant
|
||||
%LAST_OFFLINE_DURATION%',
|
||||
'on_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est OK',
|
||||
'on_email_body' => 'Le Serveur \'%LABEL%\' est de nouveau OK, il était hors-ligne pendant
|
||||
'on_email_subject' => 'IMPORTANT: Le Serveur \'%LABEL%\' est OK',
|
||||
'on_email_body' => 'Le Serveur \'%LABEL%\' est de nouveau OK, il était hors-ligne pendant
|
||||
%LAST_OFFLINE_DURATION%:<br><br>Serveur: %LABEL%<br>IP: %IP%<br>Port: %PORT%<br>Date:
|
||||
%DATE%',
|
||||
'on_pushover_title' => 'Le Serveur \'%LABEL%\' est OK',
|
||||
'on_pushover_message' => 'Le Serveur \'%LABEL%\' est de nouveau OK, il était hors-ligne pendant
|
||||
'on_pushover_title' => 'Le Serveur \'%LABEL%\' est OK',
|
||||
'on_pushover_message' => 'Le Serveur \'%LABEL%\' est de nouveau OK, il était hors-ligne pendant
|
||||
%LAST_OFFLINE_DURATION%:<br><br>Serveur: %LABEL%<br>IP: %IP%<br>Port:
|
||||
%PORT%<br>Date: %DATE%',
|
||||
'on_telegram_message' => 'Server \'%LABEL%\' is running again, it was down for:
|
||||
'on_telegram_message' => 'Server \'%LABEL%\' is running again, it was down for:
|
||||
%LAST_OFFLINE_DURATION%<br><br>Server: %LABEL%<br>IP: %IP%<br>Port: %PORT%<br>Date:
|
||||
%DATE%',
|
||||
'combi_off_email_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
'combi_off_email_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
%PORT%</li><li>Erreur : %ERROR%</li><li>Date : %DATE%</li></ul>',
|
||||
'combi_off_pushover_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
'combi_off_pushover_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
%PORT%</li><li>Erreur : %ERROR%</li><li>Date : %DATE%</li></ul>',
|
||||
'combi_off_telegram_message' => '- Serveur : %LABEL%<br>- IP : %IP%<br>- Port : %PORT%<br>-
|
||||
'combi_off_telegram_message' => '- Serveur : %LABEL%<br>- IP : %IP%<br>- Port : %PORT%<br>-
|
||||
Erreur : %ERROR%<br>- Date : %DATE%<br><br>',
|
||||
'combi_on_email_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
'combi_on_email_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
%PORT%</li><li>Durée : %LAST_OFFLINE_DURATION%</li><li>Date :
|
||||
%DATE%</li></ul>',
|
||||
'combi_on_pushover_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
'combi_on_pushover_message' => '<ul><li>Serveur : %LABEL%</li><li>IP : %IP%</li><li>Port :
|
||||
%PORT%</li><li>Durée : %LAST_OFFLINE_DURATION%</li><li>Date :
|
||||
%DATE%</li></ul>',
|
||||
'combi_on_telegram_message' => '- Serveur : %LABEL%<br>- IP: %IP%<br>- Port : %PORT%<br>-
|
||||
'combi_on_telegram_message' => '- Serveur : %LABEL%<br>- IP: %IP%<br>- Port : %PORT%<br>-
|
||||
Durée : %LAST_OFFLINE_DURATION%<br>- Date : %DATE%<br><br>',
|
||||
'combi_email_subject' => 'IMPORTANT : \'%UP%\' serveurs de nouveaux en ligne, \'%DOWN%\' serveurs
|
||||
'combi_email_subject' => 'IMPORTANT : \'%UP%\' serveurs de nouveaux en ligne, \'%DOWN%\' serveurs
|
||||
hors-ligne',
|
||||
'combi_pushover_subject' => '\'%UP%\' serveurs de nouveaux en ligne, \'%DOWN%\' serveurs hors-ligne',
|
||||
'combi_email_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
'combi_pushover_subject' => '\'%UP%\' serveurs de nouveaux en ligne, \'%DOWN%\' serveurs hors-ligne',
|
||||
'combi_email_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
serveurs suivants sont en ligne :</b><br>%UP_SERVERS%',
|
||||
'combi_pushover_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
'combi_pushover_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
serveurs suivants sont en ligne :</b><br>%UP_SERVERS%',
|
||||
'combi_telegram_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
'combi_telegram_message' => '<b>Les serveurs suivants sont hors-ligne :</b><br>%DOWN_SERVERS%<br><b>Les
|
||||
serveurs suivants sont en ligne :</b><br>%UP_SERVERS%',
|
||||
),
|
||||
),
|
||||
'login' => array(
|
||||
'welcome_usermenu' => 'Bonjour %user_name%',
|
||||
'title_sign_in' => 'Connectez vous SVP',
|
||||
'title_forgot' => 'Mot de passe oublié ?',
|
||||
'title_reset' => 'Réinitialisation du mot de passe',
|
||||
'submit' => 'Envoyer',
|
||||
'remember_me' => 'Se souvenir de moi',
|
||||
'login' => 'Connexion',
|
||||
'logout' => 'Déconnexion',
|
||||
'username' => 'Nom',
|
||||
'password' => 'Mot de passe',
|
||||
'password_repeat' => 'Répéter le mot de passe',
|
||||
'password_forgot' => 'Mot de passe oublié ?',
|
||||
'password_reset' => 'Réinitialiser le mot de passe',
|
||||
'password_reset_email_subject' => 'Réinitialisation du mot de passe pour PHP Server Monitor',
|
||||
'password_reset_email_body' => 'Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe.
|
||||
'welcome_usermenu' => 'Bonjour %user_name%',
|
||||
'title_sign_in' => 'Connectez vous SVP',
|
||||
'title_forgot' => 'Mot de passe oublié ?',
|
||||
'title_reset' => 'Réinitialisation du mot de passe',
|
||||
'submit' => 'Envoyer',
|
||||
'remember_me' => 'Se souvenir de moi',
|
||||
'login' => 'Connexion',
|
||||
'logout' => 'Déconnexion',
|
||||
'username' => 'Nom',
|
||||
'password' => 'Mot de passe',
|
||||
'password_repeat' => 'Répéter le mot de passe',
|
||||
'password_forgot' => 'Mot de passe oublié ?',
|
||||
'password_reset' => 'Réinitialiser le mot de passe',
|
||||
'password_reset_email_subject' => 'Réinitialisation du mot de passe pour PHP Server Monitor',
|
||||
'password_reset_email_body' => 'Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe.
|
||||
Veuillez noter qu\'il expire dans une heure.<br><br>%link%',
|
||||
'error_user_incorrect' => 'Nom d\'utilisateur invalide.',
|
||||
'error_login_incorrect' => 'Informations incorrectes.',
|
||||
'error_login_passwords_nomatch' => 'Mot de passe invalide.',
|
||||
'error_reset_invalid_link' => 'Le lien d\'initialisation du mot de passe n\'est pas valide.',
|
||||
'success_password_forgot' => 'Un email vous a été envoyé pour réinitialiser votre mot de passe.',
|
||||
'success_password_reset' => 'Votre mot de passe a été réinitialisé.',
|
||||
),
|
||||
'error_user_incorrect' => 'Nom d\'utilisateur invalide.',
|
||||
'error_login_incorrect' => 'Informations incorrectes.',
|
||||
'error_login_passwords_nomatch' => 'Mot de passe invalide.',
|
||||
'error_reset_invalid_link' => 'Le lien d\'initialisation du mot de passe n\'est pas valide.',
|
||||
'success_password_forgot' => 'Un email vous a été envoyé pour réinitialiser votre mot de passe.',
|
||||
'success_password_reset' => 'Votre mot de passe a été réinitialisé.',
|
||||
),
|
||||
'error' => array(
|
||||
'401_unauthorized' => 'Non autorisée',
|
||||
'401_unauthorized_description' => 'Vous n\'avez pas les privilèges nécessaires pour voir cette page.',
|
||||
),
|
||||
'401_unauthorized' => 'Non autorisée',
|
||||
'401_unauthorized_description' => 'Vous n\'avez pas les privilèges nécessaires pour voir cette page.',
|
||||
),
|
||||
);
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
namespace psm\Module\Consult;
|
||||
|
||||
use psm\Module\ModuleInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
|
||||
class ConsultModule implements ModuleInterface
|
||||
{
|
||||
|
||||
public function load(ContainerBuilder $container)
|
||||
{
|
||||
}
|
||||
|
||||
public function getControllers()
|
||||
{
|
||||
return array(
|
||||
'consult' => __NAMESPACE__ . '\Controller\ConsultController',
|
||||
'server' => __NAMESPACE__ . '\Controller\ServerController',
|
||||
'log' => __NAMESPACE__ . '\Controller\LogController',
|
||||
'status' => __NAMESPACE__ . '\Controller\StatusController',
|
||||
'update' => __NAMESPACE__ . '\Controller\UpdateController',
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* PHP Server Monitor
|
||||
* Monitor your servers and websites.
|
||||
*
|
||||
* This file is part of PHP Server Monitor.
|
||||
* PHP Server Monitor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PHP Server Monitor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package phpservermon
|
||||
* @author Pepijn Over <pep@mailbox.org>
|
||||
* @copyright Copyright (c) 2008-2017 Pepijn Over <pep@mailbox.org>
|
||||
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
|
||||
* @version Release: v3.5.0
|
||||
* @link http://www.phpservermonitor.org/
|
||||
**/
|
||||
|
||||
namespace psm\Module\Consult\Controller;
|
||||
|
||||
use psm\Module\Server\Controller\AbstractServerController;
|
||||
use psm\Service\Database;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
abstract class AbstractConsultController extends AbstractServerController
|
||||
{
|
||||
/**
|
||||
* Create HTML code for the menu
|
||||
* @return string
|
||||
*/
|
||||
protected function createHTMLMenu()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
public function __construct(Database $db, \Twig_Environment $twig)
|
||||
{
|
||||
parent::__construct($db, $twig);
|
||||
|
||||
$this->twig->addGlobal('subtitle', psm_get_lang('openscop', 'consult_title'));
|
||||
$this->twig->addGlobal('title', psm_get_lang('openscop', 'consult_title'));
|
||||
}
|
||||
|
||||
protected function createHTML($html = null)
|
||||
{
|
||||
if (!$this->xhr) {
|
||||
// in XHR mode, we will not add the main template
|
||||
$tpl_data = array(
|
||||
'title' => strtoupper(psm_get_lang('openscop', 'title')),
|
||||
'label_back_to_top' => psm_get_lang('system', 'back_to_top'),
|
||||
'add_footer' => $this->add_footer,
|
||||
'version' => 'v' . PSM_VERSION,
|
||||
'messages' => $this->getMessages(),
|
||||
'html_content' => $html,
|
||||
);
|
||||
|
||||
// add menu to page?
|
||||
if ($this->add_menu) {
|
||||
$tpl_data['html_menu'] = $this->createHTMLMenu();
|
||||
}
|
||||
// add header accessories to page ?
|
||||
if ($this->header_accessories) {
|
||||
$tpl_data['header_accessories'] = $this->header_accessories;
|
||||
}
|
||||
// add modal dialog to page ?
|
||||
if (sizeof($this->modal)) {
|
||||
$html_modal = '';
|
||||
foreach ($this->modal as $modal) {
|
||||
$html_modal .= $modal->createHTML();
|
||||
}
|
||||
$tpl_data['html_modal'] = $html_modal;
|
||||
}
|
||||
// add sidebar to page?
|
||||
if ($this->sidebar !== null) {
|
||||
$tpl_data['html_sidebar'] = $this->sidebar->createHTML();
|
||||
}
|
||||
|
||||
if (psm_update_available()) {
|
||||
$tpl_data['update_available'] = str_replace(
|
||||
'{version}',
|
||||
'v' .
|
||||
psm_get_conf('version_update_check'),
|
||||
psm_get_lang('system', 'update_available')
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->black_background) {
|
||||
$tpl_data['body_class'] = 'black_background';
|
||||
}
|
||||
|
||||
$tpl_data['custom_navbar'] = true;
|
||||
|
||||
// Insert logo url in navbar
|
||||
$tpl_data['logo_url'] = 'https://www.openscop.news/wp-content/uploads/sites/10/2020/04/logo_horizontal_600x150.png';
|
||||
$html = $this->twig->render('main/body.tpl.html', $tpl_data);
|
||||
}
|
||||
|
||||
$response = new Response($html);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* PHP Server Monitor
|
||||
* Monitor your servers and websites.
|
||||
*
|
||||
* This file is part of PHP Server Monitor.
|
||||
* PHP Server Monitor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PHP Server Monitor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package phpservermon
|
||||
* @author Pepijn Over <pep@mailbox.org>
|
||||
* @copyright Copyright (c) 2008-2017 Pepijn Over <pep@mailbox.org>
|
||||
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
|
||||
* @version Release: v3.5.0
|
||||
* @link http://www.phpservermonitor.org/
|
||||
* @since phpservermon 3.0.0
|
||||
**/
|
||||
|
||||
namespace psm\Module\Consult\Controller;
|
||||
|
||||
use psm\Module\AbstractController;
|
||||
use psm\Module\Consult\Controller\AbstractConsultController;
|
||||
use psm\Module\Server\Controller\AbstractServerController;
|
||||
use psm\Service\Database;
|
||||
|
||||
abstract class AbstractConsultServerController extends AbstractConsultController
|
||||
{
|
||||
/**
|
||||
* Get all servers for the current user
|
||||
* @param Countable|array|\PDOStatement $server_id (int) if true only that server will be retrieved.
|
||||
* @param array|\PDOStatement $ip
|
||||
* @return array
|
||||
*/
|
||||
public function getServers($server_id = null, $ip = null)
|
||||
{
|
||||
$sql_join = '';
|
||||
$sql_where = '';
|
||||
|
||||
|
||||
if ($server_id !== null) {
|
||||
$server_id = intval($server_id);
|
||||
$sql_where = "WHERE `s`.`server_id`={$server_id} ";
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
`s`.`server_id`,
|
||||
`s`.`ip`,
|
||||
`s`.`port`,
|
||||
`s`.`request_method`,
|
||||
`s`.`post_field`,
|
||||
`s`.`type`,
|
||||
`s`.`label`,
|
||||
`s`.`pattern`,
|
||||
`s`.`pattern_online`,
|
||||
`s`.`redirect_check`,
|
||||
`s`.`allow_http_status`,
|
||||
`s`.`header_name`,
|
||||
`s`.`header_value`,
|
||||
`s`.`status`,
|
||||
`s`.`error`,
|
||||
`s`.`rtime`,
|
||||
`s`.`last_check`,
|
||||
`s`.`last_online`,
|
||||
`s`.`last_offline`,
|
||||
`s`.`last_offline_duration`,
|
||||
`s`.`active`,
|
||||
`s`.`email`,
|
||||
`s`.`sms`,
|
||||
`s`.`pushover`,
|
||||
`s`.`telegram`,
|
||||
`s`.`jabber`,
|
||||
`s`.`warning_threshold`,
|
||||
`s`.`warning_threshold_counter`,
|
||||
`s`.`ssl_cert_expiry_days`,
|
||||
`s`.`ssl_cert_expired_time`,
|
||||
`s`.`timeout`,
|
||||
`s`.`website_username`,
|
||||
`s`.`website_password`,
|
||||
`s`.`last_error`,
|
||||
`s`.`last_error_output`,
|
||||
`s`.`last_output`
|
||||
FROM `" . PSM_DB_PREFIX . "servers` AS `s`
|
||||
{$sql_join}
|
||||
{$sql_where}
|
||||
ORDER BY `active` ASC, `status` DESC, `label` ASC";
|
||||
$servers = $this->db->query($sql);
|
||||
|
||||
if ($server_id !== null && count($servers) == 1) {
|
||||
$servers = $servers[0];
|
||||
}
|
||||
|
||||
return $servers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format server data for display
|
||||
* @param array $server
|
||||
* @return array
|
||||
*/
|
||||
protected function formatServer($server)
|
||||
{
|
||||
return parent::formatServer($server);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
<?php
|
||||
|
||||
namespace psm\Module\Consult\Controller;
|
||||
|
||||
use psm\Module\AbstractController;
|
||||
use psm\Module\Consult\Controller\AbstractConsultServerController;
|
||||
use psm\Module\Server\Controller\AbstractServerController;
|
||||
use psm\Service\Database;
|
||||
|
||||
class ConsultController extends AbstractConsultServerController
|
||||
{
|
||||
public $server_id;
|
||||
public $ip;
|
||||
public $id;
|
||||
|
||||
function __construct(Database $db, \Twig_Environment $twig)
|
||||
{
|
||||
parent::__construct($db, $twig);
|
||||
$this->ip = isset($_GET['ip']) ? $_GET['ip'] : "";
|
||||
$this->setActions(array(
|
||||
'view',
|
||||
), 'index');
|
||||
$this->setMinUserLevelRequiredForAction(PSM_USER_ANONYMOUS, []);
|
||||
$this->setMinUserLevelRequired(PSM_USER_ANONYMOUS);
|
||||
}
|
||||
|
||||
protected function executeView()
|
||||
{
|
||||
$sql = 'SELECT server_id FROM ' . PSM_DB_PREFIX . 'servers WHERE label = "' . $this->ip . '"';
|
||||
$server_id = $this->db->query($sql);
|
||||
|
||||
if (empty($server_id)) {
|
||||
$tpl_data = $this->getError();
|
||||
return $this->twig->render('module/error/401.tpl.html', $tpl_data);
|
||||
} else
|
||||
$id = $server_id[0]['server_id'];
|
||||
$this->id = $id;
|
||||
$server = $this->getServers($this->id);
|
||||
$tpl_data = $this->getLabels();
|
||||
$tpl_data = array_merge($tpl_data, $this->formatServer($server));
|
||||
$history = new \psm\Util\Server\HistoryGraph($this->db, $this->twig);
|
||||
$tpl_data['html_history'] = $history->createHTML($this->id);
|
||||
$sidebar = new \psm\Util\Module\Sidebar($this->twig);
|
||||
$this->setSidebar($sidebar);
|
||||
return $this->twig->render('module/consult/consult.tpl.html', $tpl_data);
|
||||
}
|
||||
|
||||
protected function getError()
|
||||
{
|
||||
return array(
|
||||
'label_title' => "Erreur",
|
||||
'label_description' => "Vous n'avez pas saisi la bonne adresse !"
|
||||
);
|
||||
}
|
||||
|
||||
protected function getLabels()
|
||||
{
|
||||
return array(
|
||||
'label_label' => psm_get_lang('servers', 'label'),
|
||||
'label_status' => psm_get_lang('servers', 'status'),
|
||||
'label_domain' => psm_get_lang('servers', 'domain'),
|
||||
'label_timeout' => psm_get_lang('servers', 'timeout'),
|
||||
'label_timeout_description' => psm_get_lang('servers', 'timeout_description'),
|
||||
'label_authentication_settings' => psm_get_lang('servers', 'authentication_settings'),
|
||||
'label_optional' => psm_get_lang('servers', 'optional'),
|
||||
'label_website_username' => psm_get_lang('servers', 'website_username'),
|
||||
'label_website_username_description' => psm_get_lang('servers', 'website_username_description'),
|
||||
'label_website_password' => psm_get_lang('servers', 'website_password'),
|
||||
'label_website_password_description' => psm_get_lang('servers', 'website_password_description'),
|
||||
'label_fieldset_monitoring' => psm_get_lang('servers', 'fieldset_monitoring'),
|
||||
'label_fieldset_permissions' => psm_get_lang('servers', 'fieldset_permissions'),
|
||||
'label_permissions' => psm_get_lang('servers', 'permissions'),
|
||||
'label_port' => psm_get_lang('servers', 'port'),
|
||||
'label_custom_port' => psm_get_lang('servers', 'custom_port'),
|
||||
'label_popular_ports' => psm_get_lang('servers', 'popular_ports'),
|
||||
'label_request_method' => psm_get_lang('servers', 'request_method'),
|
||||
'label_custom_request_method' => psm_get_lang('servers', 'custom_request_method'),
|
||||
'label_popular_request_methods' => psm_get_lang('servers', 'popular_request_methods'),
|
||||
'label_post_field' => psm_get_lang('servers', 'post_field'),
|
||||
'label_post_field_description' => psm_get_lang('servers', 'post_field_description'),
|
||||
'label_none' => psm_get_lang('system', 'none'),
|
||||
'label_please_select' => psm_get_lang('servers', 'please_select'),
|
||||
'label_type' => psm_get_lang('servers', 'type'),
|
||||
'label_website' => psm_get_lang('servers', 'type_website'),
|
||||
'label_service' => psm_get_lang('servers', 'type_service'),
|
||||
'label_ping' => psm_get_lang('servers', 'type_ping'),
|
||||
'label_pattern' => psm_get_lang('servers', 'pattern'),
|
||||
'label_pattern_description' => psm_get_lang('servers', 'pattern_description'),
|
||||
'label_pattern_online' => psm_get_lang('servers', 'pattern_online'),
|
||||
'label_pattern_online_description' => psm_get_lang('servers', 'pattern_online_description'),
|
||||
'label_redirect_check' => psm_get_lang('servers', 'redirect_check'),
|
||||
'label_redirect_check_description' => psm_get_lang('servers', 'redirect_check_description'),
|
||||
'label_allow_http_status' => psm_get_lang('servers', 'allow_http_status'),
|
||||
'label_allow_http_status_description' => psm_get_lang('servers', 'allow_http_status_description'),
|
||||
'label_header_name' => psm_get_lang('servers', 'header_name'),
|
||||
'label_header_value' => psm_get_lang('servers', 'header_value'),
|
||||
'label_header_name_description' => psm_get_lang('servers', 'header_name_description'),
|
||||
'label_header_value_description' => psm_get_lang('servers', 'header_value_description'),
|
||||
'label_last_check' => psm_get_lang('servers', 'last_check'),
|
||||
'label_rtime' => psm_get_lang('servers', 'latency'),
|
||||
'label_last_online' => psm_get_lang('servers', 'last_online'),
|
||||
'label_last_offline' => psm_get_lang('servers', 'last_offline'),
|
||||
'label_last_output' => psm_get_lang('servers', 'last_output'),
|
||||
'label_last_error' => psm_get_lang('servers', 'last_error'),
|
||||
'label_last_error_output' => psm_get_lang('servers', 'last_error_output'),
|
||||
'label_monitoring' => psm_get_lang('servers', 'monitoring'),
|
||||
'label_email' => psm_get_lang('servers', 'email'),
|
||||
'label_send_email' => psm_get_lang('servers', 'send_email'),
|
||||
'label_sms' => psm_get_lang('servers', 'sms'),
|
||||
'label_send_sms' => psm_get_lang('servers', 'send_sms'),
|
||||
'label_send_pushover' => psm_get_lang('servers', 'send_pushover'),
|
||||
'label_telegram' => psm_get_lang('servers', 'telegram'),
|
||||
'label_jabber' => psm_get_lang('servers', 'jabber'),
|
||||
'label_pushover' => psm_get_lang('servers', 'pushover'),
|
||||
'label_send_telegram' => psm_get_lang('servers', 'send_telegram'),
|
||||
'label_send_jabber' => psm_get_lang('servers', 'send_jabber'),
|
||||
'label_users' => psm_get_lang('servers', 'users'),
|
||||
'label_warning_threshold' => psm_get_lang('servers', 'warning_threshold'),
|
||||
'label_warning_threshold_description' => psm_get_lang('servers', 'warning_threshold_description'),
|
||||
'label_ssl_cert_expiry_days' => psm_get_lang('servers', 'ssl_cert_expiry_days'),
|
||||
'label_ssl_cert_expiry_days_description' => psm_get_lang('servers', 'ssl_cert_expiry_days_description'),
|
||||
'label_action' => psm_get_lang('system', 'action'),
|
||||
'label_save' => psm_get_lang('system', 'save'),
|
||||
'label_go_back' => psm_get_lang('system', 'go_back'),
|
||||
'label_edit' => psm_get_lang('system', 'edit'),
|
||||
'label_delete' => psm_get_lang('system', 'delete'),
|
||||
'label_view' => psm_get_lang('system', 'view'),
|
||||
'label_yes' => psm_get_lang('system', 'yes'),
|
||||
'label_no' => psm_get_lang('system', 'no'),
|
||||
'label_add_new' => psm_get_lang('system', 'add_new'),
|
||||
'label_seconds' => psm_get_lang('config', 'seconds'),
|
||||
'label_online' => psm_get_lang('servers', 'online'),
|
||||
'label_offline' => psm_get_lang('servers', 'offline'),
|
||||
'label_ok' => psm_get_lang('system', 'ok'),
|
||||
'label_bad' => psm_get_lang('system', 'bad'),
|
||||
'default_value_timeout' => PSM_CURL_TIMEOUT,
|
||||
'label_settings' => psm_get_lang('system', 'settings'),
|
||||
'label_output' => psm_get_lang('servers', 'output'),
|
||||
'label_search' => psm_get_lang('system', 'search'),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -95,6 +95,10 @@ class HistoryGraph
|
|||
$tpl_data = array(
|
||||
'graphs' => $graphs,
|
||||
);
|
||||
|
||||
//$graphs[1]['info'][0]['value'] = '1.2336';
|
||||
//echo '<pre>';
|
||||
//print_r($graphs);die;
|
||||
return $this->twig->render('module/server/history.tpl.html', $tpl_data);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,14 +24,19 @@
|
|||
<link href="src/templates/default/static/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="src/templates/default/static/plugin/bootstrap-select/dist/css/bootstrap-select.min.css" rel="stylesheet">
|
||||
<link href="src/templates/default/static/css/style.min.css" rel="stylesheet">
|
||||
{% if custom_navbar == 1 %}
|
||||
<link href="src/templates/default/static/openscop/css/style.css" rel="stylesheet">
|
||||
{% endif %}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark">
|
||||
<a class="navbar-brand" href="index.php">{{ title }}</a>
|
||||
<nav class="navbar fixed-top navbar-expand-lg navbar-dark {% if custom_navbar == 1 %}bg-light navbar_openscop {% else %} bg-dark {% endif %}">
|
||||
<a class="navbar-brand" href="index.php">
|
||||
<img src="{{ logo_url }}" class="img-fluid logo-openscop" />
|
||||
{{ title }}</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
{{ macro.input_csrf() }}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="card text-white text-center col-md-2 pl-0 pr-0 mb-4 {% if status|lower == 'on' %}bg-success{% elseif status|lower == 'warning' %}bg-warning{% elseif status|lower == 'off' %}bg-danger{% endif %}">
|
||||
<div class="card-body d-flex align-items-center justify-content-center">
|
||||
{% if status|lower == 'on' %}
|
||||
<i class="fas fa-check-circle fa-6x"></i>
|
||||
<noscript><h1>✓</h1></noscript>
|
||||
{% elseif status|lower == 'warning' %}
|
||||
<i class="fas fa-exclamation-triangle fa-6x"></i>
|
||||
<noscript><h1>⚠</h1></noscript>
|
||||
{% elseif status|lower == 'off' %}
|
||||
<i class="fas fa-times-circle fa-6x"></i>
|
||||
<noscript><h1>✕</h1></noscript>
|
||||
{% else %}
|
||||
<i class="fas fa-question-circle fa-6x"></i>
|
||||
<noscript><h1>⁇</h1></noscript>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card col-md-5 mr-5 ml-auto pl-0 pr-0 mb-4">
|
||||
<div class="card-header">
|
||||
{{ label }}
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-4">{{ label_domain }}:</dt>
|
||||
<dd class="col-md-8">
|
||||
<a href="{{ ip|raw }}" title="{{ ip|raw }}" target="_blank" rel="noopener">
|
||||
{{ ip|raw }}
|
||||
</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
{% if type|lower == 'service' %}
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-4">{{ label_port }}:</dt>
|
||||
<dd class="col-md-8">{{ port }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-4">{{ label_status }}:</dt>
|
||||
<dd class="col-md-8">{{ status }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-4">{{ label_rtime }}:</dt>
|
||||
<dd class="col-md-8">{{ rtime }} {{ label_seconds }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card col-md-3 ml-5 pl-0 pr-0 mb-4">
|
||||
<div class="card-header">
|
||||
{{ label_status }}
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-6">{{ label_last_online }}:</dt>
|
||||
<dd class="col-md-6">{{ last_online }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-6">{{ label_last_offline }}:</dt>
|
||||
<dd class="col-md-6">{{ last_offline }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<dl class="row">
|
||||
<dt class="col-md-6">{{ label_last_check }}:</dt>
|
||||
<dd class="col-md-6">{{ last_check }}</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
{{ html_history|raw }}
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal_last_output" tabindex="-1" role="dialog" aria-labelledby="modal_last_output_label" aria-hidden="true">
|
||||
<div class="modal-dialog" style="width:75%;max-width: 100%" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="modal_last_output_label">{{ label_last_output }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body" style="word-wrap: break-word;">
|
||||
{{ last_output|nl2br }}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal_last_error" tabindex="-1" role="dialog" aria-labelledby="modal_last_error_label" aria-hidden="true">
|
||||
<div class="modal-dialog" style="width:75%;max-width: 100%" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="modal_last_error_label">{{ label_last_error_output }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body" style="word-wrap: break-word;">
|
||||
{{ last_error_output|nl2br }}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,3 @@
|
|||
.logo-openscop {
|
||||
height: 50px;
|
||||
}
|
Loading…
Reference in New Issue