aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <mike@macgirvin.com>2016-09-04 00:50:35 -0700
committerredmatrix <mike@macgirvin.com>2016-09-04 00:50:35 -0700
commit5a1887ed176aeab56340d78d3ea834be71f2ca8e (patch)
tree720434fdc1a47b6cb324ce2f4ef922195cab55da
parent0998a108eab34ff8041c3b21589c1a0d36a8ee0a (diff)
downloadvolse-hubzilla-5a1887ed176aeab56340d78d3ea834be71f2ca8e.tar.gz
volse-hubzilla-5a1887ed176aeab56340d78d3ea834be71f2ca8e.tar.bz2
volse-hubzilla-5a1887ed176aeab56340d78d3ea834be71f2ca8e.zip
move doc file parsing and rendering from the module level to the help library so that it can be re-used by widgets
-rw-r--r--Zotlabs/Module/Help.php91
-rw-r--r--include/help.php93
-rw-r--r--include/widgets.php3
3 files changed, 101 insertions, 86 deletions
diff --git a/Zotlabs/Module/Help.php b/Zotlabs/Module/Help.php
index 241354d07..503a66be2 100644
--- a/Zotlabs/Module/Help.php
+++ b/Zotlabs/Module/Help.php
@@ -17,6 +17,7 @@ require_once('include/help.php');
class Help extends \Zotlabs\Web\Controller {
function get() {
+
nav_set_selected('help');
if($_REQUEST['search']) {
@@ -48,75 +49,10 @@ class Help extends \Zotlabs\Web\Controller {
return $o;
}
-
- global $lang;
-
- $doctype = 'markdown';
-
- $text = '';
-
- if(argc() > 1) {
- $path = '';
- for($x = 1; $x < argc(); $x ++) {
- if(strlen($path))
- $path .= '/';
- $path .= argv($x);
- }
- $title = basename($path);
-
- $text = load_doc_file('doc/' . $path . '.md');
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
-
- if(! $text) {
- $text = load_doc_file('doc/' . $path . '.bb');
- if($text)
- $doctype = 'bbcode';
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('_',' ',notags($title)));
- }
- if(! $text) {
- $text = load_doc_file('doc/' . $path . '.html');
- if($text)
- $doctype = 'html';
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
- }
- }
-
- if(! $text) {
- $text = load_doc_file('doc/Site.md');
- \App::$page['title'] = t('Help');
- }
- if(! $text) {
- $doctype = 'bbcode';
- $text = load_doc_file('doc/main.bb');
- \App::$page['title'] = t('Help');
- }
-
- if(! strlen($text)) {
- header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found'));
- $tpl = get_markup_template("404.tpl");
- return replace_macros($tpl, array(
- '$message' => t('Page not found.' )
- ));
- }
-
- if($doctype === 'html')
- $content = $text;
- 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);
- // bbcode retargets external content to new windows. This content is internal.
- $content = str_replace(' target="_blank"','',$content);
- }
-
- $content = preg_replace_callback("/#include (.*?)\;/ism", 'self::preg_callback_help_include', $content);
-
+
+ $content = get_help_content();
+
+
return replace_macros(get_markup_template("help.tpl"), array(
'$title' => t('$Projectname Documentation'),
'$content' => translate_projectname($content)
@@ -125,23 +61,6 @@ class Help extends \Zotlabs\Web\Controller {
}
- private static function preg_callback_help_include($matches) {
-
- if($matches[1]) {
- $include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
- if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
- require_once('include/bbcode.php');
- $include = bbcode($include);
- $include = str_replace(' target="_blank"','',$include);
- }
- elseif(preg_match('/\.md$/', $matches[1])) {
- require_once('library/markdown.php');
- $include = Markdown($include);
- }
- return $include;
- }
-
- }
}
diff --git a/include/help.php b/include/help.php
index 4bcc09670..59f1a2ceb 100644
--- a/include/help.php
+++ b/include/help.php
@@ -1,5 +1,98 @@
<?php
+function get_help_content() {
+
+ global $lang;
+
+ $doctype = 'markdown';
+
+ $text = '';
+
+ if(argc() > 1) {
+ $path = '';
+ for($x = 1; $x < argc(); $x ++) {
+ if(strlen($path))
+ $path .= '/';
+ $path .= argv($x);
+ }
+ $title = basename($path);
+
+ $text = load_doc_file('doc/' . $path . '.md');
+ \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
+
+ if(! $text) {
+ $text = load_doc_file('doc/' . $path . '.bb');
+ if($text)
+ $doctype = 'bbcode';
+ \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('_',' ',notags($title)));
+ }
+ if(! $text) {
+ $text = load_doc_file('doc/' . $path . '.html');
+ if($text)
+ $doctype = 'html';
+ \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
+ }
+ }
+
+ if(! $text) {
+ $text = load_doc_file('doc/Site.md');
+ \App::$page['title'] = t('Help');
+ }
+ if(! $text) {
+ $doctype = 'bbcode';
+ $text = load_doc_file('doc/main.bb');
+ \App::$page['title'] = t('Help');
+ }
+
+ if(! strlen($text)) {
+ header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found'));
+ $tpl = get_markup_template("404.tpl");
+ return replace_macros($tpl, array(
+ '$message' => t('Page not found.' )
+ ));
+ }
+
+ if($doctype === 'html')
+ $content = $text;
+ 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);
+ // bbcode retargets external content to new windows. This content is internal.
+ $content = str_replace(' target="_blank"','',$content);
+ }
+
+ $content = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $content);
+ return $content;
+
+}
+
+function preg_callback_help_include($matches) {
+
+ if($matches[1]) {
+ $include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
+ if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
+ require_once('include/bbcode.php');
+ $include = bbcode($include);
+ $include = str_replace(' target="_blank"','',$include);
+ }
+ elseif(preg_match('/\.md$/', $matches[1])) {
+ require_once('library/markdown.php');
+ $include = Markdown($include);
+ }
+ return $include;
+ }
+
+}
+
+
+
function load_doc_file($s) {
$lang = \App::$language;
if(! isset($lang))
diff --git a/include/widgets.php b/include/widgets.php
index c57cbd749..412afe980 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -1492,6 +1492,9 @@ function widget_tasklist($arr) {
function widget_helpindex($arr) {
+
+
+
$o .= '<div class="widget">' . '<h3>' . t('Documentation') . '</h3>';
$o .= '<ul class="nav nav-pills nav-stacked">';
$o .= '<li><a href="help/general">' . t('Project/Site Information') . '</a></li>';