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 }