A.9. benutzer

Das Programm dient dazu, die Benutzerverzeichnisse (public-html) anzuzeigen.

Dateiname: /usr/local/httpd/cgi-bin/benutzer.


#!/usr/bin/perl -w
use CGI;
$html = new CGI;
$dir = "/home/public_html";
print $html->header, $html->start_html('Öffentliche Benutzer-Verzeichnisse');
print "Hier findet sich eine Liste der auf diesem Server abgelegten 
HTML-Angebote von Schülern und Lehrern. Jeder, der ein eigenes 
Benutzerkonto im Computerraum hat, kann ein eigenes HTML-Angebot erstellen und
zwar einfach im Verzeichnis <tt>public_html</tt> unterhalb des 
Home-Verzeichnisses. Alle Dateien in diesem Verzeichnis mit seinen 
Unterverzeichnissen sind &ouml;ffentlich.<P>";

setpwent;
while (my @user = getpwent) {
    $userdir ="$dir/$user[0]";
    if (-d $userdir) {
		opendir DIR, $userdir;
		rewinddir DIR;
		@dirlist = readdir DIR;
		if (@dirlist > 2) {
		    $text='';
		    if (-s "$userdir/index.html") {
				open DATEI, "$userdir/index.html";
				$text = join '',<DATEI>;
				close DATEI;
		    } elsif (-s "$userdir/index.htm") {
				open DATEI, "$userdir/index.htm";
				$text = join '',<DATEI>;
				close DATEI;
		    }
		    ($titel) =($text =~ m@<TITLE>(.*?)</TITLE>@is);
		    $titel = ($titel ? "; <i>Titel: $titel</i>":'');
	    	$username = ($user[6] ? $user[6] : $user[0]);
	   		print $html->a({href=>"/~$user[0]/"},$username.$titel),$html->br;
		}
		closedir DIR;
	}
}
endpwent;
print '<hr><p><a href="/oldhomes/">Seiten ehemaliger Sch&uuml;ler</a>';
print $html->p,$html->a({href=>"/"},'Hier geht\'s zur&uuml;ck zum Anfang.'),
    $html->end_html;