diff options
author | zottel <github@zottel.net> | 2014-10-24 21:17:56 +0200 |
---|---|---|
committer | zottel <github@zottel.net> | 2014-10-24 21:17:56 +0200 |
commit | 5b04b9480e19d756a7cbc8456ffaa09b40a61164 (patch) | |
tree | 814ed4934a16c08cccdf76f186048b461587c6d2 /mod/help.php | |
parent | 38801f802f9fd0eedd68e00ddf6707ace7220eba (diff) | |
download | volse-hubzilla-5b04b9480e19d756a7cbc8456ffaa09b40a61164.tar.gz volse-hubzilla-5b04b9480e19d756a7cbc8456ffaa09b40a61164.tar.bz2 volse-hubzilla-5b04b9480e19d756a7cbc8456ffaa09b40a61164.zip |
make bbcode/html includes work in markdown help pages and vice versa
Diffstat (limited to 'mod/help.php')
-rw-r--r-- | mod/help.php | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/mod/help.php b/mod/help.php index 81ecd6ba9..4823f1c07 100644 --- a/mod/help.php +++ b/mod/help.php @@ -34,8 +34,6 @@ function help_content(&$a) { $doctype = 'markdown'; - require_once('library/markdown.php'); - $text = ''; if(argc() > 1) { @@ -73,17 +71,22 @@ function help_content(&$a) { )); } - $text = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $text); - if($doctype === 'html') $content = $text; - if($doctype === 'markdown') + if($doctype === 'markdown') { + require_once('library/markdown.php'); + # escape #include tags + $text = preg_replace('/#include/ism', '%%include', $text); $content = Markdown($text); + $content = preg_replace('/%%include/ism', '#include', $content); + } if($doctype === 'bbcode') { require_once('include/bbcode.php'); $content = bbcode($text); } + $content = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $content); + return replace_macros(get_markup_template("help.tpl"), array( '$content' => $content )); @@ -93,8 +96,17 @@ function help_content(&$a) { function preg_callback_help_include($matches) { - if($matches[1]) - return str_replace($matches[0],load_doc_file($matches[1]),$matches[0]); + if($matches[1]) { + $include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]); + if(preg_match('/\.bb$/', $matches[1])) { + require_once('include/bbcode.php'); + $include = bbcode($include); + } elseif(preg_match('/\.md$/', $matches[1])) { + require_once('library/markdown.php'); + $include = Markdown($include); + } + return $include; + } } |