81 lines
1.2 KiB
PHP
81 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
class Post extends Content
|
||
|
{
|
||
|
function __construct($slug)
|
||
|
{
|
||
|
$this->path = PATH_POSTS;
|
||
|
|
||
|
parent::__construct($slug);
|
||
|
}
|
||
|
|
||
|
// Return the post title
|
||
|
function title()
|
||
|
{
|
||
|
return $this->get_field('title');
|
||
|
}
|
||
|
|
||
|
// Return the post content
|
||
|
function content()
|
||
|
{
|
||
|
return $this->get_field('content');
|
||
|
}
|
||
|
|
||
|
function username()
|
||
|
{
|
||
|
return $this->get_field('username');
|
||
|
}
|
||
|
|
||
|
// Return TRUE if the post is published, FALSE otherwise.
|
||
|
function published()
|
||
|
{
|
||
|
return ($this->get_field('status')==='published');
|
||
|
}
|
||
|
|
||
|
function author()
|
||
|
{
|
||
|
return $this->get_field('author');
|
||
|
}
|
||
|
|
||
|
function unixstamp()
|
||
|
{
|
||
|
return $this->get_field('unixstamp');
|
||
|
}
|
||
|
|
||
|
function date($format = false)
|
||
|
{
|
||
|
if($format!==false)
|
||
|
{
|
||
|
$unixstamp = $this->unixstamp();
|
||
|
return Date::format($unixstamp, $format);
|
||
|
}
|
||
|
|
||
|
return $this->get_field('date');
|
||
|
}
|
||
|
|
||
|
function timeago()
|
||
|
{
|
||
|
return $this->get_field('timeago');
|
||
|
}
|
||
|
|
||
|
function slug()
|
||
|
{
|
||
|
return $this->get_field('slug');
|
||
|
}
|
||
|
|
||
|
function permalink()
|
||
|
{
|
||
|
global $Url;
|
||
|
|
||
|
$filter = ltrim($Url->filters('post'), '/');
|
||
|
|
||
|
if($Url->filters('post')==HTML_PATH_ROOT)
|
||
|
return HTML_PATH_ROOT.$this->slug();
|
||
|
|
||
|
return HTML_PATH_ROOT.$filter.$this->slug();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
?>
|