From bad4ea6e65a45ac2523a9a7c2ec624ad2535b652 Mon Sep 17 00:00:00 2001
From: "M.Dent" <dentm42@dm42.net>
Date: Wed, 10 Oct 2018 22:46:00 -0400
Subject: Add wiki_preprocess hook and documentation

---
 Zotlabs/Lib/NativeWikiPage.php |  2 +-
 Zotlabs/Module/Wiki.php        |  4 ++++
 doc/hook/wiki_preprocess.bb    | 11 +++++++++++
 doc/hooklist.bb                |  3 +++
 4 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 doc/hook/wiki_preprocess.bb

diff --git a/Zotlabs/Lib/NativeWikiPage.php b/Zotlabs/Lib/NativeWikiPage.php
index 8d21fac5e..dddd26af3 100644
--- a/Zotlabs/Lib/NativeWikiPage.php
+++ b/Zotlabs/Lib/NativeWikiPage.php
@@ -619,7 +619,7 @@ class NativeWikiPage {
 			$s = str_replace('[observer.webname]', '', $s);
 			$s = str_replace('[observer.photo]', '', $s);
 		}
-	
+
 		return $s;
 	}
 	
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php
index 25823da62..05d6e85cd 100644
--- a/Zotlabs/Module/Wiki.php
+++ b/Zotlabs/Module/Wiki.php
@@ -331,6 +331,10 @@ class Wiki extends Controller {
 				        $sampleContent = t('New page');
 
 				    $content = (($p['content'] == '') ? $sampleContent : $p['content']);
+
+				    $hookinfo = ['content' => $content, 'mimetype' => $mimeType];
+				    call_hooks('wiki_preprocess',$hookinfo);
+				    $content = $hookinfo['content'];
     
 				    // Render the Markdown-formatted page content in HTML
 				    if($mimeType == 'text/bbcode') {
diff --git a/doc/hook/wiki_preprocess.bb b/doc/hook/wiki_preprocess.bb
new file mode 100644
index 000000000..913b601ba
--- /dev/null
+++ b/doc/hook/wiki_preprocess.bb
@@ -0,0 +1,11 @@
+[h3]wiki_preprocess[/h3]
+        
+Called before markdown/bbcode processors are run for wiki pages
+
+Passed parameter array:
+
+	'content' => wiki page content
+	'mimetype'   => page mimetype
+
+
+see: Zotlabs/Module/Wiki.php
diff --git a/doc/hooklist.bb b/doc/hooklist.bb
index d493e4feb..d104df380 100644
--- a/doc/hooklist.bb
+++ b/doc/hooklist.bb
@@ -625,6 +625,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
 [zrl=[baseurl]/help/hook/well_known]well_known[/zrl]
 	Called when accessing the '.well-known' special site addresses
 
+[zrl=[baseurl]/help/hook/wiki_preprocess]wiki_preprocess[/zrl]
+	Called before markdown/bbcode processors are run for wiki pages
+
 [zrl=[baseurl]/help/hook/zot_best_algorithm]zot_best_algorithm[/zrl]
 	Called when negotiating crypto algorithms with remote sites
 
-- 
cgit v1.2.3