<?php
-/*
+
+/**
+ * Documentation action.
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @author Robin Millette <millette@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://laconi.ca/
+ *
* Laconica - a distributed open-source microblogging tool
* Copyright (C) 2008, Controlez-Vous, Inc.
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('LACONICA')) {
+ exit(1);
+}
+
+/**
+ * Documentation class.
+ *
+ * @category Action
+ * @package Laconica
+ * @author Evan Prodromou <evan@controlyourself.ca>
+ * @author Robin Millette <millette@controlyourself.ca>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://laconi.ca/
+
+*/
class DocAction extends Action
{
+ var $filename;
+ var $title;
+ /**
+ * 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)) {
+ $this->title = $this->trimmed('title');
+ $this->filename = INSTALLDIR.'/doc/'.$this->title;
+ if (!file_exists($this->filename)) {
$this->clientError(_('No such document.'));
return;
}
- $c = file_get_contents($filename);
+ $this->showPage();
+ }
+
+ /**
+ * Display content.
+ *
+ * @return nothing
+ */
+ function showContent()
+ {
+ $c = file_get_contents($this->filename);
$output = common_markup_to_html($c);
- common_show_header(_(ucfirst($title)));
$this->raw($output);
- common_show_footer();
+ }
+
+ /**
+ * Page title.
+ *
+ * @return page title
+ */
+ function title()
+ {
+ return ucfirst($this->title);
}
}
+