git.shiar.nl
/
minimedit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
page: read file during article object initialisation
[minimedit.git]
/
article.inc.php
diff --git
a/article.inc.php
b/article.inc.php
index bc8dbff21be1fc99969daebb3bc0bbfa2ea5d2c4..336511e87069e59174a80c73d84898562dabe431 100644
(file)
--- a/
article.inc.php
+++ b/
article.inc.php
@@
-16,10
+16,17
@@
function showdate($parts)
class ArchiveArticle
{
class ArchiveArticle
{
+ public $raw, $preface, $title, $body;
+
function __construct($path)
{
$this->page = $path;
$this->link = preg_replace('{(?:/index)?\.html$}', '', $path);
function __construct($path)
{
$this->page = $path;
$this->link = preg_replace('{(?:/index)?\.html$}', '', $path);
+ if (file_exists($this->page)) {
+ $this->raw = file_get_contents($this->page);
+ @list ($this->preface, $this->title, $this->body) =
+ preg_split('{<h2>(.*?)</h2>\s*}', $this->raw, 2, PREG_SPLIT_DELIM_CAPTURE);
+ }
}
function __get($col)
}
function __get($col)
@@
-27,20
+34,6
@@
class ArchiveArticle
return $this->$col = $this->$col(); # run method and cache
}
return $this->$col = $this->$col(); # run method and cache
}
- function file()
- {
- if (!file_exists($this->page)) return;
- return fopen($this->page, 'r');
- }
-
- function rawtitle()
- {
- return fgets($this->file);
- }
- function title()
- {
- return preg_replace('{<h2>(.*)</h2>\s*}', '\1', $this->rawtitle);
- }
function safetitle()
{
return trim(strip_tags($this->title));
function safetitle()
{
return trim(strip_tags($this->title));
@@
-74,12
+67,6
@@
class ArchiveArticle
return showdate($this->dateparts);
}
return showdate($this->dateparts);
}
- function body()
- {
- if (!$this->file) return;
- $this->rawtitle;
- return fread($this->file, filesize($this->page) ?: 1);
- }
function story()
{
if ( preg_match('{
function story()
{
if ( preg_match('{
@@
-93,11
+80,6
@@
class ArchiveArticle
}
return $this->body;
}
}
return $this->body;
}
-
- function raw()
- {
- return $this->rawtitle . $this->body;
- }
function teaser()
{
if (preg_match('{<p>(.*?)</p>}s', $this->story, $bodyp)) {
function teaser()
{
if (preg_match('{<p>(.*?)</p>}s', $this->story, $bodyp)) {