################################################################
# -------- Formular-Subroutinen aus db generieren ------- #
#################################################################
$a_debug.= "${ \('-'x5) } <b>Subroutinen dynamisch aufbauen</b> ${ \('-'x5) }<br>";
if ($use)
{# -------- Aktionen in Datenbanken je nach $act ------- #
my $db_name = substr($use, 2);
if ($act eq "n")
{
put undef ,"$db_name";
$act = "n"; # $act auf n stellen, damit wieder Eingabeformular aus Sub angezeigt wird
$a_actiontext = "Datensatz hizugefügt...";
}
elsif ($act eq "c" && $dsn ne "")
{
mod "Id==!$dsn", undef, "$db_name";
$act = "n"; # $act auf n stellen, damit wieder Eingabeformular aus Sub angezeigt wird
$a_actiontext = "Datensatz geändert...";
}
elsif ($act eq "d" && $dsn ne "")
{
del "Id==!$dsn", "$db_name";
$act = "n"; # $act auf n stellen, damit wieder Eingabeformular aus Sub angezeigt wird
$a_actiontext = "Datensatz gelöscht...";
}
# -------- Ende Aktionen in Datenbank $use ja nach $act ------- #
$a_debug.="\$use nicht leer -> Subs aus DB-Feld holen<br>";
get "", "$db_sub"; # Daten aus dbnames holen
while (get_next($db_sub))
{
if ($code1 ne "") # wenn feld v. code f. Formular z. entspr. DB nicht leer
{
$a_debug.="Quelltext f. Sub $recht_nutzer holen (db-feld code1 mit Inhalt)<br>";
eval "sub $recht_nutzer { $code1 }";
}
}
}else
{
$a_debug.="\$use leer -> subs nicht aufgebaut<br>";
}
# ........ Beginn Fehler bei nicht deklarierten SUBS abfangen ........ #
sub AUTOLOAD
{my $sub=substr($AUTOLOAD, rindex($AUTOLOAD, ":")+1);
my $recht_nutzer = ucfirst(substr($sub,2));
$anz_subfehler=<<EOF;
<font color=red><p class=norm><b>Sorry - Eingabe noch nicht möglich - wir arbeiten daran!</b><br>
Arbeitsblatt für $recht_nutzer noch nicht fertiggestellt!<br>
<span class=klein>(Fehlender Teil $sub)</span></p></font>
<span class=klein><span align=right>[ <a href=$_link&$z_link1>ZURÜCK</a> ]</span></span>
EOF
}
..... if ($use)
{$a_debug.= "${ \('-'x5) } <b>Sub $use aufgerufen</b> ${ \('-'x5) }<br>";
@subrueck = &{$use};
$anz_mitteltext2.= $subrueck[0];
$a_debug.= $subrueck[1].$subrueck[2];
undef (@subrueck);
$a_debug.= "${ \('-'x5) } <b>Sub beendet</b> ${ \('-'x5) }<br>";
}else
{$anz_mitteltext2=<<EOF;
...was anderes....