From 1bc8d7a9de9ec3bcd8bd1d494449a5dcf4250b71 Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 18:45:53 +0000 Subject: [PATCH 01/16] -n/a- --- selfforum-cgi/shared/Template/Archive.pm | 45 +++++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/selfforum-cgi/shared/Template/Archive.pm b/selfforum-cgi/shared/Template/Archive.pm index c71c359..08d215c 100644 --- a/selfforum-cgi/shared/Template/Archive.pm +++ b/selfforum-cgi/shared/Template/Archive.pm @@ -73,10 +73,29 @@ sub print_month_as_HTML($$$) { my $template = new Template $tempfile; + # + # check if XML file exists + # + unless (-e $mainfile) { + print ${$template->scrap( + $assign->{'error'}, + { + $assign->{'errorText'} => "Es existieren keine Nachrichten für diesen Monat." + } + )}; + return; + } + + # + # try locking and read/parse threads + # my ($threads, $locked); unless ($locked = lock_file($mainfile) and $threads = get_all_threads($mainfile, KILL_DELETED)) { print ${$template->scrap( - $assign->{'errorLocking'} + $assign->{'error'}, + { + $assign->{'errorText'} => "Fehler beim Locking." + } )}; return; } @@ -143,6 +162,19 @@ sub print_thread_as_HTML($$$) { my $template = new Template $tempfile; + # + # check if XML file exists + # + unless (-e $mainfile) { + print ${$template->scrap( + $assign->{'error'}, + { + $assign->{'errorText'} => "Der gewünschte Thread existiert nicht." + } + )}; + return; + } + my $view = get_view_params ({ 'adminDefault' => $param->{'adminDefault'} }); @@ -180,7 +212,8 @@ sub print_thread_as_HTML($$$) { print ${$template->scrap( $assign->{'threadDocStart'}, - $tmplparam + $tmplparam, + 1 )}; # @@ -191,7 +224,7 @@ sub print_thread_as_HTML($$$) { my $header = get_message_header($mnode); my $body = get_message_body($xml, 'm'.$_->{'mid'}); - my $text = message_field ( + my $text = message_field( $body, { 'quoteChars' => plain($view->{'quoteChars'}), @@ -213,7 +246,8 @@ sub print_thread_as_HTML($$$) { $assign->{'msgCategory'} => plain($header->{'category'}), $assign->{'msgSubject'} => plain($header->{'subject'}), $assign->{'msgBody'} => $text - } + }, + 1 )}; } @@ -222,7 +256,8 @@ sub print_thread_as_HTML($$$) { # print ${$template->scrap( $assign->{'threadDocEnd'}, - $tmplparam + $tmplparam, + 1 )}; } -- 2.34.1 From b3419b3e064483ec301372517e42641f9ebc53a8 Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 18:49:24 +0000 Subject: [PATCH 02/16] scrap(): last parameter (true/false) $no_newlines added; if set, all newlines and line feeds are removed; check this one for bugs... ;) --- selfforum-cgi/shared/Template.pm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/selfforum-cgi/shared/Template.pm b/selfforum-cgi/shared/Template.pm index 44da2cc..ece7eaa 100644 --- a/selfforum-cgi/shared/Template.pm +++ b/selfforum-cgi/shared/Template.pm @@ -5,6 +5,7 @@ package Template; # File: shared/Template.pm # # # # Authors: André Malo , 2001-04-12 # +# Frank Schoenmann , 2001-06-04 # # # # Description: Handle XML based HTML-Templates # # # @@ -109,7 +110,10 @@ sub list { # # fill in a template scrap # -# Params: $name - name of the scrap +# Params: $name name of the scrap +# ... +# $no_nl 1 - remove newlines (\n) +# 0 - do no such thing # # Return: scalar reference - filled in scrap # @@ -117,6 +121,11 @@ sub scrap { my $self = shift; my $name = shift; + my $no_nl; + if (!ref $_[$#_]) { + $no_nl = pop @_; + } + croak "no template file specified" unless (defined $self -> {file}); @@ -168,6 +177,9 @@ sub scrap { \%params ); + # remove newlines + $scrap =~ s/\n|\r\n|\n\r|\r//g if ($no_nl); + # return \$scrap; } @@ -338,4 +350,4 @@ sub parse_if { # # -### end of Template ############################################################ \ No newline at end of file +### end of Template ############################################################ -- 2.34.1 From 50e402c3d55ff3c8d220e95e12c545e6d0e86c5a Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 19:09:46 +0000 Subject: [PATCH 03/16] Initial revision. --- selfforum-config/admin.tmpl.xml | 191 ++++++++++++++++++++++++ selfforum-config/answer.tmpl.xml | 234 ++++++++++++++++++++++++++++++ selfforum-config/arcview.tmpl.xml | 228 +++++++++++++++++++++++++++++ selfforum-config/forum.tmpl.xml | 191 ++++++++++++++++++++++++ selfforum-config/posting.tmpl.xml | 202 ++++++++++++++++++++++++++ 5 files changed, 1046 insertions(+) create mode 100644 selfforum-config/admin.tmpl.xml create mode 100644 selfforum-config/answer.tmpl.xml create mode 100644 selfforum-config/arcview.tmpl.xml create mode 100644 selfforum-config/forum.tmpl.xml create mode 100644 selfforum-config/posting.tmpl.xml diff --git a/selfforum-config/admin.tmpl.xml b/selfforum-config/admin.tmpl.xml new file mode 100644 index 0000000..1be49d0 --- /dev/null +++ b/selfforum-config/admin.tmpl.xml @@ -0,0 +1,191 @@ + + \ No newline at end of file diff --git a/selfforum-config/answer.tmpl.xml b/selfforum-config/answer.tmpl.xml new file mode 100644 index 0000000..c4b69bb --- /dev/null +++ b/selfforum-config/answer.tmpl.xml @@ -0,0 +1,234 @@ + + + \ No newline at end of file diff --git a/selfforum-config/arcview.tmpl.xml b/selfforum-config/arcview.tmpl.xml new file mode 100644 index 0000000..8973189 --- /dev/null +++ b/selfforum-config/arcview.tmpl.xml @@ -0,0 +1,228 @@ + + + diff --git a/selfforum-config/forum.tmpl.xml b/selfforum-config/forum.tmpl.xml new file mode 100644 index 0000000..15168d1 --- /dev/null +++ b/selfforum-config/forum.tmpl.xml @@ -0,0 +1,191 @@ + + \ No newline at end of file diff --git a/selfforum-config/posting.tmpl.xml b/selfforum-config/posting.tmpl.xml new file mode 100644 index 0000000..f5cc711 --- /dev/null +++ b/selfforum-config/posting.tmpl.xml @@ -0,0 +1,202 @@ + + + \ No newline at end of file -- 2.34.1 From 1394c2608b550e9b98ca791bebbb236139732335 Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 19:13:30 +0000 Subject: [PATCH 04/16] templates are now in /cgi-config --- selfforum-cgi/user/config/answer.tmp.xml | 237 ---------------------- selfforum-cgi/user/config/forum.tmp.xml | 170 ---------------- selfforum-cgi/user/config/posting.tmp.xml | 165 --------------- 3 files changed, 572 deletions(-) delete mode 100644 selfforum-cgi/user/config/answer.tmp.xml delete mode 100644 selfforum-cgi/user/config/forum.tmp.xml delete mode 100644 selfforum-cgi/user/config/posting.tmp.xml diff --git a/selfforum-cgi/user/config/answer.tmp.xml b/selfforum-cgi/user/config/answer.tmp.xml deleted file mode 100644 index 7ba30ff..0000000 --- a/selfforum-cgi/user/config/answer.tmp.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - diff --git a/selfforum-cgi/user/config/forum.tmp.xml b/selfforum-cgi/user/config/forum.tmp.xml deleted file mode 100644 index 6242b07..0000000 --- a/selfforum-cgi/user/config/forum.tmp.xml +++ /dev/null @@ -1,170 +0,0 @@ - - diff --git a/selfforum-cgi/user/config/posting.tmp.xml b/selfforum-cgi/user/config/posting.tmp.xml deleted file mode 100644 index f73a2ae..0000000 --- a/selfforum-cgi/user/config/posting.tmp.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - -- 2.34.1 From 50ab72c5b8dbaca93b2bf52e4543861d878d60fb Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 19:14:37 +0000 Subject: [PATCH 05/16] DTDs are now in /cgi-config. --- selfforum-cgi/user/config/config.dtd | 56 ---- .../user/config/fo_admin_default.dtd | 296 ------------------ selfforum-cgi/user/config/fo_view.dtd | 21 -- 3 files changed, 373 deletions(-) delete mode 100644 selfforum-cgi/user/config/config.dtd delete mode 100644 selfforum-cgi/user/config/fo_admin_default.dtd delete mode 100644 selfforum-cgi/user/config/fo_view.dtd diff --git a/selfforum-cgi/user/config/config.dtd b/selfforum-cgi/user/config/config.dtd deleted file mode 100644 index 7ea146f..0000000 --- a/selfforum-cgi/user/config/config.dtd +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/selfforum-cgi/user/config/fo_admin_default.dtd b/selfforum-cgi/user/config/fo_admin_default.dtd deleted file mode 100644 index b066b07..0000000 --- a/selfforum-cgi/user/config/fo_admin_default.dtd +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/selfforum-cgi/user/config/fo_view.dtd b/selfforum-cgi/user/config/fo_view.dtd deleted file mode 100644 index b0fcd3f..0000000 --- a/selfforum-cgi/user/config/fo_view.dtd +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - -- 2.34.1 From 2fab74a38f19144394131c50fa0b5baf0ed8733b Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 19:16:41 +0000 Subject: [PATCH 06/16] default configuration files are now in /cgi-config. --- selfforum-cgi/user/config/common.xml-default | 72 ----- .../user/config/fo_admin.xml-default | 37 --- .../user/config/fo_admin_default.xml-default | 46 --- .../user/config/fo_posting.xml-default | 282 ------------------ selfforum-cgi/user/config/fo_view.xml-default | 22 -- 5 files changed, 459 deletions(-) delete mode 100644 selfforum-cgi/user/config/common.xml-default delete mode 100644 selfforum-cgi/user/config/fo_admin.xml-default delete mode 100644 selfforum-cgi/user/config/fo_admin_default.xml-default delete mode 100644 selfforum-cgi/user/config/fo_posting.xml-default delete mode 100644 selfforum-cgi/user/config/fo_view.xml-default diff --git a/selfforum-cgi/user/config/common.xml-default b/selfforum-cgi/user/config/common.xml-default deleted file mode 100644 index fb9d4f9..0000000 --- a/selfforum-cgi/user/config/common.xml-default +++ /dev/null @@ -1,72 +0,0 @@ - - - - - e:/localhosts/i_selfhtml/htdocs/selfaktuell/forum/messages/ - e:/localhosts/i_selfhtml/htdocs/selfaktuell/forum/messages/selfforum.xml - e:/localhosts/i_selfhtml/cgi-local/user/config/fo_admin_default.xml - - - - - - - /selfaktuell/forum/images/01.gif - 419 - 119 - Für dein Problem gibt es nur eine Lösung: SELFmade von Selbermachen. - - - /selfaktuell/forum/images/02.gif - 302 - 119 - Die Antwort auf deine Frage findest du im Archiv. - - - /selfaktuell/forum/images/03.gif - 248 - 119 - Was willst du jetzt eigentlich wissen? - - - /selfaktuell/forum/images/04.gif - 428 - 119 - Schau mal in SELFHTML nach, um eine Antwort auf deine Frage zu finden! - - - /selfaktuell/forum/images/05.gif - 158 - 119 - Jetzt reicht's aber! - - - /selfaktuell/forum/images/06.gif - 462 - 119 - Erstmal selber probieren, dann bei Problemen: SELFHTML, danach: dieses Forum. - - - /selfaktuell/forum/images/07.gif - 275 - 119 - Stopp! So etwas hat hier nichts zu suchen. - - - /selfaktuell/forum/images/08.gif - 213 - 100 - Schau mal unter folgenden Links nach: - - - /selfaktuell/forum/images/10.gif - 224 - 119 - ??!%${ - - - - - - - \ No newline at end of file diff --git a/selfforum-cgi/user/config/fo_admin.xml-default b/selfforum-cgi/user/config/fo_admin.xml-default deleted file mode 100644 index 67b3ed7..0000000 --- a/selfforum-cgi/user/config/fo_admin.xml-default +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - _VIEWS - _VOTINGS - _RATE - - - - - - /var/www/cgi-local/user/config/admin.tmpl.xml - - - DOC_FORUM_START - DOC_FORUM_END - _LOAD_TIME - _CSS_FILE - DOC_ERROR - - _N_A - _OCCUPIED - _ERROR_TEXT - - - - - - - - - diff --git a/selfforum-cgi/user/config/fo_admin_default.xml-default b/selfforum-cgi/user/config/fo_admin_default.xml-default deleted file mode 100644 index 5e4f1be..0000000 --- a/selfforum-cgi/user/config/fo_admin_default.xml-default +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - 10 - - - - - - »» - - - - - 250000 - 2000 - 150 - - - - - - - - - - 300 - - - - - - - - 45 - - - diff --git a/selfforum-cgi/user/config/fo_posting.xml-default b/selfforum-cgi/user/config/fo_posting.xml-default deleted file mode 100644 index 5b9e3af..0000000 --- a/selfforum-cgi/user/config/fo_posting.xml-default +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - /var/www/cgi-local/user/config/answer.tmpl.xml - - - DOC_OPENING - DOC_THANKYOU - - DOC_OPENING - DOC_FATAL - _ERR_MESS - _NUM - - _MANIPULATED - _MANIPULATED - _MANIPULATED - _ENCODING - _OCCUPIED - _MASTERLOCK - _NOREPLY - _DUPE - _NOT_SAVED - _UNKNOWN - - _CSS_FILE - - OPTION - _OPTVAL - _SELECTED - - _MESSAGE - - CITE_START - CITE_END - - - - _NAME - _MAIL - _TIME - _BODY - _CATEGORY - _TITLE - _HOME - _IMAGE - - - - - - /cgi-local/user/fo_posting.pl - _FORM_ACTION - - - - - - uniqueID - quoteChar - posterName - posterEmail - posterCategory - posterSubject - posterBody - - - - followUp - uniqueID - quoteChar - posterName - posterEmail - posterBody - posterCategory - posterSubject - - - - - - - _FORM_FUP_NAME - _FORM_FUP_VALUE - _MANIPULATED - - - fup - 20 - fatal - internal - - - - - _FORM_UID_NAME - _FORM_UID_VALUE - _MANIPULATED - - - userid - 40 - fatal - internal - - - - - _FORM_UNID_NAME - _FORM_UNID_VALUE - _MANIPULATED - - - unid - 40 - fatal - internal - - - - - _FORM_QCHAR_NAME - _FORM_QCHAR_VALUE - _MANIPULATED - - - qchar - 20 - fatal - internal - - - - - _FORM_NAME_NAME - _FORM_NAME_VALUE - _NAME_TOO_LONG - _NAME_TOO_SHORT - - - name - 60 - 2 - name - repeat - - - - - _FORM_MAIL_NAME - _FORM_MAIL_VALUE - _MAIL_TOO_LONG - _MAIL_TOO_SHORT - _MAIL_WRONG - - - email - 60 - 7 - email - repeat - - - - - _FORM_CAT_NAME - _CATLIST - _CAT_WRONG - _CAT_WRONG - _CAT_WRONG - - - category - 18 - 3 - fetch - category - - ASP - BROWSER - CGI - CSS - DATENBANK - DESIGN - DHTML - E-MAIL - FTP - GRAFIK - HTML - HTTP - INTERNET-ANBINDUNG - JAVA - JAVASCRIPT - MEINUNG - MENSCHELEI - PERL - PHP - PROGRAMMIERTECHNIK - PROJEKTVERWALTUNG - PROVIDER - RECHT - SERVER - SOFTWARE - VB-SCRIPT - XML - XML-DERIVAT - XSL - ZUR INFO - ZU DIESEM FORUM - - - - - - _FORM_SUBJECT_NAME - _FORM_SUBJECT_VALUE - _SUB_TOO_LONG - _SUB_TOO_SHORT - - subject - 64 - 4 - fetch - subject - - - - - _FORM_BODY_NAME - _FORM_BODY_VALUE - _BODY_TOO_LONG - _BODY_TOO_SHORT - - body - 12288 - 10 - repeat - multiline-text - - - - - _FORM_SIGN_VALUE - - - - - - _FORM_URL_NAME - _FORM_URL_VALUE - _URL_TOO_LONG - - url - 1024 - http-url - kill - http:// - - - - - _FORM_IMG_NAME - _FORM_IMG_VALUE - _IMG_TOO_LONG - - image - 1024 - http-url - kill - http:// - - - - - - - - - diff --git a/selfforum-cgi/user/config/fo_view.xml-default b/selfforum-cgi/user/config/fo_view.xml-default deleted file mode 100644 index 4ee6809..0000000 --- a/selfforum-cgi/user/config/fo_view.xml-default +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - /var/www/cgi-local/user/config/forum.tmpl.xml - - - DOC_FORUM_START - DOC_FORUM_END - _LOAD_TIME - _CSS_FILE - DOC_ERROR - _N_A - _OCCUPIED - _ERROR_TEXT - - - - - - -- 2.34.1 From 3a3c30675c33b22cafe316471d7c86ff86cab3cb Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Mon, 4 Jun 2001 19:33:19 +0000 Subject: [PATCH 07/16] Initial revision. --- selfforum-cgi/user/fo_arcview.pl | 147 +++++++++ selfforum-config/common.xml-default | 72 +++++ selfforum-config/config.dtd | 56 ++++ selfforum-config/fo_admin.xml-default | 37 +++ selfforum-config/fo_admin_default.dtd | 296 ++++++++++++++++++ selfforum-config/fo_admin_default.xml-default | 46 +++ selfforum-config/fo_arcview.xml-default | 50 +++ selfforum-config/fo_posting.xml-default | 282 +++++++++++++++++ selfforum-config/fo_view.dtd | 21 ++ selfforum-config/fo_view.xml-default | 22 ++ 10 files changed, 1029 insertions(+) create mode 100644 selfforum-cgi/user/fo_arcview.pl create mode 100644 selfforum-config/common.xml-default create mode 100644 selfforum-config/config.dtd create mode 100644 selfforum-config/fo_admin.xml-default create mode 100644 selfforum-config/fo_admin_default.dtd create mode 100644 selfforum-config/fo_admin_default.xml-default create mode 100644 selfforum-config/fo_arcview.xml-default create mode 100644 selfforum-config/fo_posting.xml-default create mode 100644 selfforum-config/fo_view.dtd create mode 100644 selfforum-config/fo_view.xml-default diff --git a/selfforum-cgi/user/fo_arcview.pl b/selfforum-cgi/user/fo_arcview.pl new file mode 100644 index 0000000..667fd2b --- /dev/null +++ b/selfforum-cgi/user/fo_arcview.pl @@ -0,0 +1,147 @@ +#!/usr/bin/perl -w + +################################################################################ +# # +# File: user/fo_arcview.pl # +# # +# Authors: Frank Schoenmann , 2001-06-02 # +# # +# Description: archive browser # +# # +################################################################################ + +use strict; +use vars qw( + $Bin + $Shared + $Script + $Config +); + +BEGIN { + my $null = $0; $null =~ s/\\/\//g; # for win :-( + $Bin = ($null =~ /^(.*)\/.*$/)? $1 : '.'; + $Shared = "$Bin/../../cgi-shared"; + $Config = "$Bin/../../cgi-config/forum"; + $Script = ($null =~ /^.*\/(.*)$/)? $1 : $null; + +# my $null = $0; #$null =~ s/\\/\//g; # for win :-( +# $Bin = ($null =~ /^(.*)\/.*$/)? $1 : '.'; +# $Config = "$Bin/../../../cgi-config/devforum"; +# $Shared = "$Bin/../../../cgi-shared"; +# $Script = ($null =~ /^.*\/(.*)$/)? $1 : $null; +} + +use lib "$Shared"; +use CGI::Carp qw(fatalsToBrowser); + +use Conf; +use Conf::Admin; +use Template::Archive qw( + print_month_as_HTML + print_thread_as_HTML +); +#use Template::Forum; +#use Template::Posting; + +use CGI qw(param header path_info); + +print header(-type => 'text/html'); + +#my $show = $conf->{show}; +#my $tree = $show->{assign}->{thread}; + +#my $forum_file = $conf->{files}->{forum}; +#my $message_path = $conf->{files}->{messagePath}; + +my $conf = read_script_conf($Config, $Shared, $Script); +my $show = $conf->{'show'}; +my $cgi = $show->{'assign'}->{'cgi'}; +my $show_archive = $show->{'Archive'}; +my $adminDefault = read_admin_conf($conf->{'files'}->{'adminDefault'}); + +my ($year, $month, $tid, $mid); + +# tid is thread id, mid is not used yet +if (my $path_info = path_info()) { + (undef, $year, $month, $tid, $mid) = split "/", $path_info; +} else { + ($year, $month, $tid, $mid) = + (param($cgi->{'year'}), param($cgi->{'month'}), param($cgi->{'thread'}), param($cgi->{'posting'})); +} + +if ($year) { + if ($month) { + if ($tid) { + if ($mid) { +# print_msg_as_HTML(); + } else { + print_thread_as_HTML( + $conf->{'files'}->{'archivePath'} . $year .'/'. $month .'/t'. $tid . '.xml', +# '/home/users/f/fo/fox_two/sf/data/forum/archive/2001/5/t23518', + $show_archive->{'templateFile'}, + { + 'assign' => $show_archive->{'assign'}, + 'adminDefault' => $adminDefault, + 'cgi' => $cgi, + 'year' => $year, + 'month' => $month, + 'thread' => $tid, + 'posting' => $mid, + 'tree' => $show->{'assign'}->{'thread'} + + } + ); + } + } else { + print_month_as_HTML( + $conf->{'files'}->{'archivePath'} . $year . '/' . $month . '/' . $conf->{'files'}->{'archiveIndex'}, + $show_archive->{'templateFile'}, + { + 'assign' => $show_archive->{'assign'}, + 'year' => $year, + 'month' => $month + } + ); + } + } else { +# print_year_as_HTML(); + } +} else { +# print_overview_as_HTML(); +} + + +#if (defined ($tid) and defined ($mid)) { +# print_posting_as_HTML ( +# $message_path, +# $show_posting -> {templateFile}, +# { assign => $show_posting -> {assign}, +# thread => $tid, +# posting => $mid, +# adminDefault => $adminDefault, +# messages => $conf -> {template} -> {messages}, +# form => $show_posting -> {form}, +# cgi => $cgi, +# tree => $tree, +# firsttime => 1, +# cachepath => $conf -> {files} -> {cachePath} +# } +# ); +#} +# +#else { +# print_forum_as_HTML ( +# $forum_file, +# $show_forum -> {templateFile}, +# { assign => $show_forum -> {assign}, +# adminDefault => $adminDefault, +# cgi => $cgi, +# tree => $tree +# } +# ); +#} + +# +# +### end of fo_view.pl ########################################################## diff --git a/selfforum-config/common.xml-default b/selfforum-config/common.xml-default new file mode 100644 index 0000000..fb9d4f9 --- /dev/null +++ b/selfforum-config/common.xml-default @@ -0,0 +1,72 @@ + + + + + e:/localhosts/i_selfhtml/htdocs/selfaktuell/forum/messages/ + e:/localhosts/i_selfhtml/htdocs/selfaktuell/forum/messages/selfforum.xml + e:/localhosts/i_selfhtml/cgi-local/user/config/fo_admin_default.xml + + + + + + + /selfaktuell/forum/images/01.gif + 419 + 119 + Für dein Problem gibt es nur eine Lösung: SELFmade von Selbermachen. + + + /selfaktuell/forum/images/02.gif + 302 + 119 + Die Antwort auf deine Frage findest du im Archiv. + + + /selfaktuell/forum/images/03.gif + 248 + 119 + Was willst du jetzt eigentlich wissen? + + + /selfaktuell/forum/images/04.gif + 428 + 119 + Schau mal in SELFHTML nach, um eine Antwort auf deine Frage zu finden! + + + /selfaktuell/forum/images/05.gif + 158 + 119 + Jetzt reicht's aber! + + + /selfaktuell/forum/images/06.gif + 462 + 119 + Erstmal selber probieren, dann bei Problemen: SELFHTML, danach: dieses Forum. + + + /selfaktuell/forum/images/07.gif + 275 + 119 + Stopp! So etwas hat hier nichts zu suchen. + + + /selfaktuell/forum/images/08.gif + 213 + 100 + Schau mal unter folgenden Links nach: + + + /selfaktuell/forum/images/10.gif + 224 + 119 + ??!%${ + + + + + + + \ No newline at end of file diff --git a/selfforum-config/config.dtd b/selfforum-config/config.dtd new file mode 100644 index 0000000..7ea146f --- /dev/null +++ b/selfforum-config/config.dtd @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/selfforum-config/fo_admin.xml-default b/selfforum-config/fo_admin.xml-default new file mode 100644 index 0000000..67b3ed7 --- /dev/null +++ b/selfforum-config/fo_admin.xml-default @@ -0,0 +1,37 @@ + + + + + + + + + _VIEWS + _VOTINGS + _RATE + + + + + + /var/www/cgi-local/user/config/admin.tmpl.xml + + + DOC_FORUM_START + DOC_FORUM_END + _LOAD_TIME + _CSS_FILE + DOC_ERROR + + _N_A + _OCCUPIED + _ERROR_TEXT + + + + + + + + + diff --git a/selfforum-config/fo_admin_default.dtd b/selfforum-config/fo_admin_default.dtd new file mode 100644 index 0000000..b066b07 --- /dev/null +++ b/selfforum-config/fo_admin_default.dtd @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/selfforum-config/fo_admin_default.xml-default b/selfforum-config/fo_admin_default.xml-default new file mode 100644 index 0000000..5e4f1be --- /dev/null +++ b/selfforum-config/fo_admin_default.xml-default @@ -0,0 +1,46 @@ + + + + + + + 10 + + + + + + »» + + + + + 250000 + 2000 + 150 + + + + + + + + + + 300 + + + + + + + + 45 + + + diff --git a/selfforum-config/fo_arcview.xml-default b/selfforum-config/fo_arcview.xml-default new file mode 100644 index 0000000..5ff0927 --- /dev/null +++ b/selfforum-config/fo_arcview.xml-default @@ -0,0 +1,50 @@ + + + + + + + /var/www/cgi-local/user/config/arcview.tmpl.xml + + + ARC_THREAD_START + ARC_THREAD_END + XPOSTING + + ARC_MONTH_START + ARC_MONTH_END + ARC_MONTH_THREAD + + _T_ID + _T_CATEGORY + _T_TITLE + _T_AUTHOR + _T_TIME + _T_DATE + + _YEAR + _MONTH + _MONTH_NAME + + _MSG_ID + _MSG_AUTHOR + _MSG_MAIL + _MSG_HOMEPAGE + _MSG_TIME + _MSG_CATEGORY + _MSG_TITLE + _MSG_TEXT + + CITE_START + CITE_END + + DOC_ERROR + _ERROR_TEXT + + _CSS_FILE + + + + + + diff --git a/selfforum-config/fo_posting.xml-default b/selfforum-config/fo_posting.xml-default new file mode 100644 index 0000000..5b9e3af --- /dev/null +++ b/selfforum-config/fo_posting.xml-default @@ -0,0 +1,282 @@ + + + + + + + /var/www/cgi-local/user/config/answer.tmpl.xml + + + DOC_OPENING + DOC_THANKYOU + + DOC_OPENING + DOC_FATAL + _ERR_MESS + _NUM + + _MANIPULATED + _MANIPULATED + _MANIPULATED + _ENCODING + _OCCUPIED + _MASTERLOCK + _NOREPLY + _DUPE + _NOT_SAVED + _UNKNOWN + + _CSS_FILE + + OPTION + _OPTVAL + _SELECTED + + _MESSAGE + + CITE_START + CITE_END + + + + _NAME + _MAIL + _TIME + _BODY + _CATEGORY + _TITLE + _HOME + _IMAGE + + + + + + /cgi-local/user/fo_posting.pl + _FORM_ACTION + + + + + + uniqueID + quoteChar + posterName + posterEmail + posterCategory + posterSubject + posterBody + + + + followUp + uniqueID + quoteChar + posterName + posterEmail + posterBody + posterCategory + posterSubject + + + + + + + _FORM_FUP_NAME + _FORM_FUP_VALUE + _MANIPULATED + + + fup + 20 + fatal + internal + + + + + _FORM_UID_NAME + _FORM_UID_VALUE + _MANIPULATED + + + userid + 40 + fatal + internal + + + + + _FORM_UNID_NAME + _FORM_UNID_VALUE + _MANIPULATED + + + unid + 40 + fatal + internal + + + + + _FORM_QCHAR_NAME + _FORM_QCHAR_VALUE + _MANIPULATED + + + qchar + 20 + fatal + internal + + + + + _FORM_NAME_NAME + _FORM_NAME_VALUE + _NAME_TOO_LONG + _NAME_TOO_SHORT + + + name + 60 + 2 + name + repeat + + + + + _FORM_MAIL_NAME + _FORM_MAIL_VALUE + _MAIL_TOO_LONG + _MAIL_TOO_SHORT + _MAIL_WRONG + + + email + 60 + 7 + email + repeat + + + + + _FORM_CAT_NAME + _CATLIST + _CAT_WRONG + _CAT_WRONG + _CAT_WRONG + + + category + 18 + 3 + fetch + category + + ASP + BROWSER + CGI + CSS + DATENBANK + DESIGN + DHTML + E-MAIL + FTP + GRAFIK + HTML + HTTP + INTERNET-ANBINDUNG + JAVA + JAVASCRIPT + MEINUNG + MENSCHELEI + PERL + PHP + PROGRAMMIERTECHNIK + PROJEKTVERWALTUNG + PROVIDER + RECHT + SERVER + SOFTWARE + VB-SCRIPT + XML + XML-DERIVAT + XSL + ZUR INFO + ZU DIESEM FORUM + + + + + + _FORM_SUBJECT_NAME + _FORM_SUBJECT_VALUE + _SUB_TOO_LONG + _SUB_TOO_SHORT + + subject + 64 + 4 + fetch + subject + + + + + _FORM_BODY_NAME + _FORM_BODY_VALUE + _BODY_TOO_LONG + _BODY_TOO_SHORT + + body + 12288 + 10 + repeat + multiline-text + + + + + _FORM_SIGN_VALUE + + + + + + _FORM_URL_NAME + _FORM_URL_VALUE + _URL_TOO_LONG + + url + 1024 + http-url + kill + http:// + + + + + _FORM_IMG_NAME + _FORM_IMG_VALUE + _IMG_TOO_LONG + + image + 1024 + http-url + kill + http:// + + + + + + + + + diff --git a/selfforum-config/fo_view.dtd b/selfforum-config/fo_view.dtd new file mode 100644 index 0000000..b0fcd3f --- /dev/null +++ b/selfforum-config/fo_view.dtd @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/selfforum-config/fo_view.xml-default b/selfforum-config/fo_view.xml-default new file mode 100644 index 0000000..4ee6809 --- /dev/null +++ b/selfforum-config/fo_view.xml-default @@ -0,0 +1,22 @@ + + + + + + /var/www/cgi-local/user/config/forum.tmpl.xml + + + DOC_FORUM_START + DOC_FORUM_END + _LOAD_TIME + _CSS_FILE + DOC_ERROR + _N_A + _OCCUPIED + _ERROR_TEXT + + + + + + -- 2.34.1 From be14efa3926f2f535d48a60f2ea6aedc6cf47c5a Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 04:35:37 +0000 Subject: [PATCH 08/16] syncmail added for cvs mail support --- CVSROOT/syncmail | 209 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100755 CVSROOT/syncmail diff --git a/CVSROOT/syncmail b/CVSROOT/syncmail new file mode 100755 index 0000000..dee7016 --- /dev/null +++ b/CVSROOT/syncmail @@ -0,0 +1,209 @@ +#! /usr/bin/python +# -*- Python -*- + +"""Complicated notification for CVS checkins. + +This script is used to provide email notifications of changes to the CVS +repository. These email changes will include context diffs of the changes. +Really big diffs will be trimmed. + +This script is run from a CVS loginfo file (see $CVSROOT/CVSROOT/loginfo). To +set this up, create a loginfo entry that looks something like this: + + mymodule /path/to/this/script %%s some-email-addr@your.domain + +In this example, whenever a checkin that matches `mymodule' is made, this +script is invoked, which will generate the diff containing email, and send it +to some-email-addr@your.domain. + + Note: This module used to also do repository synchronizations via + rsync-over-ssh, but since the repository has been moved to SourceForge, + this is no longer necessary. The syncing functionality has been ripped + out in the 3.0, which simplifies it considerably. Access the 2.x versions + to refer to this functionality. Because of this, the script is misnamed. + +It no longer makes sense to run this script from the command line. Doing so +will only print out this usage information. + +Usage: + + %(PROGRAM)s [options] <%%S> email-addr [email-addr ...] + +Where options is: + + --cvsroot= + Use as the environment variable CVSROOT. Otherwise this + variable must exist in the environment. + + --help + -h + Print this text. + + --context=# + -C # + Include # lines of context around lines that differ (default: 2). + + -c + Produce a context diff (default). + + -u + Produce a unified diff (smaller, but harder to read). + + <%%S> + CVS %%s loginfo expansion. When invoked by CVS, this will be a single + string containing the directory the checkin is being made in, relative + to $CVSROOT, followed by the list of files that are changing. If the + %%s in the loginfo file is %%{sVv}, context diffs for each of the + modified files are included in any email messages that are generated. + + email-addrs + At least one email address. + +""" + +import os +import sys +import string +import time +import getopt + +# Notification command +MAILCMD = '/bin/mail -s "CVS: %(SUBJECT)s" %(PEOPLE)s 2>&1 > /dev/null' + +# Diff trimming stuff +DIFF_HEAD_LINES = 20 +DIFF_TAIL_LINES = 20 +DIFF_TRUNCATE_IF_LARGER = 1000 + +PROGRAM = sys.argv[0] + + + +def usage(code, msg=''): + print __doc__ % globals() + if msg: + print msg + sys.exit(code) + + + +def calculate_diff(filespec, contextlines): + try: + file, oldrev, newrev = string.split(filespec, ',') + except ValueError: + # No diff to report + return '***** Bogus filespec: %s' % filespec + if oldrev == 'NONE': + try: + if os.path.exists(file): + fp = open(file) + else: + update_cmd = 'cvs -fn update -r %s -p %s' % (newrev, file) + fp = os.popen(update_cmd) + lines = fp.readlines() + fp.close() + lines.insert(0, '--- NEW FILE: %s ---\n' % file) + except IOError, e: + lines = ['***** Error reading new file: ', + str(e), '\n***** file: ', file, ' cwd: ', os.getcwd()] + elif newrev == 'NONE': + lines = ['--- %s DELETED ---\n' % file] + else: + # This /has/ to happen in the background, otherwise we'll run into CVS + # lock contention. What a crock. + if contextlines > 0: + difftype = "-C " + str(contextlines) + else: + difftype = "-u" + diffcmd = '/usr/bin/cvs -f diff -kk %s -r %s -r %s %s' % ( + difftype, oldrev, newrev, file) + fp = os.popen(diffcmd) + lines = fp.readlines() + sts = fp.close() + # ignore the error code, it always seems to be 1 :( +## if sts: +## return 'Error code %d occurred during diff\n' % (sts >> 8) + if len(lines) > DIFF_TRUNCATE_IF_LARGER: + removedlines = len(lines) - DIFF_HEAD_LINES - DIFF_TAIL_LINES + del lines[DIFF_HEAD_LINES:-DIFF_TAIL_LINES] + lines.insert(DIFF_HEAD_LINES, + '[...%d lines suppressed...]\n' % removedlines) + return string.join(lines, '') + + + +def blast_mail(mailcmd, filestodiff, contextlines): + # cannot wait for child process or that will cause parent to retain cvs + # lock for too long. Urg! + if not os.fork(): + # in the child + # give up the lock you cvs thang! + time.sleep(2) + fp = os.popen(mailcmd, 'w') + fp.write(sys.stdin.read()) + fp.write('\n') + # append the diffs if available + for file in filestodiff: + fp.write(calculate_diff(file, contextlines)) + fp.write('\n') + fp.close() + # doesn't matter what code we return, it isn't waited on + os._exit(0) + + + +# scan args for options +def main(): + contextlines = 2 + try: + opts, args = getopt.getopt(sys.argv[1:], 'hC:cu', + ['context=', 'cvsroot=', 'help']) + except getopt.error, msg: + usage(1, msg) + + # parse the options + for opt, arg in opts: + if opt in ('-h', '--help'): + usage(0) + elif opt == '--cvsroot': + os.environ['CVSROOT'] = arg + elif opt in ('-C', '--context'): + contextlines = int(arg) + elif opt == '-c': + if contextlines <= 0: + contextlines = 2 + elif opt == '-u': + contextlines = 0 + + # What follows is the specification containing the files that were + # modified. The argument actually must be split, with the first component + # containing the directory the checkin is being made in, relative to + # $CVSROOT, followed by the list of files that are changing. + if not args: + usage(1, 'No CVS module specified') + SUBJECT = args[0] + specs = string.split(args[0]) + del args[0] + + # The remaining args should be the email addresses + if not args: + usage(1, 'No recipients specified') + + # Now do the mail command + PEOPLE = string.join(args) + mailcmd = MAILCMD % vars() + + print 'Mailing %s...' % PEOPLE + if specs == ['-', 'Imported', 'sources']: + return + if specs[-3:] == ['-', 'New', 'directory']: + del specs[-3:] + print 'Generating notification message...' + blast_mail(mailcmd, specs[1:], contextlines) + print 'Generating notification message... done.' + + + +if __name__ == '__main__': + main() + sys.exit(0) \ No newline at end of file -- 2.34.1 From c6b8e3075d2fd6cd5ef345aa686a68cc899eb5fe Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 04:38:36 +0000 Subject: [PATCH 09/16] added syncmail in checkoutlist --- CVSROOT/checkoutlist | 1 + 1 file changed, 1 insertion(+) diff --git a/CVSROOT/checkoutlist b/CVSROOT/checkoutlist index b04b350..4c45a69 100644 --- a/CVSROOT/checkoutlist +++ b/CVSROOT/checkoutlist @@ -11,3 +11,4 @@ # [] # # comment lines begin with '#' +syncmail -- 2.34.1 From e84ef5943ce58927de1ea8295bc28d91234113c5 Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 04:45:11 +0000 Subject: [PATCH 10/16] commits now should be sent to syncmail --- CVSROOT/loginfo | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo index 5a59f0a..11955f2 100644 --- a/CVSROOT/loginfo +++ b/CVSROOT/loginfo @@ -24,3 +24,6 @@ #DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog # or #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog + +DEFAULT $CVSROOT/CVSROOT/syncmail %{sVv} selfforum-commits@lists.sourceforge.net + -- 2.34.1 From 201ae8cfc111df6f6e91b8a360a6a704aa32c596 Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 04:46:26 +0000 Subject: [PATCH 11/16] just a test --- selfforum-data/images/01.gif | Bin 252 -> 252 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/selfforum-data/images/01.gif b/selfforum-data/images/01.gif index 1050b8f93040f24ab06e045ece6519bd70f8bd40..bf07ea116fdc2c93eb415d29b5486eb1131f9763 100644 GIT binary patch delta 224 zcmWm6ze>YE9KdmYEqGSw;2;PV{4Pq8A&5BW3wX97q##H(uMmrn;BgdGD8xUdyU*a@ z14w5VadH=TM{$!zD4hCvfX_^3($wwU?HzM3=S<wTFVogwh5<;E>9 z8q!NBz<@o5MirrAek`g_S&+g}Kp5fUt)-+Y delta 224 zcmWm6ze>YE0KnnjwcuHygM%PguuCP$5JVjG1w3mJQV=AYSBOPO@Hh%86yl%Kz0c6W z2PmDph*NiQcN8~igupoN)aJXQU2=RAR@Tt)AH2gUDNJtlkSRS zjk+T$JzwQ}x8)-FK9T95n>Eh#R?|2rT?Q?}8s-I4>t{^C^3UUAg0L$w{=?hi-pz1B OT$}!JJ{^>;_X@xI%|5XJ -- 2.34.1 From e1112623636b6c784b3b3b1bec221a70002e7ab6 Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 05:17:48 +0000 Subject: [PATCH 12/16] 3rd test --- selfforum-data/images/01.gif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selfforum-data/images/01.gif b/selfforum-data/images/01.gif index bf07ea1..b9bb454 100644 --- a/selfforum-data/images/01.gif +++ b/selfforum-data/images/01.gif @@ -1,2 +1,2 @@ -GIF89a£w ÷ „‚„ÄÂÄìîìÔª”üüþü¬V$œžœìÖÌôöôܾ¬îo r Gt†a rbîal Ge  ÌG‚ra Yy m a p` ø* . ùp g m Y W( )* ÿ.4P øP M G) P o ìr ƒt Ùa Qb l0e + GIF89a£w ÷ „‚„ÄÂÄìîìÔª”üüþü¬V$œžœìÖÌôöôܾ¬îo r Gt†a rbîal Ge  ÌG‚ra Yy m a p` ø* . ùp g m Y W( )* ÿ.4P øP M G) P o ìr ƒt Ùa Qb l0e ÿ P§i2xøeõl„gm%TaIpÿ f*K . pÄ p|m µ r ( ä³ rY )×÷€ÿ¿ ÿ† ÿQ |Hµ„r(Æ \ No newline at end of file -- 2.34.1 From e08e9d9fb3bbd322fe684451afc0c04cdbf35aac Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 05:40:13 +0000 Subject: [PATCH 13/16] x-bit-added --- CVSROOT/syncmail | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CVSROOT/syncmail b/CVSROOT/syncmail index dee7016..0414ba9 100755 --- a/CVSROOT/syncmail +++ b/CVSROOT/syncmail @@ -1,5 +1,5 @@ -#! /usr/bin/python -# -*- Python -*- +#!/usr/bin/python +# -*- Python -*- """Complicated notification for CVS checkins. -- 2.34.1 From 89d175e0075601af7174255fa7b808f1bdee920f Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 05:45:44 +0000 Subject: [PATCH 14/16] x-bit added --- CVSROOT/syncmail | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CVSROOT/syncmail b/CVSROOT/syncmail index 0414ba9..b3f9234 100755 --- a/CVSROOT/syncmail +++ b/CVSROOT/syncmail @@ -1,5 +1,5 @@ #!/usr/bin/python -# -*- Python -*- +# -*- Python -*- """Complicated notification for CVS checkins. -- 2.34.1 From 1dd99b21596b642d7d0b937a6f2a5d287d0e03ba Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 20:09:06 +0000 Subject: [PATCH 15/16] no comment --- CVSROOT/loginfo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo index 11955f2..11afed1 100644 --- a/CVSROOT/loginfo +++ b/CVSROOT/loginfo @@ -25,5 +25,5 @@ # or #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog -DEFAULT $CVSROOT/CVSROOT/syncmail %{sVv} selfforum-commits@lists.sourceforge.net +#DEFAULT $CVSROOT/CVSROOT/syncmail %{sVv} selfforum-commits@lists.sourceforge.net -- 2.34.1 From 3403984bfd4bbeee41cfaba73a9b7fba0b92d5ce Mon Sep 17 00:00:00 2001 From: ndparker <> Date: Tue, 5 Jun 2001 20:12:16 +0000 Subject: [PATCH 16/16] a test --- selfforum-data/images/01.gif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selfforum-data/images/01.gif b/selfforum-data/images/01.gif index b9bb454..a90a7e2 100644 --- a/selfforum-data/images/01.gif +++ b/selfforum-data/images/01.gif @@ -1,2 +1,2 @@ - GIF89a£w ÷ „‚„ÄÂÄìîìÔª”üüþü¬V$œžœìÖÌôöôܾ¬îo r Gt†a rbîal Ge  ÌG‚ra Yy m a p` ø* . ùp g m Y W( )* ÿ.4P øP M G) P o ìr ƒt Ùa Qb l0e + GIF89a£w ÷ „‚„ÄÂÄìîìÔª”üüþü¬V$œžœìÖÌôöôܾ¬îo r Gt†a rbîal Ge  ÌG‚ra Yy m a p` ø* . ùp g m Y W( )* ÿ.4P øP M G) P o ìr ƒt Ùa Qb l0e ÿ P§i2xøeõl„gm%TaIpÿ f*K . pÄ p|m µ r ( ä³ rY )×÷€ÿ¿ ÿ† ÿQ |Hµ„r(Æ \ No newline at end of file -- 2.34.1