diff options
author | redmatrix <mike@macgirvin.com> | 2016-09-04 18:35:06 -0700 |
---|---|---|
committer | redmatrix <mike@macgirvin.com> | 2016-09-04 18:35:06 -0700 |
commit | ecb44ad57238d6bc617a54a9a2586b8d9fa386e0 (patch) | |
tree | ae88d341e4a7936df0e1692b85c2d77abb26669e | |
parent | a3171cd4291603b0cb0d706d660084d1d4d392d3 (diff) | |
download | volse-hubzilla-ecb44ad57238d6bc617a54a9a2586b8d9fa386e0.tar.gz volse-hubzilla-ecb44ad57238d6bc617a54a9a2586b8d9fa386e0.tar.bz2 volse-hubzilla-ecb44ad57238d6bc617a54a9a2586b8d9fa386e0.zip |
sidebar table of contents for help hierarchies; note that these should probably be html due to extraneous linefeeds you might find in bbcode or markdown
-rw-r--r-- | Zotlabs/Module/Help.php | 2 | ||||
-rw-r--r-- | doc/diaspora_compat.bb | 2 | ||||
-rw-r--r-- | include/help.php | 51 | ||||
-rw-r--r-- | include/widgets.php | 36 |
4 files changed, 60 insertions, 31 deletions
diff --git a/Zotlabs/Module/Help.php b/Zotlabs/Module/Help.php index 503a66be2..54d4aecfb 100644 --- a/Zotlabs/Module/Help.php +++ b/Zotlabs/Module/Help.php @@ -55,7 +55,7 @@ class Help extends \Zotlabs\Web\Controller { return replace_macros(get_markup_template("help.tpl"), array( '$title' => t('$Projectname Documentation'), - '$content' => translate_projectname($content) + '$content' => $content )); } diff --git a/doc/diaspora_compat.bb b/doc/diaspora_compat.bb index be4572e86..f27a63b9d 100644 --- a/doc/diaspora_compat.bb +++ b/doc/diaspora_compat.bb @@ -1,4 +1,4 @@ -[h3]Diaspora Compatibility[h3] +[h3]Diaspora Compatibility[/h3] The Diaspora Protocol addon allows a site to communicate using the Diaspora protocol, which allows communications and connections to be made with Diaspora members (and also Friendica members, since that network also provides the Diaspora Protocol). diff --git a/include/help.php b/include/help.php index 59f1a2ceb..5538fbc1e 100644 --- a/include/help.php +++ b/include/help.php @@ -1,6 +1,6 @@ <?php -function get_help_content() { +function get_help_content($tocpath = false) { global $lang; @@ -8,48 +8,54 @@ function get_help_content() { $text = ''; - if(argc() > 1) { + $path = (($tocpath !== false) ? $tocpath : ''); + + if($tocpath === false && argc() > 1) { $path = ''; for($x = 1; $x < argc(); $x ++) { if(strlen($path)) $path .= '/'; $path .= argv($x); } + } + + if($path) { $title = basename($path); + if(! $tocpath) + \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title))); $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($tocpath === false) { + 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(! $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') @@ -69,7 +75,7 @@ function get_help_content() { } $content = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $content); - return $content; + return translate_projectname($content); } @@ -110,8 +116,9 @@ function load_doc_file($s) { } function find_doc_file($s) { - if(file_exists($s)) + if(file_exists($s)) { return file_get_contents($s); + } return ''; } diff --git a/include/widgets.php b/include/widgets.php index 412afe980..6b3afecf2 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -1493,15 +1493,37 @@ function widget_tasklist($arr) { function widget_helpindex($arr) { + $o .= '<div class="widget">'; + $o .= '<h3>' . t('Documentation') . '</h3>'; + $level_0 = get_help_content('toc'); + + $level_0 = preg_replace('/\<ul(.*?)\>/','<ul class="nav nav-pills nav-stacked">',$level_0); + + $levels = array(); + + + if(argc() > 2) { + $path = ''; + for($x = 1; $x < argc(); $x ++) { + $path .= argv($x) . '/'; + $y = get_help_content($path . 'toc'); + if($y) + $levels[] = preg_replace('/\<ul(.*?)\>/','<ul class="nav nav-pills nav-stacked">',$y); + } + } + + if($level_0) + $o .= $level_0; + if($levels) { + foreach($levels as $l) { + $o .= '<br /><br />'; + $o .= $l; + } + } + + $o .= '</div>'; - $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>'; - $o .= '<li><a href="help/members">' . t('For Members') . '</a></li>'; - $o .= '<li><a href="help/admins">' . t('For Administrators') . '</a></li>'; - $o .= '<li><a href="help/develop">' . t('For Developers') . '</a></li>'; - $o .= '</ul></div>'; return $o; } |