X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/fd777fa3e0ebcb76bb6fdfadbc257b451d5db925..c3518f67a1134e20a497dbfc3161353b650e279d:/nieuws.inc.php diff --git a/nieuws.inc.php b/nieuws.inc.php index a0fa821..c6f3be9 100644 --- a/nieuws.inc.php +++ b/nieuws.inc.php @@ -9,8 +9,8 @@ function showdate($parts) { global $monthname; return implode(' ', array_filter([ - intval(@$parts[3]), $parts[2] > 0 ? $monthname[intval($parts[2])] : '', $parts[1], - count($parts) > 6 ? "$parts[4]:$parts[5]" : '', + intval(@$parts[2]), $parts[1] > 0 ? $monthname[intval($parts[1])] : '', $parts[0], + count($parts) > 5 ? "$parts[3]:$parts[4]" : '', ])); } @@ -61,12 +61,13 @@ class ArchiveArticle function dateparts() { preg_match('< / (\d{4}) [/-] (\d{2}) (?:- (\d{2}) )? - >x', $this->page, $ymd); + array_shift($ymd); return $ymd; } function dateiso() { - return implode('-', $this->dateparts()); + return implode('-', $this->dateparts()) . 'T12:00:00+02:00'; } function date() @@ -78,7 +79,9 @@ class ArchiveArticle { $this->title; $rest = fread($this->file, filesize($this->page)); - if ( preg_match('{\n < (?: p | figure [^>]* ) > (]*>) | \n }x', $rest, $img, PREG_OFFSET_CAPTURE) ) { + if ( preg_match('{ + \n (?: < (?: p | figure [^>]* ) >\s* )+ (]*>) | \n + }x', $rest, $img, PREG_OFFSET_CAPTURE) ) { if (isset($img[1])) { $this->img = $img[1][0]; } @@ -111,56 +114,9 @@ class ArchiveArticle function thumb($size = '300x') { if (!$this->image or $this->image[0] !== '/') return; - return preg_replace('{^(?:/thumb/[^/]*)?}', "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 + return preg_replace( + ['{^(?:/thumb/[^/]*)?}', '/\.groot(?=\.\w+$)/'], ["thumb/$size", ''], + $this->image ); - 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"; }