X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/81b908af157b8580cca92046dd4ad8772c61e4fb..HEAD:/nieuws.inc.php diff --git a/nieuws.inc.php b/nieuws.inc.php deleted file mode 100644 index 40432a9..0000000 --- a/nieuws.inc.php +++ /dev/null @@ -1,171 +0,0 @@ - 0 ? $monthname[intval($parts[2])] : '', $parts[1], - count($parts) > 6 ? "$parts[4]:$parts[5]" : '', - ])); -} - -class ArchiveArticle -{ - function __construct($path) - { - $this->page = $path; - $this->link = preg_replace('{(?:/index)?\.html$}', '', $path); - } - - function __get($col) - { - return $this->$col = $this->$col(); # run method and cache - } - - function file() - { - if (!file_exists($this->page)) return; - return fopen($this->page, 'r'); - } - - function title() - { - return preg_replace('{

(.*)

\s*}', '\1', fgets($this->file)); - } - - function safetitle() - { - return trim(strip_tags($this->title)); - } - - function name() - { - return $this->safetitle ?: $this->link; - } - - function last() - { - return filemtime($this->page); - } - - function lastiso() - { - return date(DATE_ATOM, $this->last); - } - - function dateparts() - { - preg_match('< / (\d{4}) [/-] (\d{2}) (?:- (\d{2}) )? - >x', $this->page, $ymd); - return $ymd; - } - - function dateiso() - { - return implode('-', $this->dateparts()); - } - - function date() - { - return showdate($this->dateparts); - } - - function body() - { - $this->title; - $rest = fread($this->file, filesize($this->page)); - if ( preg_match('{ - \n (?: < (?: p | figure [^>]* ) >\s* )+ (]*>) | \n - }x', $rest, $img, PREG_OFFSET_CAPTURE) ) { - if (isset($img[1])) { - $this->img = $img[1][0]; - } - return substr($rest, 0, $img[0][1]); - } - return $rest; - } - - function teaser() - { - if (preg_match('{

(.*?)

}s', $this->body, $bodyp)) { - return $bodyp[1]; - } - } - - function img() - { - $this->img = NULL; - $this->body; - return $this->img; - } - - function image() - { - if ( preg_match('/\bsrc="([^"]*)"/', $this->img, $src) ) { - return $src[1]; - } - } - - function thumb($size = '300x') - { - if (!$this->image or $this->image[0] !== '/') return; - return preg_replace( - ['{^(?:/thumb/[^/]*)?}', '/\.groot(?=\.\w+$)/'], ["thumb/$size", ''], - $this->image - ); - } -} - -function shownews($input, $limit = 1000) -{ - if (!is_array($input)) $input = glob("$input/*.html"); - foreach (array_reverse($input) as $filename) { - $article = new ArchiveArticle($filename); - print '
'; - if ($article->thumb) { - $imgattr = ' class="left"'; - if (preg_match('{ (\s alt="[^"]+") }x', $article->img, $img)) { - $imgattr .= $img[0]; # preserve alt value - } - printf('', $article->thumb, $imgattr); - } - print '
'; - printf( - '

%s %s

', - $article->link, $article->title, $article->date - ); - print $article->body; - print '
'; - print "
\n\n"; - - if (--$limit <= 0) break; - } -} - -function printtoc($input, $class = FALSE) -{ - if (!is_array($input)) $input = glob("$input/*.html"); - print ''; - foreach (array_reverse($input) as $page) { - $article = new ArchiveArticle($page); - $html = $article->safetitle; - $dateparts = $article->dateparts; - if ($class) { - $dateparts[1] = NULL; # omit year - } - $html .= sprintf(' %s', showdate($dateparts)); - if ($class == 'gallery' and $article->img) { - $html = "
$html
"; - $html = sprintf('', $article->thumb(200)) . $html; - } - $html = sprintf('%s', $article->link, $html); - print "
  • $html
  • \n"; - } - print "\n"; -}