group-8.x-1.x-dev/group.module

group.module
<?php

/**
 * @file
 * Allows you to group users, content and other entities.
 */

use Drupal\Core\Database\Query\AlterableInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Hook\Attribute\LegacyHook;
use Drupal\Core\Hook\Attribute\LegacyModuleImplementsAlter;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\group\Hook\CoreHooks;
use Drupal\group\Hook\EntityHooks;
use Drupal\group\Hook\FieldHooks;
use Drupal\group\Hook\FormHooks;
use Drupal\group\Hook\QueryHooks;
use Drupal\group\Hook\ThemeHooks;
use Drupal\group\Hook\UserHooks;
use Drupal\views\Plugin\views\query\QueryPluginBase;
use Drupal\views\ViewExecutable;

/**
 * Implements hook_help().
 */
#[LegacyHook]
function group_help($route_name, RouteMatchInterface $route_match) {
  return \Drupal::service(CoreHooks::class)->help($route_name, $route_match);
}

/**
 * Implements hook_element_info_alter().
 */
#[LegacyHook]
function group_element_info_alter(array &$types) {
  \Drupal::service(ThemeHooks::class)->elementInfoAlter($types);
}

/**
 * Implements hook_entity_bundle_info().
 */
#[LegacyHook]
function group_entity_bundle_info() {
  return \Drupal::service(EntityHooks::class)->entityBundleInfo();
}

/**
 * Implements hook_config_translation_info_alter().
 */
#[LegacyHook]
function group_config_translation_info_alter(&$info) {
  \Drupal::service(CoreHooks::class)->configTranslationInfoAlter($info);
}

/**
 * Implements hook_field_widget_info_alter().
 */
#[LegacyHook]
function group_field_widget_info_alter(array &$info) {
  \Drupal::service(FieldHooks::class)->fieldWidgetInfoAlter($info);
}

/**
 * Implements hook_field_formatter_info_alter().
 */
#[LegacyHook]
function group_field_formatter_info_alter(array &$info) {
  \Drupal::service(FieldHooks::class)->fieldFormatterInfoAlter($info);
}

/**
 * Implements hook_theme().
 */
#[LegacyHook]
function group_theme() {
  return \Drupal::service(ThemeHooks::class)->theme();
}

/**
 * Implements hook_theme_suggestions_HOOK().
 */
#[LegacyHook]
function group_theme_suggestions_group(array $variables) {
  return \Drupal::service(ThemeHooks::class)->themeSuggestionsGroup($variables);
}

/**
 * Implements hook_theme_suggestions_HOOK().
 */
#[LegacyHook]
function group_theme_suggestions_group_content(array $variables) {
  return \Drupal::service(ThemeHooks::class)->themeSuggestionsGroupRelationship($variables);
}

/**
 * Prepares variables for the group template.
 *
 * Default template: group.html.twig.
 *
 * @param array $variables
 *   - elements: An array of elements to display in view mode.
 *   - group: The group object.
 *   - view_mode: View mode; e.g., 'full', 'teaser', etc.
 */
#[LegacyHook]
function template_preprocess_group(&$variables) {
  \Drupal::service(ThemeHooks::class)->preprocessGroup($variables);
}

/**
 * Prepares variables for the group relationship template.
 *
 * Default template: group-content.html.twig.
 *
 * @param array $variables
 *   - elements: An array of elements to display in view mode.
 *   - group_content: The group relationship object.
 *   - view_mode: View mode; e.g., 'full', 'teaser', etc.
 */
#[LegacyHook]
function template_preprocess_group_content(&$variables) {
  \Drupal::service(ThemeHooks::class)->preprocessGroupRelationship($variables);
}

/**
 * Implements hook_rebuild().
 */
#[LegacyHook]
function group_rebuild() {
  \Drupal::service(CoreHooks::class)->rebuild();
}

/**
 * Implements hook_modules_installed().
 */
#[LegacyHook]
function group_modules_installed($modules, $sync_status) {
  \Drupal::service(CoreHooks::class)->modulesInstalled($modules, $sync_status);
}

/**
 * Implements hook_form_FORM_ID_alter().
 */
#[LegacyHook]
function group_form_block_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  \Drupal::service(FormHooks::class)->formBlockFormAlter($form, $form_state, $form_id);
}

/**
 * Implements hook_module_implements_alter().
 */
#[LegacyModuleImplementsAlter]
function group_module_implements_alter(&$implementations, $hook) {
  // Make sure our query alters happen at the very last moment.
  if (in_array($hook, ['query_entity_query_alter', 'views_query_alter'], TRUE)) {
    // Move hook to the end of the list.
    $group = $implementations['group'];
    unset($implementations['group']);
    $implementations['group'] = $group;
  }
}

/**
 * Implements hook_query_TAG_alter().
 */
#[LegacyHook]
function group_query_entity_query_alter(AlterableInterface $query) {
  \Drupal::service(QueryHooks::class)->entityQueryAlter($query);
}

/**
 * Implements hook_query_TAG_alter().
 */
#[LegacyHook]
function group_query_views_entity_query_alter(AlterableInterface $query) {
  \Drupal::service(QueryHooks::class)->viewsEntityQueryAlter($query);
}

/**
 * Implements hook_views_query_alter().
 */
#[LegacyHook]
function group_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  \Drupal::service(QueryHooks::class)->viewsQueryAlter($view, $query);
}

/**
 * Implements hook_entity_access().
 */
#[LegacyHook]
function group_entity_access(EntityInterface $entity, $operation, AccountInterface $account) {
  return \Drupal::service(EntityHooks::class)->entityAccess($entity, $operation, $account);
}

/**
 * Implements hook_entity_delete().
 */
#[LegacyHook]
function group_entity_delete(EntityInterface $entity) {
  \Drupal::service(EntityHooks::class)->entityDelete($entity);
}

/**
 * Implements hook_entity_field_access().
 *
 * {@inheritdoc}
 *
 * @todo Move this to a form controller so we can hide the field if it has no
 *       options available to it?
 */
#[LegacyHook]
function group_entity_field_access($operation, FieldDefinitionInterface $field_definition, AccountInterface $account, ?FieldItemListInterface $items = NULL) {
  return \Drupal::service(EntityHooks::class)->entityFieldAccess($operation, $field_definition, $account, $items);
}

/**
 * Implements hook_user_cancel_methods_alter().
 */
#[LegacyHook]
function group_user_cancel_methods_alter(&$methods) {
  \Drupal::service(UserHooks::class)->userCancelMethodsAlter($methods);
}

/**
 * Implements hook_user_cancel().
 */
#[LegacyHook]
function group_user_cancel($edit, $account, $method) {
  \Drupal::service(UserHooks::class)->userCancel($edit, $account, $method);
}

/**
 * Implements hook_ENTITY_TYPE_update().
 */
#[LegacyHook]
function group_user_update(AccountInterface $account) {
  \Drupal::service(UserHooks::class)->userUpdate($account);
}

/**
 * Implements hook_ENTITY_TYPE_delete().
 */
#[LegacyHook]
function group_user_delete(EntityInterface $account) {
  \Drupal::service(UserHooks::class)->userDelete($account);
}

/**
 * Implements hook_form_alter().
 */
#[LegacyHook]
function group_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  \Drupal::service(FormHooks::class)->formAlter($form, $form_state, $form_id);
}

/**
 * Gets the group relation type manager.
 *
 * @return \Drupal\group\Plugin\Group\Relation\GroupRelationTypeManagerInterface
 *   The group relation type manager.
 *
 * @internal Try to properly inject the service when possible.
 */
function _group_relation_type_manager() {
  return \Drupal::service('group_relation_type.manager');
}

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

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