posthog-1.0.0-alpha5/modules/posthog_cookies/posthog_cookies.module

modules/posthog_cookies/posthog_cookies.module
<?php

/**
 * @file
 * Contains posthog_cookies.module.
 */

use Drupal\Component\Utility\Html;
use Drupal\Core\Routing\RouteMatchInterface;

/**
 * Implements hook_help().
 */
function posthog_cookies_help($route_name, RouteMatchInterface $route_match) {
  switch ($route_name) {
    case 'help.page.posthog_cookies':
      $text = file_get_contents(__DIR__ . '/README.md');
      if (!\Drupal::moduleHandler()->moduleExists('markdown')) {
        return '<pre>' . Html::escape($text) . '</pre>';
      }
      else {
        // Use the Markdown filter to render the README.
        $filter_manager = \Drupal::service('plugin.manager.filter');
        $settings = \Drupal::configFactory()->get('markdown.settings')->getRawData();
        $config = ['settings' => $settings];
        $filter = $filter_manager->createInstance('markdown', $config);
        return $filter->process($text, 'en');
      }
  }
  return NULL;
}

/**
 * Implements hook_page_attachments().
 */
function posthog_cookies_page_attachments(&$page) {
  $doKo = Drupal::service('cookies.knock_out')->doKnockOut();
  if ($doKo) {
    $page["#attached"]["library"][] = 'posthog_cookies/posthog_cookies';
  }
}

/**
 * Implements hook_page_attachments_alter().
 */
function posthog_cookies_page_attachments_alter(array &$attachments) {
  $doKo = Drupal::service('cookies.knock_out')->doKnockOut();
  if ($doKo) {
    if (isset($attachments['#attached']['drupalSettings']['posthog_js'])) {
      $initJson = $attachments['#attached']['drupalSettings']['posthog_js']['init_config_json'] ?? [];
      $initJson['cookieless_mode'] = 'on_reject';
      $attachments['#attached']['drupalSettings']['posthog_js']['init_config_json'] = $initJson;
    }
  }
}

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

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