diff --git a/modules/simplenews_demo/config/install/block.block.simplenewssubscription.yml b/modules/simplenews_demo/config/install/block.block.simplenewssubscription.yml new file mode 100644 index 0000000..7cb6b25 --- /dev/null +++ b/modules/simplenews_demo/config/install/block.block.simplenewssubscription.yml @@ -0,0 +1,44 @@ +langcode: en +status: true +dependencies: + module: + - node + - simplenews + - system + - user + theme: + - bartik +id: simplenewssubscription +theme: bartik +region: sidebar_first +weight: null +provider: null +plugin: simplenews_subscription_block +settings: + id: simplenews_subscription_block + label: 'Simplenews subscription' + provider: simplenews + label_display: visible + cache: + max_age: 0 + contexts: { } + newsletters: + demo: demo + message: 'Stay informed - subscribe to our newsletter.' +visibility: + node_type: + id: node_type + bundles: + simplenews_issue: simplenews_issue + negate: false + context_mapping: + node: node.node + user_role: + id: user_role + roles: + anonymous: anonymous + authenticated: authenticated + administrator: administrator + negate: false + context_mapping: + user: user.current_user diff --git a/modules/simplenews_demo/config/install/simplenews.newsletter.demo.yml b/modules/simplenews_demo/config/install/simplenews.newsletter.demo.yml new file mode 100644 index 0000000..b0263af --- /dev/null +++ b/modules/simplenews_demo/config/install/simplenews.newsletter.demo.yml @@ -0,0 +1,16 @@ +id: demo +name: 'Demo newsletter' +description: 'This is the demo newsletter.' +format: plain +priority: 0 +receipt: 0 +from_name: '' +subject: '[[simplenews-newsletter:name]] [node:title]' +from_address: 'replace@example.org' +hyperlinks: 1 +new_account: none +opt_inout: double +weight: 0 +status: true +langcode: en +dependencies: { } diff --git a/modules/simplenews_demo/simplenews_demo.info.yml b/modules/simplenews_demo/simplenews_demo.info.yml new file mode 100644 index 0000000..818c8d0 --- /dev/null +++ b/modules/simplenews_demo/simplenews_demo.info.yml @@ -0,0 +1,8 @@ +description: Demo module for simplenews. +core: 8.x +dependencies: + - simplenews +hidden: false +name: Simplenews demo +package: Simplenews +type: module diff --git a/modules/simplenews_demo/simplenews_demo.install b/modules/simplenews_demo/simplenews_demo.install new file mode 100644 index 0000000..44ffbfa --- /dev/null +++ b/modules/simplenews_demo/simplenews_demo.install @@ -0,0 +1,54 @@ +get('mail'); + $site_name = \Drupal::config('system.site')->get('name'); + + $config = $config = \Drupal::configFactory()->getEditable('simplenews.settings'); + if (empty($site_mail)) { + $site_mail = ini_get('sendmail_from'); + } + $config->set('newsletter.from_address', $site_mail); + + if (empty($site_name)) { + $site_name = 'Drupal'; + } + $config->set('newsletter.from_name', $site_name); + $config->save(); + + user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('subscribe to newsletters')); + user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('subscribe to newsletters')); + + // Init the demo newsletter. + $newsletter = Newsletter::load('demo'); + $newsletter->from_name = $site_name; + $newsletter->from_address = $site_mail; + $newsletter->save(); + + // Create a newsletter issue + $node = Node::create(array( + 'type' => 'simplenews_issue', + 'title' => 'Demo newsletter issue', + 'uid' => 0, + 'status' => 1, + 'simplenews_issue' => 'demo', + )); + $node->save(); + // Create two subscribers. + simplenews_subscribe('a@a.com', 'demo', FALSE); + simplenews_subscribe('b@b.com', 'demo', FALSE); +}