cforge-2.0.x-dev/modules/cforge_events/cforge_events.module

modules/cforge_events/cforge_events.module
<?php

/**
 * @file
 * Hooks for cforge_events.
 */

use Drupal\Core\Access\AccessResult;

/**
 * Implements hook_node_access().
 *
 * Use the node's anonaccess flag to determine anon access to a given event.
 */
function cforge_events_node_access($node, $op, $account) {
  if ($node->getEntityTypeId() == 'event' && $op == 'view') {
    // Or $account->hasPermission('administer nodes').
    if ($account->isAnonymous() && !cforge_node_get_publiconly($node->id())) {
      return AccessResult::forbidden()->cachePerPermissions();
    }
  }
  return AccessResult::neutral();
}

/**
 * Implements hook_form_FORM_ID_alter().
 * @note when https://www.drupal.org/project/drupal/issues/2836054 drops we'll do this a different way.
 */
function cforge_events_form_node_event_form_alter(&$form, $form_state) {
  if ($form['date']['widget'][0]['value']['#type'] == 'datelist') {
    $form['date']['widget'][0]['value']['#date_year_range'] = '2023:2024';
    $form['date']['widget'][0]['value']['#date_date_callbacks'][] = ['\Drupal\cforge\Secure', 'dateAfterNow'];
  }
  elseif ($form['date']['widget'][0]['value']['#type'] == 'datetime') {
    $form['date']['widget'][0]['value']['#attributes']['min'] = date('Y-m-d');
    $form['date']['widget'][0]['value']['#attributes']['max'] = date('Y-m-d', strtotime('+1 year'));
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc