From f84061ee14f18a24d26a18fecfb8667c40a44df4 Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Thu, 26 Sep 2019 14:07:16 +0200 Subject: [PATCH 1/8] Get latest version from Github. The latest version number will now come from Github instead of phpservermonitor.org. --- src/includes/functions.inc.php | 10 ++++++---- src/includes/psmconfig.inc.php | 6 +++--- src/templates/default/main/body.tpl.html | 3 +-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index 4ea81309..496b8f1b 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -476,17 +476,19 @@ function psm_update_available() { // update last check date psm_update_conf('last_update_check', time()); $latest = psm_curl_get(PSM_UPDATE_URL); + // extract latest version from Github. + preg_match('/"tag_name":"[v](([\d][.][\d][.][\d])(-?\w*))"/', $latest, $latest); // add latest version to database - if ($latest !== false && strlen($latest) < 15) { - psm_update_conf('version_update_check', $latest); + if ($latest[2] !== false && strlen($latest[2]) < 15) { + psm_update_conf('version_update_check', $latest[2]); } } else { $latest = psm_get_conf('version_update_check'); } - if ($latest !== false) { + if ($latest[2] !== false) { $current = psm_get_conf('version'); - return version_compare($latest, $current, '>'); + return version_compare($latest[2], $current, '>'); } else { return false; } diff --git a/src/includes/psmconfig.inc.php b/src/includes/psmconfig.inc.php index 34b068fe..56cc60ad 100644 --- a/src/includes/psmconfig.inc.php +++ b/src/includes/psmconfig.inc.php @@ -35,13 +35,13 @@ define('PSM_VERSION', '3.4.4'); * URL to check for updates. Will not be checked if turned off on config page. * @see psm_update_available() */ -define('PSM_UPDATE_URL', 'http://www.phpservermonitor.org/version.php'); +define('PSM_UPDATE_URL', 'https://api.github.com/repos/phpservermon/phpservermon/releases/latest'); /** - * Default update interval (1 week). Only applicable when updates are enabled. + * Default update interval (1 day). Only applicable when updates are enabled. * @see psm_update_available() */ -define('PSM_UPDATE_INTERVAL', 7 * 24 * 60 * 60); +define('PSM_UPDATE_INTERVAL', 1 * 24 * 60 * 60); /** * Configuration for: Hashing strength diff --git a/src/templates/default/main/body.tpl.html b/src/templates/default/main/body.tpl.html index 35168a6d..beff84e0 100644 --- a/src/templates/default/main/body.tpl.html +++ b/src/templates/default/main/body.tpl.html @@ -68,8 +68,7 @@ Powered by PHP Server Monitor {{ version }}. - - {{ update_available }} {{ label_back_to_top }} + {{ update_available|raw }}{{ label_back_to_top }} From 884a563e6af327a00a25efcf647597fec210c338 Mon Sep 17 00:00:00 2001 From: Emmanuel RABOTTEAU <52979216+ER503@users.noreply.github.com> Date: Thu, 26 Sep 2019 18:00:59 +0200 Subject: [PATCH 2/8] Update fr_FR.lang.php (#776) - Added and translated missing string in 'system' array - Updated translation of 'level' in 'users' array - Added and translated missing string in 'users' array about Telegram - Added and translated missing string in 'log' array about Telegram - Added and translated missing string in 'servers' array - Added and translated missing string in 'config' array - Added and translated missing string in 'notifications' array --- src/lang/fr_FR.lang.php | 100 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 4 deletions(-) diff --git a/src/lang/fr_FR.lang.php b/src/lang/fr_FR.lang.php index 9de5857c..79177463 100644 --- a/src/lang/fr_FR.lang.php +++ b/src/lang/fr_FR.lang.php @@ -38,6 +38,7 @@ $sm_lang = array( 'save' => 'Enregistrer', 'edit' => 'Editer', 'delete' => 'Supprimer', + 'view' => 'Détails', 'date' => 'Date', 'message' => 'Message', 'yes' => 'Oui', @@ -48,7 +49,10 @@ $sm_lang = array( 'back_to_top' => 'Haut de page', 'go_back' => 'Retour', 'ok' => 'OK', + 'bad' => 'mauvais', 'cancel' => 'Annuler', + 'none' => 'Aucun', + 'activate' => 'Activer', // date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php 'short_day_format' => 'Le %e %B', 'long_day_format' => 'Le %e %B %Y', @@ -73,6 +77,9 @@ $sm_lang = array( 'minutes' => 'minutes', 'second' => 'seconde', 'seconds' => 'secondes', + 'current' => 'actuel', + 'settings' => 'Paramètres', + 'search' => 'Recherche' ), 'menu' => array( 'config' => 'Configuration', @@ -90,7 +97,7 @@ $sm_lang = array( 'password' => 'Mot de passe', 'password_repeat' => 'Répéter le mot de passe', 'password_leave_blank' => 'Laisser vide pour ne pas le modifier', - 'level' => 'Niveau', + 'level' => 'Rôle', 'level_10' => 'Administrateur', 'level_20' => 'Utilisateur', 'level_description' => 'Les Administrateurs ont un accès total. Ils peuvent gérer les serveurs, les utilisateurs et éditer la configuration globale.
Les Utilisateurs ne peuvent que voir et mettre à jour les serveurs qui leur ont été assignés.', @@ -101,6 +108,16 @@ $sm_lang = array( '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' => 'Telegram est une application de messagerie instantanée qui facilite la réception de notification en temps réel. Lisez la documentation 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 spécifiée. Sans cette permission, Telegram ne nous autorise pas à vous envoyer des notifications.', + 'telegram_bot_username_found' => 'Le BOT a été trouvé !

Cela va ouvrir une conversation avec le BOT. Vous devez appuyer sur \'/start\' ou le saisir.', + 'telegram_bot_username_error_token' => '401 - Unauthorized. 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é.', @@ -113,7 +130,7 @@ $sm_lang = array( '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 niveau d\'utilisateur 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.', @@ -125,6 +142,7 @@ $sm_lang = array( 'email' => 'email', 'sms' => 'SMS', 'pushover' => 'Pushover', + 'telegram' => 'Telegram', 'no_logs' => 'Aucun événement', 'clear' => 'Claire registros', 'delete_title' => 'Supprimer journaux', @@ -137,15 +155,47 @@ $sm_lang = array( '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 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é hors-service. Les expressions réguliaires sont autorisées.', + 'pattern_online' => 'Le texte indique que le site est', + 'pattern_online_description' => 'En ligne : Si ce texte n\'est pas 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 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', @@ -153,6 +203,9 @@ $sm_lang = array( '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\' ?', @@ -163,6 +216,8 @@ $sm_lang = array( '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', @@ -181,6 +236,7 @@ $sm_lang = array( '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.', @@ -193,6 +249,12 @@ $sm_lang = 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 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', @@ -214,6 +276,10 @@ $sm_lang = array( '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 créer une application sur leur site web et entrer ici le jeton (Token) de l\'application.', + 'telegram_status' => 'Autorise l\'envoi de message Telegram', + 'telegram_description' => 'Telegram est une application de messagerie instantanée qui facilite la réception de notification en temps réel. Lisez la documentation 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. Consultez la documentation pour obtenir de l\'aide.', 'alert_type' => 'Choisissez quand vous souhaitez être notifié', 'alert_type_description' => 'Changement d\'état : '. '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.
'. @@ -226,20 +292,28 @@ $sm_lang = array( '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 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.
'. @@ -251,6 +325,7 @@ $sm_lang = array( '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 conversation).', 'send' => 'Envoyer', 'test_subject' => 'Test', 'test_message' => 'Message de test', @@ -263,6 +338,10 @@ $sm_lang = array( '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é 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 trouvé dans la configuration.', + '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 de réponse des serveurs. Entrez 0 pour les conserver indéfiniment.', 'log_retention_days' => 'jours', @@ -271,14 +350,27 @@ $sm_lang = array( '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:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
Erreur: %ERROR%
Date: %DATE%", + 'off_email_body' => "Impossible de se connecter au serveur suivant:

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date: %DATE%", 'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE', - 'off_pushover_message' => "Impossible de se connecter au serveur suivant:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
Erreur: %ERROR%
Date: %DATE%", + 'off_pushover_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", + 'off_telegram_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", '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 %LAST_OFFLINE_DURATION%:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
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 %LAST_OFFLINE_DURATION%:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
Date: %DATE%", + 'on_telegram_message' => 'Server \'%LABEL%\' is running again, it was down for: %LAST_OFFLINE_DURATION%

Server: %LABEL%
IP: %IP%
Port: %PORT%
Date: %DATE%', + 'combi_off_email_message' => "", + 'combi_off_pushover_message' => "", + 'combi_off_telegram_message' => "- Serveur : %LABEL%
- IP : %IP%
- Port : %PORT%
- Erreur : %ERROR%
- Date : %DATE%

", + 'combi_on_email_message' => "", + 'combi_on_pushover_message' => '', + 'combi_on_telegram_message' => '- Serveur : %LABEL%
- IP: %IP%
- Port : %PORT%
- Durée : %LAST_OFFLINE_DURATION%
- Date : %DATE%

', + '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' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', + 'combi_pushover_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', + 'combi_telegram_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', ), 'login' => array( 'welcome_usermenu' => 'Bonjour %user_name%', From 6fd71e1d55a03022f475c0f0f8040c61e68754e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Lebrun?= <39341330+rylebrun@users.noreply.github.com> Date: Thu, 26 Sep 2019 18:21:23 +0200 Subject: [PATCH 3/8] Correction FR translation (#668) --- src/lang/fr_FR.lang.php | 76 ++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/lang/fr_FR.lang.php b/src/lang/fr_FR.lang.php index 79177463..1d12389a 100644 --- a/src/lang/fr_FR.lang.php +++ b/src/lang/fr_FR.lang.php @@ -115,11 +115,11 @@ $sm_lang = array( '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é !

Cela va ouvrir une conversation avec le BOT. Vous devez appuyer sur \'/start\' ou le saisir.', + 'telegram_bot_username_found' => 'Le BOT a été trouvé !

Cela va ouvrir une conversation avec le BOT. Vous devez appuyer sur \'/start\' ou le saisir.', 'telegram_bot_username_error_token' => '401 - Unauthorized. Assuez-vous que le Token API soit valide.', - 'telegram_bot_error' => 'Une erreur s\'est produite en tentant d\'activer les notifications Telegram : %s', + '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\' ?', + 'delete_message' => 'Êtes-vous sûr de vouloir supprimer l\'utilisateur \'%1\' ?', 'deleted' => 'Utilisateur supprimé.', 'updated' => 'Utilisateur mis à jour.', 'inserted' => 'Utilisateur ajouté.', @@ -139,14 +139,14 @@ $sm_lang = array( 'title' => 'Événements', 'type' => 'Type', 'status' => 'État', - 'email' => 'email', + 'email' => 'Email', 'sms' => 'SMS', 'pushover' => 'Pushover', 'telegram' => 'Telegram', 'no_logs' => 'Aucun événement', - 'clear' => 'Claire registros', - 'delete_title' => 'Supprimer journaux', - 'delete_message' => 'Êtes-vous sûr de vouloir supprimer tous les journaux?', + 'clear' => 'Effacer les journaux', + 'delete_title' => 'Supprimer les journaux', + 'delete_message' => 'Êtes-vous sûr de vouloir supprimer tous les journaux ?', ), 'servers' => array( 'server' => 'Serveur', @@ -178,9 +178,9 @@ $sm_lang = array( '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éguliaires sont autorisées.', + '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 n\'est pas 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.', + 'pattern_online_description' => 'En ligne : Si ce texte n\'est pas 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', @@ -208,7 +208,7 @@ $sm_lang = array( '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\' ?', + 'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?', 'deleted' => 'Serveur supprimé.', 'updated' => 'Serveur mis à jour.', 'inserted' => 'Serveur ajouté.', @@ -250,7 +250,7 @@ $sm_lang = array( '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 !', + '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', @@ -261,8 +261,8 @@ $sm_lang = array( 'email_smtp' => 'Utiliser un serveur SMTP', 'email_smtp_host' => 'Adresse serveur SMTP', 'email_smtp_port' => 'Port SMTP', - 'email_smtp_security' => 'Sécurité SMTP', - 'email_smtp_security_none' => 'Aucune', + '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', @@ -281,13 +281,13 @@ $sm_lang = array( 'telegram_api_token' => 'Token API Telegram', 'telegram_api_token_description' => 'Afin de pouvoir utiliser Telegram, il vous faut obtenir un token api. Consultez la documentation pour obtenir de l\'aide.', 'alert_type' => 'Choisissez quand vous souhaitez être notifié', - 'alert_type_description' => 'Changement d\'état : '. + 'alert_type_description' => 'Changement d\'état : '. '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.
'. - '
Hors service : '. + '
Hors service : '. 'Vous ne recevez une notification que quand le serveur passe de l\'état OK à HORS SERVICE. Par exemple, '. 'Votre tâche planifiée s\'exécute toutes les 15 minutes et votre serveur passe à l\'état HORS SERVICE à 1 heure du matin et le reste jusqu\'à 6 heures du matin.'. 'Vous ne recevez qu\'une seule notification à 1 heure du matin.
'. - '
Toujours : '. + '
Toujours : '. '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', @@ -295,7 +295,7 @@ $sm_lang = array( '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', + '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', @@ -331,17 +331,17 @@ $sm_lang = array( 'test_message' => 'Message de test', 'email_sent' => 'Email envoyé', 'email_error' => 'Erreur lors de l\'envoi de l\'email', - 'sms_sent' => 'Sms envoyé', + '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' => '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é 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 trouvé dans la configuration.', - 'telegram_error_noid' => 'Impossible d\'envoyé la notification de test : aucun ID de conversation trouvé dans votre profil utilisateur.', + '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 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 de réponse des serveurs. Entrez 0 pour les conserver indéfiniment.', 'log_retention_days' => 'jours', @@ -350,32 +350,32 @@ $sm_lang = array( '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:

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date: %DATE%", + 'off_email_body' => "Impossible de se connecter au serveur suivant:

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date: %DATE%", 'off_pushover_title' => 'Le Serveur \'%LABEL%\' est HORS SERVICE', - 'off_pushover_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", - 'off_telegram_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", + 'off_pushover_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", + 'off_telegram_message' => "Impossible de se connecter au serveur suivant :

Serveur : %LABEL%
IP : %IP%
Port : %PORT%
Erreur : %ERROR%
Date : %DATE%", '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 %LAST_OFFLINE_DURATION%:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
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 %LAST_OFFLINE_DURATION%:

Serveur: %LABEL%
IP: %IP%
Port: %PORT%
Date: %DATE%", 'on_telegram_message' => 'Server \'%LABEL%\' is running again, it was down for: %LAST_OFFLINE_DURATION%

Server: %LABEL%
IP: %IP%
Port: %PORT%
Date: %DATE%', - 'combi_off_email_message' => "", - 'combi_off_pushover_message' => "", - 'combi_off_telegram_message' => "- Serveur : %LABEL%
- IP : %IP%
- Port : %PORT%
- Erreur : %ERROR%
- Date : %DATE%

", - 'combi_on_email_message' => "", - 'combi_on_pushover_message' => '', - 'combi_on_telegram_message' => '- Serveur : %LABEL%
- IP: %IP%
- Port : %PORT%
- Durée : %LAST_OFFLINE_DURATION%
- Date : %DATE%

', - 'combi_email_subject' => 'IMPORTANT : \'%UP%\' serveurs de nouveaux en ligne, \'%DOWN%\' serveurs hors-ligne', + 'combi_off_email_message' => "", + 'combi_off_pushover_message' => "", + 'combi_off_telegram_message' => "- Serveur : %LABEL%
- IP : %IP%
- Port : %PORT%
- Erreur : %ERROR%
- Date : %DATE%

", + 'combi_on_email_message' => "", + 'combi_on_pushover_message' => '', + 'combi_on_telegram_message' => '- Serveur : %LABEL%
- IP: %IP%
- Port : %PORT%
- Durée : %LAST_OFFLINE_DURATION%
- Date : %DATE%

', + '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' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', - 'combi_pushover_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', - 'combi_telegram_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', + 'combi_email_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', + 'combi_pushover_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', + 'combi_telegram_message' => 'Les serveurs suivants sont hors-ligne :
%DOWN_SERVERS%
Les serveurs suivants sont en ligne :
%UP_SERVERS%', ), 'login' => array( 'welcome_usermenu' => 'Bonjour %user_name%', 'title_sign_in' => 'Connectez vous SVP', - 'title_forgot' => 'Mot de passe oublié ?', + 'title_forgot' => 'Mot de passe oublié ?', 'title_reset' => 'Réinitialisation du mot de passe', 'submit' => 'Envoyer', 'remember_me' => 'Se souvenir de moi', @@ -384,14 +384,14 @@ $sm_lang = array( 'username' => 'Nom', 'password' => 'Mot de passe', 'password_repeat' => 'Répéter le mot de passe', - 'password_forgot' => 'Mot de passe oublié ?', + '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.

%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.', + '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é.', ), From dc45eee0d3919cbfd7a3479071565182c49d49a0 Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Thu, 26 Sep 2019 18:36:17 +0200 Subject: [PATCH 4/8] Fixed update message --- src/includes/functions.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index 496b8f1b..aa4cb4f0 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -483,7 +483,7 @@ function psm_update_available() { psm_update_conf('version_update_check', $latest[2]); } } else { - $latest = psm_get_conf('version_update_check'); + $latest[2] = psm_get_conf('version_update_check'); } if ($latest[2] !== false) { From 7316355658b9f593c6804be1ca1d3f60de8e7af9 Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Thu, 26 Sep 2019 18:48:29 +0200 Subject: [PATCH 5/8] =?UTF-8?q?Changed=20to=20=E2=80=98local=20-=20English?= =?UTF-8?q?=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lang/et_ET.lang.php | 2 +- src/lang/ru_RU.lang.php | 2 +- src/lang/vi_VN.lang.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lang/et_ET.lang.php b/src/lang/et_ET.lang.php index df3be728..d7a90bd5 100644 --- a/src/lang/et_ET.lang.php +++ b/src/lang/et_ET.lang.php @@ -26,7 +26,7 @@ **/ $sm_lang = array( - 'name' => 'Estonian - Eesti keel', + 'name' => 'Eesti keel - Estonian', 'locale' => array('et_ET.UTF-8', 'et_ET', 'estonian'), 'locale_tag' => 'et', 'locale_dir' => 'ltr', diff --git a/src/lang/ru_RU.lang.php b/src/lang/ru_RU.lang.php index 419510d4..82fd11ea 100644 --- a/src/lang/ru_RU.lang.php +++ b/src/lang/ru_RU.lang.php @@ -27,7 +27,7 @@ **/ $sm_lang = array( - 'name' => 'Russian - Русский', + 'name' => 'Русский - Russian', 'locale' => array('ru_RU.UTF-8', 'ru_RU', 'russian', 'russian'), 'locale_tag' => 'ru', 'locale_dir' => 'ltr', diff --git a/src/lang/vi_VN.lang.php b/src/lang/vi_VN.lang.php index c3f8f8f9..d16285ba 100644 --- a/src/lang/vi_VN.lang.php +++ b/src/lang/vi_VN.lang.php @@ -26,7 +26,7 @@ **/ $sm_lang = array( - 'name' => 'Tiếng Việt', + 'name' => 'Tiếng Việt - Vietnamese', 'locale' => array('vi_VN.UTF-8', 'vi_VN', 'Việt Nam'), 'system' => array( 'title' => 'Server Monitor', From 86b75c3068b6d3f9666a62f0285f7c649217da0d Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Thu, 26 Sep 2019 19:49:26 +0200 Subject: [PATCH 6/8] Removed unsused css --- .../default/static/css/style.min.css | 2 +- .../default/static/css/style.min.css.map | 2 +- src/templates/default/static/scss/style.scss | 33 ++++++------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/src/templates/default/static/css/style.min.css b/src/templates/default/static/css/style.min.css index 9d847ce9..6df4bd03 100644 --- a/src/templates/default/static/css/style.min.css +++ b/src/templates/default/static/css/style.min.css @@ -1,2 +1,2 @@ -html{position:relative;min-height:100%}html[dir='rtl'] #auto_refresh_servers,html[dir='rtl'] #log_retention_period{border-left-width:0px}html[dir='rtl'] #auto_refresh_servers_input,html[dir='rtl'] #log_retention_period_input{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0;border-bottom-right-radius:0}body{padding-top:4.5rem;margin-bottom:80px}.footer{position:absolute;bottom:0;width:100%;height:60px;line-height:60px;background-color:#f5f5f5}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.64)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,0.85)}dl,dt,dd{margin-bottom:0}footer .text-muted{color:#4C5557 !important}a,button,.nav-link{min-height:44px !important;min-width:44px !important}a.icon{text-decoration:none;cursor:pointer;padding-left:10px}#auto_refresh_servers,#log_retention_period{border-right-width:0px}#auto_refresh_servers_input,#log_retention_period_input{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-top-left-radius:0;border-bottom-left-radius:0}form.form-signin input[type="text"],form.form-reset input[type="text"]{border-bottom-left-radius:0;border-bottom-right-radius:0}form.form-signin input[type="password"]{border-top-left-radius:0;border-top-right-radius:0}form.form-reset input#input-password{border-radius:0}form.form-reset input#input-password-repeat{border-top-left-radius:0;border-top-right-radius:0}form.form-signin,form.form-forgot,form.form-reset{margin:auto}table{table-layout:fixed}th,td{max-width:1px}.content{word-wrap:break-word;overflow-wrap:break-word}table tr[visible='false'],.no-result{display:none}table tr[visible='true']{display:table-row}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:unset}#meter{border-radius:200px 200px 0 0;height:100px;margin:50px auto 0;overflow:hidden;position:relative;width:200px}#meter:before{background:#fbfbfb;border-radius:200px 200px 0 0;-webkit-box-shadow:3px 1px 8px rgba(0,0,0,0.15) inset;box-shadow:3px 1px 8px rgba(0,0,0,0.15) inset;content:"";height:100px;position:absolute;width:200px}#meter:after{background:#fff;border-radius:140px 140px 0 0;bottom:0;-webkit-box-shadow:3px 1px 8px rgba(0,0,0,0.15);box-shadow:3px 1px 8px rgba(0,0,0,0.15);content:"\a" attr(data-value) "%\a" attr(translation);font-size:1.5em;font-weight:100;height:80px;left:20px;line-height:25px;position:absolute;text-align:center;width:160px;z-index:3;white-space:pre}#needle{background:rgba(52,52,64,0.7);border-radius:4px;bottom:-4px;-webkit-box-shadow:3px -1px 4px rgba(0,0,0,0.4);box-shadow:3px -1px 4px rgba(0,0,0,0.4);display:block;height:8px;left:5px;position:absolute;width:95px;-webkit-transform-origin:100% 4px;transform-origin:100% 4px;-webkit-transition:all 1s;transition:all 1s;border-radius:4px;bottom:-4px;box-shadow:3px -1px 4px rgba(0,0,0,0.4);display:block;height:8px;left:5px;position:absolute;width:95px;transform-origin:100% 4px;transition:all 1s} +html{position:relative;min-height:100%}html[dir='rtl'] #auto_refresh_description,html[dir='rtl'] #log_retention_period_help{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}html[dir='ltr'] #auto_refresh_description,html[dir='ltr'] #log_retention_period_help{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}body{padding-top:4.5rem;margin-bottom:80px}.footer{position:absolute;bottom:0;width:100%;height:60px;line-height:60px;background-color:#f5f5f5}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.64)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,0.85)}dl,dt,dd{margin-bottom:0}footer .text-muted{color:#4C5557 !important}a,button,.nav-link{min-height:44px !important;min-width:44px !important}a.icon{text-decoration:none;cursor:pointer;padding-left:10px}form.form-signin input[type="text"],form.form-reset input[type="text"]{border-bottom-left-radius:0;border-bottom-right-radius:0}form.form-signin input[type="password"]{border-top-left-radius:0;border-top-right-radius:0}form.form-reset input#input-password{border-radius:0}form.form-reset input#input-password-repeat{border-top-left-radius:0;border-top-right-radius:0}form.form-signin,form.form-forgot,form.form-reset{margin:auto}table{table-layout:fixed}th,td{max-width:1px}.content{word-wrap:break-word;overflow-wrap:break-word}table tr[visible='false'],.no-result{display:none}table tr[visible='true']{display:table-row}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:unset}#meter{border-radius:200px 200px 0 0;height:100px;margin:50px auto 0;overflow:hidden;position:relative;width:200px}#meter:before{background:#fbfbfb;border-radius:200px 200px 0 0;-webkit-box-shadow:3px 1px 8px rgba(0,0,0,0.15) inset;box-shadow:3px 1px 8px rgba(0,0,0,0.15) inset;content:"";height:100px;position:absolute;width:200px}#meter:after{background:#fff;border-radius:140px 140px 0 0;bottom:0;-webkit-box-shadow:3px 1px 8px rgba(0,0,0,0.15);box-shadow:3px 1px 8px rgba(0,0,0,0.15);content:"\a" attr(data-value) "%\a" attr(translation);font-size:1.5em;font-weight:100;height:80px;left:20px;line-height:25px;position:absolute;text-align:center;width:160px;z-index:3;white-space:pre}#needle{background:rgba(52,52,64,0.7);border-radius:4px;bottom:-4px;-webkit-box-shadow:3px -1px 4px rgba(0,0,0,0.4);box-shadow:3px -1px 4px rgba(0,0,0,0.4);display:block;height:8px;left:5px;position:absolute;width:95px;-webkit-transform-origin:100% 4px;transform-origin:100% 4px;-webkit-transition:all 1s;transition:all 1s;border-radius:4px;bottom:-4px;box-shadow:3px -1px 4px rgba(0,0,0,0.4);display:block;height:8px;left:5px;position:absolute;width:95px;transform-origin:100% 4px;transition:all 1s} /*# sourceMappingURL=style.min.css.map */ \ No newline at end of file diff --git a/src/templates/default/static/css/style.min.css.map b/src/templates/default/static/css/style.min.css.map index 30cf16ba..840e7613 100644 --- a/src/templates/default/static/css/style.min.css.map +++ b/src/templates/default/static/css/style.min.css.map @@ -1,6 +1,6 @@ { "version": 3, - "mappings": "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", + "mappings": "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", "sources": [ "../scss/style.scss" ], diff --git a/src/templates/default/static/scss/style.scss b/src/templates/default/static/scss/style.scss index b2de0838..d5ecf7fb 100644 --- a/src/templates/default/static/scss/style.scss +++ b/src/templates/default/static/scss/style.scss @@ -4,18 +4,18 @@ html { } html[dir='rtl'] { - - #auto_refresh_servers, - #log_retention_period { - border-left-width: 0px - } - - #auto_refresh_servers_input, - #log_retention_period_input { + #auto_refresh_description, + #log_retention_period_help { border-top-left-radius: .25rem; border-bottom-left-radius: .25rem; - border-top-right-radius: 0; - border-bottom-right-radius: 0; + } +} + +html[dir='ltr'] { + #auto_refresh_description, + #log_retention_period_help { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; } } @@ -65,19 +65,6 @@ a.icon { padding-left: 10px; } -#auto_refresh_servers, -#log_retention_period { - border-right-width: 0px -} - -#auto_refresh_servers_input, -#log_retention_period_input { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - form.form-signin input[type="text"], form.form-reset input[type="text"] { border-bottom-left-radius: 0; From a8eaedc817f9341dbbada1bb60ee0803889e371e Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Mon, 30 Sep 2019 17:50:20 +0200 Subject: [PATCH 7/8] Fixed undefined index Fixes #787. --- src/psm/Util/Server/Updater/StatusUpdater.php | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/psm/Util/Server/Updater/StatusUpdater.php b/src/psm/Util/Server/Updater/StatusUpdater.php index eca510e1..9588d4aa 100644 --- a/src/psm/Util/Server/Updater/StatusUpdater.php +++ b/src/psm/Util/Server/Updater/StatusUpdater.php @@ -126,7 +126,7 @@ class StatusUpdater { // if the server is on, add the last_online value and reset the error threshold counter $save['status'] = 'on'; $save['last_online'] = date('Y-m-d H:i:s'); - $save['last_output'] = $this->header; + $save['last_output'] = substr($this->header,0,5000); $save['warning_threshold_counter'] = 0; if ($this->server['status'] == 'off') { $online_date = new \DateTime($save['last_online']); @@ -152,15 +152,6 @@ class StatusUpdater { } } } - // PATCH Arkhee: fix/last-online-stuck-on-never-if-webpage-too-large - // Updating table "servers" does not work - // Symptom: "Last online" stays stuck on "never" - // Reason: last_output contains the full webpage, too long for the query - // This may depend on mysql configuration on the server_, explaining why some have the problem or not - // Field is 255 Chars, and request does not work anyway is loaded web page is too large in last_output - // Solution: updated column to text and truncate to 5000 characters or less before the query - $save["last_output"] = substr($save["last_output"],0,5000); - // End PATCH $this->db->save(PSM_DB_PREFIX.'servers', $save, array('server_id' => $this->server_id)); return $this->status_new; From 56587826a3f36c2772e5088a574918951bd44902 Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Mon, 30 Sep 2019 17:59:24 +0200 Subject: [PATCH 8/8] Bumped version to 3.4.5 --- CHANGELOG.rst | 5 +++++ README.rst | 3 +-- docs/conf.py | 2 +- src/includes/psmconfig.inc.php | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6e7eb849..bd10a7d9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,11 @@ Not yet released ---------------- \- +v3.4.5 (released September 30, 2019) +------------------------------------ + +* a8eaedc8: Fixed undefined index last_output. + v3.4.4 (released September 26, 2019) ------------------------------------ diff --git a/README.rst b/README.rst index 6cc52a57..d0a633ee 100755 --- a/README.rst +++ b/README.rst @@ -5,8 +5,7 @@ PHP Server Monitor :alt: Join the chat at https://gitter.im/erickrf/nlpnet :target: https://gitter.im/phpservermon/phpservermon -Version 3.4.4 (Updated design!) - +Version 3.4.5 PHP Server Monitor is a script that checks whether your websites and servers are up and running. It comes with a web based user interface where you can manage your services and websites, diff --git a/docs/conf.py b/docs/conf.py index aee0af61..266839e9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,7 +51,7 @@ copyright = u'2008-2017, Pepijn Over' # built documents. # # The short X.Y version. -version = '3.4.4' +version = '3.4.5' # The full version, including alpha/beta/rc tags. release = version diff --git a/src/includes/psmconfig.inc.php b/src/includes/psmconfig.inc.php index 56cc60ad..3b2830d0 100644 --- a/src/includes/psmconfig.inc.php +++ b/src/includes/psmconfig.inc.php @@ -29,7 +29,7 @@ /** * Current PSM version */ -define('PSM_VERSION', '3.4.4'); +define('PSM_VERSION', '3.4.5'); /** * URL to check for updates. Will not be checked if turned off on config page.