require_once ("download.inc.php");
$list = new Liste (array ('name' => "updates", 'parent' => $tpl_content, 'max' => 1));
$version = $list[0]['path'] ? $list[0]['path'] : $version;
$kind = isset ($_COOKIE['kind'][$tpl_content->id]) ? $_COOKIE['kind'][$tpl_content->id] : "updates";
$length = $list[0]['length'] ? $list[0]['length'] : 10;
if ($version && $kind=="updates") {
$download = new Download ($version);
if ($list->editMode) {
$paths = "";
foreach ($download->getVersions () as $dir) {
$paths .= "$dir <$dir>\n";
}
$list[0]->setPreferences ("path", "selections", $paths);
}
$files = array();
foreach ($download->get ($length, "testing", array("amd64")) as $file) {
if ($file['hisfile']) {
$file['hisfile'] = file ($file['hisfile']);
$file['changes'] = array();
$files[] = $file;
}
}
$oldes_date = date ("Y-m-d", $files[count($files)-1]['time']);
$dates = array();
foreach ($files as $file) {
$date = "9";
for ($i=0; isset($file['hisfile'][$i]) && $date >= $oldes_date; $i++) {
if (preg_match("/^Version/", $file['hisfile'][$i])) {
$date = preg_replace("/.*(\d\d\d\d-\d\d-\d\d).*/", "\\1", $file['hisfile'][$i]);
}
if (preg_match("/^\t./", $file['hisfile'][$i]) && !preg_match("/Merge branch 'master'/", $file['hisfile'][$i])) {
$dates[$date] = isset($dates[$date]) ? $dates[$date] : array();
$dates[$date][$file['name']] = isset($dates[$date][$file['name']]) ? $dates[$date][$file['name']] : $file;
if (!$dates[$date][$file['name']]['changes'] || $dates[$date][$file['name']]['changes'][count($dates[$date][$file['name']]['changes'])-1] != $file['hisfile'][$i]) {
$dates[$date][$file['name']]['changes'][] = $file['hisfile'][$i];
}
}
}
}
krsort($dates);
$items = array ();
foreach ($dates as $date => $names) {
foreach ($names as $name => $file) {
$version = preg_replace ("/.*(\d\d\d\d)\.(\d\d)\.(\d\d)[_-].*|.+/", "\\1-\\2-\\3", $file['version']);
$items[] = array (
'title' => $name,
'description' => ($version > $date ? "Update of sources" : implode("
", $file['changes'])), // . " ({$file['version']})",
'date' => date ("j. M Y", strtotime($date)));
}
}
} else {
foreach (json_decode(file_get_contents("{$_SERVER['ORIGIN']}/forum/?action=.js&limit=$length"), true) as $post) {
$item = array (
'title' => $post['subject'] . (!empty($post['new']) ? "" : ""),
'description' => "Forum: {$post['board']['name']} – Antwort von: {$post['poster']['name']} »",
'date' => date ("j. M Y H:i", $post['timestamp']));
if ($kind=="long forum news") {
$item['description'] .= "
".preg_replace("|style=\".*?\"|", "", preg_replace("|
|", "
", $post['body']))."";
}
$items[] = $item;
}
}
?>
if ($version) { ?>