$pagetitle = "Hybrid Oper Script Collection";
$includedir = '../';
require($includedir . "/include/header_all.php");
$hosc_dir = 'hosc';
?>
The Hybrid Oper Script Collection
|
|
HOSC CVS
These are the latest versions of each script. CVS so to speak.
The modules:
print_module_list($hosc_dir) ?>
These are the currently available scripts:
print_ho_scripts($hosc_dir); ?>
function print_module_list($subdir) {
$modules_dir = $subdir . "/HOSC";
if (!is_dir($modules_dir)) {
return;
}
print '';
$files = array();
if ($dh = opendir($modules_dir)) {
while (($file = readdir($dh)) !== false) {
if (substr($file, -3) == ".pm") {
array_push($files, $file);
}
}
closedir($dh);
}
for ($i = 0; $i < count($files); $i++) {
print_module_line($modules_dir, $files[$i]);
}
print "
";
}
function print_module_line($dir, $file) {
$handle = fopen ("$dir/$file", "r");
$contents = fread ($handle, filesize ("$dir/$file"));
fclose ($handle);
$lines = explode("\n", $contents);
$numlines = count($lines);
$version = "unknown";
for ($linenum = 0; $linenum < $numlines; $linenum++) {
if(preg_match('/Revision: (\d+\.\d+) /', $lines[$linenum], $m)) {
$version = $m[1];
}
}
print "" .
$file . " | $version |
";
}
?>
function print_ho_scripts($subdir) {
if (!is_dir($subdir)) {
return;
}
$files = array();
if ($dh = opendir($subdir)) {
while (($file = readdir($dh)) !== false) {
if (substr($file, 0, 3) == "ho_" && substr($file, -3) == ".pl") {
array_push($files, $file);
}
}
closedir($dh);
}
sort($files);
print '';
print_table_header();
for ($i = 0; $i < count($files); $i++) {
print_table_line($subdir, $files[$i]);
}
print "
";
}
function print_table_header() {
print "";
print "Name | ";
print "Version | ";
print "Date | ";
print "Author | ";
print "Source | ";
print "Screenshots | ";
print "Description | ";
print "
";
}
function print_table_line($subdir, $file) {
$handle = fopen ("$subdir/$file", "r");
$contents = fread ($handle, filesize ("$subdir/$file"));
fclose ($handle);
$lines = explode("\n", $contents);
$numlines = count($lines);
$version = "unknown";
$author = "unknown";
$description = "unknown";
$date = "unknown";
for ($linenum = 0; $linenum < $numlines; $linenum++) {
if(preg_match('/Revision: (\d+\.\d+) /', $lines[$linenum], $m)) {
$version = $m[1];
}
if(preg_match('/authors\s*=>\s*\'(.+)\'\s*,/', $lines[$linenum], $m)) {
$author = $m[1];
}
if(preg_match('/description\s*=>\s*\'(.+)\'\s*,/', $lines[$linenum], $m)) {
$description = $m[1];
}
# $Id: ho_tfind.pl,v 1.15 2004/08/21 10:11:39 jvunder Exp $
if(preg_match('/\$Id: ho_.+ (\d+\/\d+\/\d+) /', $lines[$linenum], $m)) {
$date = $m[1];
}
}
print "";
print "$file | ";
print "$version | ";
print "$date | ";
print "$author | ";
print "view source | ";
print "screenshots | ";
print "$description | ";
print "
";
}
?>
require($includedir . "/include/footer.php");
?>