$NEW = 3; // download Statistik if ($fp = @fopen ("zugriff.txt", "r")) { $zugriff = unserialize (fread ($fp, filesize("zugriff.txt"))); fclose($fp); } // Beschreibungen $descriptions = file ("descriptions.txt"); foreach ($descriptions as $description) { if (preg_match ("/([^\t]+)\t([^\t]+)\t([^\t]*)(\t([^\t]*))?(\t([^\t]*))?/", $description, $erg)) { $desc[$erg[1]][$erg[2]][desc] = $erg[3]; $desc[$erg[1]][$erg[2]][url] = $erg[5]; $desc[$erg[1]][$erg[2]][email] = $erg[7]; } } // MLDs $d = dir ("mld/"); while ($f = $d->read ()) { if (is_file ($d->path.$f) && preg_match ("/DVBLinux-([^_]+)(_([a-z]{2}))?_([^_]*?)(-\d.*)\.(iso|zip)/", $f, $erg)) { $autor = $erg[3]; $name = $erg[4]; $ver = $erg[1].$erg[5]; $mlds[$name][$autor][descript] = $desc[mld][$name][desc]; $mlds[$name][$autor][url] = $desc[mld][$name][url]; $mlds[$name][$autor][href] = $d->path.$f; $mlds[$name][$autor][filename] = $f; $mlds[$name][$autor][version] = $ver; $mlds[$name][$autor][size] = round (filesize ($d->path.$f) / 1024); $mlds[$name][$autor][neu] = (((time () - filemtime ($d->path.$f)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $mlds[$name][$autor][ftime] = date ("j.n.y", filemtime ($d->path.$f2)); $mlds[$name][$autor][klick] = $zugriff[$f]; $newest = (filemtime ($d->path.$f) > $newest) ? filemtime ($d->path.$f) : $newest; } } $d->close(); // MakeAddons $d = dir ("mld/"); while ($f = $d->read ()) { if (is_file ($d->path.$f) && preg_match ("/addons(_([a-z]{2}))?_([^_]*?)-(\d.*)(\.tgz)?/", $f, $erg)) { $autor = $erg[2]; $name = $erg[3]; $ver = $erg[4]; $makes[$name][$autor][descript] = $desc[make][$name][desc]; $makes[$name][$autor][url] = $desc[make][$name][url]; $makes[$name][$autor][href] = $d->path.$f; $makes[$name][$autor][filename] = $f; $makes[$name][$autor][version] = $ver; $makes[$name][$autor][size] = round (filesize ($d->path.$f) / 1024); $makes[$name][$autor][neu] = (((time () - filemtime ($d->path.$f)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $makes[$name][$autor][ftime] = date ("j.n.y", filemtime ($d->path.$f2)); $makes[$name][$autor][klick] = $zugriff[$f]; $newest = (filemtime ($d->path.$f) > $newest) ? filemtime ($d->path.$f) : $newest; } } $d->close(); // Addons $d1 = dir ("addons/"); while ($f1 = $d1->read ()) { if (is_dir ($d1->path.$f1) && $f1!="." && $f1!="..") { $d2 = dir ($d1->path.$f1."/"); while ($f2 = $d2->read ()){ if (is_file ($d2->path.$f2) && preg_match ("/(\d{3})DVBLinux-[^_]+(_([a-z]{2}))?(_.*)?_([^_]+?)-(\d.*)\.tgz/", $f2, $erg)) { $nr = $erg[1]; $autor = $erg[3]; $name = $erg[5]; $ver = $erg[6]; $addons[$f1][$f2][$autor][name] = $name; $addons[$f1][$f2][$autor][descript] = $desc[addon][$name][desc]; $addons[$f1][$f2][$autor][readme] = (file_exists ("docs/README.$name")) ? "docs/README.$name" : ""; $addons[$f1][$f2][$autor][url] = $desc[addon][$name][url]; $addons[$f1][$f2][$autor][href] = $d2->path.$f2; $addons[$f1][$f2][$autor][filename] = $f2; $addons[$f1][$f2][$autor][version] = $ver; $addons[$f1][$f2][$autor][size] = round (filesize ($d2->path.$f2) / 1024); $addons[$f1][$f2][$autor][neu] = (((time () - filemtime ($d2->path.$f2)) / 60 / 60 / 24) < $NEW) ? "new!" : ""; $addons[$f1][$f2][$autor][ftime] = date ("j.n.y", filemtime ($d2->path.$f2)); $addons[$f1][$f2][$autor][klick] = $zugriff[$f2]; $newest = (filemtime ($d2->path.$f2) > $newest) ? filemtime ($d2->path.$f2) : $newest; } if (is_file ($d2->path.$f2) && preg_match ("/HISTORY(.+)?/", $f2, $erg)) { $historys[$f1][$f2][name] = "his" . $erg[1]; $historys[$f1][$f2][href] = $d2->path.$f2; $historys[$f1][$f2][filename] = $f2; } } $d2->close(); } } $d1->close(); //@implode ('\n', @file ("docs/README.$name")); // Addons Sortieren function cmp ($a, $b) { $va = preg_match ("/^vdr(-.+)?$/", $a); $vb = preg_match ("/^vdr(-.+)?$/", $b); if ($va && !$vb) return -1; if (!$va && $vb) return 1; return strcmp (strtoupper ($a), strtoupper ($b)); } ksort ($addons); foreach ($addons as $typ => $addon) { uksort ($addons[$typ], cmp); } $newest = date ("j.n.Y", $newest); ?>
Letzte Aktualesierung am |
Mit hilfe des Makfiles lassen sich auf einfache weise Addons erstellen.
Das Archiv wird in den 'src' Ordner paralel zu den Ordnern vdr-1.x.x und dvb-1.x.x entpackt (typisch ist '/src'). Um Addons zu generieren muss im Ordner MLD/addons die Datei Make.conf entsprechend den wnschen angepasst werden und anschliessend 'make' aufgerufen werden. Das Makefile compeliert die ben�igten Datein und erstellt anschliessend die gew�lten Addons. Sofern eine Vorlage fr ein Addon existiert, wird diese als Basis benutzt. Die erstellten Addons landen in dem Ordner MLD/addons/[VDR-Version].