diff --git a/install/dist/conf/centos72.conf.php b/install/dist/conf/centos72.conf.php index 221cc5d7c40cbaf72a014f61bdb2bb2947f646e8..8bb2ca5239875b47d37a36a7ca940517f8091b57 100644 --- a/install/dist/conf/centos72.conf.php +++ b/install/dist/conf/centos72.conf.php @@ -96,6 +96,9 @@ $conf['web']['apps_vhost_servername'] = ''; $conf['web']['apps_vhost_user'] = 'ispapps'; $conf['web']['apps_vhost_group'] = 'ispapps'; +//* AWStats settings +$conf['awstats']['pl'] = '/usr/share/awstats/wwwroot/cgi-bin/awstats.pl'; + //* Fastcgi $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/'; $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; diff --git a/install/dist/conf/centos80.conf.php b/install/dist/conf/centos80.conf.php index 04257d4dfece9aab36e1b2506431a7f5a934df7c..0411fb9ce5e95238cf29c0cf1afb374cd5458209 100644 --- a/install/dist/conf/centos80.conf.php +++ b/install/dist/conf/centos80.conf.php @@ -96,6 +96,9 @@ $conf['web']['apps_vhost_servername'] = ''; $conf['web']['apps_vhost_user'] = 'ispapps'; $conf['web']['apps_vhost_group'] = 'ispapps'; +//* AWStats settings +$conf['awstats']['pl'] = '/usr/share/awstats/wwwroot/cgi-bin/awstats.pl'; + //* Fastcgi $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/'; $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php index d5dcfd1fe4d6fe66785fd7f4f4e05c191de2321e..a69d43da2ec1a079c0d4aefe906684f389d4ffa4 100644 --- a/interface/lib/classes/auth.inc.php +++ b/interface/lib/classes/auth.inc.php @@ -58,7 +58,7 @@ class auth { $userid = $app->functions->intval($userid); $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = ? AND sys_user.client_id = client.client_id", $userid); - if($client['limit_client'] != 0) { + if(is_array($client) && $client['limit_client'] != 0) { return true; } else { return false; diff --git a/interface/lib/lang/ar.lng b/interface/lib/lang/ar.lng index 1d577862b7e31e4808ba94f3cf7a93c96d05e924..2763f8e82b62ca71763dcba6434898d7eb1f1fac 100644 --- a/interface/lib/lang/ar.lng +++ b/interface/lib/lang/ar.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/bg.lng b/interface/lib/lang/bg.lng index 36a7f7081fe33a2274068e0d37b4e8370090be42..94dfaa8ad19b9f45499558418abcb46ea7cb49de 100644 --- a/interface/lib/lang/bg.lng +++ b/interface/lib/lang/bg.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Създай автоматична задача'; $wb['datalog_status_u_cron'] = 'Обнови автоматична задача'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Изтрий автоматична задача'; $wb['datalog_status_i_mail_get'] = 'Създай имейл акаунт за извличане на поща'; $wb['datalog_status_u_mail_get'] = 'Обнови имейл акаунт за извличане на поща'; diff --git a/interface/lib/lang/br.lng b/interface/lib/lang/br.lng index a236cd5f810364c0ee2cbe85057181e96bb21e4c..92507a6a7c1e0a6f5b57545b4a434346a3d6e7d0 100644 --- a/interface/lib/lang/br.lng +++ b/interface/lib/lang/br.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Adicionar tarefa no cron'; $wb['datalog_status_u_cron'] = 'Atualizar tarefa no cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Remover tarefa no cron'; $wb['datalog_status_i_mail_get'] = 'Adicionar conta de busca de e-mail'; $wb['datalog_status_u_mail_get'] = 'Atualizar conta de busca de e-mail'; diff --git a/interface/lib/lang/ca.lng b/interface/lib/lang/ca.lng index 123748fd0d574035b8aeaa9439098d21be6d0697..c57185fd108c8efb9df79f46b0b1acd786b73844 100644 --- a/interface/lib/lang/ca.lng +++ b/interface/lib/lang/ca.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Créer une tâche cron'; $wb['datalog_status_u_cron'] = 'Modifier une tâche cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Supprimer une tâche cron'; $wb['datalog_status_i_mail_get'] = 'Créer un compte mail récupérateur'; $wb['datalog_status_u_mail_get'] = 'Modifier un compte mail récupérateur'; diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng index 28e76397b451beae87db22b126b2da6cb9dd70bd..a3c2fe440c478c7d3755e3bd27231de1a4aa6787 100644 --- a/interface/lib/lang/cz.lng +++ b/interface/lib/lang/cz.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'VytvoÅ™enà shell uživatele'; $wb['datalog_status_u_cron'] = 'Aktualizace nastavenà shell uživatele'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'OdstranÄ›nà shell uživatele'; $wb['datalog_status_i_mail_get'] = 'VytvoÅ™enà úÄtu pro zÃskávánà externà e-mailové poÅ¡ty'; $wb['datalog_status_u_mail_get'] = 'Aktualizace nastavenà úÄtu pro zÃskávánà externà e-mailové poÅ¡ty'; diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng index 22c33380fedb3e9f91f656e86a3f9250c29f2693..11a5e21a5d2ef0f62e26d18627c4b0cab444da93 100644 --- a/interface/lib/lang/de.lng +++ b/interface/lib/lang/de.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Cronjob anlegen'; $wb['datalog_status_u_cron'] = 'Cronjob ändern'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Cronjob löschen'; $wb['datalog_status_i_mail_get'] = 'E-Mailabruf anlegen'; $wb['datalog_status_u_mail_get'] = 'E-Mailabruf ändern'; diff --git a/interface/lib/lang/dk.lng b/interface/lib/lang/dk.lng index 0ffea486c2eb3b9d1576e875ba8f316e097f0a6c..9d09f1dc8dd97691652d4f1353d2fc9ae9490300 100644 --- a/interface/lib/lang/dk.lng +++ b/interface/lib/lang/dk.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Opret cron job'; $wb['datalog_status_u_cron'] = 'Opdater cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Slet cron job'; $wb['datalog_status_i_mail_get'] = 'Opret mail-hentnings konto'; $wb['datalog_status_u_mail_get'] = 'Opdater mail-hentnings konto'; diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng index b0c6507e2765acad0d95e75a5c097927f71a2b01..31829d5f937f3b5effcfc0a26974a8298a82cf70 100644 --- a/interface/lib/lang/el.lng +++ b/interface/lib/lang/el.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng index 904e7e30e4571143152051a6dfe9c62f90f46820..dbffc95b8c9bdcb6a821b6038fa40c72ee35131b 100644 --- a/interface/lib/lang/en.lng +++ b/interface/lib/lang/en.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng index 5af12b6dddae3b6ee3085d03839847fbcf60f4de..3a421e7af51352f0c7e1be5b2e8d1bc0b7e6a301 100644 --- a/interface/lib/lang/es.lng +++ b/interface/lib/lang/es.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Añadir cron job'; $wb['datalog_status_u_cron'] = 'Actualizar cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Borrar cron job'; $wb['datalog_status_i_mail_get'] = 'Añadir cuenta de rescatador de correo'; $wb['datalog_status_u_mail_get'] = 'Actualizar cuenta de rescatador de correo'; diff --git a/interface/lib/lang/fi.lng b/interface/lib/lang/fi.lng index c399b497f221a6840616c56449cee4aec226c08d..f6648e88c6bcc0a07ca3e187f6bf3aea32ce780a 100644 --- a/interface/lib/lang/fi.lng +++ b/interface/lib/lang/fi.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng index 8017f43742f6a346a6e8f30e0b5b3a0ac53edf91..15e8294e0c91aa97a15e19774432a0464a8a5d2c 100644 --- a/interface/lib/lang/fr.lng +++ b/interface/lib/lang/fr.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Créer une tâche cron'; $wb['datalog_status_u_cron'] = 'Modifier une tâche cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Supprimer une tâche cron'; $wb['datalog_status_i_mail_get'] = 'Créer un compte mail récupérateur'; $wb['datalog_status_u_mail_get'] = 'Modifier un compte mail récupérateur'; diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng index 52d78a6b946d613a900657b43e794f454744b7dc..fdb09cbff53d220195ae9b313dba6aea71c86aad 100644 --- a/interface/lib/lang/hr.lng +++ b/interface/lib/lang/hr.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Kreiraj cron zadatak'; $wb['datalog_status_u_cron'] = 'Podesi cron zadatak'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'ObriÅ¡i cron zadatak'; $wb['datalog_status_i_mail_get'] = 'Kreiraj mail fetcher raÄun'; $wb['datalog_status_u_mail_get'] = 'Podesi mail fetcher raÄun'; diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng index 3893db11742bfe402d42aee21873080d3f96e6fe..8e65d4c97416c77f9964c24afc0d0bbd5e96f3dd 100644 --- a/interface/lib/lang/hu.lng +++ b/interface/lib/lang/hu.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng index 42e95be1fc57909910fd6874b378c03415a78feb..693ca49015657476fd703df309c8a45f8dd2cd4c 100644 --- a/interface/lib/lang/id.lng +++ b/interface/lib/lang/id.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng index 1924c2a1d3086177310793b24ddbf3658ab9d5fc..1333cc907f541947ec262ecedf708e01985281a0 100644 --- a/interface/lib/lang/it.lng +++ b/interface/lib/lang/it.lng @@ -118,6 +118,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Crea cron job'; $wb['datalog_status_u_cron'] = 'Aggiorna cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Elimina cron job'; $wb['datalog_status_i_mail_mailinglist'] = 'Crea mailing list'; $wb['datalog_status_u_mail_mailinglist'] = 'Aggiorna mailing list'; diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng index 6cd1393ba3066111e1c2541ba1b8dc57fbe7b356..2d24f9a1f70ab5bbdbebd7d53927546ffd52153c 100644 --- a/interface/lib/lang/ja.lng +++ b/interface/lib/lang/ja.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng index 5335efa2e6824eee7ce797b172927290f03d6bcd..3af436ca485348404bc1c3bde176ac4356b9246f 100644 --- a/interface/lib/lang/nl.lng +++ b/interface/lib/lang/nl.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Aanmaken cron job'; $wb['datalog_status_u_cron'] = 'Bijwerken cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Verwijderen cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng index b790794b5bcbdff12a594dcf701a90e24f60fe5b..4a1cd0384e1c8b5f2042bfc954630fc97ec43a1b 100644 --- a/interface/lib/lang/pl.lng +++ b/interface/lib/lang/pl.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Utwórz zadanie Cron'; $wb['datalog_status_u_cron'] = 'Edytuj zadanie Cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'UsuÅ„ zadanie Cron'; $wb['datalog_status_i_mail_get'] = 'Utwórz konto mail fetcher'; $wb['datalog_status_u_mail_get'] = 'Edytuj konto mail fetcher'; diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng index c95845032967440fff491fc63c624bd74f389884..86d4442c42d2f31eb4d6d83359ce2a30db1cc9af 100644 --- a/interface/lib/lang/pt.lng +++ b/interface/lib/lang/pt.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng index 6cc88b6c4da728c23d1e1615edabe0851a933fdf..4f032832eb92c4b26c261892e3ca6a1268a42e79 100644 --- a/interface/lib/lang/ro.lng +++ b/interface/lib/lang/ro.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng index f886c4168abda7f8afb908df1a23de1ef7e6c830..2d18c9f628a418d3e3232819798e0ff14d0364ca 100644 --- a/interface/lib/lang/ru.lng +++ b/interface/lib/lang/ru.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Создать задание Пданировщика задач'; $wb['datalog_status_u_cron'] = 'Обновить задание Пданировщика задач'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Удалить задание Пданировщика задач'; $wb['datalog_status_i_mail_get'] = 'Создать аккаунт Ñборщика почты'; $wb['datalog_status_u_mail_get'] = 'Обновить аккаунт Ñборщика почты'; diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng index d134ce898b7901f298861c6d2b4a106fa971c9a1..5e8b3c7123a96af9a3e5697bbc3855cea19bc668 100644 --- a/interface/lib/lang/se.lng +++ b/interface/lib/lang/se.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Skapa cron-jobb'; $wb['datalog_status_u_cron'] = 'Uppdatera cron-jobb'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Radera cron-jobb'; $wb['datalog_status_i_mail_get'] = 'Skapa eposthämtarkonto'; $wb['datalog_status_u_mail_get'] = 'Uppdatera eposthämtarkonto'; diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng index 232a383d9740dce33f75cf65fdcc798db2c7f7eb..cab3ea1f8f9b8017ca6b92747e5eb5ef062e5640 100644 --- a/interface/lib/lang/sk.lng +++ b/interface/lib/lang/sk.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng index c87cb26af6fb788748925f87412d60dc8d068a17..041c8d71030e856a9e93ba18bb90a145eb4bfbdc 100644 --- a/interface/lib/lang/tr.lng +++ b/interface/lib/lang/tr.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Zamanlanmış Görev Ekle'; $wb['datalog_status_u_cron'] = 'Zamanlanmış Görevi Güncelle'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Zamanlanmış Görevi Sil'; $wb['datalog_status_i_mail_get'] = 'E-posta Alma Hesabı Ekle'; $wb['datalog_status_u_mail_get'] = 'E-posta Alma Hesabını Güncelle'; diff --git a/interface/web/client/templates/clients_list.htm b/interface/web/client/templates/clients_list.htm index 2ffd7dfa78acd49aa24bc82b8d2fe38fdfcdef38..21ad0c7bc95ece94c56fe97a579246cd1a073777 100644 --- a/interface/web/client/templates/clients_list.htm +++ b/interface/web/client/templates/clients_list.htm @@ -5,12 +5,12 @@ <p class="fieldset-legend">{tmpl_var name="toolsarea_head_txt"}</p> - + <button class="btn btn-default formbutton-success" type="button" data-load-content="client/client_edit.php">{tmpl_var name="add_new_record_txt"}</button> - - - + + + <p class="fieldset-legend"><tmpl_var name="list_head_txt"></p> <div class="table-wrapper marginTop15"> <table class="table"> @@ -74,13 +74,13 @@ </tmpl_loop> <tmpl_unless name="records"> <tr class="tbl_row_noresults tbl_row_{tmpl_if name='__EVEN__'}even{tmpl_else}uneven{/tmpl_if}"> - <td colspan="{tmpl_if name="has_robot"}9{tmpl_else}8{/tmpl_if}">{tmpl_var name='globalsearch_noresults_text_txt'}</td> + <td colspan="{tmpl_if name="has_robot"}10{tmpl_else}9{/tmpl_if}">{tmpl_var name='globalsearch_noresults_text_txt'}</td> </tr> </tmpl_unless> </tbody> <tfoot> <tr> - <td colspan="{tmpl_if name="has_robot"}9{tmpl_else}8{/tmpl_if}"><tmpl_var name="paging"></td> + <td colspan="{tmpl_if name="has_robot"}10{tmpl_else}9{/tmpl_if}"><tmpl_var name="paging"></td> </tr> </tfoot> </table> diff --git a/interface/web/sites/templates/database_admin_list.htm b/interface/web/sites/templates/database_admin_list.htm index 724027ca910193620e7cb03aa49b565780eb15f9..08c4447fabf59f8a8b4f0f2fd98493ee703d2502 100644 --- a/interface/web/sites/templates/database_admin_list.htm +++ b/interface/web/sites/templates/database_admin_list.htm @@ -4,12 +4,12 @@ <p class="fieldset-legend">{tmpl_var name="toolsarea_head_txt"}</p> - + <button class="btn btn-default formbutton-success" type="button" data-load-content="sites/database_edit.php">{tmpl_var name="add_new_record_txt"}</button> - - - + + + <p class="fieldset-legend"><tmpl_var name="list_head_txt"></p> <div class="table-wrapper marginTop15"> <table class="table"> @@ -67,7 +67,7 @@ </tmpl_loop> <tmpl_unless name="records"> <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>"> - <td colspan="9">{tmpl_var name='globalsearch_noresults_text_txt'}</td> + <td colspan="8">{tmpl_var name='globalsearch_noresults_text_txt'}</td> </tr> </tmpl_unless> </tbody> diff --git a/interface/web/sites/templates/database_user_admin_list.htm b/interface/web/sites/templates/database_user_admin_list.htm index 0b7eb1be098ccf09cd3583234d4aaca3f4698af7..821dc13abee01389b6fff18b8ad38c45e2b9af2e 100644 --- a/interface/web/sites/templates/database_user_admin_list.htm +++ b/interface/web/sites/templates/database_user_admin_list.htm @@ -5,12 +5,12 @@ <p class="fieldset-legend">{tmpl_var name="toolsarea_head_txt"}</p> - + <button class="btn btn-default formbutton-success" type="button" data-load-content="sites/database_user_edit.php">{tmpl_var name="add_new_record_txt"}</button> - - - + + + <p class="fieldset-legend"><tmpl_var name="list_head_txt"></p> <div class="table-wrapper marginTop15"> <table class="table"> @@ -22,7 +22,7 @@ </tr> <tr> <td><input class="form-control" type="text" name="search_database_user" value="{tmpl_var name='search_database_user'}"/></td> - <td><select class="form-control" name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td> + <td><select class="form-control" name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td> <td class="text-right"><button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" data-submit-form="pageForm" data-form-action="sites/database_user_list.php"><span class="icon icon-filter"></span></button></td> </tr> </thead> @@ -30,7 +30,7 @@ <tmpl_loop name="records"> <tr> <td><a href="#" data-load-content="sites/database_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database_user"}</a></td> - <td><a href="#" data-load-content="sites/database_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="sys_groupid"}</a></td> + <td><a href="#" data-load-content="sites/database_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="sys_groupid"}</a></td> <td class="text-right"> <a class="btn btn-default formbutton-default formbutton-narrow" data-load-content="sites/database_user_edit.php?id={tmpl_var name='id'}"><span class="icon icon-edit"></span></a> <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('sites/database_user_del.php?id={tmpl_var name='id'}&_csrf_id={tmpl_var name='csrf_id'}&_csrf_key={tmpl_var name='csrf_key'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a> @@ -39,16 +39,14 @@ </tmpl_loop> <tmpl_unless name="records"> <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>"> - <td colspan="2">{tmpl_var name='globalsearch_noresults_text_txt'}</td> + <td colspan="3">{tmpl_var name='globalsearch_noresults_text_txt'}</td> </tr> </tmpl_unless> </tbody> <tfoot> <tr> - <td colspan="2"><tmpl_var name="paging"></td> + <td colspan="3"><tmpl_var name="paging"></td> </tr> </tfoot> </table> </div> - - \ No newline at end of file diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index 32afb9943ccdc5fdbfc9f1f2f618db6e046beae0..45eb9d213f458db283523c53633e233c7d2eeec4 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -1031,6 +1031,61 @@ class system{ } } + function remove_recursive_symlinks($path, $chroot_basedir='', $recursive=false) { + global $app; + + if ($path != '/') { + $path = rtrim($path, '/'); + } + if (strlen($chroot_basedir) > 0) { + if (!is_dir($chroot_basedir)) { + $app->log("remove_recursive_symlink: invalid chroot basedir: $chroot_basedir", LOGLEVEL_DEBUG); + return false; + } + if (!(substr($path, 0, strlen($chroot_basedir)) === $chroot_basedir)) { + $app->log("remove_recursive_symlink: path $path is not below chroot basedir $chroot_basedir", LOGLEVEL_DEBUG); + return false; + } + if ($chroot_basedir != '/') { + $chroot_basedir = rtrim($chroot_basedir, '/'); + } + } + if (is_dir($path)) { + $objects = array_diff(scandir($path), array('.', '..')); + foreach ($objects as $object) { + if (is_dir("$path/$object") && $recursive) { + $this->remove_recursive_symlinks("$path/$object", $chroot_basedir, $recursive); + } elseif (is_link("$path/$object")) { + $realpath = realpath("$path/$object"); + if (strlen($chroot_basedir) > 0 ) { + $root_path = substr("$path/$object", strlen($chroot_basedir)); + if ($root_path && $realpath == $root_path) { + $app->log("removing recursive symlink $path/$object", LOGLEVEL_DEBUG); + unlink ("$path/$object"); + } + } + if ($realpath = "" || $realpath == "$path/$object") { + $app->log("removing recursive symlink $path/$object", LOGLEVEL_DEBUG); + unlink ("$path/$object"); + } + } + } + } elseif (is_link("$path")) { + $realpath = realpath($path); + if (strlen($chroot_basedir) > 0 ) { + $root_path = substr($path, strlen($chroot_basedir)); + if ($root_path && $realpath == $root_path) { + $app->log("removing recursive symlink $path", LOGLEVEL_DEBUG); + unlink ($path); + } + } + if ($realpath = "" || $realpath == $path) { + $app->log("removing recursive symlink $path", LOGLEVEL_DEBUG); + unlink ($path); + } + } + } + function checkpath($path) { $path = trim($path); //* We allow only absolute paths @@ -2485,6 +2540,7 @@ $app->log("update_jailkit_chroot called for $home_dir with options ".print_r($op } $this->remove_broken_symlinks($jail_dir, true); + $this->remove_recursive_symlinks($jail_dir, $home_dir, true); // save list of hardlinked files if (!(in_array('hardlink', $opts) || in_array('allow_hardlink', $options))) { @@ -2531,18 +2587,22 @@ $app->log('jk_update returned: '.print_r($this->_last_exec_out, true), LOGLEVEL_ foreach ($this->_last_exec_out as $line) { # jk_update sample output: # skip /var/www/clients/client1/web1/opt/ - if (substr( $line, 0, 4 ) === "skip") { + # removing outdated file /var/www/clients/client15/web19/usr/bin/host + # removing deprecated directory /var/www/clients/client15/web19/usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.3 + # Creating symlink /var/www/clients/client15/web19/lib/x86_64-linux-gnu/libicudata.so.65 to libicudata.so.65.1 + # Copying /usr/bin/mysql to /var/www/clients/client15/web19/usr/bin/mysql + if (preg_match('@^(skip|removing (outdated|deprecated)|Creating|Copying)@', $line)) { continue; } # jk_update sample output: # ERROR: failed to remove deprecated directory /var/www/clients/client1/web10/usr/lib/x86_64-linux-gnu/libGeoIP.so.1.6.9 - if (preg_match('@^(?:[^ ]+){6}(?:.+)('.preg_quote($home_dir, '@').'.+)@', $line, $matches)) { + if (preg_match('@^(?:[^ ]+ ){6}(?:.+)('.preg_quote($home_dir, '@').'.+)@', $line, $matches)) { # remove deprecated files that jk_update failed to remove - if (is_file($matches[1])) { + if (is_file($matches[1]) || is_link($matches[1])) { $app->log("update_jailkit_chroot: removing deprecated file which jk_update failed to remove: ".$matches[1], LOGLEVEL_DEBUG); unlink($matches[1]); - } elseif (is_dir($matches[1])) { + } elseif (is_dir($matches[1]) && !is_link($matches[1])) { $app->log("update_jailkit_chroot: removing deprecated directory which jk_update failed to remove: ".$matches[1], LOGLEVEL_DEBUG); $this->rmdir($matches[1], true); } else {