webform_submission_log.module in Webform 6.x
Same filename and directory in other branches
Dedicated logging for webform submissions.
File
modules/webform_submission_log/webform_submission_log.moduleView source
<?php
/**
* @file
* Dedicated logging for webform submissions.
*/
use Drupal\webform\WebformInterface;
use Drupal\webform\WebformSubmissionInterface;
/**
* Implements hook_webform_help_info().
*/
function webform_submission_log_webform_help_info() {
$help = [];
$help['submissions_log'] = [
'group' => 'submissions',
'title' => t('Submissions: Log'),
'content' => t('The <strong>Submissions log</strong> page tracks all submission events for all webforms that have submission logging enabled. Submission logging can be enabled globally or on a per webform basis.'),
'routes' => [
// @see /admin/structure/webform/results/log
'entity.webform_submission.collection_log',
],
];
$help['submission_log'] = [
'group' => 'submission',
'title' => t('Submission: Log'),
'content' => t("The <strong>Log</strong> page shows all events and transactions for a submission."),
'video_id' => 'submission',
'routes' => [
// @see /admin/structure/webform/manage/{webform}/submission/{webform_submission}/log
'entity.webform_submission.log',
// @see /node/{node}/webform/submission/{webform_submission}/log
'entity.node.webform_submission.log',
],
];
$help['results_log'] = [
'group' => 'submissions',
'title' => t('Results: Log'),
'content' => t('The <strong>Results Log</strong> lists all webform submission events for the current webform.'),
'routes' => [
// @see /admin/structure/webform/manage/{webform}/results/log
'entity.webform.results_log',
],
];
$help['webform_node_results_log'] = [
'group' => 'webform_nodes',
'title' => t('Webform Node: Results: Log'),
'content' => t('The <strong>Results Log</strong> lists all webform submission events for the current webform.'),
'routes' => [
// @see /node/{node}/webform/results/log
'entity.node.webform.results_log',
],
];
return $help;
}
/**
* Implements hook_local_tasks_alter().
*/
function webform_submission_log_local_tasks_alter(&$local_tasks) {
// Remove webform node log if the webform_node.module is not installed.
if (!\Drupal::moduleHandler()
->moduleExists('webform_node')) {
unset($local_tasks['entity.node.webform.results_log'], $local_tasks['entity.node.webform_submission.log']);
}
}
/**
* Implements hook_webform_delete().
*/
function webform_submission_log_webform_delete(WebformInterface $webform) {
\Drupal::database()
->delete('webform_submission_log')
->condition('webform_id', $webform
->id())
->execute();
}
/**
* Implements hook_webform_submission_delete().
*/
function webform_submission_log_webform_submission_delete(WebformSubmissionInterface $webform_submission) {
\Drupal::database()
->delete('webform_submission_log')
->condition('sid', $webform_submission
->id())
->execute();
}
Functions
Name | Description |
---|---|
webform_submission_log_local_tasks_alter | Implements hook_local_tasks_alter(). |
webform_submission_log_webform_delete | Implements hook_webform_delete(). |
webform_submission_log_webform_help_info | Implements hook_webform_help_info(). |
webform_submission_log_webform_submission_delete | Implements hook_webform_submission_delete(). |