diff --git a/src/lang/bg_BG.lang.php b/src/lang/bg_BG.lang.php
index e9ce602c..6cfb5f80 100644
--- a/src/lang/bg_BG.lang.php
+++ b/src/lang/bg_BG.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Няма налични логове',
+ 'clear' => 'Изчистване на дневника',
+ 'delete_title' => 'Изтриване на дневника',
+ 'delete_message' => 'Наистина ли искате да изтриете всички дневници?',
),
'servers' => array(
'server' => 'Сървър',
diff --git a/src/lang/cs_CZ.lang.php b/src/lang/cs_CZ.lang.php
index ea87e52e..a2f5c007 100644
--- a/src/lang/cs_CZ.lang.php
+++ b/src/lang/cs_CZ.lang.php
@@ -114,6 +114,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Žádné záznamy',
+ 'clear' => 'Jasný protokol',
+ 'delete_title' => 'Odstranit protokol',
+ 'delete_message' => 'Opravdu chcete odstranit protokoly všechny?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/da_DK.lang.php b/src/lang/da_DK.lang.php
index 4e90dd20..15861c76 100644
--- a/src/lang/da_DK.lang.php
+++ b/src/lang/da_DK.lang.php
@@ -111,6 +111,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Intet i loggen',
+ 'clear' => 'Ryd log',
+ 'delete_title' => 'Slet log',
+ 'delete_message' => 'Er du sikker på, at du vil slette alle logfiler?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/de_DE.lang.php b/src/lang/de_DE.lang.php
index 69ec9289..1346c86e 100644
--- a/src/lang/de_DE.lang.php
+++ b/src/lang/de_DE.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Keine Logs vorhanden.',
+ 'clear' => 'Protokoll Logs',
+ 'delete_title' => 'Protokoll Logs',
+ 'delete_message' => 'Bist du sicher, dass du alle logs löschen möchtest?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/en_US.lang.php b/src/lang/en_US.lang.php
index a88b2c71..56b75300 100644
--- a/src/lang/en_US.lang.php
+++ b/src/lang/en_US.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'No logs',
+ 'clear' => 'Clear log',
+ 'delete_title' => 'Delete log',
+ 'delete_message' => 'Are you sure you want to delete all logs?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/es_ES.lang.php b/src/lang/es_ES.lang.php
index e49b74dc..76fed0f4 100644
--- a/src/lang/es_ES.lang.php
+++ b/src/lang/es_ES.lang.php
@@ -114,7 +114,10 @@ $sm_lang = array(
'email' => 'Email',
'sms' => 'SMS',
'pushover' => 'Pushover',
- 'no_logs' => 'No hay registros',
+ 'no_logs' => 'No hay journaux',
+ 'clear' => 'Borrar registro',
+ 'delete_title' => 'Eliminar registro',
+ 'delete_message' => '¿Estás seguro de que quieres eliminar todos los registros?',
),
'servers' => array(
'server' => 'Servidores',
diff --git a/src/lang/et_ET.lang.php b/src/lang/et_ET.lang.php
index 1e4ddc7a..ef6180ff 100644
--- a/src/lang/et_ET.lang.php
+++ b/src/lang/et_ET.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Logisid ei eksisteeri',
+ 'clear' => 'Puhasta logig',
+ 'delete_title' => 'Kustuta logi',
+ 'delete_message' => 'Kas olete kindel, et soovite kustutada kõik logid?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/fa_IR.lang.php b/src/lang/fa_IR.lang.php
index a52c7b09..5819147b 100644
--- a/src/lang/fa_IR.lang.php
+++ b/src/lang/fa_IR.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'پیامک',
'pushover' => 'Pushover',
'no_logs' => 'لاگی وجود ندارد.',
+ 'clear' => 'پاک کردن ورود',
+ 'delete_title' => 'حذف ورود',
+ 'delete_message' => 'آیا مطمئن هستید که میخواهید سیاهههای «همه» را حذف کنید؟',
),
'servers' => array(
'server' => 'سرور',
diff --git a/src/lang/fi_FI.lang.php b/src/lang/fi_FI.lang.php
index c6160abf..7d90e7ec 100644
--- a/src/lang/fi_FI.lang.php
+++ b/src/lang/fi_FI.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'Tekstiviesti',
'pushover' => 'Pushover',
'no_logs' => 'Ei tapahtumia',
+ 'clear' => 'Tyhjennä loki',
+ 'delete_title' => 'Poista loki',
+ 'delete_message' => 'Haluatko varmasti poistaa kaikki lokit?',
),
'servers' => array(
'server' => 'Palvelin',
diff --git a/src/lang/fr_FR.lang.php b/src/lang/fr_FR.lang.php
index a01c4357..c91dcabe 100644
--- a/src/lang/fr_FR.lang.php
+++ b/src/lang/fr_FR.lang.php
@@ -114,6 +114,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Aucun événement',
+ 'clear' => 'Claire registros',
+ 'delete_title' => 'Supprimer journaux',
+ 'delete_message' => 'Êtes-vous sûr de vouloir supprimer tous les journaux?',
),
'servers' => array(
'server' => 'Serveur',
diff --git a/src/lang/it_IT.lang.php b/src/lang/it_IT.lang.php
index 4bb9f766..6f274c33 100644
--- a/src/lang/it_IT.lang.php
+++ b/src/lang/it_IT.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Nessun log',
+ 'clear' => 'Pulisci il registro',
+ 'delete_title' => 'Elimina log',
+ 'delete_message' => 'Sei sicuro di voler eliminare tutti i registri?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/ja_JP.lang.php b/src/lang/ja_JP.lang.php
index d1e7f286..a91e337c 100644
--- a/src/lang/ja_JP.lang.php
+++ b/src/lang/ja_JP.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'プッシュオーバー',
'no_logs' => 'ログがありません',
+ 'clear' => 'ログをクリアする',
+ 'delete_title' => 'ログを削除する',
+ 'delete_message' => 'すべてのログを削除してもよろしいですか?',
),
'servers' => array(
'server' => 'サーバー',
diff --git a/src/lang/ko_KR.lang.php b/src/lang/ko_KR.lang.php
index c394a1d3..f2a6b956 100644
--- a/src/lang/ko_KR.lang.php
+++ b/src/lang/ko_KR.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'sms',
'pushover' => 'Pushover',
'no_logs' => 'No logs',
+ 'clear' => 'Clear log',
+ 'delete_title' => 'Delete log',
+ 'delete_message' => 'Are you sure you want to delete all logs?',
),
'servers' => array(
'server' => '서버',
diff --git a/src/lang/nl_NL.lang.php b/src/lang/nl_NL.lang.php
index cee4977f..5af0392c 100644
--- a/src/lang/nl_NL.lang.php
+++ b/src/lang/nl_NL.lang.php
@@ -112,7 +112,10 @@ $sm_lang = array(
'email' => 'Email',
'sms' => 'SMS',
'pushover' => 'Pushover',
- 'no_logs' => 'No logs',
+ 'no_logs' => 'Geen logs',
+ 'clear' => 'Logboek opschonen',
+ 'delete_title' => 'Logboek opschonen',
+ 'delete_message' => 'Weet je zeker dat je alle logs wilt opschonen?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/pl_PL.lang.php b/src/lang/pl_PL.lang.php
index af11c1d2..57e90e68 100644
--- a/src/lang/pl_PL.lang.php
+++ b/src/lang/pl_PL.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Brak logów',
+ 'clear' => 'Wyczyść log',
+ 'delete_title' => 'Wyczyść log',
+ 'delete_message' => 'Czy na pewno chcesz usunąć wszystkie dzienniki?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/pt_BR.lang.php b/src/lang/pt_BR.lang.php
index addb5c17..dcf36e16 100644
--- a/src/lang/pt_BR.lang.php
+++ b/src/lang/pt_BR.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Sem logs',
+ 'clear' => 'Log clara',
+ 'delete_title' => 'Log clara',
+ 'delete_message' => 'Tem certeza de que deseja excluir todos os logs?',
),
'servers' => array(
'server' => 'Servidor',
diff --git a/src/lang/ru_RU.lang.php b/src/lang/ru_RU.lang.php
index 4ede375e..581f105d 100644
--- a/src/lang/ru_RU.lang.php
+++ b/src/lang/ru_RU.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Записей нет',
+ 'clear' => 'Clear log',
+ 'delete_title' => 'Delete log',
+ 'delete_message' => 'Are you sure you want to delete all logs?',
),
'servers' => array(
'server' => 'Сервер',
diff --git a/src/lang/sk_SK.lang.php b/src/lang/sk_SK.lang.php
index 85d84736..388edc8e 100644
--- a/src/lang/sk_SK.lang.php
+++ b/src/lang/sk_SK.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Žiadne záznamy',
+ 'clear' => 'Jasný protokol',
+ 'delete_title' => 'Jasný protokol',
+ 'delete_message' => 'Naozaj chcete odstrániť všetky záznamy?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/sl_SI.lang.php b/src/lang/sl_SI.lang.php
index 1da4a8cc..a63033ac 100644
--- a/src/lang/sl_SI.lang.php
+++ b/src/lang/sl_SI.lang.php
@@ -111,6 +111,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'ni dnevniških zapisov',
+ 'clear' => 'Počisti dnevnik',
+ 'delete_title' => 'Brisanje dnevnika',
+ 'delete_message' => 'Ali ste prepričani, da želite izbrisati vse dnevnike?',
),
'servers' => array(
'server' => 'Strežnik',
diff --git a/src/lang/sv_SE.lang.php b/src/lang/sv_SE.lang.php
index a824ca0e..a12888ed 100644
--- a/src/lang/sv_SE.lang.php
+++ b/src/lang/sv_SE.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Inga loggar',
+ 'clear' => 'Tydlig logg',
+ 'delete_title' => 'Tydlig logg',
+ 'delete_message' => 'Är du säker på att du vill radera alla loggar?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/tr_TR.lang.php b/src/lang/tr_TR.lang.php
index 28be0022..eff265e1 100644
--- a/src/lang/tr_TR.lang.php
+++ b/src/lang/tr_TR.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Kayıt yok.',
+ 'clear' => 'Günlüğü temizle',
+ 'delete_title' => 'Günlüğü temizle',
+ 'delete_message' => 'Tüm günlükleri silmek istediğinizden emin misiniz?',
),
'servers' => array(
'server' => 'Sunucu',
diff --git a/src/lang/vi_VN.lang.php b/src/lang/vi_VN.lang.php
index b60244a9..92a745d7 100644
--- a/src/lang/vi_VN.lang.php
+++ b/src/lang/vi_VN.lang.php
@@ -111,6 +111,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'No logs',
+ 'clear' => 'Xoá nhật ký',
+ 'delete_title' => 'Xoá nhật ký',
+ 'delete_message' => 'Bạn có chắc chắn muốn xóa tất cả các bản ghi?',
),
'servers' => array(
'server' => 'Server',
diff --git a/src/lang/zh_CN.lang.php b/src/lang/zh_CN.lang.php
index 3aa430e9..1931f8df 100644
--- a/src/lang/zh_CN.lang.php
+++ b/src/lang/zh_CN.lang.php
@@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => '短信',
'pushover' => 'Pushover',
'no_logs' => '没有日志',
+ 'clear' => 'Clear log',
+ 'delete_title' => 'Delete log',
+ 'delete_message' => 'Are you sure you want to delete all logs?',
),
'servers' => array(
'server' => '业务',
diff --git a/src/psm/Module/Server/Controller/LogController.php b/src/psm/Module/Server/Controller/LogController.php
index e3d7db6c..4620fc2e 100644
--- a/src/psm/Module/Server/Controller/LogController.php
+++ b/src/psm/Module/Server/Controller/LogController.php
@@ -36,7 +36,9 @@ class LogController extends AbstractServerController {
function __construct(Database $db, \Twig_Environment $twig) {
parent::__construct($db, $twig);
- $this->setActions('index', 'index');
+ $this->setActions(array(
+ 'index', 'delete',
+ ), 'index');
}
/**
@@ -56,8 +58,19 @@ class LogController extends AbstractServerController {
'label_date' => psm_get_lang('system', 'date'),
'label_users' => ucfirst(psm_get_lang('menu', 'user')),
'label_no_logs' => psm_get_lang('log', 'no_logs'),
+ 'label_clear_log' => psm_get_lang('log', 'clear'),
'tabs' => array(),
);
+
+ if($this->getUser()->getUserLevel() == PSM_USER_ADMIN) {
+ $modal = new \psm\Util\Module\Modal($this->twig, 'delete', \psm\Util\Module\Modal::MODAL_TYPE_DANGER);
+ $this->addModal($modal);
+ $modal->setTitle(psm_get_lang('log', 'delete_title'));
+ $modal->setMessage(psm_get_lang('log', 'delete_message'));
+ $modal->setOKButtonLabel(psm_get_lang('system', 'delete'));
+ $tpl_data['has_admin_actions'] = true;
+ }
+
$log_types = array('status', 'email', 'sms', 'pushover');
foreach($log_types as $key) {
@@ -99,10 +112,26 @@ class LogController extends AbstractServerController {
}
$tab_data['entries'] = $records;
$tpl_data['tabs'][] = $tab_data;
+ $tpl_data['url_delete'] = psm_build_url(array(
+ 'mod' => 'server_log',
+ 'action' => 'delete',
+ ));
}
return $this->twig->render('module/server/log.tpl.html', $tpl_data);
}
+ protected function executeDelete() {
+ /**
+ * Empty table log and log_users.
+ * Only when user is admin.
+ */
+ if($this->getUser()->getUserLevel() == PSM_USER_ADMIN) {
+ $archiver = new \psm\Util\Server\Archiver\LogsArchiver($this->db);
+ $archiver->cleanupall();
+ }
+ return $this->runAction('index');
+ }
+
/**
* Get all the log entries for a specific $type
*
diff --git a/src/psm/Util/Server/Archiver/LogsArchiver.php b/src/psm/Util/Server/Archiver/LogsArchiver.php
index 619d7fa2..78e053d5 100644
--- a/src/psm/Util/Server/Archiver/LogsArchiver.php
+++ b/src/psm/Util/Server/Archiver/LogsArchiver.php
@@ -67,4 +67,13 @@ class LogsArchiver implements ArchiverInterface {
);
return true;
}
-}
\ No newline at end of file
+
+ /**
+ * Empty tables log and log_users
+ */
+ public function cleanupall() {
+ $this->db->delete(PSM_DB_PREFIX . "log");
+ $this->db->delete(PSM_DB_PREFIX . "log_users");
+ return true;
+ }
+}
diff --git a/src/templates/default/module/server/log.tpl.html b/src/templates/default/module/server/log.tpl.html
index c69fbab3..f05400b4 100644
--- a/src/templates/default/module/server/log.tpl.html
+++ b/src/templates/default/module/server/log.tpl.html
@@ -1,3 +1,9 @@
+{% if has_admin_actions %}
+
+ {{ label_clear_log }}
+
+
+{% endif %}