X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=actions%2Fdoc.php;h=694544dd038c0a02ce6ec47e15bcdb835546535d;hb=2f1bfe126b0325cf069572eff58223fa2d65afaf;hp=95f76fb9dd94e3cbbe15b066f18e8d6e8d996f29;hpb=31b29fde50e9664e1b70064c043879ce87553883;p=quix0rs-gnu-social.git diff --git a/actions/doc.php b/actions/doc.php index 95f76fb9dd..694544dd03 100644 --- a/actions/doc.php +++ b/actions/doc.php @@ -28,9 +28,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } /** * Documentation class. @@ -42,16 +40,14 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ -class DocAction extends Action +class DocAction extends ManagedAction { var $output = null; var $filename = null; var $title = null; - function prepare($args) + protected function doPreparation() { - parent::prepare($args); - $this->title = $this->trimmed('title'); if (!preg_match('/^[a-zA-Z0-9_-]*$/', $this->title)) { $this->title = 'help'; @@ -59,52 +55,11 @@ class DocAction extends Action $this->output = null; $this->loadDoc(); - return true; - } - - /** - * Handle a request - * - * @param array $args array of arguments - * - * @return nothing - */ - function handle($args) - { - parent::handle($args); - $this->showPage(); - } - - /** - * Page title - * - * Gives the page title of the document. Override default for hAtom entry. - * - * @return void - */ - function showPageTitle() - { - $this->element('h1', array('class' => 'entry-title'), $this->title()); } - /** - * Block for content. - * - * Overrides default from Action to wrap everything in an hAtom entry. - * - * @return void. - */ - function showContentBlock() + public function title() { - $this->elementStart('div', array('id' => 'content', 'class' => 'hentry')); - $this->showPageTitle(); - $this->showPageNoticeBlock(); - $this->elementStart('div', array('id' => 'content_inner', - 'class' => 'entry-content')); - // show the actual content (forms, lists, whatever) - $this->showContent(); - $this->elementEnd('div'); - $this->elementEnd('div'); + return ucfirst($this->title); } /** @@ -119,16 +74,9 @@ class DocAction extends Action $this->raw($this->output); } - /** - * Page title. - * - * Uses the title of the document. - * - * @return page title - */ - function title() + function showNoticeForm() { - return ucfirst($this->title); + // no notice form } /** @@ -162,4 +110,76 @@ class DocAction extends Action Event::handle('EndLoadDoc', array($this->title, &$this->output)); } } + + function showLocalNav() + { + $menu = new DocNav($this); + $menu->show(); + } +} + +class DocNav extends Menu +{ + function show() + { + if (Event::handle('StartDocNav', array($this))) { + $stub = new HomeStubNav($this->action); + $this->submenu(_m('MENU','Home'), $stub); + + $docs = new DocListNav($this->action); + $this->submenu(_m('MENU','Docs'), $docs); + + Event::handle('EndDocNav', array($this)); + } + } +} + +class DocListNav extends Menu +{ + function getItems() + { + $items = array(); + + if (Event::handle('StartDocsMenu', array(&$items))) { + + $items = array(array('doc', + array('title' => 'help'), + _m('MENU', 'Help'), + _('Getting started'), + 'nav_doc_help'), + array('doc', + array('title' => 'about'), + _m('MENU', 'About'), + _('About this site'), + 'nav_doc_about'), + array('doc', + array('title' => 'faq'), + _m('MENU', 'FAQ'), + _('Frequently asked questions'), + 'nav_doc_faq'), + array('doc', + array('title' => 'contact'), + _m('MENU', 'Contact'), + _('Contact info'), + 'nav_doc_contact'), + array('doc', + array('title' => 'tags'), + _m('MENU', 'Tags'), + _('Using tags'), + 'nav_doc_tags'), + array('doc', + array('title' => 'groups'), + _m('MENU', 'Groups'), + _('Using groups'), + 'nav_doc_groups'), + array('doc', + array('title' => 'api'), + _m('MENU', 'API'), + _('RESTful API'), + 'nav_doc_api')); + + Event::handle('EndDocsMenu', array(&$items)); + } + return $items; + } }