You are here

function webform_scheduler_node_view in Webform Scheduler 7

Implements hook_node_view().

File

./webform_scheduler.module, line 198
This module allows webforms to have a start and end date for their submissions.

Code

function webform_scheduler_node_view($node, $view_mode) {
  if (!in_array($node->type, _webform_scheduler_node_types())) {
    return;
  }
  $settings = _webform_scheduler_webform_scheduler_settings($node->nid);
  if (!isset($node->webform['scheduler'])) {
    $node->webform['scheduler'] = array();
  }
  $node->webform['scheduler']['begin'] = isset($settings['begin']) ? (int) $settings['begin'] : 0;
  $node->webform['scheduler']['end'] = isset($settings['end']) ? (int) $settings['end'] : 0;
  $node->webform['scheduler']['restriction_method'] = isset($settings['restriction_method']) ? (int) $settings['restriction_method'] : 1;
  $node->webform['scheduler']['disabled'] = webform_scheduler_webform_disabled($node);
  $node->webform['scheduler']['msg_before'] = isset($settings['msg_before']) ? $settings['msg_before'] : '';
  $node->webform['scheduler']['msg_after'] = isset($settings['msg_after']) ? $settings['msg_after'] : '';
  if ($node->webform['scheduler']['disabled']) {
    switch ($node->webform['scheduler']['restriction_method']) {
      case 0:
        drupal_access_denied();
        break;
      case 1:
        $node->webform['status'] = 0;
      case 2:

        // @see webform_scheduler_form_webform_client_form_alter()
        if ($node->webform['scheduler']['begin'] > 0 && REQUEST_TIME < $node->webform['scheduler']['begin'] && $node->webform['scheduler']['msg_before'] != '') {
          drupal_set_message(t($node->webform['scheduler']['msg_before']), 'warning');
        }
        elseif ($node->webform['scheduler']['end'] > 0 && REQUEST_TIME > $node->webform['scheduler']['end'] && $node->webform['scheduler']['msg_after'] != '') {
          drupal_set_message(t($node->webform['scheduler']['msg_after']), 'warning');
        }
        break;
    }
  }
}