Clear log button - closes #383 (#505)

* Added button to clear the logs

Only admins can clear the logs. The content from the log and log_users table will
be deleted.
This commit is contained in:
Tim 2018-02-25 18:51:17 +01:00 committed by Timz99
parent a97539998d
commit b0fee68f6e
No known key found for this signature in database
GPG Key ID: 4D8268DC68E8339D
26 changed files with 118 additions and 5 deletions

View File

@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'Pushover',
'no_logs' => 'Няма налични логове',
'clear' => 'Изчистване на дневника',
'delete_title' => 'Изтриване на дневника',
'delete_message' => 'Наистина ли искате да изтриете <b>всички</b> дневници?',
),
'servers' => array(
'server' => 'Сървър',

View File

@ -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 <b>všechny</b>?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>alle</b> logfiler?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>alle</b> logs löschen möchtest?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>all</b> logs?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>todos</b> los registros?',
),
'servers' => array(
'server' => 'Servidores',

View File

@ -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 <b>kõik</b> logid?',
),
'servers' => array(
'server' => 'Server',

View File

@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'پیامک',
'pushover' => 'Pushover',
'no_logs' => 'لاگی وجود ندارد.',
'clear' => 'پاک کردن ورود',
'delete_title' => 'حذف ورود',
'delete_message' => 'آیا مطمئن هستید که میخواهید سیاهههای «همه» را حذف کنید؟',
),
'servers' => array(
'server' => 'سرور',

View File

@ -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 <b>kaikki</b> lokit?',
),
'servers' => array(
'server' => 'Palvelin',

View File

@ -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 <b>tous</b> les journaux?',
),
'servers' => array(
'server' => 'Serveur',

View File

@ -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 <b>tutti</b> i registri?',
),
'servers' => array(
'server' => 'Server',

View File

@ -113,6 +113,9 @@ $sm_lang = array(
'sms' => 'SMS',
'pushover' => 'プッシュオーバー',
'no_logs' => 'ログがありません',
'clear' => 'ログをクリアする',
'delete_title' => 'ログを削除する',
'delete_message' => 'すべてのログを削除してもよろしいですか?',
),
'servers' => array(
'server' => 'サーバー',

View File

@ -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 <b>all</b> logs?',
),
'servers' => array(
'server' => '서버',

View File

@ -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 <b>alle</b> logs wilt opschonen?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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ąć <b>wszystkie</b> dzienniki?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>todos</b> os logs?',
),
'servers' => array(
'server' => 'Servidor',

View File

@ -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 <b>all</b> logs?',
),
'servers' => array(
'server' => 'Сервер',

View File

@ -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ť <b>všetky</b> záznamy?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>vse</b> dnevnike?',
),
'servers' => array(
'server' => 'Strežnik',

View File

@ -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 <b>alla</b> loggar?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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',

View File

@ -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 <b>tất</b> cả các bản ghi?',
),
'servers' => array(
'server' => 'Server',

View File

@ -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 <b>all</b> logs?',
),
'servers' => array(
'server' => '业务',

View File

@ -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
*

View File

@ -67,4 +67,13 @@ class LogsArchiver implements ArchiverInterface {
);
return true;
}
}
/**
* 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;
}
}

View File

@ -1,3 +1,9 @@
{% if has_admin_actions %}
<a class="btn btn-danger show-modal" href="{{ url_delete|raw }}" title="Delete" data-modal-id="delete" data-modal-param="{{ label }}">
<i class="icon-trash icon-white"></i>&nbsp;{{ label_clear_log }}
</a>
<br><br>
{% endif %}
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#log_status_content" data-toggle="tab">{{ label_status }}</a></li>
@ -57,4 +63,4 @@
</div>
{% endfor %}
</div>
</div>
</div>