Merge branch 'develop' into develop
commit
8c2a0be485
19
.htaccess
19
.htaccess
|
@ -1 +1,20 @@
|
|||
Options -Indexes
|
||||
|
||||
<IfModule mod_expires.c>
|
||||
<FilesMatch "\.(js|jpg|jpeg|gif|png|css)$">
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 month"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
AddOutputFilterByType DEFLATE text/plain
|
||||
AddOutputFilterByType DEFLATE text/html
|
||||
AddOutputFilterByType DEFLATE text/xml
|
||||
AddOutputFilterByType DEFLATE text/css
|
||||
AddOutputFilterByType DEFLATE application/xml
|
||||
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||
AddOutputFilterByType DEFLATE application/rss+xml
|
||||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
</IfModule>
|
||||
|
|
|
@ -75,6 +75,7 @@ Requirements
|
|||
* PHP 5.3.7+
|
||||
* PHP cURL package
|
||||
* PHP PDO mysql driver
|
||||
* PHP-XML
|
||||
|
||||
|
||||
Install
|
||||
|
@ -116,3 +117,8 @@ 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/.
|
||||
|
||||
Docker
|
||||
-------
|
||||
|
||||
PHPServerMonitor is now available on Docker : https://github.com/phpservermon/docker-phpservermonitor
|
||||
|
|
|
@ -3,10 +3,7 @@
|
|||
"description": "PHP Server Monitor",
|
||||
"homepage": "http://www.phpservermonitor.org",
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/phpservermon/php-pushover"
|
||||
}
|
||||
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.3.7",
|
||||
|
|
|
@ -4,4 +4,5 @@ define('PSM_DB_USER', 'db_user');
|
|||
define('PSM_DB_PASS', 'db_pass');
|
||||
define('PSM_DB_NAME', 'db_name');
|
||||
define('PSM_DB_HOST', 'localhost');
|
||||
|
||||
define('PSM_DB_PORT', '3306');
|
||||
define('PSM_BASE_URL', '');
|
||||
|
|
|
@ -29,7 +29,12 @@
|
|||
require_once __DIR__ . '/../src/bootstrap.php';
|
||||
|
||||
if(!psm_is_cli()) {
|
||||
die('This script can only be run from the command line.');
|
||||
// check if it's an allowed host
|
||||
$allow = PSM_CRON_ALLOW;
|
||||
if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
die('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /cron/status.cron.php was not found on this server.</p></body></html>');
|
||||
}
|
||||
}
|
||||
|
||||
$cron_timeout = PSM_CRON_TIMEOUT;
|
||||
|
|
|
@ -27,6 +27,7 @@ To change these values correctly, only update the second parameter of the functi
|
|||
define('PSM_DB_NAME', 'db_name');
|
||||
define('PSM_DB_USER', 'db_user');
|
||||
define('PSM_DB_PASS', 'db_user_password');
|
||||
define('PSM_DB_PORT', '3306');
|
||||
|
||||
For example: to change your username you should ONLY change the 'db\_user' part.
|
||||
Do NOT remove the quotes around your username as that will result in an error.
|
||||
|
|
|
@ -6,6 +6,7 @@ define('PSM_DB_USER', 'psm'); \
|
|||
define('PSM_DB_PASS', 'psm'); \
|
||||
define('PSM_DB_NAME', 'psm'); \
|
||||
define('PSM_DB_HOST', 'localhost'); \
|
||||
define('PSM_DB_PORT', '3306'); \
|
||||
?>" > /var/www/default/psm/config.php
|
||||
|
||||
echo "<?php \
|
||||
|
|
|
@ -18,6 +18,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/sc
|
|||
<parameter key="path.templates">%path.src%templates</parameter>
|
||||
|
||||
<parameter key="db.host" type="constant">PSM_DB_HOST</parameter>
|
||||
<parameter key="db.port" type="constant">PSM_DB_PORT</parameter>
|
||||
<parameter key="db.user" type="constant">PSM_DB_USER</parameter>
|
||||
<parameter key="db.pass" type="constant">PSM_DB_PASS</parameter>
|
||||
<parameter key="db.name" type="constant">PSM_DB_NAME</parameter>
|
||||
|
@ -38,6 +39,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/sc
|
|||
<argument>%db.user%</argument>
|
||||
<argument>%db.pass%</argument>
|
||||
<argument>%db.name%</argument>
|
||||
<argument>%db.port%</argument>
|
||||
</service>
|
||||
|
||||
<service id="event" class="Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher">
|
||||
|
|
|
@ -335,6 +335,16 @@ function psm_curl_get($href, $header = false, $body = true, $timeout = null, $ad
|
|||
|
||||
curl_setopt($ch, CURLOPT_URL, $href);
|
||||
|
||||
$proxy_url = psm_get_conf('proxy_url','');
|
||||
if (psm_get_conf('proxy','0') === '1') {
|
||||
curl_setopt($ch, CURLOPT_PROXY, $proxy_url);
|
||||
$proxy_user = psm_get_conf('proxy_user','');
|
||||
$proxy_password = psm_get_conf('proxy_password','');
|
||||
if (!empty($proxy_user) && !empty($proxy_password)) {
|
||||
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_user . ':' . $proxy_password);
|
||||
}
|
||||
}
|
||||
|
||||
if($add_agent) {
|
||||
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; phpservermon/'.PSM_VERSION.'; +http://www.phpservermonitor.org)');
|
||||
}
|
||||
|
@ -542,7 +552,11 @@ function psm_build_sms() {
|
|||
break;
|
||||
case 'octopush':
|
||||
$sms = new \psm\Txtmsg\Octopush();
|
||||
break; }
|
||||
break;
|
||||
case 'smsgw':
|
||||
$sms = new \psm\Txtmsg\Smsgw();
|
||||
break;
|
||||
}
|
||||
|
||||
// copy login information from the config file
|
||||
if($sms) {
|
||||
|
|
|
@ -54,7 +54,7 @@ $sm_lang = array(
|
|||
'long_day_format' => '%B %e, %Y',
|
||||
'yesterday_format' => 'Včera v %k:%M',
|
||||
'other_day_format' => '%A v %k:%M',
|
||||
'never' => 'Never',
|
||||
'never' => 'Nikdy',
|
||||
'hours_ago' => 'před %d hodinami',
|
||||
'an_hour_ago' => 'cca před hodinou',
|
||||
'minutes_ago' => 'před %d minutami',
|
||||
|
@ -177,7 +177,7 @@ $sm_lang = array(
|
|||
'warning_notifications_disabled_pushover' => 'Pushover upozornění jsou vypnuta.',
|
||||
'error_server_no_match' => 'Server nenalezen.',
|
||||
'error_server_label_bad_length' => 'Popisek musí obsahovat 1 až 255 znaků.',
|
||||
'error_server_ip_bad_length' => 'Doména/IP adresa musí obsahovat 1 ař 255 znaků.',
|
||||
'error_server_ip_bad_length' => 'Doména/IP adresa musí obsahovat 1 až 255 znaků.',
|
||||
'error_server_ip_bad_service' => 'IP adresa není platná.',
|
||||
'error_server_ip_bad_website' => 'URL webu není platná.',
|
||||
'error_server_type_invalid' => 'Zvolený typ serveru není platný',
|
||||
|
@ -209,14 +209,16 @@ $sm_lang = array(
|
|||
'sms_gateway_clickatell' => 'Clickatell',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_smsglobal' => 'SMSGlobal',
|
||||
'sms_gateway_nexmo' => 'Nexmo',
|
||||
'sms_gateway_octopush' => 'Octopush',
|
||||
'sms_gateway_smsit' => 'Smsit',
|
||||
'sms_gateway_freevoipdeal' => 'FreeVoipDeal',
|
||||
'sms_gateway_freemobilesms' => 'FreeMobileSMS',
|
||||
'sms_gateway_clicksend' => 'ClickSend',
|
||||
'sms_gateway_nexmo' => 'Nexmo',
|
||||
'sms_gateway_username' => 'Uživatelské jméno brány',
|
||||
'sms_gateway_password' => 'Heslo brány',
|
||||
'sms_from' => 'Telefonní číslo odesilatele',
|
||||
'pushover_status' => 'Povolit zsílání Pushover zpráv',
|
||||
'pushover_status' => 'Povolit zasílání Pushover zpráv',
|
||||
'pushover_description' => 'Pushover je služba umožňující jednoduše zasílat real-time upozornění. Více na <a href="https://pushover.net/">webu Pushover</a>',
|
||||
'pushover_clone_app' => 'Klikněte pro vytvoření Pushover aplikace',
|
||||
'pushover_api_token' => 'Pushover App API Token',
|
||||
|
@ -225,7 +227,7 @@ $sm_lang = array(
|
|||
'alert_type_description' => '<b>Změna stavu:</b> '.
|
||||
'Obdržíte upozornění při změně stavu, tedy:online -> offline nebo offline -> online.<br/>'.
|
||||
'<br /><b>Offline:</b> '.
|
||||
'Obdržíte upozornění, kdy server přejde poprvé do offline stavu. Například, pokud je cron nastaven na 15 minut a sledovaný server bude offline mezi 01:00 a 06:00.<br/>'.
|
||||
'Obdržíte upozornění, kdy server přejde poprvé do offline stavu. Například, pokud je cron nastaven na 15 minut a sledovaný server bude offline mezi 01:00 a 06:00. Obdržíte upozornění pouze v 01:00. <br/>'.
|
||||
'<br><b>Vždy:</b> '.
|
||||
'Obdržíte upozornění při každém spuštění kontroly, tedy i pokud bude server offline několik hodin.',
|
||||
'alert_type_status' => 'Změna stavu',
|
||||
|
@ -277,7 +279,7 @@ $sm_lang = array(
|
|||
'off_sms' => 'Server \'%LABEL%\' je offline: ip=%IP%, port=%PORT%. Chyba=%ERROR%',
|
||||
'off_email_subject' => 'DŮLEŽITÉ: Server \'%LABEL%\' je offline',
|
||||
'off_email_body' => 'Nebylo možné spojit se se serverem:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Chyba: %ERROR%<br/>Datum: %DATE%',
|
||||
'off_pushover_title' => 'Server \'%LABEL%\'je offline',
|
||||
'off_pushover_title' => 'Server \'%LABEL%\' je offline',
|
||||
'off_pushover_message' => 'Nebylo možné spojit se se serverem:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Chyba: %ERROR%<br/>Datum: %DATE%',
|
||||
'on_sms' => 'Server \'%LABEL%\' je online: ip=%IP%, port=%PORT%',
|
||||
'on_email_subject' => 'DŮLEŽITÉ: Server \'%LABEL%\' je online',
|
||||
|
|
|
@ -125,6 +125,7 @@ $sm_lang = array(
|
|||
'type' => 'Typ',
|
||||
'type_website' => 'Webseite',
|
||||
'type_service' => 'Service',
|
||||
'type_ping' => 'Ping',
|
||||
'pattern' => 'Suchstring/-muster',
|
||||
'pattern_description' => 'Wenn das gesuchte Muster nicht in der Webseite ist, wird die Seite als offline markiert. Reguläre Ausdrücke sind erlaubt.',
|
||||
'last_check' => 'Letzter Check',
|
||||
|
|
|
@ -141,6 +141,7 @@ $sm_lang = array(
|
|||
'type' => 'Type',
|
||||
'type_website' => 'Website',
|
||||
'type_service' => 'Service',
|
||||
'type_ping' => 'Ping',
|
||||
'pattern' => 'Search string/pattern',
|
||||
'pattern_description' => 'If this pattern is not found on the website, the server will be marked offline. Regular expressions are allowed.',
|
||||
'last_check' => 'Last check',
|
||||
|
@ -196,6 +197,10 @@ $sm_lang = array(
|
|||
'show_update' => 'Check for updates?',
|
||||
'password_encrypt_key' => 'The encryption key password',
|
||||
'password_encrypt_key_note' => 'This key is used to encrypt passwords that are stored on servers for access to websites. If the key will change the stored password is invalid!',
|
||||
'proxy' => 'Enable proxy',
|
||||
'proxy_url' => 'Proxy URL',
|
||||
'proxy_user' => 'Proxy username',
|
||||
'proxy_password' => 'Proxy password',
|
||||
'email_status' => 'Allow sending email',
|
||||
'email_from_email' => 'Email from address',
|
||||
'email_from_name' => 'Email from name',
|
||||
|
@ -222,6 +227,7 @@ $sm_lang = array(
|
|||
'sms_gateway_freemobilesms' => 'FreeMobileSMS',
|
||||
'sms_gateway_clicksend' => 'ClickSend',
|
||||
'sms_gateway_nexmo' => 'Nexmo',
|
||||
'sms_gateway_smsgw' => 'SMSgw',
|
||||
'sms_gateway_username' => 'Gateway username',
|
||||
'sms_gateway_password' => 'Gateway password',
|
||||
'sms_from' => 'Sender\'s phone number',
|
||||
|
@ -246,6 +252,8 @@ $sm_lang = array(
|
|||
'alert_type_status' => 'Status change',
|
||||
'alert_type_offline' => 'Offline',
|
||||
'alert_type_always' => 'Always',
|
||||
'alert_proxy' => 'Even if enabled, proxy is never used for services',
|
||||
'alert_proxy_url' => '<b>Format:</b> Host:Port',
|
||||
'log_status' => 'Log status',
|
||||
'log_status_description' => 'If log status is set to TRUE, the monitor will log the event whenever the Notification settings are passed.',
|
||||
'log_email' => 'Log emails sent by the script',
|
||||
|
@ -263,6 +271,7 @@ $sm_lang = array(
|
|||
'settings_pushbullet' => 'Pushbullet settings',
|
||||
'settings_notification' => 'Notification settings',
|
||||
'settings_log' => 'Log settings',
|
||||
'settings_proxy' => 'Proxy settings',
|
||||
'auto_refresh' => 'Auto-refresh',
|
||||
'auto_refresh_servers' =>
|
||||
'Auto-refresh servers page.<br/>'.
|
||||
|
|
|
@ -0,0 +1,318 @@
|
|||
<?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 Peter Misura <bzurko@gmail.com>
|
||||
* @copyright Copyright (c) 2008-2015 Pepijn Over <pep@peplab.net>
|
||||
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
|
||||
* @version Release: @package_version@
|
||||
* @link http://www.phpservermonitor.org/
|
||||
**/
|
||||
|
||||
$sm_lang = array(
|
||||
'name' => 'Slovensky - Slovak',
|
||||
'locale' => array('sk_SK.UTF-8', 'sk_SK', 'slovak', 'slovak'),
|
||||
'locale_tag' => 'sk',
|
||||
'locale_dir' => 'ltr',
|
||||
'system' => array(
|
||||
'title' => 'Server Monitor',
|
||||
'install' => 'Inštalácia',
|
||||
'action' => 'Akcia',
|
||||
'save' => 'Uložiť',
|
||||
'edit' => 'Upraviť',
|
||||
'delete' => 'Zmazať',
|
||||
'date' => 'Dátum',
|
||||
'message' => 'Správa',
|
||||
'yes' => 'Áno',
|
||||
'no' => 'Nie',
|
||||
'insert' => 'Vložiť',
|
||||
'add_new' => 'Pridať',
|
||||
'update_available' => 'Nová verzia - ({version}) je dostupná na <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
|
||||
'back_to_top' => 'Späť na začiatok',
|
||||
'go_back' => 'Späť',
|
||||
'ok' => 'OK',
|
||||
'cancel' => 'Zrušiť',
|
||||
// date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php
|
||||
'short_day_format' => '%B %e',
|
||||
'long_day_format' => '%B %e, %Y',
|
||||
'yesterday_format' => 'Včera v %k:%M',
|
||||
'other_day_format' => '%A v %k:%M',
|
||||
'never' => 'Nikdy',
|
||||
'hours_ago' => 'pred %d hodinami',
|
||||
'an_hour_ago' => 'cca pred hodinou',
|
||||
'minutes_ago' => 'pred %d minútami',
|
||||
'a_minute_ago' => 'cca pred minútou',
|
||||
'seconds_ago' => 'pred %d sekundami',
|
||||
'a_second_ago' => 'pred chvíľou',
|
||||
),
|
||||
'menu' => array(
|
||||
'config' => 'Konfigurácia',
|
||||
'server' => 'Servery',
|
||||
'server_log' => 'Log',
|
||||
'server_status' => 'Stav',
|
||||
'server_update' => 'Aktualizácia',
|
||||
'user' => 'Užívateľ',
|
||||
'help' => 'Nápoveda',
|
||||
),
|
||||
'users' => array(
|
||||
'user' => 'Užívateľ',
|
||||
'name' => 'Meno',
|
||||
'user_name' => 'Užívateľské meno',
|
||||
'password' => 'Heslo',
|
||||
'password_repeat' => 'Rovnaké heslo (pre kontrolu)',
|
||||
'password_leave_blank' => 'Nevyplňujte ak nechcete zmeniť.',
|
||||
'level' => 'Oprávnenie',
|
||||
'level_10' => 'Administrátor',
|
||||
'level_20' => 'Užívateľ',
|
||||
'level_description' => '<b>Administrátor</b> má plný prístup: môže spravovať servery, užívateľov a upraviť globálnu konfiguráciu.<br/><b>Uživatel</b> má práva len na čítanie a spustiť aktualizáciu serverov, ktoré má priradené.',
|
||||
'mobile' => 'Mobil',
|
||||
'email' => 'E-mail',
|
||||
'pushover' => 'Pushover',
|
||||
'pushover_description' => 'Pushover je služba umožňujúca jednoducho zasielať real-time upozornenia. Viac na <a href="https://pushover.net/">webe Pushover</a>',
|
||||
'pushover_key' => 'Pushover Token',
|
||||
'pushover_device' => 'Pushover Zariadenie',
|
||||
'pushover_device_description' => 'Název zariadenia, na ktoré má byť správa odoslaná. Ponechajte prázdne pre odoslanie na všetky zariadenia.',
|
||||
'delete_title' => 'Zmazať užívateľa',
|
||||
'delete_message' => 'Naozaj zmazať užívateľa \'%1\'?',
|
||||
'deleted' => 'Užívateľ zmazaný.',
|
||||
'updated' => 'Užívateľ aktualizovaný.',
|
||||
'inserted' => 'Užívateľ pridaný.',
|
||||
'profile' => 'Profil',
|
||||
'profile_updated' => 'Váš užívateľský profil bol upravený.',
|
||||
'error_user_name_bad_length' => 'Užívateľské meno musí obsahovať 2 až 64 znakov.',
|
||||
'error_user_name_invalid' => 'Užívateľské meno môže obsahovať iba písmena (a-z, A-Z), čísla (0-9) a podtržítka (_).',
|
||||
'error_user_name_exists' => 'Zadané uživatelské jméno již existuje v databázi.',
|
||||
'error_user_email_bad_length' => 'E-mailová adresa musí obsahovat 5 až 255 znaků .',
|
||||
'error_user_email_invalid' => 'E-mailová adresa je neplatná',
|
||||
'error_user_level_invalid' => 'Zadané oprávnenie je neplatné.',
|
||||
'error_user_no_match' => 'Užívateľ nebol najdený.',
|
||||
'error_user_password_invalid' => 'Zadané heslo je neplatné.',
|
||||
'error_user_password_no_match' => 'Zadaná heslá sa nezhodujú.',
|
||||
),
|
||||
'log' => array(
|
||||
'title' => 'Záznamy logu',
|
||||
'type' => 'Typ',
|
||||
'status' => 'Stav',
|
||||
'email' => 'E-mail',
|
||||
'sms' => 'SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'no_logs' => 'Žiadne záznamy',
|
||||
),
|
||||
'servers' => array(
|
||||
'server' => 'Server',
|
||||
'status' => 'Stav',
|
||||
'label' => 'Popis',
|
||||
'domain' => 'Doména/IP',
|
||||
'timeout' => 'Časový limit',
|
||||
'timeout_description' => 'Počet sekúnd čakania na odpoveď serveru.',
|
||||
'authentication_settings' => 'Nastavenie autentizacie (voliteľný)',
|
||||
'website_username' => 'Užívateľské meno',
|
||||
'website_username_description' => 'Užívateľské meno pre prístup na stránku. (Len Apache autorizácia je podporovaná.)',
|
||||
'website_password' => 'Heslo',
|
||||
'website_password_description' => 'Heslo pre prístup na stránku. Heslo je v databázi šifrované.',
|
||||
'fieldset_monitoring' => 'Monitoring',
|
||||
'fieldset_permissions' => 'Oprávnenie',
|
||||
'port' => 'Port',
|
||||
'custom_port' => 'Užívateľský Port',
|
||||
'popular_ports' => 'Populárne Porty',
|
||||
'please_select' => 'Prosím vyberte',
|
||||
'type' => 'Typ',
|
||||
'type_website' => 'Web',
|
||||
'type_service' => 'Služba',
|
||||
'pattern' => 'Vyhledat reťazec/vzor',
|
||||
'pattern_description' => 'Pokiaľ reťazec nebude na webe nájdený, bude server označený ako offline. Regulárne výrazy sú povolené.',
|
||||
'last_check' => 'Posledná kontrola',
|
||||
'last_online' => 'Naposledy online',
|
||||
'monitoring' => 'Monitoring',
|
||||
'no_monitoring' => 'Žiadne monitorované služby',
|
||||
'email' => 'E-mail',
|
||||
'send_email' => 'Odoslať e-mail',
|
||||
'sms' => 'SMS',
|
||||
'send_sms' => 'Odoslať SMS',
|
||||
'pushover' => 'Pushover',
|
||||
'users' => 'Užívatelia',
|
||||
'delete_title' => 'Zmazať server',
|
||||
'delete_message' => 'Naozaj si prajete zmazať \'%1\'?',
|
||||
'deleted' => 'Server zmazaný.',
|
||||
'updated' => 'Server aktualizovaný.',
|
||||
'inserted' => 'Server pridaný.',
|
||||
'latency' => 'Latencia',
|
||||
'latency_max' => 'Latencia (maximum)',
|
||||
'latency_min' => 'Latencia (minimum)',
|
||||
'latency_avg' => 'Latencia (priemer)',
|
||||
'uptime' => 'Uptime',
|
||||
'year' => 'Rok',
|
||||
'month' => 'Mesiac',
|
||||
'week' => 'Týždeň',
|
||||
'day' => 'Deň',
|
||||
'hour' => 'Hodina',
|
||||
'warning_threshold' => 'Stropná hranica varovania',
|
||||
'warning_threshold_description' => 'Počet neúspešných pokusov pred označením serveru ako offline.',
|
||||
'chart_last_week' => 'Minulý týždeň',
|
||||
'chart_history' => 'História',
|
||||
// Charts date format according jqPlot date format http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html
|
||||
'chart_day_format' => '%Y-%m-%d',
|
||||
'chart_long_date_format' => '%Y-%m-%d %H:%M:%S',
|
||||
'chart_short_date_format' => '%m/%d %H:%M',
|
||||
'chart_short_time_format' => '%H:%M',
|
||||
'warning_notifications_disabled_sms' => 'SMS upozornenia sú vypnuté.',
|
||||
'warning_notifications_disabled_email' => 'E-mailové upozornenia sú vypnuté.',
|
||||
'warning_notifications_disabled_pushover' => 'Pushover upozornenia sú vypnuté.',
|
||||
'error_server_no_match' => 'Server nenájdený.',
|
||||
'error_server_label_bad_length' => 'Popisok musí obsahovať 1 až 255 znakov.',
|
||||
'error_server_ip_bad_length' => 'Doména/IP adresa musí obsahovať 1 až 255 znakov.',
|
||||
'error_server_ip_bad_service' => 'IP adresa nie je platná.',
|
||||
'error_server_ip_bad_website' => 'URL webu nie je platná.',
|
||||
'error_server_type_invalid' => 'Zvolený typ serveru nie je platný',
|
||||
'error_server_warning_threshold_invalid' => 'Hranica varovania musí byť číslo väčšie ako 0.',
|
||||
),
|
||||
'config' => array(
|
||||
'general' => 'Všeobecné',
|
||||
'language' => 'Jazyk',
|
||||
'show_update' => 'Kontrolovať aktualizácie?',
|
||||
'password_encrypt_key' => 'Šifrovací kľúč pre heslá',
|
||||
'password_encrypt_key_note' => 'Týmto klúčom sa šifrujú heslá, ktoré sa ukladajú na serveroch pre prístup na webové stránky. Ak kľúč zmeníte, budú uložené heslá neplatné!',
|
||||
'email_status' => 'Povoliť odosielanie e-mailu',
|
||||
'email_from_email' => 'E-mailová adresa odosielateľa',
|
||||
'email_from_name' => 'Jméno odosielateľa',
|
||||
'email_smtp' => 'Zapnúť SMTP',
|
||||
'email_smtp_host' => 'SMTP adresa',
|
||||
'email_smtp_port' => 'SMTP port',
|
||||
'email_smtp_security' => 'SMTP zabezpečenie',
|
||||
'email_smtp_security_none' => 'žiadne',
|
||||
'email_smtp_username' => 'SMTP užívateľské meno',
|
||||
'email_smtp_password' => 'SMTP heslo',
|
||||
'email_smtp_noauth' => 'Nechajte prázdne pre použitie SMTP bez hesla',
|
||||
'sms_status' => 'Povoliť odosielanie textových správ',
|
||||
'sms_gateway' => 'Brána použitá pro odosielanie správ',
|
||||
'sms_gateway_mosms' => 'Mosms',
|
||||
'sms_gateway_mollie' => 'Mollie',
|
||||
'sms_gateway_spryng' => 'Spryng',
|
||||
'sms_gateway_inetworx' => 'Inetworx',
|
||||
'sms_gateway_clickatell' => 'Clickatell',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_smsglobal' => 'SMSGlobal',
|
||||
'sms_gateway_octopush' => 'Octopush',
|
||||
'sms_gateway_smsit' => 'Smsit',
|
||||
'sms_gateway_freevoipdeal' => 'FreeVoipDeal',
|
||||
'sms_gateway_freemobilesms' => 'FreeMobileSMS',
|
||||
'sms_gateway_clicksend' => 'ClickSend',
|
||||
'sms_gateway_nexmo' => 'Nexmo',
|
||||
'sms_gateway_username' => 'Užívateľské meno brány',
|
||||
'sms_gateway_password' => 'Heslo brány',
|
||||
'sms_from' => 'Telefónne číslo odosielateľa',
|
||||
'pushover_status' => 'Povoliť zasielanie Pushover správ',
|
||||
'pushover_description' => 'Pushover je služba umožňujúca jednoducho zasielať real-time upozornenia. Viac na <a href="https://pushover.net/">webe Pushover</a>',
|
||||
'pushover_clone_app' => 'Kliknite pre vytvorenie Pushover aplikácie',
|
||||
'pushover_api_token' => 'Pushover App API Token',
|
||||
'pushover_api_token_description' => 'Pred použitím Pushoveru sa musíte <a href="%1$s" target="_blank">registrovať</a> a získať API Token.',
|
||||
'alert_type' => 'Zvoľte kedy si prajete byť upozornení.',
|
||||
'alert_type_description' => '<b>Zmena stavu:</b> '.
|
||||
'Obdržíte upozornenie pri zmene stavu, teda: online -> offline alebo offline -> online.<br/>'.
|
||||
'<br /><b>Offline:</b> '.
|
||||
'Obdržíte upozornenie, keď server prejde *PO PRVÝ KRÁT* do offline stavu. Napríklad, '.
|
||||
'pokiaľ je cron nastavený na 15 minút a sledovaný server bude offline mezi 01:00 a 06:00, '.
|
||||
'tak obdržíte upozornenie iba o 01:00.<br/>'.
|
||||
'<br><b>Vždy:</b> '.
|
||||
'Obdržíte upozornenie pri každom spustení kontroly, teda aj pokiaľ bude server offline niekoľko hodín.',
|
||||
'alert_type_status' => 'Zmena stavu',
|
||||
'alert_type_offline' => 'Offline',
|
||||
'alert_type_always' => 'Vždy',
|
||||
'log_status' => 'Log',
|
||||
'log_status_description' => 'Pokiaľ je Log nastavený na hodnotu TRUE, systém do neho zapíše všetky upozornenia.',
|
||||
'log_email' => 'Logovať odoslané e-maily',
|
||||
'log_sms' => 'Logovať odoslané textové správy',
|
||||
'log_pushover' => 'Logovať odoslané Pushover správy',
|
||||
'updated' => 'Nastavenie bolo aktualizované.',
|
||||
'tab_email' => 'E-mail',
|
||||
'tab_sms' => 'SMS',
|
||||
'tab_pushover' => 'Pushover',
|
||||
'settings_email' => 'Nastavenie e-mailov',
|
||||
'settings_sms' => 'Nastavenie textových správ',
|
||||
'settings_pushover' => 'Nastavenie Pushover',
|
||||
'settings_notification' => 'Nastavenie upozornení',
|
||||
'settings_log' => 'Nastavenie logu',
|
||||
'auto_refresh' => 'Automaticky obnoviť',
|
||||
'auto_refresh_servers' =>
|
||||
'Automaticky obnoviť stránku Servery.<br/>'.
|
||||
'<span class="small">'.
|
||||
'Čas v sekundách, 0 pre vypnutie automatického obnovenia.'.
|
||||
'</span>',
|
||||
'seconds' => 'sekúnd',
|
||||
'test' => 'Test',
|
||||
'test_email' => 'E-mail bude odoslaný na adresu uvedenú v užívateľskom profile.',
|
||||
'test_sms' => 'SMS bude odoslaná na telefónne číslo uvedené v užívateľskom profile.',
|
||||
'test_pushover' => 'Pushover upozornenie bude odoslané užívateľovi/zariadeniu podľa nastavení v užívateľskom profile.',
|
||||
'send' => 'Odoslať',
|
||||
'test_subject' => 'Test',
|
||||
'test_message' => 'Testovacia správa',
|
||||
'email_sent' => 'E-mail odoslaný',
|
||||
'email_error' => 'Chyba pri odosielaní e-mailu',
|
||||
'sms_sent' => 'SMS odoslaná',
|
||||
'sms_error' => 'Chyba pri odosielaní SMS',
|
||||
'sms_error_nomobile' => 'Nebolo možné odoslať SMS: v užívateľskom profile nebylo nájdené platné telefónne číslo.',
|
||||
'pushover_sent' => 'Pushover upozornenie odoslané.',
|
||||
'pushover_error' => 'Nastala chyba pri odosielaní Pushover upozornenia: %s',
|
||||
'pushover_error_noapp' => 'Nebolo možné odoslať testovacie upozornenie: v globálnom nastavení nebol nájdený žiaden API token.',
|
||||
'pushover_error_nokey' => 'Nebylo možné odoslať testovacie upozornenie: ve vašom profile nie je definovaný Pushover key.',
|
||||
'log_retention_period' => 'Rotácia logu',
|
||||
'log_retention_period_description' => 'Počet dní po které budú uchované logy upozornení. Vložte 0 pre vypnutie autorotáce.',
|
||||
'log_retention_days' => 'dní',
|
||||
),
|
||||
// for newlines in the email messages use <br/>
|
||||
'notifications' => array(
|
||||
'off_sms' => 'Server \'%LABEL%\' je offline: ip=%IP%, port=%PORT%. Chyba=%ERROR%',
|
||||
'off_email_subject' => 'DÔLEŽITÉ: Server \'%LABEL%\' je offline',
|
||||
'off_email_body' => 'Nebolo možné spojiť sa so serverom:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Chyba: %ERROR%<br/>Dátum: %DATE%',
|
||||
'off_pushover_title' => 'Server \'%LABEL%\' je offline',
|
||||
'off_pushover_message' => 'Nebolo možné spojiť sa so serverom:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Chyba: %ERROR%<br/>Dátum: %DATE%',
|
||||
'on_sms' => 'Server \'%LABEL%\' je online: ip=%IP%, port=%PORT%',
|
||||
'on_email_subject' => 'DÔLEŽITÉ: Server \'%LABEL%\' je online',
|
||||
'on_email_body' => "Server '%LABEL%' je opäť online<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Dátum: %DATE%",
|
||||
'on_pushover_title' => 'Server \'%LABEL%\' je online',
|
||||
'on_pushover_message' => 'Server \'%LABEL%\' je znovu online:<br/><br/>Server: %LABEL%<br/>IP: %IP%<br/>Port: %PORT%<br/>Dátum: %DATE%',
|
||||
),
|
||||
'login' => array(
|
||||
'welcome_usermenu' => 'Vitajte, %user_name%',
|
||||
'title_sign_in' => 'Prosím prihláste sa',
|
||||
'title_forgot' => 'Zabudnuté heslo?',
|
||||
'title_reset' => 'Obnova hesla',
|
||||
'submit' => 'Odoslať',
|
||||
'remember_me' => 'Zapamätať údaje',
|
||||
'login' => 'Prihlásiť',
|
||||
'logout' => 'Odhlásiť',
|
||||
'username' => 'Užívateľské meno',
|
||||
'password' => 'Heslo',
|
||||
'password_repeat' => 'Opakujte heslo',
|
||||
'password_forgot' => 'Zabudnuté heslo?',
|
||||
'password_reset' => 'Obnoviť heslo',
|
||||
'password_reset_email_subject' => 'Obnoviť heslo pre PHP Server Monitor',
|
||||
'password_reset_email_body' => 'Použite následujúci odkaz pre obnovenie hesla. Odkaz je platný jednu hodinu.<br/><br/>%link%',
|
||||
'error_user_incorrect' => 'Zadané užívateľské meno nebolo nájdené.',
|
||||
'error_login_incorrect' => 'Prihlásenie nebolo úspešné.',
|
||||
'error_login_passwords_nomatch' => 'Zadané heslá sa nezhodujú.',
|
||||
'error_reset_invalid_link' => 'Odkaz je neplatný.',
|
||||
'success_password_forgot' => 'Na vašu e-mailovú adresu bol zaslaný e-mail s informáciami pre obnovu hesla.',
|
||||
'success_password_reset' => 'Vaše heslo bolo úspešne obnovené. Prosím prihláste sa.',
|
||||
),
|
||||
'error' => array(
|
||||
'401_unauthorized' => 'Nedostatočné oprávnenia',
|
||||
'401_unauthorized_description' => 'Nemáte oprávnenie zobraziť túto stránku.',
|
||||
),
|
||||
);
|
|
@ -40,8 +40,8 @@ $sm_lang = array(
|
|||
'date' => '日期',
|
||||
'message' => '消息',
|
||||
'yes' => '是',
|
||||
'no' => '否o',
|
||||
'insert' => '插入',
|
||||
'no' => '否',
|
||||
'insert' => '新增',
|
||||
'add_new' => '添加',
|
||||
'update_available' => '发现新版本({version}) <a href="http://www.phpservermonitor.org" target="_blank">http://www.phpservermonitor.org</a>.',
|
||||
'back_to_top' => '返回顶部',
|
||||
|
@ -84,13 +84,13 @@ $sm_lang = array(
|
|||
'mobile' => '手机',
|
||||
'email' => '邮件',
|
||||
'pushover' => 'Pushover',
|
||||
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
|
||||
'pushover_description' => 'Pushover 是第三方用于实时通知的服务(收费). 详情见 <a href="https://pushover.net/" target="_blank">Pushover 官网</a>.',
|
||||
'pushover_key' => 'Pushover Key',
|
||||
'pushover_device' => 'Pushover Device',
|
||||
'pushover_device_description' => 'Device name to send the message to. Leave empty to send it to all devices.',
|
||||
'delete_title' => 'Delete User',
|
||||
'delete_message' => 'Are you sure you want to delete user \'%1\'?',
|
||||
'deleted' => 'User deleted.',
|
||||
'pushover_device_description' => '要发送信息的设备名. 留空则发送到所有设备.',
|
||||
'delete_title' => '删除用户',
|
||||
'delete_message' => '确认删除用户 \'%1\'?',
|
||||
'deleted' => '用户已删除.',
|
||||
'updated' => '用户已更新.',
|
||||
'inserted' => '用户已添加.',
|
||||
'profile' => '个人资料',
|
||||
|
@ -112,16 +112,26 @@ $sm_lang = array(
|
|||
'email' => '邮件',
|
||||
'sms' => '短信',
|
||||
'pushover' => 'Pushover',
|
||||
'no_logs' => 'No logs',
|
||||
'no_logs' => '没有日志',
|
||||
),
|
||||
'servers' => array(
|
||||
'server' => '服务器',
|
||||
'status' => '状态',
|
||||
'label' => '标签',
|
||||
'domain' => '域名/IP',
|
||||
'timeout' => 'Timeout',
|
||||
'timeout_description' => 'Number of seconds to wait for the server to respond.',
|
||||
'timeout' => '超时时间',
|
||||
'timeout_description' => '等待服务器响应的时间.',
|
||||
'authentication_settings' => '访问权限设置 (可选)',
|
||||
'website_username' => '用户名',
|
||||
'website_username_description' => '网站分配的用户名.',
|
||||
'website_password' => '密码',
|
||||
'website_password_description' => '网站分配的密码,密码将会加密存放',
|
||||
'fieldset_monitoring' => '通知',
|
||||
'fieldset_permissions' => '权限',
|
||||
'port' => '端口',
|
||||
'custom_port' => '指定端口',
|
||||
'popular_ports' => '默认端口',
|
||||
'please_select' => '请选择',
|
||||
'type' => '类型',
|
||||
'type_website' => '网站',
|
||||
'type_service' => '服务',
|
||||
|
@ -130,16 +140,16 @@ $sm_lang = array(
|
|||
'last_check' => '最后检查',
|
||||
'last_online' => '最后在线',
|
||||
'monitoring' => '监控中',
|
||||
'no_monitoring' => 'No monitoring',
|
||||
'no_monitoring' => '未监控',
|
||||
'email' => '邮件',
|
||||
'send_email' => '发送邮件',
|
||||
'sms' => '短信',
|
||||
'send_sms' => '发送短信',
|
||||
'pushover' => 'Pushover',
|
||||
'users' => 'Users',
|
||||
'delete_title' => 'Delete Server',
|
||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||
'deleted' => 'Server deleted.',
|
||||
'users' => '用户',
|
||||
'delete_title' => '删除服务器',
|
||||
'delete_message' => '确认删除服务器 \'%1\'?',
|
||||
'deleted' => '服务器已删除.',
|
||||
'updated' => '服务器已更新.',
|
||||
'inserted' => '服务器已添加.',
|
||||
'latency' => '延迟',
|
||||
|
@ -161,16 +171,16 @@ $sm_lang = array(
|
|||
'chart_long_date_format' => '%Y-%m-%d %H:%M:%S',
|
||||
'chart_short_date_format' => '%m/%d %H:%M',
|
||||
'chart_short_time_format' => '%H:%M',
|
||||
'warning_notifications_disabled_sms' => 'SMS notifications are disabled.',
|
||||
'warning_notifications_disabled_email' => 'Email notifications are disabled.',
|
||||
'warning_notifications_disabled_pushover' => 'Pushover notifications are disabled.',
|
||||
'error_server_no_match' => 'Server not found.',
|
||||
'error_server_label_bad_length' => 'The label must be between 1 and 255 characters.',
|
||||
'error_server_ip_bad_length' => 'The domain / IP must be between 1 and 255 characters.',
|
||||
'error_server_ip_bad_service' => 'The IP address is not valid.',
|
||||
'error_server_ip_bad_website' => 'The website URL is not valid.',
|
||||
'error_server_type_invalid' => 'The selected server type is invalid.',
|
||||
'error_server_warning_threshold_invalid' => 'The warning threshold must be a valid integer greater than 0.',
|
||||
'warning_notifications_disabled_sms' => 'SMS 通知不可用.',
|
||||
'warning_notifications_disabled_email' => 'Email 通知不可用.',
|
||||
'warning_notifications_disabled_pushover' => 'Pushover 通知不可用.',
|
||||
'error_server_no_match' => '服务器不存在.',
|
||||
'error_server_label_bad_length' => '标签 长度要求 1 ~ 255 字符.',
|
||||
'error_server_ip_bad_length' => 'domain / IP 长度要求 1 ~ 255 字符.',
|
||||
'error_server_ip_bad_service' => '非法 IP.',
|
||||
'error_server_ip_bad_website' => '非法 URL.',
|
||||
'error_server_type_invalid' => '非法选项.',
|
||||
'error_server_warning_threshold_invalid' => '报警阈值为大于 0 的数字.',
|
||||
),
|
||||
'config' => array(
|
||||
'general' => '通用',
|
||||
|
@ -182,8 +192,8 @@ $sm_lang = array(
|
|||
'email_smtp' => '使用SMTP发送',
|
||||
'email_smtp_host' => 'SMTP主机',
|
||||
'email_smtp_port' => 'SMTP端口',
|
||||
'email_smtp_security' => 'SMTP security',
|
||||
'email_smtp_security_none' => 'None',
|
||||
'email_smtp_security' => 'SMTP 设置',
|
||||
'email_smtp_security_none' => '空',
|
||||
'email_smtp_username' => 'SMTP用户名',
|
||||
'email_smtp_password' => 'SMTP密码',
|
||||
'email_smtp_noauth' => '留空为无验证',
|
||||
|
@ -194,7 +204,7 @@ $sm_lang = array(
|
|||
'sms_gateway_spryng' => 'Spryng',
|
||||
'sms_gateway_inetworx' => 'Inetworx',
|
||||
'sms_gateway_clickatell' => 'Clickatell',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_smsglobal' => 'SMSGlobal',
|
||||
'sms_gateway_octopush' => 'Octopush',
|
||||
'sms_gateway_smsit' => 'Smsit',
|
||||
|
@ -203,11 +213,11 @@ $sm_lang = array(
|
|||
'sms_gateway_username' => 'SMS网关用户名',
|
||||
'sms_gateway_password' => 'SMS网关密码',
|
||||
'sms_from' => '发信人电话号',
|
||||
'pushover_status' => 'Allow sending Pushover messages',
|
||||
'pushover_description' => 'Pushover is a service that makes it easy to get real-time notifications. See <a href="https://pushover.net/">their website</a> for more info.',
|
||||
'pushover_clone_app' => 'Click here to create your Pushover app',
|
||||
'pushover_api_token' => 'Pushover App API Token',
|
||||
'pushover_api_token_description' => 'Before you can use Pushover, you need to <a href="%1$s" target="_blank">register an App</a> at their website and enter the App API Token here.',
|
||||
'pushover_status' => '允许 Pushover 通知',
|
||||
'pushover_description' => 'Pushover 是第三方用于实时通知的服务(收费). 详情见 <a href="https://pushover.net/" target="_blank">Pushover 官网</a>.',
|
||||
'pushover_clone_app' => '点此创建 Pushover App',
|
||||
'pushover_api_token' => 'Pushover API Token',
|
||||
'pushover_api_token_description' => '请先 <a href="%1$s" target="_blank">注册Pushover</a> 并获取 Api Token.',
|
||||
'alert_type' => '如果想要收到提醒请选中此项.',
|
||||
'alert_type_description' => '<b>状态变化:</b> '.
|
||||
'服务器 online -> offline 或 offline -> online 的状态变化将会收到提醒.<br/>'.
|
||||
|
@ -224,17 +234,18 @@ $sm_lang = array(
|
|||
'log_status_description' => '如果状态记录设置为开, 提醒发送时均会保存记录.',
|
||||
'log_email' => '记录脚本所发邮件?',
|
||||
'log_sms' => '记录脚本所发短信SMS?',
|
||||
'log_pushover' => 'Log pushover messages sent by the script',
|
||||
'log_pushover' => '记录脚本所发pushover消息?',
|
||||
'updated' => '设置已更新.',
|
||||
'tab_email' => '邮件发送设置',
|
||||
'tab_sms' => '短信发送设置',
|
||||
'tab_pushover' => 'Pushover',
|
||||
'settings_email' => '邮件发送设置',
|
||||
'settings_sms' => '短信发送设置',
|
||||
'settings_pushover' => 'Pushover settings',
|
||||
'settings_pushover' => 'Pushover 设置',
|
||||
'settings_notification' => '提醒设置',
|
||||
'settings_log' => '日志设置',
|
||||
'auto_refresh' => 'Auto-refresh',
|
||||
'auto_refresh' => '自动刷新',
|
||||
'password_encrypt_key' => '加密密钥',
|
||||
'auto_refresh_servers' =>
|
||||
'自动刷新服务器页.<br/>'.
|
||||
'<span class="small">'.
|
||||
|
@ -242,24 +253,24 @@ $sm_lang = array(
|
|||
'</span>',
|
||||
'seconds' => 'seconds',
|
||||
'test' => 'Test',
|
||||
'test_email' => 'An email will be sent to the address specified in your user profile.',
|
||||
'test_sms' => 'An SMS will be sent to the phone number specified in your user profile.',
|
||||
'test_pushover' => 'A Pushover notification will be sent to the user key/device specified in your user profile.',
|
||||
'send' => 'Send',
|
||||
'test_subject' => 'Test',
|
||||
'test_message' => 'Test message',
|
||||
'email_sent' => 'Email sent',
|
||||
'email_error' => 'Error in email sending',
|
||||
'sms_sent' => 'Sms sent',
|
||||
'sms_error' => 'Error in sms sending',
|
||||
'sms_error_nomobile' => 'Unable to send test SMS: no valid phone number found in your profile.',
|
||||
'pushover_sent' => 'Pushover notification sent',
|
||||
'pushover_error' => 'An error has occurred while sending the Pushover notification: %s',
|
||||
'pushover_error_noapp' => 'Unable to send test notification: no Pushover App API token found in the global configuration.',
|
||||
'pushover_error_nokey' => 'Unable to send test notification: no Pushover key found in your profile.',
|
||||
'log_retention_period' => 'Log retention period',
|
||||
'log_retention_period_description' => 'Number of days to keep logs of notifications and archives of server uptime. Enter 0 to disable log cleanup.',
|
||||
'log_retention_days' => 'days',
|
||||
'test_email' => '将发送一封邮件到您账户设置的邮件地址.',
|
||||
'test_sms' => '将发送一封短信到您账户设置的手机号码.',
|
||||
'test_pushover' => '将发送一条 Pushover 通知到您账户设置的 key/device 设备上.',
|
||||
'send' => '发送',
|
||||
'test_subject' => '测试',
|
||||
'test_message' => '测试信息',
|
||||
'email_sent' => '发送Email',
|
||||
'email_error' => 'Error 发送出错',
|
||||
'sms_sent' => '发送Sms',
|
||||
'sms_error' => '短信发送出错',
|
||||
'sms_error_nomobile' => '无法发送短信: 您的账号未设置有效手机号码.',
|
||||
'pushover_sent' => '发送Pushover通知',
|
||||
'pushover_error' => 'Pushover通知发送出错: %s',
|
||||
'pushover_error_noapp' => 'Pushover通知发送出错: no Pushover App API token found in the global configuration.',
|
||||
'pushover_error_nokey' => 'Pushover通知无法发送: no Pushover key found in your profile.',
|
||||
'log_retention_period' => '日志保留时长',
|
||||
'log_retention_period_description' => '日志存档保留时间,0为禁用日志清理',
|
||||
'log_retention_days' => '天',
|
||||
),
|
||||
// for newlines in the email messages use <br/>
|
||||
'notifications' => array(
|
||||
|
@ -298,7 +309,7 @@ $sm_lang = array(
|
|||
'success_password_reset' => '密码重设成功.请登录.',
|
||||
),
|
||||
'error' => array(
|
||||
'401_unauthorized' => 'Unauthorized',
|
||||
'401_unauthorized_description' => 'You do not have the privileges to view this page.',
|
||||
'401_unauthorized' => '未授权的请求',
|
||||
'401_unauthorized_description' => '未授权的请求.',
|
||||
),
|
||||
);
|
||||
|
|
|
@ -36,6 +36,7 @@ class ConfigController extends AbstractController {
|
|||
* @var array $checkboxes
|
||||
*/
|
||||
protected $checkboxes = array(
|
||||
'proxy',
|
||||
'email_status',
|
||||
'email_smtp',
|
||||
'sms_status',
|
||||
|
@ -54,6 +55,9 @@ class ConfigController extends AbstractController {
|
|||
* @var array $fields
|
||||
*/
|
||||
protected $fields = array(
|
||||
'proxy_url',
|
||||
'proxy_user',
|
||||
'proxy_password',
|
||||
'email_from_name',
|
||||
'email_from_email',
|
||||
'email_smtp_host',
|
||||
|
@ -298,11 +302,16 @@ class ConfigController extends AbstractController {
|
|||
'label_settings_pushover' => psm_get_lang('config', 'settings_pushover'),
|
||||
'label_settings_notification' => psm_get_lang('config', 'settings_notification'),
|
||||
'label_settings_log' => psm_get_lang('config', 'settings_log'),
|
||||
'label_settings_proxy' => psm_get_lang('config', 'settings_proxy'),
|
||||
'label_general' => psm_get_lang('config', 'general'),
|
||||
'label_language' => psm_get_lang('config', 'language'),
|
||||
'label_show_update' => psm_get_lang('config', 'show_update'),
|
||||
'label_password_encrypt_key' => psm_get_lang('config', 'password_encrypt_key'),
|
||||
'label_password_encrypt_key_note' => psm_get_lang('config', 'password_encrypt_key_note'),
|
||||
'label_proxy' => psm_get_lang('config', 'proxy'),
|
||||
'label_proxy_url' => psm_get_lang('config', 'proxy_url'),
|
||||
'label_proxy_user' => psm_get_lang('config', 'proxy_user'),
|
||||
'label_proxy_password' => psm_get_lang('config', 'proxy_password'),
|
||||
'label_email_status' => psm_get_lang('config', 'email_status'),
|
||||
'label_email_from_email' => psm_get_lang('config', 'email_from_email'),
|
||||
'label_email_from_name' => psm_get_lang('config', 'email_from_name'),
|
||||
|
@ -326,6 +335,7 @@ class ConfigController extends AbstractController {
|
|||
'label_sms_gateway_freevoipdeal' => psm_get_lang('config', 'sms_gateway_freevoipdeal'),
|
||||
'label_sms_gateway_smsglobal' => psm_get_lang('config', 'sms_gateway_smsglobal'),
|
||||
'label_sms_gateway_nexmo' => psm_get_lang('config', 'sms_gateway_nexmo'),
|
||||
'label_sms_gateway_smsgw' => psm_get_lang('config', 'sms_gateway_smsgw'),
|
||||
'label_sms_gateway_octopush' => psm_get_lang('config', 'sms_gateway_octopush'),
|
||||
'label_sms_gateway_freemobilesms' => psm_get_lang('config', 'sms_gateway_freemobilesms'),
|
||||
'label_sms_gateway_clicksend' => psm_get_lang('config', 'sms_gateway_clicksend'),
|
||||
|
@ -354,6 +364,8 @@ class ConfigController extends AbstractController {
|
|||
'label_log_sms' => psm_get_lang('config', 'log_sms'),
|
||||
'label_log_pushover' => psm_get_lang('config', 'log_pushover'),
|
||||
'label_log_pushbullet' => psm_get_lang('config', 'log_pushover'),
|
||||
'label_alert_proxy' => psm_get_lang('config', 'alert_proxy'),
|
||||
'label_alert_proxy_url' => psm_get_lang('config', 'alert_proxy_url'),
|
||||
'label_auto_refresh' => psm_get_lang('config', 'auto_refresh'),
|
||||
'label_auto_refresh_servers' => psm_get_lang('config', 'auto_refresh_servers'),
|
||||
'label_seconds' => psm_get_lang('config', 'seconds'),
|
||||
|
|
|
@ -120,11 +120,13 @@ class InstallController extends AbstractController {
|
|||
}
|
||||
|
||||
$config = array(
|
||||
'host' => 'localhost',
|
||||
'name' => '',
|
||||
'user' => '',
|
||||
'pass' => '',
|
||||
'prefix' => 'psm_',
|
||||
'db_host' => 'localhost',
|
||||
'db_port' => '3306'
|
||||
'db_name' => '',
|
||||
'db_user' => '',
|
||||
'db_pass' => '',
|
||||
'db_prefix' => 'psm_',
|
||||
'base_url' => '',
|
||||
);
|
||||
|
||||
$changed = false;
|
||||
|
@ -140,10 +142,11 @@ class InstallController extends AbstractController {
|
|||
if($changed) {
|
||||
// test db connection
|
||||
$this->db = new \psm\Service\Database(
|
||||
$config['host'],
|
||||
$config['user'],
|
||||
$config['pass'],
|
||||
$config['name']
|
||||
$config['db_host'],
|
||||
$config['db_port'],
|
||||
$config['db_user'],
|
||||
$config['db_pass'],
|
||||
$config['db_name']
|
||||
);
|
||||
|
||||
if($this->db->status()) {
|
||||
|
@ -275,11 +278,11 @@ class InstallController extends AbstractController {
|
|||
* @param array $db_vars prefix,user,pass,name,host
|
||||
* @return boolean|string TRUE on success, string with config otherwise
|
||||
*/
|
||||
protected function writeConfigFile($db_vars) {
|
||||
protected function writeConfigFile($array_config) {
|
||||
$config = "<?php".PHP_EOL;
|
||||
|
||||
foreach($db_vars as $key => $value) {
|
||||
$line = "define('PSM_DB_{key}', '{value}');".PHP_EOL;
|
||||
foreach($array_config as $key => $value) {
|
||||
$line = "define('PSM_{key}', '{value}');".PHP_EOL;
|
||||
$line = str_replace(
|
||||
array('{key}', '{value}'),
|
||||
array(strtoupper($key), $value),
|
||||
|
@ -307,8 +310,9 @@ class InstallController extends AbstractController {
|
|||
'pass' => '',
|
||||
'name' => '',
|
||||
'host' => '',
|
||||
'port' => '3306'
|
||||
);
|
||||
$pattern = "/define\('SM_DB_{key}', '(.*?)'/u";
|
||||
$pattern = "/define\('SM_{key}', '(.*?)'/u";
|
||||
|
||||
foreach($vars as $key => $value) {
|
||||
$pattern_key = str_replace('{key}', strtoupper($key), $pattern);
|
||||
|
|
|
@ -280,6 +280,20 @@ class ServerController extends AbstractServerController {
|
|||
// validate the lot
|
||||
$server_validator = new \psm\Util\Server\ServerValidator($this->db);
|
||||
|
||||
// format port from http/s url
|
||||
if($clean['type'] == 'website' && empty($clean['port'])) {
|
||||
$tmp = parse_url($clean["ip"]);
|
||||
if(isset($tmp["port"])) {
|
||||
$clean["port"] = $tmp["port"];
|
||||
} elseif ($tmp["scheme"] === "https") {
|
||||
$clean["port"] = 443;
|
||||
} elseif ($tmp["scheme"] === "http") {
|
||||
$clean["port"] = 80;
|
||||
} elseif ($tmp["scheme"] === "rdp") {
|
||||
$clean["port"] = 3389;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
if($this->server_id > 0) {
|
||||
$server_validator->serverId($this->server_id);
|
||||
|
@ -449,6 +463,7 @@ class ServerController extends AbstractServerController {
|
|||
'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_last_check' => psm_get_lang('servers', 'last_check'),
|
||||
|
|
|
@ -37,6 +37,7 @@ class StatusController extends AbstractServerController {
|
|||
function __construct(Database $db, \Twig_Environment $twig) {
|
||||
parent::__construct($db, $twig);
|
||||
|
||||
$this->setCSRFKey('status');
|
||||
$this->setActions(array('index', 'saveLayout'), 'index');
|
||||
}
|
||||
|
||||
|
@ -91,6 +92,13 @@ class StatusController extends AbstractServerController {
|
|||
$this->twig->addGlobal('auto_refresh', true);
|
||||
$this->twig->addGlobal('auto_refresh_seconds', $auto_refresh_seconds);
|
||||
}
|
||||
|
||||
if($this->isXHR() || isset($_SERVER["HTTP_X_REQUESTED_WITH"])) {
|
||||
$this->xhr = true;
|
||||
//disable auto refresh in ajax return html
|
||||
$layout_data["auto_refresh"] = 0;
|
||||
}
|
||||
|
||||
return $this->twig->render('module/server/status/index.tpl.html', $layout_data);
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,12 @@ class Database {
|
|||
*/
|
||||
protected $db_host;
|
||||
|
||||
/**
|
||||
* DB port
|
||||
* @var string $db_port
|
||||
*/
|
||||
protected $db_port = 3306;
|
||||
|
||||
/**
|
||||
* DB name
|
||||
* @var string $db_name
|
||||
|
@ -81,9 +87,10 @@ class Database {
|
|||
* @param string $pass
|
||||
* @param string $db
|
||||
*/
|
||||
function __construct($host = null, $user = null, $pass = null, $db = null) {
|
||||
function __construct($host = null, $user = null, $pass = null, $db = null, $port = null) {
|
||||
if($host != null && $user != null && $pass !== null && $db != null) {
|
||||
$this->db_host = $host;
|
||||
$this->db_port = $port || 3306;
|
||||
$this->db_name = $db;
|
||||
$this->db_user = $user;
|
||||
$this->db_pass = $pass;
|
||||
|
@ -498,7 +505,7 @@ class Database {
|
|||
// Initizale connection
|
||||
try {
|
||||
$this->pdo = new \PDO(
|
||||
'mysql:host='.$this->db_host.';dbname='.$this->db_name.';charset=utf8',
|
||||
'mysql:host='.$this->db_host.';port='.$this->db_port.';dbname='.$this->db_name.';charset=utf8',
|
||||
$this->db_user,
|
||||
$this->db_pass
|
||||
);
|
||||
|
|
|
@ -61,7 +61,7 @@ class Mollie extends Core {
|
|||
public function sendSMS($message) {
|
||||
$recipients = implode(',', $this->recipients);
|
||||
|
||||
$result = $this->_auth_https_post('www.mollie.nl', '/xml/sms/',
|
||||
$result = $this->_auth_https_post('api.messagebird.com', '/xml/sms/',
|
||||
'gateway='.urlencode($this->gateway).
|
||||
'&username='.urlencode($this->username).
|
||||
'&password='.urlencode($this->password).
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
<?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 Daif Alotaibi <daif@daif.net>
|
||||
* @copyright Copyright (c) 2008-2015 Pepijn Over <pep@peplab.net>
|
||||
* @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3
|
||||
* @version Release: @package_version@
|
||||
* @link http://www.phpservermonitor.org/
|
||||
**/
|
||||
|
||||
namespace psm\Txtmsg;
|
||||
|
||||
class Smsgw extends Core {
|
||||
|
||||
/**
|
||||
* Send a text message to one or more recipients
|
||||
*
|
||||
* @param string $message
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
public function sendSMS($message) {
|
||||
$url = 'http://api.smsgw.net/SendBulkSMS';
|
||||
$post = array(
|
||||
'strUserName' => $this->username,
|
||||
'strPassword' => $this->password,
|
||||
'strTagName' => $this->originator,
|
||||
'strRecepientNumbers' => implode(';', $this->recipients),
|
||||
'strMessage' => $message,
|
||||
);
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
||||
curl_setopt($ch, CURLOPT_HEADER, FALSE);
|
||||
curl_setopt($ch, CURLOPT_POST, TRUE);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
$data = curl_exec($ch);
|
||||
if($data == '1') {
|
||||
$this->success = true;
|
||||
}
|
||||
return $this->success;
|
||||
}
|
||||
|
||||
}
|
|
@ -46,6 +46,7 @@ class Spryng extends Core {
|
|||
|
||||
public function sendSMS($message) {
|
||||
$recipients = implode(',', $this->recipients);
|
||||
$message = urlencode($message);
|
||||
|
||||
$result = $this->_auth_https_post('http://www.spryng.nl', '/SyncTextService',
|
||||
'?OPERATION=send' .
|
||||
|
|
|
@ -130,6 +130,10 @@ class Installer {
|
|||
$queries[] = "INSERT INTO `" . PSM_DB_PREFIX . "users_servers` (`user_id`,`server_id`) VALUES (1, 1), (1, 2);";
|
||||
$queries[] = "INSERT INTO `" . PSM_DB_PREFIX . "config` (`key`, `value`) VALUE
|
||||
('language', 'en_US'),
|
||||
('proxy', '0'),
|
||||
('proxy_url', ''),
|
||||
('proxy_user', ''),
|
||||
('proxy_password', ''),
|
||||
('email_status', '1'),
|
||||
('email_from_email', 'monitor@example.org'),
|
||||
('email_from_name', 'Server Monitor'),
|
||||
|
@ -218,7 +222,7 @@ class Installer {
|
|||
`ip` varchar(500) NOT NULL,
|
||||
`port` int(5) unsigned NOT NULL,
|
||||
`label` varchar(255) NOT NULL,
|
||||
`type` enum('service','website') NOT NULL default 'service',
|
||||
`type` enum('ping','service','website') NOT NULL default 'service',
|
||||
`pattern` varchar(255) NOT NULL,
|
||||
`status` enum('on','off') NOT NULL default 'on',
|
||||
`error` varchar(255) NULL,
|
||||
|
@ -445,6 +449,11 @@ class Installer {
|
|||
psm_update_conf('password_encrypt_key', sha1(microtime()));
|
||||
$queries[] = "ALTER TABLE `" . PSM_DB_PREFIX . "servers` CHANGE `ip` `ip` VARCHAR(500) NOT NULL;";
|
||||
$queries[] = "ALTER TABLE `" . PSM_DB_PREFIX . "servers` ADD `website_username` varchar(255) NULL, ADD `website_password` varchar(255) NULL AFTER `website_username`;";
|
||||
$queries[] = "INSERT INTO `" . PSM_DB_PREFIX . "config` (`key`, `value`) VALUE
|
||||
('proxy', '0'),
|
||||
('proxy_url', ''),
|
||||
('proxy_user', ''),
|
||||
('proxy_password', '');";
|
||||
|
||||
$this->execSQL($queries);
|
||||
|
||||
|
|
|
@ -101,6 +101,11 @@ class ServerValidator {
|
|||
throw new \InvalidArgumentException('server_ip_bad_service');
|
||||
}
|
||||
break;
|
||||
case 'ping':
|
||||
if(!filter_var($value, FILTER_VALIDATE_IP)) {
|
||||
throw new \InvalidArgumentException('server_ip_bad_service');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -113,7 +118,7 @@ class ServerValidator {
|
|||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function type($type) {
|
||||
if(!in_array($type, array('service', 'website'))) {
|
||||
if(!in_array($type, array('ping', 'service', 'website'))) {
|
||||
throw new \InvalidArgumentException('server_type_invalid');
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -90,6 +90,9 @@ class StatusUpdater {
|
|||
}
|
||||
|
||||
switch($this->server['type']) {
|
||||
case 'ping':
|
||||
$this->status_new = $this->updatePing($max_runs);
|
||||
break;
|
||||
case 'service':
|
||||
$this->status_new = $this->updateService($max_runs);
|
||||
break;
|
||||
|
@ -134,6 +137,41 @@ class StatusUpdater {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the current servers ping status - Code from http://stackoverflow.com/a/20467492
|
||||
* @param int $max_runs
|
||||
* @param int $run
|
||||
* @return boolean
|
||||
*/
|
||||
protected function updatePing($max_runs, $run = 1) {
|
||||
$errno = 0;
|
||||
// save response time
|
||||
$starttime = microtime(true);
|
||||
// set ping payload
|
||||
$package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
|
||||
|
||||
$fp = @fsockopen ($this->server['ip'], $this->server['port'], $errno, $this->error, 10);
|
||||
$socket = socket_create(AF_INET, SOCK_RAW, 1);
|
||||
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 10, 'usec' => 0));
|
||||
socket_connect($socket, $this->server['ip'], null);
|
||||
|
||||
socket_send($socket, $package, strLen($package), 0);
|
||||
if (socket_read($socket, 255)) {
|
||||
$this->rtime = microtime(true) - $starttime;
|
||||
$status = true;
|
||||
} else {
|
||||
$status = false;
|
||||
}
|
||||
socket_close($socket);
|
||||
|
||||
// check if server is available and rerun if asked.
|
||||
if(!$status && $run < $max_runs) {
|
||||
return $this->updatePing($max_runs, $run + 1);
|
||||
}
|
||||
|
||||
return $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the current server as a service
|
||||
* @param int $max_runs
|
||||
|
|
|
@ -6,14 +6,11 @@
|
|||
<title>{{ title }}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, minimum-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<meta name="robots" content="noindex" />
|
||||
<meta name="theme-color" content="#424242">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
<link rel="apple-touch-icon" href="favicon.png" />
|
||||
{% if auto_refresh %}
|
||||
<meta http-equiv="refresh" content="{{ auto_refresh_seconds }}" />
|
||||
{% endif %}
|
||||
<!-- Le styles -->
|
||||
<link href="static/plugin/twitter-bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="static/plugin/twitter-bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
|
||||
|
|
|
@ -70,6 +70,32 @@
|
|||
<input type="text" class="input-mini" id="log_retention_period" name="log_retention_period" value="{{ log_retention_period }}" data-toggle="tooltip" title="{{ label_log_retention_period_description }}" /> {{ label_log_retention_days }}
|
||||
</div>
|
||||
</div>
|
||||
<legend>{{ label_settings_proxy }}</legend>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox" for="proxy"><input type="checkbox" id="proxy" name="proxy[]" {{ proxy_checked|raw }} />{{ label_proxy }}</label>
|
||||
<p class="help-block">{{ label_alert_proxy|raw }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="proxy_url">{{ label_proxy_url }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="proxy_url" name="proxy_url" value="{{ proxy_url }}" maxlength="100" placeholder="{{ label_proxy_url }}" />
|
||||
<p class="help-block">{{ label_alert_proxy_url|raw }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="proxy_user">{{ label_proxy_user }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="proxy_user" name="proxy_user" value="{{ proxy_user }}" maxlength="100" placeholder="{{ label_proxy_user }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="proxy_password">{{ label_proxy_password }}</label>
|
||||
<div class="controls">
|
||||
<input type="password" id="proxy_password" name="proxy_password" value="{{ proxy_password }}" maxlength="100" placeholder="{{ label_proxy_password }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button class="btn btn-success" type="submit" name="general_submit">{{ label_save }}</button>
|
||||
</div>
|
||||
|
@ -174,6 +200,7 @@
|
|||
<option value="octopush" {{ sms_selected_octopush|raw }}>{{ label_sms_gateway_octopush }}</option>
|
||||
<option value="freemobilesms" {{ sms_selected_freemobilesms|raw }}>{{ label_sms_gateway_freemobilesms }}</option>
|
||||
<option value="clicksend" {{ sms_selected_clicksend|raw }}>{{ label_sms_gateway_clicksend }}</option>
|
||||
<option value="smsgw" {{ sms_selected_smsgw|raw }}>{{ label_sms_gateway_smsgw }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,35 +10,48 @@
|
|||
<div class="span6">
|
||||
<form id="psm_config" class="form-horizontal" action="install.php?action=config" method="post">
|
||||
{{ macro.csrf_input() }}
|
||||
<p>Please enter the application url:</p>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="base_url">Application base url</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="base_url" name="base_url" value="{{ base_url }}" />
|
||||
</div>
|
||||
</div>
|
||||
<p>Please enter your database info:</p>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="host">Database host</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="host" name="host" value="{{ host }}" />
|
||||
<input type="text" id="host" name="db_host" value="{{ db_host }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="host">Database port</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="port" name="port" value="{{ port }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="name">Database name</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="name" name="name" value="{{ name }}" placeholder="db name" />
|
||||
<input type="text" id="name" name="db_name" value="{{ db_name }}" placeholder="db name" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="user">Database user</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="user" name="user" value="{{ user }}" placeholder="db user" />
|
||||
<input type="text" id="user" name="db_user" value="{{ db_user }}" placeholder="db user" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="pass">Database password</label>
|
||||
<div class="controls">
|
||||
<input type="password" id="pass" name="pass" value="{{ pass }}" placeholder="db password" />
|
||||
<input type="password" id="pass" name="db_pass" value="{{ db_pass }}" placeholder="db password" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="prefix">Table prefix</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="prefix" name="prefix" value="{{ prefix }}" />
|
||||
<input type="text" id="prefix" name="db_prefix" value="{{ db_prefix }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<div class="controls">
|
||||
<select id="type" name="type">
|
||||
<option value="">{{ label_please_select }}</option>
|
||||
<option value="ping" {{ edit_type_selected_ping|raw }}>{{ label_ping }}</option>
|
||||
<option value="service" {{ edit_type_selected_service|raw }}>{{ label_service }}</option>
|
||||
<option value="website" {{ edit_type_selected_website|raw }}>{{ label_website }}</option>
|
||||
</select>
|
||||
|
@ -47,6 +48,7 @@
|
|||
<option value="115">SFTP (115)</option>
|
||||
<option value="43">WHOIS (43)</option>
|
||||
<option value="53">BIND (53)</option>
|
||||
<option value="3389">RDP (3389)</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<div class="tab-content">
|
||||
<input type="hidden" name="saveLayout_csrf" value="{{ csrf_token(csrf_key|default('')) }}" />
|
||||
<div id="flow-layout" class="tab-pane {{ block_layout_active }}">
|
||||
<div class="entity-container">
|
||||
{% for server in servers_offline %}
|
||||
|
@ -58,3 +59,16 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if auto_refresh %}
|
||||
<script>
|
||||
setInterval(function(){
|
||||
$.ajax({
|
||||
url:"?",
|
||||
success: function(html, status){
|
||||
$("#page-container").html(html);
|
||||
}
|
||||
});
|
||||
}, {{ auto_refresh_seconds }} * 1000);
|
||||
</script>
|
||||
{% endif %}
|
|
@ -135,6 +135,7 @@ function psm_xhr(mod, params, method, on_complete, options) {
|
|||
function psm_saveLayout(layout) {
|
||||
var params = {
|
||||
action: 'saveLayout',
|
||||
csrf: $("input[name=saveLayout_csrf]").val(),
|
||||
layout: layout
|
||||
};
|
||||
psm_xhr('server_status', params, 'POST');
|
||||
|
|
Loading…
Reference in New Issue