Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / profiles / demo_umami / demo_umami.profile
diff --git a/web/core/profiles/demo_umami/demo_umami.profile b/web/core/profiles/demo_umami/demo_umami.profile
new file mode 100644 (file)
index 0000000..97ae45d
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * @file
+ * Enables modules and site configuration for a demo_umami site installation.
+ */
+
+use Drupal\contact\Entity\ContactForm;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Implements hook_form_FORM_ID_alter() for install_configure_form().
+ *
+ * Allows the profile to alter the site configuration form.
+ */
+function demo_umami_form_install_configure_form_alter(&$form, FormStateInterface $form_state) {
+  $form['site_information']['site_name']['#default_value'] = 'Umami Food Magazine';
+  $form['#submit'][] = 'demo_umami_form_install_configure_submit';
+}
+
+/**
+ * Submission handler to sync the contact.form.feedback recipient.
+ */
+function demo_umami_form_install_configure_submit($form, FormStateInterface $form_state) {
+  $site_mail = $form_state->getValue('site_mail');
+  ContactForm::load('feedback')->setRecipients([$site_mail])->trustData()->save();
+}
+
+/**
+ * Implements hook_toolbar().
+ */
+function demo_umami_toolbar() {
+  // Add a warning about using an experimental profile.
+  // @todo: This can be removed once a generic warning for experimental profiles has been introduced.
+  // @see https://www.drupal.org/project/drupal/issues/2934374
+  $items['experimental-profile-warning'] = [
+    '#weight' => 999,
+    '#cache' => [
+      'contexts' => ['route'],
+    ],
+  ];
+
+  // Show warning only on administration pages.
+  $admin_context = \Drupal::service('router.admin_context');
+  if ($admin_context->isAdminRoute()) {
+    $items['experimental-profile-warning']['#type'] = 'toolbar_item';
+    $items['experimental-profile-warning']['tab'] = [
+      '#type' => 'inline_template',
+      '#template' => '<a class="toolbar-warning" href="{{ more_info_link }}">This site is intended for demonstration purposes.</a>',
+      '#context' => [
+        'more_info_link' => 'https://www.drupal.org/node/2941833',
+      ],
+      '#attached' => [
+        'library' => ['demo_umami/toolbar-warning'],
+      ],
+    ];
+  }
+  return $items;
+}