Erik Tews: Giga erwähnt www.selfhtml.de

Hallo

Immer mehr scheint der Eindruck zu erstehen, daß www.selfhtml.de von Stefan Münz ist. Gerade wurde im Fernsehn auf NBC erwähnt, Stefan Münz hätte ein paar nützliche Informationen auf www.selfhtml.de zusammengetragen. Könnte man das nicht irgendwie richtigstellen? Die Domain stört mich persönlich nicht, aber daß jeder immer das Werbebanner sehen muß, wenn er sich die Doku über diese Seite anschaut, finde ich nicht gut.

PS: Was das Script angeht. Viele Leute haben einfach keinen CGI-Webspace, um ein eigenes Forum zu erstellen. Und die Gratisanbieter, die ich kenne, die Gratis-CGI anbieten, sind einfach lahm. Stelle einfach mal das modifizierte Script hier zum Download bereit, und wenn jemand die Sache nicht gefällt, darf er sich selber mit Emacs und Perl daran versuchen. Wenn es was geworden ist, kann er es ja mit einer Installationsanleitung an dich schicken, und du hast (fast) keine Arbeit damit, oder er kann es erst mal auf nem Gratisanbieter testen.

  1. PS: Was das Script angeht. Viele Leute haben einfach keinen CGI-Webspace, um ein eigenes Forum zu erstellen. Und die Gratisanbieter, die ich kenne, die Gratis-CGI anbieten, sind einfach lahm. Stelle einfach mal das modifizierte Script hier zum Download bereit, und wenn jemand die Sache nicht gefällt, darf er sich selber mit Emacs und Perl daran versuchen. Wenn es was geworden ist, kann er es ja mit einer Installationsanleitung an dich schicken, und du hast (fast) keine Arbeit damit, oder er kann es erst mal auf nem Gratisanbieter testen.

    BITTE BITTE LASST DIESES THEMA RUHEN, Langsam geht es mir wie Stefan ich kann über das thema Forumskript ncihts mehr höhren, auch wenn ich mir auch ein paar Wünsche betreffend des skriptes hätte, nur so wie es jetzt ist kann es jeder verwenden, und es soll auch so bleiben..

    PS. Ausrdem möchte ich nchit wieder 3 Wochen auf das Forum verzichten.

  2. Hallo Erik

    Immer mehr scheint der Eindruck zu erstehen, daß www.selfhtml.de von Stefan Münz ist.

    Ich selber predige ja seit Jahren, dass die Tendenz des Menschen Faulheit ist (eine Erkenntnis, die ich aufgrund jahrelanger Selbsterfahrung gewonnen habe <g>). Bezogen auf URLs bedeutet das: immer die kuerzeste setzt sich auf Dauer durch - und erst recht, wenn man in der Adresszeile des Browsers nur noch "selfhtml" eingeben muss, und schon klappert der alle denkbaren Domain-Schemata ab (das Konzept der 5er-Generation der Browser, durch das einige Leute schon das heutige Domainnamen-System bedroht sehen). Klar, dass eine eigene SELFHTML-Domain besser ankommt als diese ollen Unterverzeichnisse auf teamone.de.

    Nun habe ich allerdings vorgesorgt. Mehr als downloaden oder die downloadbare Version online sehen werden die Leute nicht, solange sich Wiederveroeffentlicher an die Copyright-Regeln halten. Und dann koennen sie es hinstellen wo sie wollen, egal ob auf www.uni.langername.xy/~lange/unter/verzeichnis/kette/ oder eben http://www.selfhtml.de/. Wer sich ernsthaft mit der Doku und dem immer wichtiger werdenden SELFAKTUELL beschaeftigt, landet doch wieder auf dieser Domain hier. Und die kriegt immer noch mehr ab als erlaubt ist. Neulich jammerte unser Provider wieder, dass teamone.de ihn im Januar 3600.- DM gekostet habe. Es besteht also meiner Ansicht nach keine Sorge des "Heimatverlusts" ;-)

    Viele Leute haben einfach keinen CGI-Webspace, um ein eigenes Forum zu erstellen. Und die Gratisanbieter, die ich kenne, die Gratis-CGI anbieten, sind einfach lahm. Stelle einfach mal das modifizierte Script hier zum Download bereit, und wenn jemand die Sache nicht gefällt, darf er sich selber mit Emacs und Perl daran versuchen.

    Also das, was ich hier anbieten koennte, ist wirklich nichts Besonderes. Es ist einfach das Original-Script von Matt Wright (wie es als ""WWW board" auf http://www.worldwidemart.com/scripts/ zu haben ist), nur modifiziert um das SELFHTML-Layout und ein paar kleine Stringfilter zum Managen von Nachrichteninhalten (Kompromiss, um sowohl Text als auch Code einigermassen optimal darzustellen, plus die Eigen-Befehle fuer Links, Grafiken, IFrames). Die anderen Scripts, wie der Schwanzabschneider, oder die neuen Arbeits-Scripts zum Erzeugen der "ewigen Archive" - das ist kaum geeignet, um es allgemein anzubieten. Das ist leider ziemlich "bedarfsorientiert" programmiert und kaum allgemein verwendbar.
    Wenn ich irgendwas allgemein Verwertbares zu veroeffentlichen habe, werde ich es sicher tun. Wenn mich jemand fragt "wie hast Du das und das gemacht" (z.B. "wie geht das in Perl, um Nachrichtentexte so zu implementieren wie in diesem Forum"), dann bin ich gerne bereit zu zeigen, wie ich es gemacht habe.

    viele Gruesse
      Stefan Muenz

    1. Wenn ich irgendwas allgemein Verwertbares zu veroeffentlichen habe, werde ich es sicher tun. Wenn mich jemand fragt "wie hast Du das und das gemacht" (z.B. "wie geht das in Perl, um Nachrichtentexte so zu implementieren wie in diesem Forum"), dann bin ich gerne bereit zu zeigen, wie ich es gemacht habe.

      Hi Stefan,

      daß finde ich äußerst freundlich von Dir, mich würde interessieren, wie das Skript aussieht, welches die ganzen Nachrichten zusammenfasst.

      Besten Dank im voraus...

      Gruß
      Andre

      1. Hallo Andre

        mich würde interessieren, wie das Skript aussieht, welches die ganzen Nachrichten zusammenfasst.

        #!/usr/bin/perl

        Define Variables

        $basedir = "/der/pfad/zu/teamon/cgi-local";
        $baseurl = "http://www.teamone.de/selfaktuell";
        $baseurldir = "/der/pfad/zu/teamon/selfaktuell";

        $mesgdir = "self_forum";
        $archdir = "self_forum";
        $mesgfile = "self_forum.html";

        $curr_sec = 0;
        $secs = 0;
        @section = "";
        $curr_link_line = 0;
        $links = 0;
        @link_line_tree = "";
        $ext = "html";
        $title = "SELFHTML Forum";
        @files = "";
        @topics = "";
        @names = "";
        @times = "";
        @titles = "";
        @emails = "";
        @urls = "";
        @contents = "";
        $curr_file = 0;

        print "Content-type: text/html\n\n";
        print "<html><body>\n";

        $Input = $ENV{'QUERY_STRING'};
        ($Tag, $Monat, $Jahr, $split_mesg) = split(/-/, $Input);

        print "Tag: $Tag<br>\n";
        print "Monat: $Monat<br>\n";
        print "Jahr: $Jahr<br>\n";
        print "Split-Message: $split_mesg<br><br>\n";

        $arch_file = $Jahr.$Monat.$Tag.".html";
        open(NEWFILE,">$baseurldir/$archdir/$arch_file");

        &make_link_tree;
        &make_sections;
        &new_file;

        #####################

        Make Link Tree Subroutine

        sub make_link_tree {
        print "Link-Tree schreiben<br>\n";

        open(MAIN,"$baseurldir/$mesgfile");
        @main = <MAIN>;
        close(MAIN);

        $flag = 1;
        foreach $main_line (@main) {  
              if ($main_line =~ /<!--top:.*-->|<!--begin.*-->|<!--insert.*-->|<!--responses*-->|<!--end.*-->|<!--start-->|<!--stop-->|</ul>\n/) {  
                 if ($flag != 2) { $flag = 0; }
           if ($main_line =~ /<!--top: (.*)-->/) {
              if ($1 eq $split_mesg) { $flag = 2; $line = "<ul>\n".$main_line; $main_line = $line; }
              if ($flag == 2) {
                $topics[$curr_file] = $1;
                $files[$curr_file] = $1.".html";
                $curr_file++; $secs++; $count++; }
           }
           if ($main_line =~ /</ul>\n/) {
                         $line = "</ul>\n".$main_line; $main_line = $line;    
           }
           if ($flag == 2) {
                    $main_line =~ s//selfhtml///g;
                    $main_line =~ s/x3.gif/xgdown.gif/g;
                    $main_line =~ s/width=15/width=14/g;
           $main_line =~ s/http://www.teamone.de/selfaktuell/self_forum//#a/g;  
           $main_line =~ s/.html//g;  
                    $link_line_tree[$curr_link_line] = $main_line;
                    $curr_link_line++;
           }
              }
          }
        print "Link-Tree geschrieben<br>\n";
        @link_tree = @main;
        }

        #####################

        Make Section Subroutine

        sub make_sections {
        for($i = 0; $i < $secs; $i++) {
           $section[$curr_sec] = "<table bgcolor=#EEEEEE class="doc" width=100%><tr><td>";
           $section[$curr_sec] = $section[$curr_sec]."<a href="#top"><img src="xgoup.gif" width=14 height=10 border=0></a><a href="#bottom"><img src="xgdown.gif" width=14 height=10 border=0></a> ";
           $section[$curr_sec] = $section[$curr_sec]."</td></tr></table>";
           # print "Datei verarbeiten: $baseurldir/$mesgdir/$files[$curr_sec]<br>\n";
           open(MESG_FILE,"$baseurldir/$mesgdir/$files[$curr_sec]");
           @mesg = <MESG_FILE>;
           close(MESG_FILE);
           foreach $mesg_line (@mesg) {
              if ($mesg_line =~ /<title>SELFHTML aktuell: (.*)</title>/) {
             $titles[$curr_sec] = $1;
              }
              if ($mesg_line =~ /Die folgende Nachricht zum Thema stammt von: <b>(.*)</b>, <img src="/selfhtml/xgmail.gif" width=15 height=10 border=0> <a href="mailto:(.*)"><b>.*</b></a>, (.*)<br>/) {
           $names[$curr_sec] = $1;
           $emails[$curr_sec] = $2;
           $times[$curr_sec] = $3;
           $anchor = $files[$curr_sec];
           $anchor =~ s/.html//g;
              $section[$curr_sec] = $section[$curr_sec]."<h2 class="sh2"><a name="a$anchor">$titles[$curr_sec]</a></h2>\n";
              $section[$curr_sec] = $section[$curr_sec]."<p>\n";
              $section[$curr_sec] = $section[$curr_sec]."von: <b>$names[$curr_sec]</b>, <img src="xgmail.gif" width=15 height=10 border=0> <a href="mailto:$emails[$curr_sec]"><b>$emails[$curr_sec]</b></a><br>";
              $section[$curr_sec] = $section[$curr_sec]."geschrieben am: <b>$times[$curr_sec]</b></p>\n";
           }    
           if ($mesg_line =~ /<hr noshade size=1 width=260 align=left><p><tt>/) {
                $flag = 1; }
           if ($mesg_line =~ /</tt></p><br>/) {
                $flag = 0; }
           if ($flag == 1) {
                  $contents[$curr_sec] = $contents[$curr_sec].$mesg_line;  }
           }
           $section[$curr_sec] = $section[$curr_sec]."<p>$contents[$curr_sec]</tt></p>\n";
           $curr_sec++;
        }  
        }

        #####################

        New File Subroutine

        sub new_file {

        print NEWFILE "<html>\n";
           print NEWFILE "<head>\n";
           print NEWFILE "<title>SELFHTML-Forum Archiv</title>\n";
           print NEWFILE "<link rel=stylesheet type="text/css" href="wselfhtm.css">\n";
           print NEWFILE "</head>\n";
           print NEWFILE "<body bgcolor=#FFFFFF text=#000000 link=#AA5522 vlink=#772200 alink=#000000>\n";
           print NEWFILE "<p><nobr><a class="an" name="top"><img src="x2.gif" width=16 height=13 border=0></a> ";
           print NEWFILE "<a href="../index.htm"><b>SELFHTML Aktuell</b></a> ";
           print NEWFILE "<img src="x2.gif" width=16 height=13 border=0> <a href="../self_forum.html"><b>SELFHTML Forum</b></a></nobr></p>\n";
           print NEWFILE "<hr noshade size=1>\n";
           print NEWFILE "<table cellpadding=4 cellspacing=1 width=100%>\n";
           print NEWFILE "<tr>\n";
           print NEWFILE "<td bgcolor=#EEEEEE class="doc" width=110><img src="xweb.gif" width=106 height=109></td>\n";
           print NEWFILE "<td bgcolor=#EEEEEE class="doc" valign=bottom width=100%><h2>SELFHTML Forum<br>Themen, begonnen vor dem $Tag.$Monat.$Jahr</h2></td>\n";
           print NEWFILE "</tr>\n";
           print NEWFILE "</table>\n";

        print NEWFILE "@link_line_tree";

        print NEWFILE "@section";

        print NEWFILE "<table cellpadding=4 cellspacing=1 width=100%>\n";
           print NEWFILE "<tr><td bgcolor=#EEEEEE class="doc">\n";
           print NEWFILE "<a href="#top"><img src="xgoup.gif" width=14 height=10 border=0></a>\n";
           print NEWFILE "</td></tr>\n";
           print NEWFILE "</table>\n";
           print NEWFILE "<hr noshade size=1>\n";
           print NEWFILE "<p><nobr><a class="an" name="top"><img src="x2.gif" width=16 height=13 border=0></a> ";
           print NEWFILE "<a href="../index.htm"><b>SELFHTML Aktuell</b></a> ";
           print NEWFILE "<img src="x2.gif" width=16 height=13 border=0> <a href="../self_forum.html"><b>SELFHTML Forum</b></a></nobr></p>\n";
           print NEWFILE "</body>\n";
           print NEWFILE "</html>\n";
           close(NEWFILE);
           print "<p>neue HTML-Datei angelegt</p>\n";
        }

        foreach $file_entry (@files) {  
           $file_name = $file_entry;
           push(@delfiles,$baseurldir."/".$mesgdir."/".$file_name);
            }
        unlink @delfiles;

        viel Vergnuegen damit <g>
          Stefan Muenz

        PS: eigentlich braucht jemand, der das obige Kauderwelsch versteht, nur noch den Dateinamen des Scripts auf teamone.de kennen, um den Schwanzabschneider selber anzustossen. Aber selbst wenn jemand den Dateinamen herausbekommen sollte - dann apelliere an die allgemeine Vernunft, keinen Unfug damit zu treiben.

        viele Gruesse
          Stefan Muenz