aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <mike@macgirvin.com>2016-09-04 18:35:06 -0700
committerredmatrix <mike@macgirvin.com>2016-09-04 18:35:06 -0700
commitecb44ad57238d6bc617a54a9a2586b8d9fa386e0 (patch)
treeae88d341e4a7936df0e1692b85c2d77abb26669e
parenta3171cd4291603b0cb0d706d660084d1d4d392d3 (diff)
downloadvolse-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.php2
-rw-r--r--doc/diaspora_compat.bb2
-rw-r--r--include/help.php51
-rw-r--r--include/widgets.php36
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;
}