|
@@ -1,4 +1,5 @@
|
|
<?php
|
|
<?php
|
|
|
|
+use Drupal\redis_logger\Form\Overview;
|
|
use Redis\Logger\Reader;
|
|
use Redis\Logger\Reader;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -6,49 +7,34 @@ use Redis\Logger\Reader;
|
|
* Administrative controllers for the Redis Logger module.
|
|
* Administrative controllers for the Redis Logger module.
|
|
*/
|
|
*/
|
|
|
|
|
|
-function redis_logger_form_overview($form, $form_state) {
|
|
|
|
|
|
+function redis_logger_form_overview($form, &$form_state) {
|
|
$redis = Redis_Client::getClient();
|
|
$redis = Redis_Client::getClient();
|
|
$reader = new Reader($redis);
|
|
$reader = new Reader($redis);
|
|
- $severity_levels = $reader->getSettings()->getSeverityLevels();
|
|
|
|
-
|
|
|
|
- $base_form = $form;
|
|
|
|
- $form['redis_logger_filter_form'] = _redis_logger_filter_form($base_form, $reader);
|
|
|
|
- $form['redis_logger_clear_log_form'] = _redis_logger_clear_log_form($base_form);
|
|
|
|
|
|
+ $overview = new Overview($reader);
|
|
|
|
+ $form = $overview->build($form, $form_state);
|
|
|
|
+ return $form;
|
|
|
|
+}
|
|
|
|
|
|
- $header = array(
|
|
|
|
- t('Type'),
|
|
|
|
- t('Level'),
|
|
|
|
- t('Message template'),
|
|
|
|
- t('Occurrences'),
|
|
|
|
- );
|
|
|
|
|
|
+function redis_logger_form_overview_submit($form, &$form_state) {
|
|
|
|
+ dsm('Submitting overview');
|
|
|
|
+}
|
|
|
|
|
|
- $templates = $reader->getTemplates();
|
|
|
|
- dsm($templates);
|
|
|
|
- $regex = $reader->getSettings()->getSplittingRegex();
|
|
|
|
- $rows = array();
|
|
|
|
- foreach ($templates as $template) {
|
|
|
|
- preg_match($regex, $template, $matches);
|
|
|
|
- list(, $channel, $severity, $template) = $matches;
|
|
|
|
- $occurrences = l(t('Occurrences'), 'admin/reports/redis/logger/' . $template);
|
|
|
|
- $rows[] = array(
|
|
|
|
- $channel,
|
|
|
|
- $severity_levels[$severity],
|
|
|
|
- $template,
|
|
|
|
- $occurrences,
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
|
|
+function redis_logger_form_overview_validate($form, &$form_state) {
|
|
|
|
+ dsm('Validating overview');
|
|
|
|
+}
|
|
|
|
|
|
- $form['redis_logger_table'] = array(
|
|
|
|
- '#theme' => 'table',
|
|
|
|
- '#header' => $header,
|
|
|
|
- '#rows' => $rows,
|
|
|
|
- '#attributes' => array('id' => 'admin-dblog'),
|
|
|
|
- '#empty' => t('No log messages available.'),
|
|
|
|
- );
|
|
|
|
- $build['dblog_pager'] = array('#theme' => 'pager');
|
|
|
|
|
|
+function redis_logger_clear_log_submit($form, &$form_state) {
|
|
|
|
+ dsm('Submitted clear');
|
|
|
|
+}
|
|
|
|
|
|
|
|
+function redis_logger_filter_submit($form, &$form_state) {
|
|
|
|
+ $overview = new Overview($form_state['reader']);
|
|
|
|
+ $overview->submitFilter($form, $form_state);
|
|
|
|
+}
|
|
|
|
|
|
- return $form;
|
|
|
|
|
|
+function redis_logger_filter_reset_submit($form, &$form_state) {
|
|
|
|
+ $overview = new Overview($form_state['reader']);
|
|
|
|
+ $overview->submitFilterReset($form, $form_state);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -61,99 +47,3 @@ function redis_logger_form_overview($form, $form_state) {
|
|
function redis_logger_page_event($template) {
|
|
function redis_logger_page_event($template) {
|
|
return check_plain($template);
|
|
return check_plain($template);
|
|
}
|
|
}
|
|
-
|
|
|
|
-/**
|
|
|
|
- * Form constructor for the form that clears out the log.
|
|
|
|
- *
|
|
|
|
- * TODO implement.
|
|
|
|
- *
|
|
|
|
- * @see dblog_clear_log_submit()
|
|
|
|
- * @ingroup forms
|
|
|
|
- */
|
|
|
|
-function _redis_logger_clear_log_form($form) {
|
|
|
|
- $form['redis_logger_clear'] = array(
|
|
|
|
- '#type' => 'fieldset',
|
|
|
|
- '#title' => t('Clear log messages'),
|
|
|
|
- '#description' => t('NOT IMPLEMENTED YET. This will permanently remove the log messages from the Redis store.'),
|
|
|
|
- '#collapsible' => TRUE,
|
|
|
|
- '#collapsed' => TRUE,
|
|
|
|
- );
|
|
|
|
- $form['redis_logger_clear']['clear'] = array(
|
|
|
|
- '#type' => 'submit',
|
|
|
|
- '#value' => t('Clear log messages'),
|
|
|
|
- '#submit' => array('redis_logger_clear_log_submit'),
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- return $form;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * Helper for the Redis logger filter form builder.
|
|
|
|
- *
|
|
|
|
- * @param \Redis\Logger\Reader $reader
|
|
|
|
- *
|
|
|
|
- * @return array
|
|
|
|
- */
|
|
|
|
-function _redis_logger_filters(Reader $reader) {
|
|
|
|
- $filters = array();
|
|
|
|
-
|
|
|
|
- $filters['type'] = array(
|
|
|
|
- 'title' => t('Type'),
|
|
|
|
- 'options' => $reader->getChannels(),
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- $filters['severity'] = array(
|
|
|
|
- 'title' => t('Severity'),
|
|
|
|
- 'options' => $reader->getSettings()->getSeverityLevels(),
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- return $filters;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * Build the filter form. Shares session status with DBLog.
|
|
|
|
- *
|
|
|
|
- * @param array $form
|
|
|
|
- * @param \Redis\Logger\Reader $reader
|
|
|
|
- *
|
|
|
|
- * @return mixed
|
|
|
|
- */
|
|
|
|
-function _redis_logger_filter_form($form, Reader $reader) {
|
|
|
|
- $filters = _redis_logger_filters($reader);
|
|
|
|
-
|
|
|
|
- $form['filters'] = array(
|
|
|
|
- '#type' => 'fieldset',
|
|
|
|
- '#title' => t('Filter log messages'),
|
|
|
|
- '#collapsible' => TRUE,
|
|
|
|
- '#collapsed' => empty($_SESSION['dblog_overview_filter']),
|
|
|
|
- );
|
|
|
|
- foreach ($filters as $key => $filter) {
|
|
|
|
- $form['filters']['status'][$key] = array(
|
|
|
|
- '#title' => $filter['title'],
|
|
|
|
- '#type' => 'select',
|
|
|
|
- '#multiple' => TRUE,
|
|
|
|
- '#size' => 8,
|
|
|
|
- '#options' => $filter['options'],
|
|
|
|
- );
|
|
|
|
- if (!empty($_SESSION['dblog_overview_filter'][$key])) {
|
|
|
|
- $form['filters']['status'][$key]['#default_value'] = $_SESSION['dblog_overview_filter'][$key];
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- $form['filters']['actions'] = array(
|
|
|
|
- '#type' => 'actions',
|
|
|
|
- '#attributes' => array('class' => array('container-inline')),
|
|
|
|
- );
|
|
|
|
- $form['filters']['actions']['submit'] = array(
|
|
|
|
- '#type' => 'submit',
|
|
|
|
- '#value' => t('Filter'),
|
|
|
|
- );
|
|
|
|
- if (!empty($_SESSION['dblog_overview_filter'])) {
|
|
|
|
- $form['filters']['actions']['reset'] = array(
|
|
|
|
- '#type' => 'submit',
|
|
|
|
- '#value' => t('Reset')
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- return $form;
|
|
|
|
-
|
|
|
|
-}
|
|
|