turnstile

Drupal paywall plugin
Log | Files | Refs | README | LICENSE

taler_turnstile.install (1247B)


      1 <?php
      2 
      3 /**
      4  * @file
      5  * Install, update and uninstall functions for the Turnstile module.
      6  */
      7 
      8 use Drupal\field\Entity\FieldStorageConfig;
      9 use Drupal\field\Entity\FieldConfig;
     10 use Drupal\Core\Entity\Entity\EntityFormDisplay;
     11 use Drupal\Core\Entity\Entity\EntityViewDisplay;
     12 use Drupal\taler_turnstile\TurnstileFieldManager;
     13 
     14 /**
     15  * Implements hook_install().
     16  */
     17 function taler_turnstile_install() {
     18   $config = \Drupal::config('taler_turnstile.settings');
     19   $enabled_types = $config->get('enabled_content_types') ?: ['article'];
     20 
     21   /** @var TurnstileFieldManager $field_manager */
     22   $field_manager = \Drupal::service('taler_turnstile.field_manager');
     23   $field_manager->addFieldsToContentTypes($enabled_types);
     24 }
     25 
     26 /**
     27  * Implements hook_uninstall().
     28  */
     29 function taler_turnstile_uninstall() {
     30   /** @var TurnstileFieldManager $field_manager */
     31   $field_manager = \Drupal::service('taler_turnstile.field_manager');
     32 
     33   $config = \Drupal::config('taler_turnstile.settings');
     34   $enabled_types = $config->get('enabled_content_types') ?: [];
     35   if (!empty($enabled_types)) {
     36     $field_manager->removeFieldsFromContentTypes($enabled_types);
     37   }
     38 
     39   // Clean up configuration.
     40   \Drupal::configFactory()->getEditable('taler_turnstile.settings')->delete();
     41 }