#!/usr/bin/perl # Copyright by Sigrist Consulting GmbH: hp@sigrist.ch # --------------------------------------------------------- my $version = 'intern.pl.2002-07-31'; # --------------------------------------------------------- use strict; my $ldir; BEGIN { foreach($ENV{'HTTP_HOST'}) { # /^dst$/ and $ldir = '/web/dst/', last; # $ldir = '/u/web/dstcom/'; /^dst$/ and $ldir = '/web/dst/', last; $ldir = '/home/sites/www.dst-combitrans.ch/web/'; } unshift @INC,$ldir.'cgi-local'; } use MY::gen; use MY::pw; use MY::count; $MY::count::dir = $ldir.'counter/'; my($q,$l) = MY::gen::qform(); my($pw_ref) = MY::pw::login({ pw_file => $ldir.'data/pw/.login.dta', login => $q->{login}, password => $q->{password}, }) or exit; # ----- Konstanten $q->{news_fn} = $ldir.'shared/news.js'; $q->{log_fn} = $ldir.'data/change_log.txt'; $q->{navi} = qq~

[logoff] [menu] [home] [zurück]
~; # ----- CASE my $next = $ENV{'QUERY_STRING'} ? $ENV{'QUERY_STRING'} : ''; foreach($next) { /logoff/ and (print MY::pw::logoff()), last; /env/ and (print MY::gen::env()), last; /statistik/ and MY::count::counts($q,$next), last; /news_edit/ and (print news_edit($q)), last; /news_save/ and (print news_save($q)), last; /show_log/ and (print show_log($q)), last; print menu($q); } exit; # ---------- S u b r o u t i n e n ---------- # ---------- ---------- sub news_edit { my $q = shift; my $header = MY::gen::header('DST - News'); my $trailer = MY::gen::trailer(); my $fn = $q->{news_fn}; open FILE,$fn or (print MY::gen::error_page("$fn: $!",0)), exit; my $lines = join '',; close FILE; $lines =~ s/^[^"]*"([^"]*?)".*$/$1/; # entferne 'document.write...' $lines =~ s/
/\n/g; return <<"--EndOfText--"; $header

Bitte den Text ändern und anschliessend auf speichern klicken.

Hinweise:

$q->{navi} $trailer --EndOfText-- } # ---------- ---------- sub news_save { my $q = shift; my $header = MY::gen::header('DST - News'); my $trailer = MY::gen::trailer(); # ----- notwendige Formatierungen machen my $news = $q->{news}; $news =~ s/"/"/g; $news =~ s/>/>/g; $news =~ s//g; $news =~ s/ / /g; # mehrere Leerschläge in 'nbsp' umwandeln $news =~ s/(\S) (\S)/$1 $2/g; my $fn = $q->{news_fn}; open FILE,">$fn" or (print MY::gen::error_page("$fn: $!",0)), exit; print FILE qq~document.writeln("~.$news.qq~");\n~; close FILE; MY::gen::log_it("News geändert.",$q->{log_fn}); return <<"--EndOfText--"; $header

Die News wurden gespeichert.

Bitte die Homepage anklicken, um zu überprüfen, ob das Layout noch korrekt ist: Damit die Änderungen sichtbar werden, muss die Homepage aktualisiert/neu geladen werden.

Falls ein Teil der Adresse auf der Homepage verdeckt sein sollte, muss der Text gekürzt werden. $q->{navi} $trailer --EndOfText-- } # ---------- ---------- sub menu { my $q = shift; my $header = MY::gen::header('DST - intern'); my $trailer = MY::gen::trailer(); return <<"--EndOfText--"; $header

$q->{navi} $trailer --EndOfText-- } # ---------- ---------- sub show_log { my $q = shift; my $header = MY::gen::header('DST - Änderungs-Log'); my $trailer = MY::gen::trailer(); my $lines = join '',MY::gen::show_log($q->{log_fn}); return <<"--EndOfText--"; $header
$lines
$q->{navi} $trailer --EndOfText-- }