restructure doc.php for new use
This commit is contained in:
parent
df9b780706
commit
9f815c968f
|
@ -45,8 +45,18 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||||
*/
|
*/
|
||||||
class DocAction extends Action
|
class DocAction extends Action
|
||||||
{
|
{
|
||||||
var $filename;
|
var $output = null;
|
||||||
var $title;
|
var $filename = null;
|
||||||
|
var $title = null;
|
||||||
|
|
||||||
|
function prepare($args)
|
||||||
|
{
|
||||||
|
$this->title = $this->trimmed('title');
|
||||||
|
$this->output = null;
|
||||||
|
|
||||||
|
$this->loadDoc();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle a request
|
* Handle a request
|
||||||
|
@ -58,25 +68,6 @@ class DocAction extends Action
|
||||||
function handle($args)
|
function handle($args)
|
||||||
{
|
{
|
||||||
parent::handle($args);
|
parent::handle($args);
|
||||||
|
|
||||||
$this->title = $this->trimmed('title');
|
|
||||||
$this->output = null;
|
|
||||||
|
|
||||||
if (Event::handle('StartLoadDoc', array(&$this->title, &$this->output))) {
|
|
||||||
|
|
||||||
$this->filename = INSTALLDIR.'/doc-src/'.$this->title;
|
|
||||||
if (!file_exists($this->filename)) {
|
|
||||||
$this->clientError(_('No such document.'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$c = file_get_contents($this->filename);
|
|
||||||
|
|
||||||
$this->output = common_markup_to_html($c);
|
|
||||||
|
|
||||||
Event::handle('EndLoadDoc', array($this->title, &$this->output));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->showPage();
|
$this->showPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,4 +142,46 @@ class DocAction extends Action
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadDoc()
|
||||||
|
{
|
||||||
|
if (Event::handle('StartLoadDoc', array(&$this->title, &$this->output))) {
|
||||||
|
|
||||||
|
$this->filename = $this->getFilename();
|
||||||
|
|
||||||
|
if (empty($this->filename)) {
|
||||||
|
throw new ClientException(sprintf(_('No such document "%s"'), $this->title), 404);
|
||||||
|
}
|
||||||
|
|
||||||
|
$c = file_get_contents($this->filename);
|
||||||
|
|
||||||
|
$this->output = common_markup_to_html($c);
|
||||||
|
|
||||||
|
Event::handle('EndLoadDoc', array($this->title, &$this->output));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFilename()
|
||||||
|
{
|
||||||
|
$local = array_merge(glob(INSTALLDIR.'/local/doc-src/'.$this->title),
|
||||||
|
glob(INSTALLDIR.'/local/doc-src/'.$this->title.'.*'));
|
||||||
|
|
||||||
|
if (count($local)) {
|
||||||
|
return $this->negotiateLanguage($local);
|
||||||
|
}
|
||||||
|
|
||||||
|
$dist = array_merge(glob(INSTALLDIR.'/doc-src/'.$this->title),
|
||||||
|
glob(INSTALLDIR.'/doc-src/'.$this->title.'.*'));
|
||||||
|
|
||||||
|
if (count($dist)) {
|
||||||
|
return $this->negotiateLanguage($dist);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function negotiateLanguage($files)
|
||||||
|
{
|
||||||
|
// FIXME: write this
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user