]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/doc.php
change LACONICA to STATUSNET
[quix0rs-gnu-social.git] / actions / doc.php
index 0cf665d683c76d038b44ee32a38629ad5c38cb7e..1adb9b0750cbabc04848c110a0d9f38a13a6997a 100644 (file)
@@ -1,7 +1,19 @@
 <?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+
+/**
+ * Documentation action.
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @author   Robin Millette <millette@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('STATUSNET')) {
+    exit(1);
+}
 
-class DocAction extends Action {
+/**
+ * Documentation class.
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @author   Robin Millette <millette@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ */
+class DocAction extends Action
+{
+    var $filename;
+    var $title;
 
-    function handle($args) {
+    /**
+     * Class handler.
+     *
+     * @param array $args array of arguments
+     *
+     * @return nothing
+     */
+    function handle($args)
+    {
         parent::handle($args);
-        $title = $this->trimmed('title');
-        $filename = INSTALLDIR.'/doc/'.$title;
-        if (!file_exists($filename)) {
-            common_user_error(_('No such document.'));
+        $this->title    = $this->trimmed('title');
+        $this->filename = INSTALLDIR.'/doc-src/'.$this->title;
+        if (!file_exists($this->filename)) {
+            $this->clientError(_('No such document.'));
             return;
         }
-        $c = file_get_contents($filename);
+        $this->showPage();
+    }
+
+    // overrrided to add entry-title class
+    function showPageTitle() {
+        $this->element('h1', array('class' => 'entry-title'), $this->title());
+    }
+
+    // overrided to add hentry, and content-inner classes
+    function showContentBlock()
+     {
+         $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');
+     }
+
+    /**
+     * Display content.
+     *
+     * @return nothing
+     */
+    function showContent()
+    {
+        $c      = file_get_contents($this->filename);
         $output = common_markup_to_html($c);
-        common_show_header(_(ucfirst($title)));
-        common_raw($output);
-        common_show_footer();
+        $this->raw($output);
+    }
+
+    /**
+     * Page title.
+     *
+     * @return page title
+     */
+    function title()
+    {
+        return ucfirst($this->title);
+    }
+
+    function isReadOnly($args)
+    {
+        return true;
     }
 }