summaryrefslogtreecommitdiff
path: root/modules/dblog/dblog.admin.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/dblog/dblog.admin.inc')
-rw-r--r--modules/dblog/dblog.admin.inc32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/dblog/dblog.admin.inc b/modules/dblog/dblog.admin.inc
index a3ea500fc..0f575b305 100644
--- a/modules/dblog/dblog.admin.inc
+++ b/modules/dblog/dblog.admin.inc
@@ -52,6 +52,7 @@ function dblog_overview() {
);
$output = drupal_get_form('dblog_filter_form');
+ $output .= drupal_get_form('dblog_clear_log_form');
$header = array(
' ',
@@ -328,3 +329,34 @@ function dblog_filter_form_submit($form, &$form_state) {
}
return 'admin/reports/dblog';
}
+
+/**
+ * Return form for dblog clear button.
+ *
+ * @ingroup forms
+ * @see dblog_clear_log_submit()
+ */
+function dblog_clear_log_form() {
+ $form['dblog_clear'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Clear log messages'),
+ '#description' => t('This will permanently remove the log messages from the database.'),
+ '#collapsible' => TRUE,
+ '#collapsed' => TRUE,
+ );
+ $form['dblog_clear']['clear'] = array(
+ '#type' => 'submit',
+ '#value' => t('Clear log messages'),
+ '#submit' => array('dblog_clear_log_submit'),
+ );
+
+ return $form;
+}
+
+/**
+ * Submit callback: clear database with log messages.
+ */
+function dblog_clear_log_submit(&$form_state, $form) {
+ db_delete('watchdog')->execute();
+ drupal_set_message(t('Database log cleared.'));
+}