98 lines
3.1 KiB
PHP

<?php
class default_list extends \SYSTEM\PAGE\Page {
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_list/js/default_list.js'));}
var $filter = null;
public function __construct($filter) {
$this->filter = $filter;
}
private function switch_filter($filter){
switch($filter){
case 1:
return '%';
case 2:
return '%surveillance%';
case 3:
return '%verteilung%';
case 4:
return '%korruption%';
case 5:
return '%polizei%';
case 6:
return '%demokratie%';
case 7:
return '%fof%';
case 8:
return '%start%';
default:
return '%';}
}
private function switch_list_title($filter){
switch($filter){
case 1:
return 'Neuheiten - Hier erscheinen alle neuen Artikel auf dem Blog';
case 2:
return 'Überwachungsstaat';
case 3:
return 'Ungerechtigkeiten';
case 4:
return 'Filz und Vetternwirtschaft';
case 5:
return 'Dein Freund und Helfer';
case 6:
return 'Demokratie';
case 7:
return 'Foes of Freedom';
case 8:
return '';
default:
return '';}
}
private static function time_elapsed_string($ptime){
$etime = time() - $ptime;
if ($etime < 1){
return '0 seconds';}
$a = array( 12 * 30 * 24 * 60 * 60 => 'year',
30 * 24 * 60 * 60 => 'month',
24 * 60 * 60 => 'day',
60 * 60 => 'hour',
60 => 'minute',
1 => 'second');
foreach ($a as $secs => $str){
$d = $etime / $secs;
if ($d >= 1){
$r = round($d);
return $r . ' ' . $str . ($r > 1 ? 's' : '') . ' ago';}
}
}
public function generate_list(){
$result = '';
$tag = $this->filter;
$elements = elements::getAllElementsOfTag($this->switch_filter($tag));
foreach($elements as $element){
$element['title'] = $element['id'];
$element['published'] = date_format(new DateTime($element['timestamp']), 'H:i d-m-Y');
$element['ago'] = $this->time_elapsed_string(strtotime($element['timestamp']));
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/tpl/element.tpl'), $element);
}
return $result;
}
public function html(){
$vars = array();
$vars['title'] = $this->switch_list_title($this->filter);
$vars['list'] = $this->generate_list();
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/tpl/default_list.tpl'), $vars);
}
}