| baseportal | |||
| English - Deutsch | "Es gibt keine dummen Fragen - jeder hat einmal angefangen" | ||
|
| Ausgewählter Eintrag: | Zur Liste |
<perl>
$link.="&db=$db" if $db ne "";
unless($pure)
{
out <<EOF;
<html><head><title>baseportal Wiki</title>
<link href="$link&kennung=3&pure=1&css=1" type="text/css" rel="stylesheet">
</head><body>
EOF
sub esc { my $x=$_[0]; my $y=$_[1]?"":"\n"; $x=~ s/([^a-zA-Z0-9 $y^])/"^".unpack("C",$1)."^"/ge; $x }
#sub esc { my $x=$_[0]; $x=~ s/([\=\*\-\_\+\!\^\|\[\]\~\$\@\%\:])/"^".unpack("C",$1)."^"/ge; $x }
{
get "Kennung==$_[0] sort=- range=0,1";
my $red=$Text eq ""?' style="color:red"':"";
my $new=$Datum ge datum("-7","intern")?' <span style="color:red">'.($_[1]?"***":"^42^^42^^42^").'</span>':"";
return "<a href=\"$link&kennung=$Kennung\"$red>$Titel</a>$new$index"; }
s#(^|\n)(\+\+\+\n)(.*?)(\n\+\+\+\n)#$1.$2.esc($3).$4#ges; # codeblock
s#\\([^\n\\]*)\\#"\\".esc($1)."\\"#ge; # alles zwischen \...\ wird nicht ersetzt
s#([\$\@\%]\w[\w{}\[\]()]*)#esc($1)#ge; # $var[3]
# Titel mit Kennung ersetzen (oder umgekehrt) - dadurch kann später beliebig der Titel geändert werden - was bei den anderen wikis nicht geht. Genial, wie ich finde ;-)))
my ($r,$t)=($1,$2);
unless($t=~ m#^(include|copy|image|class)=(.*)#i || $t=~ m#^([^|]*)\|(.*)#)
{
if($_[1])
{
get ["Titel", "~=", $t];
if($_amount==0)
{
put ["Titel", $t]; get ["Titel", "==!", $t]; mod "Id==$_id", ["Kennung", $_id]; my $k=$_id;
get "Kennung==0 sort=- range=0,1"; put ["Kennung", 0, "Autoren", $Autoren, "Titel", $Titel, "Text", "$Text\n - [$k]"]; # neue seite automatisch ins inhaltsverzeichnis eintragen
$Kennung=$k;
}
$r="[$Kennung]"
} else
{
get "Kennung==$t sort=- range=0,1";
$r="[$Titel]"
}
}
$r
/ge;
return $_; }
if($cmd eq "changes")
{
out get_navi($kennung); $kennung="";
out "<h1 class=Titel>Letzte Änderungen</h1>";
out "<div class=Text>Letzte Änderungen gesamt:<br><br>";
out "<table class=table><tr><th>Titel</th><th>Zeit</th><th>Zeichen</th><th>Autor</th><th>Grund</th></tr>\n";
my $red; my $lastdatum; my $thisdatum;
get "Id==* sort=- range=0,100";
while(get_next)
{
$red=$Text eq ""?' style="color:red"':"";
$thisdatum=datum($Datum,"Tag.Monat.Jahr");
out "<tr><td align=right>$thisdatum</td></tr>" if $lastdatum ne $thisdatum; $lastdatum=$thisdatum;
out "<tr><td><a href=\"$link&id=$_id\"$red>$Titel</a></td><td align=right>".datum($Datum,"Stunde:Minute")."</td><td align=right>".($red?"":length($Text))."</td><td>$Autor</td><td>$Grund</td></tr>\n";
}
out "</table></div>";
}
if($cmd eq "keywords")
{
get "Begriff==*", "keywords";
out get_navi($kennung); $kennung="";
out "<h1 class=Titel>Stichwortverzeichnis</h1><ul><table width=60%>";
my $lf="";
while(get_next "keywords")
{
my $f=uc(substr($Begriff,0,1));
out "<tr><td style=\"font-size:120%;font-weight:bold\"><br>$f</td></tr>" if $f ne $lf; $lf=$f;
out "<tr><td valign=top>".convert_html($Begriff)."</td><td>";
foreach $Kennung (split /#/, $Seiten)
{
get "Kennung==$Kennung" unless $Titel=$k{$Kennung}; $k{$Kennung}=$Titel; # cache
out "<a href=\"$link&kennung=$Kennung\">$Titel</a><br>";
}
out "</td></tr>";
}
out "</table></ul>";
}
if($cmd eq "mod" && $id ne "")
{
$_put{Text}=mod_links($_put{Text},1);
get "Id==$id";
$_put{Kennung}=$kennung=$Kennung; $cmd=""; $id="";
$_put{Autor}=$nAutor if $nAutor ne "";
$_put{Autoren}=$Autoren;
$_put{Autoren}.=($Autoren eq ""?"":", ").$_put{Autor} if index(", $Autoren,", ", $_put{Autor},")<0;
if($Gesperrt)
{
out "Seite gesperrt. Änderungen nicht möglich.";
} else
{
put if $_put{Text} ne "" && $_put{Titel} ne "";
}
if($nAutor ne "")
{
get "Name==$nAutor", "users";
put ["Name", $nAutor], "users" if $_amount==0;
}
do_keywords if $Stichworte ne $_put{Stichworte};
}
# bestimmten eintrag ausgeben - vorcheck ob der eintrag noch neu ist: dann gleich zu do_mod
{
if($id ne "")
{
get "Id==$id";
} else
{
$kennung||=0;
get "Kennung==$kennung sort=- range=0,1";
}
if($Text eq "" || ($Bearbeitung && !$css && !$show)) { $id=$_id; $cmd="do_mod"; }
}
if($cmd eq "do_mod")
{
get "Id==$id" if $id ne "";
$titel||=$Titel;
$autor=$Autor;
$autoren=$Autoren;
$bearbeitung=$Bearbeitung?" checked":"";
$stichworte=$Stichworte;
$kennung=$Kennung;
$_=mod_links($Text);
s/&/&/g; s/"/"/g; s/</</g; s/>/>/g;
$text=$_;
my $zurueck=$bearbeitung?"<a href=\"$link&kennung=$kennung&show=1\">Seite anzeigen</a>":"<a href=\"$link&kennung=$kennung\">Ohne Änderungen zurück zur Seite</a>";
get "Id==*", "users";
$select="";
while(get_next "users")
{
$select.="<option".($autor eq $Name?" selected":"").">$Name";
}
my $titeltext="Seite bearbeiten";
my $buttontext="Änderungen speichern";
get "Kennung==$kennung sort=- range=0,1";
if($id ne $Id)
{
$titeltext="Alte Version vom ".datum($Datum)." bearbeiten";
$buttontext="Diese Version zur aktuellen machen";
}
out <<EOF; <h1 class=Titel>$titeltext</h1> <div class=Text> <form action="$link&cmd=mod&id=$id" method="post" enctype="multipart/form-data"> <input type="hidden" name="htx=" value="$htx"> <input type="hidden" name="cmd=" value="mod"> <input type="hidden" name="id=" value="$id"> Titel: <input type="text" name="Titel:=" value="$titel" size=60><br> <textarea name="Text:=" style="width:100%" cols=60 rows=25>$text</textarea> Autor: <select name="Autor:="><option>$select</select> oder neu: <input type="text" name="nAutor=" size=16> Stichworte: <input type="text" name="Stichworte:=" value="$stichworte" size=40> <br><br> <table width=90%><tr><td><input type="submit" value="$buttontext" accessKey=s title="ALT + S - Abschicken"></td><td><a href="$link&kennung=85">Eingabehilfe</a></td><td align=right>$zurueck</td></tr></table>
</div> EOF
} # bestimmten eintrag ausgeben
{
if($cmd eq "old")
{
get "Kennung==$kennung sort=- range=0,10";
$datum=datum($Datum);
$titel="<a href=\"$link&kennung=$kennung\">$Titel</a>";
$autoren=$Autoren;
$autor=$Autor;
$id=$_id;
$text="Letzte Änderungen an dieser Seite:<br><br>";
$text.="<table><tr><th>Datum</th><th>Zeichen</th><th>Autor</th><th>Grund</th></tr>\n";
while(get_next)
{
$text.="<tr><td align=right><a href=\"$link&cmd=do_mod&id=$_id\">".datum($Datum)."</a></td><td align=right>".length($Text)."</td><td>$Autor</td><td>$Grund</td></tr>\n";
}
$text.="</table>";
{
out $Text;
} else
{
# Ergebnis sichern, weil beim Ersetzen vom Text auch ein get vorkommt, das diese überschreibt. mhhh, nicht allzu schön :-(
$datum=datum($Datum);
$titel=$Titel;
$autoren=$Autoren;
$autor=$Autor;
$gesperrt=$Gesperrt;
$id=$_id;
$aelter=" - <a href=\"$link&cmd=old&kennung=$kennung\">Ältere Versionen</a>" if $_amount_query>1; # gibt mehr als 1 version
$_=$Text;
$class="";
out <<EOF;
$navi<h1 class=Titel>$titel</h1>$index
<div class=Text>$text</div>
<span class=Autoren>$aendertext $datum von $autor<br> Autoren: $autoren</span><p style="margin:10px"></p> $aender$aelter </div> <br> EOF }
| Alle Einträge zum Thema: | Zur Liste |
<perl>
$link.="&db=$db" if $db ne "";
unless($pure)
{
out <<EOF;
<html><head><title>baseportal Wiki</title>
<link href="$link&kennung=3&pure=1&css=1" type="text/css" rel="stylesheet">
</head><body>
EOF
sub esc { my $x=$_[0]; my $y=$_[1]?"":"\n"; $x=~ s/([^a-zA-Z0-9 $y^])/"^".unpack("C",$1)."^"/ge; $x }
#sub esc { my $x=$_[0]; $x=~ s/([\=\*\-\_\+\!\^\|\[\]\~\$\@\%\:])/"^".unpack("C",$1)."^"/ge; $x }
{
get "Kennung==$_[0] sort=- range=0,1";
my $red=$Text eq ""?' style="color:red"':"";
my $new=$Datum ge datum("-7","intern")?' <span style="color:red">'.($_[1]?"***":"^42^^42^^42^").'</span>':"";
return "<a href=\"$link&kennung=$Kennung\"$red>$Titel</a>$new$index"; }
s#(^|\n)(\+\+\+\n)(.*?)(\n\+\+\+\n)#$1.$2.esc($3).$4#ges; # codeblock
s#\\([^\n\\]*)\\#"\\".esc($1)."\\"#ge; # alles zwischen \...\ wird nicht ersetzt
s#([\$\@\%]\w[\w{}\[\]()]*)#esc($1)#ge; # $var[3]
# Titel mit Kennung ersetzen (oder umgekehrt) - dadurch kann später beliebig der Titel geändert werden - was bei den anderen wikis nicht geht. Genial, wie ich finde ;-)))
my ($r,$t)=($1,$2);
unless($t=~ m#^(include|copy|image|class)=(.*)#i || $t=~ m#^([^|]*)\|(.*)#)
{
if($_[1])
{
get ["Titel", "~=", $t];
if($_amount==0)
{
put ["Titel", $t]; get ["Titel", "==!", $t]; mod "Id==$_id", ["Kennung", $_id]; my $k=$_id;
get "Kennung==0 sort=- range=0,1"; put ["Kennung", 0, "Autoren", $Autoren, "Titel", $Titel, "Text", "$Text\n - [$k]"]; # neue seite automatisch ins inhaltsverzeichnis eintragen
$Kennung=$k;
}
$r="[$Kennung]"
} else
{
get "Kennung==$t sort=- range=0,1";
$r="[$Titel]"
}
}
$r
/ge;
return $_; }
if($cmd eq "changes")
{
out get_navi($kennung); $kennung="";
out "<h1 class=Titel>Letzte Änderungen</h1>";
out "<div class=Text>Letzte Änderungen gesamt:<br><br>";
out "<table class=table><tr><th>Titel</th><th>Zeit</th><th>Zeichen</th><th>Autor</th><th>Grund</th></tr>\n";
my $red; my $lastdatum; my $thisdatum;
get "Id==* sort=- range=0,100";
while(get_next)
{
$red=$Text eq ""?' style="color:red"':"";
$thisdatum=datum($Datum,"Tag.Monat.Jahr");
out "<tr><td align=right>$thisdatum</td></tr>" if $lastdatum ne $thisdatum; $lastdatum=$thisdatum;
out "<tr><td><a href=\"$link&id=$_id\"$red>$Titel</a></td><td align=right>".datum($Datum,"Stunde:Minute")."</td><td align=right>".($red?"":length($Text))."</td><td>$Autor</td><td>$Grund</td></tr>\n";
}
out "</table></div>";
}
if($cmd eq "keywords")
{
get "Begriff==*", "keywords";
out get_navi($kennung); $kennung="";
out "<h1 class=Titel>Stichwortverzeichnis</h1><ul><table width=60%>";
my $lf="";
while(get_next "keywords")
{
my $f=uc(substr($Begriff,0,1));
out "<tr><td style=\"font-size:120%;font-weight:bold\"><br>$f</td></tr>" if $f ne $lf; $lf=$f;
out "<tr><td valign=top>".convert_html($Begriff)."</td><td>";
foreach $Kennung (split /#/, $Seiten)
{
get "Kennung==$Kennung" unless $Titel=$k{$Kennung}; $k{$Kennung}=$Titel; # cache
out "<a href=\"$link&kennung=$Kennung\">$Titel</a><br>";
}
out "</td></tr>";
}
out "</table></ul>";
}
if($cmd eq "mod" && $id ne "")
{
$_put{Text}=mod_links($_put{Text},1);
get "Id==$id";
$_put{Kennung}=$kennung=$Kennung; $cmd=""; $id="";
$_put{Autor}=$nAutor if $nAutor ne "";
$_put{Autoren}=$Autoren;
$_put{Autoren}.=($Autoren eq ""?"":", ").$_put{Autor} if index(", $Autoren,", ", $_put{Autor},")<0;
if($Gesperrt)
{
out "Seite gesperrt. Änderungen nicht möglich.";
} else
{
put if $_put{Text} ne "" && $_put{Titel} ne "";
}
if($nAutor ne "")
{
get "Name==$nAutor", "users";
put ["Name", $nAutor], "users" if $_amount==0;
}
do_keywords if $Stichworte ne $_put{Stichworte};
}
# bestimmten eintrag ausgeben - vorcheck ob der eintrag noch neu ist: dann gleich zu do_mod
{
if($id ne "")
{
get "Id==$id";
} else
{
$kennung||=0;
get "Kennung==$kennung sort=- range=0,1";
}
if($Text eq "" || ($Bearbeitung && !$css && !$show)) { $id=$_id; $cmd="do_mod"; }
}
if($cmd eq "do_mod")
{
get "Id==$id" if $id ne "";
$titel||=$Titel;
$autor=$Autor;
$autoren=$Autoren;
$bearbeitung=$Bearbeitung?" checked":"";
$stichworte=$Stichworte;
$kennung=$Kennung;
$_=mod_links($Text);
s/&/&/g; s/"/"/g; s/</</g; s/>/>/g;
$text=$_;
my $zurueck=$bearbeitung?"<a href=\"$link&kennung=$kennung&show=1\">Seite anzeigen</a>":"<a href=\"$link&kennung=$kennung\">Ohne Änderungen zurück zur Seite</a>";
get "Id==*", "users";
$select="";
while(get_next "users")
{
$select.="<option".($autor eq $Name?" selected":"").">$Name";
}
my $titeltext="Seite bearbeiten";
my $buttontext="Änderungen speichern";
get "Kennung==$kennung sort=- range=0,1";
if($id ne $Id)
{
$titeltext="Alte Version vom ".datum($Datum)." bearbeiten";
$buttontext="Diese Version zur aktuellen machen";
}
out <<EOF; <h1 class=Titel>$titeltext</h1> <div class=Text> <form action="$link&cmd=mod&id=$id" method="post" enctype="multipart/form-data"> <input type="hidden" name="htx=" value="$htx"> <input type="hidden" name="cmd=" value="mod"> <input type="hidden" name="id=" value="$id"> Titel: <input type="text" name="Titel:=" value="$titel" size=60><br> <textarea name="Text:=" style="width:100%" cols=60 rows=25>$text</textarea> Autor: <select name="Autor:="><option>$select</select> oder neu: <input type="text" name="nAutor=" size=16> Stichworte: <input type="text" name="Stichworte:=" value="$stichworte" size=40> <br><br> <table width=90%><tr><td><input type="submit" value="$buttontext" accessKey=s title="ALT + S - Abschicken"></td><td><a href="$link&kennung=85">Eingabehilfe</a></td><td align=right>$zurueck</td></tr></table>
</div> EOF
} # bestimmten eintrag ausgeben
{
if($cmd eq "old")
{
get "Kennung==$kennung sort=- range=0,10";
$datum=datum($Datum);
$titel="<a href=\"$link&kennung=$kennung\">$Titel</a>";
$autoren=$Autoren;
$autor=$Autor;
$id=$_id;
$text="Letzte Änderungen an dieser Seite:<br><br>";
$text.="<table><tr><th>Datum</th><th>Zeichen</th><th>Autor</th><th>Grund</th></tr>\n";
while(get_next)
{
$text.="<tr><td align=right><a href=\"$link&cmd=do_mod&id=$_id\">".datum($Datum)."</a></td><td align=right>".length($Text)."</td><td>$Autor</td><td>$Grund</td></tr>\n";
}
$text.="</table>";
{
out $Text;
} else
{
# Ergebnis sichern, weil beim Ersetzen vom Text auch ein get vorkommt, das diese überschreibt. mhhh, nicht allzu schön :-(
$datum=datum($Datum);
$titel=$Titel;
$autoren=$Autoren;
$autor=$Autor;
$gesperrt=$Gesperrt;
$id=$_id;
$aelter=" - <a href=\"$link&cmd=old&kennung=$kennung\">Ältere Versionen</a>" if $_amount_query>1; # gibt mehr als 1 version
$_=$Text;
$class="";
out <<EOF;
$navi<h1 class=Titel>$titel</h1>$index
<div class=Text>$text</div>
<span class=Autoren>$aendertext $datum von $autor<br> Autoren: $autoren</span><p style="margin:10px"></p> $aender$aelter </div> <br> EOF }
# eintrag ändern
{
$_put{Text}=mod_links($_put{Text},1);
get "Id==$id";
$_put{Kennung}=$kennung=$Kennung; $cmd=""; $id="";
$_put{Autor}=$nAutor if $nAutor ne "";
$_put{Autoren}=$Autoren;
$_put{Autoren}.=($Autoren eq ""?"":", ").$_put{Autor} if index(", $Autoren,", ", $_put{Autor},")<0;
if($Gesperrt)
{
out "Seite gesperrt. Änderungen nicht möglich.";
} else
{
put if $_put{Text} ne "" && $_put{Titel} ne "";
}
if($nAutor ne "")
{
get "Name==$nAutor", "users";
put ["Name", $nAutor], "users" if $_amount==0;
}
do_keywords if $Stichworte ne $_put{Stichworte};
}
if($cmd eq "mod" && $id ne "")
{
$_put{Text}=mod_links($_put{Text},1);
get "Id==$id";
$_put{Kennung}=$kennung=$Kennung; $cmd=""; $id="";
$_put{Autor}=$nAutor if $nAutor ne "";
$_put{Autoren}=$Autoren;
$_put{Autoren}.=($Autoren eq ""?"":", ").$_put{Autor} if index(", $Autoren,", ", $_put{Autor},")<0;
if($Gesperrt)
{
out "Seite gesperrt. Änderungen nicht möglich.";
} else
{
put if $_put{Text} ne "" && $_put{Titel} ne "";
}
if($nAutor ne "")
{
get "Name==$nAutor", "users";
put ["Name", $nAutor], "users" if $_amount==0;
}
do_keywords if $Stichworte ne $_put{Stichworte};
}
# bestimmten eintrag ausgeben - vorcheck ob der eintrag noch neu ist: dann gleich zu do_mod
{
if($cmd eq "mod" && $id ne "")
$_put{Text}=mod_links($_put{Text},1);
get "Id==$id";
$_put{Kennung}=$kennung=$Kennung; $cmd=""; $id="";
$_put{Autor}=$nAutor if $nAutor ne "";
$_put{Autoren}=$Autoren;
$_put{Autoren}.=($Autoren eq ""?"":", ").$_put{Autor} if index(", $Autoren,", ", $_put{Autor},")<0;
if($Gesperrt)
{
out "Seite gesperrt. Änderungen nicht möglich.";
} else
{
put if $_put{Text} ne "" && $_put{Titel} ne "";
}
if($nAutor ne "")
{
get "Name==$nAutor", "users";
put ["Name", $nAutor], "users" if $_amount==0;
}
}
| Liste der Einträge von 5700 bis 5775: | 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 |