baseportal | |||
English - Deutsch | "Es gibt keine dummen Fragen - jeder hat einmal angefangen" | ||
|
Ausgewählter Eintrag: | Zur Liste |
<html><head><title>baseportal</title> </head> <body bgcolor=ffffff vlink=0000f0><!link=d80000 vlink=d80000> <font size=2 face=arial> <font size=2 face="arial,helvetica"> <perl> # --- Variablen-Definitionen --- my $getfirst=5; # Anzahl der zuerst gezeigten Eintraege my $getlist=100; # Anzahl der Listen-Eintraege my $getsearch=10; # Anzahl der Suchlisten-Eintraege my $allpos=""; # Speichert Positionen aller Eintraege eines Themas my $newPos=0; my $maxtext=10000; my $msg=""; # Fuer Meldungen bei neuen Eintraegen my $emsg=""; $Name=$Titel=$Text=""; $domain="www.sillyc.de"; #### Usermail ##### $betreff="Forumsbeitrag"; $to_name="Forumteilnehmer"; $from_name="Info $domain"; $from_adress="info\@sillyc.de"; #### adminmail #### $admin="admin\@sillyc.de"; $betreff_a="neuer Forumsbeitrag"; $to_name_a="Forumadmin $domain"; $from_name_a=$_put{EMail}?$_put{EMail}:"info\@sillyc.de"; $from_adress_a=$_put{EMail}?$_put{EMail}:"info\@sillyc.de"; ## für Inhalt-admin siehe unten bei sub sendmail... # --- Nutzer-Eingabe bearbeiten --- if(%_put) { unless($Vorschau) { get "Id==#";
$emsg.="Bitte geben Sie Ihren Namen ein! " if $_put{Name} eq ""; $emsg.="Bitte geben Sie einen Titel ein! " if $_put{Titel} eq ""; $emsg.="Bitte geben Sie einen Text ein! " if $_put{Text} eq ""; $emsg.="Der Text ist zu lang! Bitte kürzen Sie ihn auf maximal $maxtext Zeichen." if length($_put{Text})>$maxtext; if($emsg eq "") { if($Name ne $_put{Name} || $Titel ne $_put{Titel} || $Text ne $_put{Text}) { if($_get{Pos} eq "") { get "Pos==#"; $newPos=$Pos+1; $_get{range}="";
$mailpos=$newPos; } else { get "Pos<=$_get{Pos} Pos>=".($_get{Pos}-1)." sort=-"; $_put{Shift}=$Shift+1; $newPos=$Pos; get_next; while(get_next) { last if $Shift<$_put{Shift}; $newPos=$Pos; } $Pos=0 if $_get{Pos}==$Pos; $newPos=($Pos+$newPos)/2; my $mx=$newPos; chop $mx; $newPos=$mx if($mx>$Pos); #########> hier ist $mailpos=$newPos; dazugekommen $mailpos=$newPos; #########< } $_put{Pos}=$newPos; put;
if ($mailpos ne "") { $mail = int($mailpos+1);
get "Pos<=$mail Pos>".($mail-1)." ° Pos==$mailpos sort=-"; $Thema=$Titel; $"=' '; while (get_next) { if ($EMail && $SchickEmail) { push @mail, $EMail if index(" @mail ", " $EMail ")<0;
} } &send_mail; }else { $Thema=$Titel; &send_mail; }
$msg="Ihr Eintrag wurde aufgenommen..."; } else { $msg="Ihr Eintrag ist bereits gespeichert..."; $newPos=$Pos; } $_get{Pos}=""; }
} $allpos="$newPos#"; } $mylink=$mylinkr="/cgi-bin/baseportal.pl?htx=$htx&wcheck=1&Name=$namerein"; $mylinkr.="&range=$_get{range}" if $_get{range}; # --- Ausgabe eines ausgewählten, abgewiesenen oder vorgeschauten Eintrags --- out "<a name=\"eingabe\"> </a><br>"; out "<ul><font size=3".($emsg?" color=d80000":"")."><b>$emsg$msg</b></font></ul>" if $emsg || $msg; if($Vorschau || %_put) { out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> ".($Vorschau?"Vorschau:":"Ihr Eintrag:")."</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; &all_out("", $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); out "</ul>"; } if($_get{Pos} ne "") { out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Ausgewählter Eintrag:</b></font><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; get "Pos==$_get{Pos}"; &all_out();
out "<h3>Deine Antwort:</h3>"; if($Vorschau || $emsg) { &form_out($_get{Pos}, $_put{name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); } else { my $t=$Titel; $t="Re: $t" unless $t=~ /^Re: /i; &form_out($Pos, "", "", "", $t); }
my $p=int($Pos); $p++ if $p ne $Pos; get "sort=- Pos<=$p Pos>".($p-1); out "<p><a href=\"$mylinkr\">Neuer Eintrag</a>";
if($_amount_query>1) { out "</ul><br><center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Alle Einträge zum Thema:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; $allpos=&all_out($_get{Pos}); out "<br>"; } else { $allpos="$_get{Pos}#"; }
{ out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Neuer Eintrag:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; if($Vorschau || $emsg) { &form_out($_get{Pos}, $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); } else { &form_out(); } }
Alle Einträge zum Thema: | Zur Liste |
<html><head><title>baseportal</title> </head> <body bgcolor=ffffff vlink=0000f0><!link=d80000 vlink=d80000> <font size=2 face=arial> <font size=2 face="arial,helvetica"> <perl> # --- Variablen-Definitionen --- my $getfirst=5; # Anzahl der zuerst gezeigten Eintraege my $getlist=100; # Anzahl der Listen-Eintraege my $getsearch=10; # Anzahl der Suchlisten-Eintraege my $allpos=""; # Speichert Positionen aller Eintraege eines Themas my $newPos=0; my $maxtext=10000; my $msg=""; # Fuer Meldungen bei neuen Eintraegen my $emsg=""; $Name=$Titel=$Text=""; $domain="www.sillyc.de"; #### Usermail ##### $betreff="Forumsbeitrag"; $to_name="Forumteilnehmer"; $from_name="Info $domain"; $from_adress="info\@sillyc.de"; #### adminmail #### $admin="admin\@sillyc.de"; $betreff_a="neuer Forumsbeitrag"; $to_name_a="Forumadmin $domain"; $from_name_a=$_put{EMail}?$_put{EMail}:"info\@sillyc.de"; $from_adress_a=$_put{EMail}?$_put{EMail}:"info\@sillyc.de"; ## für Inhalt-admin siehe unten bei sub sendmail... # --- Nutzer-Eingabe bearbeiten --- if(%_put) { unless($Vorschau) { get "Id==#";
$emsg.="Bitte geben Sie Ihren Namen ein! " if $_put{Name} eq ""; $emsg.="Bitte geben Sie einen Titel ein! " if $_put{Titel} eq ""; $emsg.="Bitte geben Sie einen Text ein! " if $_put{Text} eq ""; $emsg.="Der Text ist zu lang! Bitte kürzen Sie ihn auf maximal $maxtext Zeichen." if length($_put{Text})>$maxtext; if($emsg eq "") { if($Name ne $_put{Name} || $Titel ne $_put{Titel} || $Text ne $_put{Text}) { if($_get{Pos} eq "") { get "Pos==#"; $newPos=$Pos+1; $_get{range}="";
$mailpos=$newPos; } else { get "Pos<=$_get{Pos} Pos>=".($_get{Pos}-1)." sort=-"; $_put{Shift}=$Shift+1; $newPos=$Pos; get_next; while(get_next) { last if $Shift<$_put{Shift}; $newPos=$Pos; } $Pos=0 if $_get{Pos}==$Pos; $newPos=($Pos+$newPos)/2; my $mx=$newPos; chop $mx; $newPos=$mx if($mx>$Pos); #########> hier ist $mailpos=$newPos; dazugekommen $mailpos=$newPos; #########< } $_put{Pos}=$newPos; put;
if ($mailpos ne "") { $mail = int($mailpos+1);
get "Pos<=$mail Pos>".($mail-1)." ° Pos==$mailpos sort=-"; $Thema=$Titel; $"=' '; while (get_next) { if ($EMail && $SchickEmail) { push @mail, $EMail if index(" @mail ", " $EMail ")<0;
} } &send_mail; }else { $Thema=$Titel; &send_mail; }
$msg="Ihr Eintrag wurde aufgenommen..."; } else { $msg="Ihr Eintrag ist bereits gespeichert..."; $newPos=$Pos; } $_get{Pos}=""; }
} $allpos="$newPos#"; } $mylink=$mylinkr="/cgi-bin/baseportal.pl?htx=$htx&wcheck=1&Name=$namerein"; $mylinkr.="&range=$_get{range}" if $_get{range}; # --- Ausgabe eines ausgewählten, abgewiesenen oder vorgeschauten Eintrags --- out "<a name=\"eingabe\"> </a><br>"; out "<ul><font size=3".($emsg?" color=d80000":"")."><b>$emsg$msg</b></font></ul>" if $emsg || $msg; if($Vorschau || %_put) { out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> ".($Vorschau?"Vorschau:":"Ihr Eintrag:")."</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; &all_out("", $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); out "</ul>"; } if($_get{Pos} ne "") { out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Ausgewählter Eintrag:</b></font><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; get "Pos==$_get{Pos}"; &all_out();
out "<h3>Deine Antwort:</h3>"; if($Vorschau || $emsg) { &form_out($_get{Pos}, $_put{name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); } else { my $t=$Titel; $t="Re: $t" unless $t=~ /^Re: /i; &form_out($Pos, "", "", "", $t); }
my $p=int($Pos); $p++ if $p ne $Pos; get "sort=- Pos<=$p Pos>".($p-1); out "<p><a href=\"$mylinkr\">Neuer Eintrag</a>";
if($_amount_query>1) { out "</ul><br><center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Alle Einträge zum Thema:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; $allpos=&all_out($_get{Pos}); out "<br>"; } else { $allpos="$_get{Pos}#"; }
{ out "<center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Neuer Eintrag:</b></font></td><td width=10% align=center nowrap> <a href=\"#list\"><font size=2 face=arial>Zur Liste</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; if($Vorschau || $emsg) { &form_out($_get{Pos}, $_put{Name}, $_put{EMail}, $_put{WWW}, $_put{Titel}, $_put{Text}); } else { &form_out(); } }
# --- Ausgabe der ersten Eintraege und der Liste --- unless($wcheck) { out "</ul><br><center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Die aktuellsten $getfirst Einträge:</b></font></td></tr></table></center><font face=arial,helvetica size=2><ul>"; get "Id==* sort=- range=0,$getfirst"; $allpos=&all_out(); }
out "<a name=\"list\"> </a></ul><center><table cellspacing=2 width=95% cellpadding=4><tr bgcolor=e0e0e0><td><font face=arial,helvetica size=3><b> Liste der ".($_range>0?"Einträge von $_range bis ".($_range+$_range_length>$_amount_query?$_amount_query:$_range+$_range_length):"ersten $getlist Einträge").":</b></font></td><td width=10% align=center nowrap> <a href=\"#eingabe\"><font size=2 face=arial>Zur Eingabe</a> </td></tr></table></center><font face=arial,helvetica size=2><ul>"; &list_out($allpos, $_get{Pos}); # --- blaetter-links --- out "<br><br><br>"; $r1=$_range; $r2=$_range_length || $getlist;
{ my $z=0; @ilist=();
if($r1-$r2>=0) { push @ilist, "<< <a href=\"$mylink&range=0,$r2\">Neueste Einträge</a>"; push @ilist, "< <a href=\"$mylink&range=".($r1-$r2).",$r2\">Neuere Einträge</a>"; $z++; } push @ilist, "<a href=\"#eingabe\">Zur Eingabe</a>";
if($r1+$r2<$_amount_all) { push @ilist, "<a href=\"$mylink&range=".($r1+$r2).",$r2\">Ältere Einträge</a> >"; push @ilist, "<a href=\"$mylink&range=".(int($_amount_all/$r2)*$r2).",$r2\">Älteste Einträge</a> >>"; $z+=2; } out "</ul><center><table width=85%><tr><td"; out " align=right" if $z==2; out " align=middle" if $z==3; out " nowrap><font size=2 face=arial,helvetica>".(join " | ", @ilist)."</td></tr></table>"; } # --- Formular-Ausgabe --- sub form_out { my($pos, $name, $email, $www, $titel, $text)=@_; $name=~ s/"/"/gs; $email=~ s/"/"/gs; $www=~ s/"/"/gs; $text=~ s/</</gs; $text=~ s/>/>/gs; $titel=~ s/"/"/gs; ###########< umgestaltetes Formularfeld out <<EOF; <table cellspacing=0 cellpadding=12 bgcolor=f0f0f0 width=90%><tr><td><font face=arial,helvetica size=2> <table> <form name="eing" action="$mylinkr" method="post" enctype="multipart/form-data" onsubmit="return testform()"> <input type=hidden name="htx=" value="$htx"> <input type=hidden name="wcheck=" value="1"> <input type=hidden name="range=" value="$_get{range}"> <input type=hidden name="Pos=" value="$pos"><tr><td><font face=arial,helvetica size=2>Name:</td><td nowrap> $namerein <input type=hidden name="Name:=" value="$namerein"> <font face=arial,helvetica size=2> EMail: <input type=text name="EMail:=" size=14 maxlength=60 value="$email" > WWW: <input type=text name="WWW:=" size=14 maxlength=60 value="$www"></td></tr><tr><td></td><td nowrap><font face=arial,helvetica size=2>Emailbenachrichtigung bei Antwort: <input type=checkbox name="SchickEmail:=" checked value="1"></font></td></tr><tr><td><font face=arial,helvetica size=2>Titel:</td><td> <input type=text name="Titel:=" size=50 maxlength=80 value="$titel"></td></tr><tr><td><font face=arial,helvetica size=2>Text:</td><td> <textarea name="Text:=" rows=10 cols=55 wrap=virtual>$text</textarea></td></tr> <tr><td></td><td><input type=submit value="Speichern"> <input type=submit name="Vorschau=" value="Vorschau"> <input type=reset value="Zurücksetzen"></td></tr> </form> </table> </table> EOF ###########> } # --- Listen-Ausgabe --- sub list_out { my($allpos, $pos)=@_; my $tlast=0;
out "<nobr>"; while(get_next) { if(index("#$allpos", "#$Pos#")>=0) { out "</td></tr></table>" if ($pos==$Pos && $tlast) || $tlast==-1; out "<table cellspacing=0 cellpadding=2 bgcolor=".($pos==$Pos?"e0e0e0":"f0f0f0")." width=90%><tr><td nowrap><font face=arial,helvetica size=2>" if $pos==$Pos || $tlast<1; $tlast=($pos==$Pos?-1:1); } else { out "</td></tr></table>" if $tlast; out " "; $tlast=0; } if($Shift) { out " " x ($Shift*8+2); } else { out "> "; } $Titel=substr($Text, 0, 50)."..." if $Titel eq ""; $Name=convert_html($Name); $Titel=convert_html($Titel); # keine html-tags erlaubt $Datum=datum($Datum, "kurz");
out "<b><a href=\"$mylinkr&Pos=$Pos".($pos==$Pos?"#eingabe":"")."\">$Titel</a></b> von <b>$Name</b> am $Datum<br>\n"; } out "</td></tr></table>" if $tlast; out "</nobr>"; }
sub all_out { my($pos)=shift; # 1. Parameter = Position des ausgewaehlten Eintrags my $allpos=""; my $alink="#eingabe";
while(get_next || @_>0) {
$WWW=~ s#^http://##; # Eventuelles http:// zu Beginn abschneiden $Datum=datum($Datum, "lang"); # datumsfeld in schönes datum wandeln $EMail="EMail: <a href=\"mailto:$EMail\">$EMail</a>" if $EMail ne ""; # EMail-Ausgabe, nur wenn EMail-Feld einen Inhalt hat $WWW="WWW: <a href=\"http://$WWW\" target=\"_blank\">$WWW</a>" if $WWW ne ""; # WWW-Ausgabe, nur wenn WWW-Feld einen Inhalt hat $Titel=substr($Text, 0, 50)."..." if $Titel eq ""; # Wenn kein Titel, nimmt er die ersten 50 Zeichen des Textes als Titel $Name=convert_html($Name); $Titel=convert_html($Titel); # keine html-tags erlaubt $allpos.="$Pos#"; out "<table cellspacing=0 cellpadding=0 border=0 bgcolor=e0e0e0 width=90%><tr><td><font face=arial,helvetica size=2>" if $pos ne "" && $pos==$Pos; out <<EOF; <!--- ende zwecks 10.000 zeichen beschränkung hier--->
<table width=90%><tr><td><font face=arial size=2>Beitrag von <b>$Name</b> am $Datum<br> $EMail $WWW <h4>$Titel</h4> <p><ul><br> EOF my $ca="<p><table width=90% cellpadding=10><tr><td bgcolor=f0f0f0><font size=3><code>"; my $ce="</code></td></tr></table>"; my $flag=0; my $nx="";
$Text=convert_links($Text); foreach $x (split "\n", $Text) { if($flag==0) { $flag=2 if $x=~ s/^: //; $flag=3 if $x=~ /^((\s*)<|\$|\{|\}|(out|get|put|mod|if|else)(\s|$|\(?))/;
out $ca if($flag>1); $x=~ s/^(\s+)/" " x length($1)/ge; } elsif($flag>0) { $flag=-1 if $flag==2 && !($x=~ s/^: //); $flag=-1 if $flag==4 && !($x=~ /^((\s*)<|\$|\{|\}|(out|get|put|mod|if|else)(\s|$|\(?))/); if($flag==3 && !($x=~ /^((\s*)<|\$|\{|\}|(out|get|put|mod|if|else)(\s|$|\(?))/)) { $nx="$x<br>"; $flag=4;
}
if($flag==-1) { out $ce; $flag=0; } } out "$nx$x<br>"; $nx=""; } out $ce if $flag>0; out "</ul></td></tr></table>";
if($pos==$Pos && $pos ne "") { out "</table><p>"; } else { $alink="$mylinkr&Pos=$Pos"; } out " <a href=\"$alink\">Antworten</a>" if $_amount>1 && @_==0; last if @_>0; out '</ul><center><hr size=1 width=80%></center><ul>' if $_loop<$_amount-1;
} return $allpos; } ######################> mailroutine sub send_mail { $"=','; if (@mail) { #### hier Inhalt user #### $inhalt="Auf deinen Beitrag im Forum von $domain ist ein neuer Eintrag eingegangen.\n\n check it out: http://$domain$_link&wcheck=1&Pos=$_put{Pos}\n\n--------------------------------\n\n Thema: $_put{Titel}\n User: $_put{Name}\n"; for (@mail) { mail $_, $betreff, $inhalt, $form_adress, $to_name, $from_name; } } #### hier Inhalt admin #### $inhalt_a="Im Forum von $domain ist ein neuer Eintrag eingegangen.\n\n http://$domain$_link&wcheck=1&Pos=$_put{Pos}\n\n--------------------------------\n\n Thema: $_put{Titel}\n User: $_put{Name}\n Message: $_put{Text}\n Email: $_put{EMail}\n www: $_put{WWW}\n\n"; mail $admin, $betreff_a, $inhalt_a, $form_adress_a, $to_name_a, $from_name_a; } </perl>
Liste der Einträge von 43651 bis 43801: | Einklappen | Zur Eingabe |
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < | Zur Eingabe | > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge |
© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen |