From 0df179fc1ff6abbbb03201aaa30a64c5bb966def Mon Sep 17 00:00:00 2001
From: Richard <richard@greenacorn.com.au>
Date: Tue, 12 Jan 2016 17:31:25 +1000
Subject: [PATCH] Fix for insert_block

---
 modules/insert_block/insert_block.module           |  5 +-
 .../Plugin/Filter/FilterInsertBlock.php            | 59 ---------------------
 .../src/Plugin/Filter/FilterInsertBlock.php        | 60 ++++++++++++++++++++++
 3 files changed, 63 insertions(+), 61 deletions(-)
 delete mode 100644 modules/insert_block/lib/Drupal/insert_block/Plugin/Filter/FilterInsertBlock.php
 create mode 100644 modules/insert_block/src/Plugin/Filter/FilterInsertBlock.php

diff --git a/modules/insert_block/insert_block.module b/modules/insert_block/insert_block.module
index 8403ae4..955f38e 100644
--- a/modules/insert_block/insert_block.module
+++ b/modules/insert_block/insert_block.module
@@ -17,6 +17,7 @@
  */
 
 use Drupal\filter\Plugin\FilterInterface;
+use Drupal\filter\FilterProcessResult;
 
 /**
  * Implements of hook_help().
@@ -45,9 +46,9 @@ function _insert_block($text, FilterInterface $filter) {
 
       $repl[] = drupal_render($replacement);
     }
-    return str_replace($raw_tags, $repl, $text);
+    $text = str_replace($raw_tags, $repl, $text);
   }
 
-  return $text;
+  return new FilterProcessResult($text);
 }
 
diff --git a/modules/insert_block/lib/Drupal/insert_block/Plugin/Filter/FilterInsertBlock.php b/modules/insert_block/lib/Drupal/insert_block/Plugin/Filter/FilterInsertBlock.php
deleted file mode 100644
index 4770095..0000000
--- a/modules/insert_block/lib/Drupal/insert_block/Plugin/Filter/FilterInsertBlock.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Drupal\insert_block\Plugin\Filter;
-
-use Drupal\filter\Plugin\FilterBase;
-
-/**
- * Class FilterInsertBlock
- *
- * Inserts blocks into the content
- *
- * @package Drupal\insert_block\Plugin\Filter
- *
- * @Filter(
- *   id = "filter_insert_block",
- *   title = @Translation("Insert blocks"),
- *   description = @Translation("Inserts the contents of a block into a node using [block:module=delta] tags."),
- *   type = Drupal\filter\Plugin\FilterInterface::TYPE_MARKUP_LANGUAGE,
- *   settings = {
- *     "check_roles" = TRUE
- *   }
- * )
- */
-class FilterInsertBlock extends FilterBase {
-  /**
-   * {@inheritdoc}
-   */
-  public function settingsForm(array $form, array &$form_state) {
-    $form['check_roles'] = array(
-      '#type' => 'checkbox',
-      '#title' => $this->t('Check roles permissions.'),
-      '#default_value' => $this->settings['check_roles'],
-      '#description' => $this->t('If user does not have permissions to view block it will be hidden.'),
-    );
-    return $form;
-  }
-
-
-  /**
-   * {@inheritdoc}
-   */
-  public function process($text, $langcode, $cache, $cache_id) {
-    return _insert_block($text, $this);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function tips($long = FALSE) {
-    if ($long) {
-      return t('<a name="filter-insert_block"></a>You may use [block:<em>block_entity_id</em>] tags to display the contents of block. To discover block entity id, visit admin/structure/block and hover over a block\'s configure link and look in your browser\'s status bar. The last "word" you see is the block ID.');
-    }
-    else {
-      return t('You may use <a href="@insert_block_help">[block:<em>block_entity_id</em>] tags</a> to display the contents of block.',
-        array("@insert_block_help" => url("filter/tips/filter_insert_block", array('fragment' => 'filter-insert_block'))));
-    }
-  }
-
-}
\ No newline at end of file
diff --git a/modules/insert_block/src/Plugin/Filter/FilterInsertBlock.php b/modules/insert_block/src/Plugin/Filter/FilterInsertBlock.php
new file mode 100644
index 0000000..70886cc
--- /dev/null
+++ b/modules/insert_block/src/Plugin/Filter/FilterInsertBlock.php
@@ -0,0 +1,60 @@
+<?php
+
+namespace Drupal\insert_block\Plugin\Filter;
+
+use Drupal\filter\Plugin\FilterBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Class FilterInsertBlock
+ *
+ * Inserts blocks into the content
+ *
+ * @package Drupal\insert_block\Plugin\Filter
+ *
+ * @Filter(
+ *   id = "filter_insert_block",
+ *   title = @Translation("Insert blocks"),
+ *   description = @Translation("Inserts the contents of a block into a node using [block:module=delta] tags."),
+ *   type = Drupal\filter\Plugin\FilterInterface::TYPE_MARKUP_LANGUAGE,
+ *   settings = {
+ *     "check_roles" = TRUE
+ *   }
+ * )
+ */
+class FilterInsertBlock extends FilterBase {
+  /**
+   * {@inheritdoc}
+   */
+  public function settingsForm(array $form, FormStateInterface $form_state) {
+    $form['check_roles'] = array(
+      '#type' => 'checkbox',
+      '#title' => $this->t('Check roles permissions.'),
+      '#default_value' => $this->settings['check_roles'],
+      '#description' => $this->t('If user does not have permissions to view block it will be hidden.'),
+    );
+    return $form;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function process($text, $langcode) {
+    return _insert_block($text, $this);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function tips($long = FALSE) {
+    if ($long) {
+      return t('<a name="filter-insert_block"></a>You may use [block:<em>block_entity_id</em>] tags to display the contents of block. To discover block entity id, visit admin/structure/block and hover over a block\'s configure link and look in your browser\'s status bar. The last "word" you see is the block ID.');
+    }
+    else {
+      return t('You may use <a href="@insert_block_help">[block:<em>block_entity_id</em>] tags</a> to display the contents of block.',
+        array("@insert_block_help" => url("filter/tips/filter_insert_block", array('fragment' => 'filter-insert_block'))));
+    }
+  }
+
+}
\ No newline at end of file
-- 
2.1.1.1.g1fb337f

