";
}#------------------------
}
$bei123_SITEMAP.="";
shift(@bei123_LISTDIR);
#---------------------------------------------------------------------------------------------- Ende SITEMAP
foreach(keys(%bei123_SYSTEMPAGE)) # sind "Stand-alone"
{#################################################################
my $pageid=$bei123_SYSTEMPAGE{$_};
$bei123_show_name{$pageid}=$_;
$bei123_Id_show{$pageid}=$pageid;
$bei123_name_show{$_}=$pageid ;
$bei123_show_Id{$pageid}=$pageid;
}##################################################################
foreach(keys(%bei123_RIGHTPAGE)) # falls "Stand-alone"
{#################################################################
if($bei123_USERRIGHT{$_} ne "" and $bei123_name_show{$_} eq "")
{
my $pageid=$bei123_RIGHTPAGE{$_};
$bei123_show_name{$pageid}=$_;
$bei123_Id_show{$pageid}=$pageid;
$bei123_name_show{$_}=$pageid ;
$bei123_show_Id{$pageid}=$pageid;
}
}##################################################################
#foreach(keys(%bei123_UNPAGE)) # falls "Stand-alone -3"
#{#################################################################
#if($bei123_USERRIGHT{$_} ne "" and $bei123_name_show{$_} eq "")
#{
# my $pageid=$bei123_UNPAGE{$_};
# $bei123_show_name{$pageid}=$_;
# $bei123_Id_show{$pageid}=$pageid;
# $bei123_name_show{$_}=$pageid ;
# $bei123_show_Id{$pageid}=$pageid;
#}
#}##################################################################
%bei123_SHOW=(%bei123_Id_show,%bei123_name_show);#----------------------------------- Id-Kette je Page ###
### ---------------------------------------------------------------------------------- Pfad mit Links ###
$bei123_FROMDIR="@bei123_FromDir$bei123_PAGE";
###--------------------------------------------------------------------------------- Links für Pages ####
%bei123_LINK=map{$_ => "$_"}keys(%bei123_name_show);
### ----------------------------------------------------------- Array der aktuellen Unterverzeichnisse ###
##--------------------------------------------------------------------- Login/TIMEOUT oder unknown #####
$bei123_PAGE=$bei123_show_name{$bei123};
#$bei123_PAGE="" if($bei123_UNPAGE{$bei123_PAGE} ne "" and $bei123_USERRIGHT{$bei123_PAGE} eq "");
$bei123_PAGE=$bei123_PAGE||$bei123_MAINDIR[0];
##------------------------------------------------------------------------------------ $bei123_FOLDER ###
$bei123f=$_get{bei123f}||$bei123;
$bei123_FOLDER="
";
$bei123_OPTIONDIR="
";
$bei123_OPTIONDIR.="";
################################ bei123_FOLDER Ende
#----------------------------------------------------- Aktuelle Unterverzeichnisse als Links untereinander ##
@bei123_SUBDIR=@{$bei123_DATA{"[Page]$bei123_PAGE"}{Subdir}};
my @bei123_SubDir=map{"$_"}@bei123_SUBDIR unless($bei123_UNSHOW{$_});
@bei123_SubDir=join(" ",@bei123_SubDir);
$bei123_SUBDIR="@bei123_SubDir";
$bei123_SEARCHRESULT =&bei123_searchresult;
###########################################
$bei123_pic_editpage="";
$bei123_pic_restrictpage="";
$bei123_pic_pdf="";
############################### von o.g. abgeleitete Variablen ####################################
@bei123_ARRAY=(split ",",$bei123); # übergebenene Id-Reihung
my @bei123_BackDir=@bei123_ARRAY;
pop(@bei123_BackDir); #Id-Kette des übergeordneten verzeichnisses
$bei123_BACKLINK=$bei123_BACKPAGE=$bei123_BACKSHOW=$bei123_FROMDIR=$bei123_SAMEDIR="";
###---------------------------------------------------------------
if(@bei123_BackDir>0)
{#################### ------------------------------------------ diverse Subdir-Links bei aktueller Page ###
@bei123_BackShow=join(",",@bei123_BackDir);
$bei123_BACKSHOW="@bei123_BackShow";
$bei123_BACKPAGE=$bei123_show_name{$bei123_BACKSHOW};
$bei123_BACKLINK="« back/zurück";
@bei123_FromDir=map{"${$data{Data_name}}[$bei123_for->{Id}{$_}] » "}@bei123_BackDir;
@bei123_SAMEDIR=@{$bei123_DATA{"[Page]$bei123_BACKPAGE"}{Subdir}};
my @bei123_SameDir=map{($_ eq $bei123_PAGE ? "$_" : "$_")}@bei123_SAMEDIR;
@bei123_SameDir=join(" ",@bei123_SameDir);
$bei123_SAMEDIR="$bei123_BACKPAGE « @bei123_SameDir";
$bei123_FROMDIR="@bei123_FromDir $bei123_PAGE";
}#########################################
#ANZEIGE vorbereiten, Werte bereitstellen
#--------------------------------------------------------------------------------------------- AUSGABE ######
#-------------------------------------------------------------------------------------- das verwendete Layout
$L_name=${$data{Data_out}}[$bei123_for->{Id}{$bei123_DATA{"[Page]$bei123_PAGE"}{Id}}];# der Page
$L_id=$bei123_DATA{"[Layout]$L_name"}{Id}; # Id dieses Layouts
$L_out=$bei123_DATA{"[Layout]$L_name"}{Data_out}; # Data_out dieses Layouts
$L_no=$bei123_DATA{"[Layout]$L_name"}{Data_no}; # Data_no dieses Layouts
$L_subdef=$bei123_DATA{"[Layout]$L_name"}{Data_subdef}; # Data_subdef dieses Layouts
$L_content=$bei123_DATA{"[Layout]$L_name"}{Data_content}; # Data_content dieses Layouts
$L_date=$bei123_DATA{"[Layout]$L_name"}{Data_date}; # Data_date dieses Layouts
#--------------------------------------------------------------------------------------------
if($_get{out} ne "")
{################### ------------------------------------------------------------------- Ausgabe pdf-File ###
my $lout=$_get{out};
$L_subdef=$bei123_DATA{"[Layout]$lout"}{Data_subdef};
$L_content=$bei123_DATA{"[Layout]$lout"}{Data_content};
$bei123_CMSDEF=$L_subdef ;
$bei123_CMSRUN="out<$B_text";
return($but_show);
}
sub bei123_ALERTBUTTON
{##################### Anzeige eines JS-Alert
($b_text,$b_alert,$b__B,$b__H)=@_;
my $w=48;
my $h=48;
$w=($b__B ne "" ? ($w+$b__B) : $w);
$h=($b__H ne "" ? ($h+$b__H) : $h);
my $w_=$w."px";
my $h_=$h."px";
$butalert="";
return($butalert);
}
sub bei123_DIVBUTTON
{##################### Anzeige eines Div-Windows
($la_page,$la_cnt,$la_text,$b__B,$b__H)=@_;
my $la_show=$bei123_DATA{"[Page]$la_page"}{Id}.".".$la_cnt;
my $w=48;
my $h=48;
$w=($b__B ne "" ? ($w+$b__B) : $w);
$h=($b__H ne "" ? ($h+$b__H) : $h);
my $w_=$w."px";
my $h_=$h."px";
#$l_show=$l_no if($l_no ne "");
$div_butshow="";
return($div_butshow);
}
sub bei123_LAYBUTTON
{##################### Anzeige eines Div-Windows
($l_no,$la_text,$l_show,$b__B,$b__H)=@_;
my $w=48;
my $h=48;
$w=($b__B ne "" ? ($w+$b__B) : $w);
$h=($b__H ne "" ? ($h+$b__H) : $h);
my $w_=$w."px";
my $h_=$h."px";
$l_show=$l_no if($l_no ne "");
$butshow="";
return($butshow);
}
sub bei123_LAYER
{###############----------------- Layer-Popup ein-/ausblenden
my $wpos=($_get{bei123_contentview} eq "on" ? "position:relative;width:100%;top:0px;left:0px;":"");
my $layno=$_[0];
my $layname=$_[1];
my $laypage=$_[2];
my $laycont=$_[3];
my $laypos=$_[4];
my $laytype=$_[5];
my $laybutton=$_[6];
my $__pageno=$bei123_DATA{"[Page]$laypage"}{Id}.".".$laycont;
my $L="=" x 60;
my $layview=($laypage ne $bei123_PAGE ? " ($bei123_PAGE)":"/$layname");
my $laytext="Systeninformation:".'\n'."$L".'\n'."Es werden Informationen des CMS-Datensatzes $laypage angezeigt. ".'\n\n'."Die Daten sind gespeichert in Container $laycont des Feldes Data_content".'\n'." ".'\n'." ".'\n\n\n\n'."Webmaster H.FEHDE";
#$_layno=$layno||$__pageno;
$_layno=$__pageno;
if(!$laybutton)
{
out "" if($layname ne "");
}
#$_layno=$layno if($layno ne "");
out "
";
$tab= "
";
out "$tab
";
&bei123_CONTENT($laypage,$laycont);
out "
$tab";
out "
";
}###############
sub bei123_CHECKMAIL
{###################------------- Gültigkeitspürfung EMail
$email = $_[0];
if ($email =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ ||
$email !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/)
{
return 0;
}
else
{
return 1;
}
}#-----
###############
#############
sub bei123_SENDMAIL
{#----------- Information an User mailen
($Empfaenger,$Thema,$Text,$Sender,$Empfaenger_Name,$Sender_Name,$Kopien,$Blinde_Kopien,$Header_Angaben)=@_;
mail "$Empfaenger", "$Thema", "$Text", "$Sender", "$Empfaenger_Name", "$Sender_Name", "$Kopien", "$Blinde_Kopien", "$Header_Angaben";
return("send");
}
############
sub bei123_mapping
{######################
my $map="";
my $no=$mID;
foreach my $pagename(@_)
{######################
my $pageid=$bei123_DATA{"[Page]$pagename"}{Id};
if($pageid ne "")
{################ falls Seite im Zugriff
my @pagesubdir=@{$bei123_DATA{"[Page]$pagename"}{Subdir}};
my $r=" ";
my $ok="";
#---------------------------------------------------------#and $bei123_RIGHTPAGE{$pagename} eq ""
if($bei123_RIGHTPAGE{$pagename} eq "")
{
$ok="ja";
}
else
{
if($bei123_USERRIGHT{$pagename} eq $pagename and $bei123_USER{Id} ne "")
{
$r=$bei123_right;
$ok="ja";
}
}
if($bei123_UNPAGE{$pagename} ne "")
{
$ok=0;
}
if($ok)
{#-----------------------------------------------------
if($pagename ne "" and $bei123_UNSHOW{$pagename} eq "")
{#----------------------------------------------------
push(@bei123_LISTDIR,$pagename);
$mID=$no;
$bei123_name_show{$pagename}="$mID,$pageid";
$bei123_Id_show{$pageid}="$mID,$pageid";
$bei123_show_Id{"$mID,$pageid"}=$pageid;
$bei123_show_name{"$mID,$pageid"}=$pagename;
$map.="
";
out $bei123_sitemap;
}###################
sub bei123_LOGIN
{###############
if($_[0] eq "")
{
out $bei123_LOGIN;
}
else
{
if($bei123_USER{Id} eq "")
{#############################
$url="$_link&bei123=$bei123_SHOW{$_[0]}";
out $bei123_LOGIN if($bei123_PAGE eq $_[0]);
$_header="Location: $url\n\n " if($bei123_PAGE ne $_[0]) ;
}
else
{
out $bei123_LOGIN;
}
}
}################
sub bei123_loginform
{########################
#$bei123=$bei123_name_show{"Anmeldung"};
my $bei123_logform="";
return($bei123_logform);
}######################
sub bei123_logoutform
{########################
my $bei123_logform="";
return($bei123_logform);
}######################
sub bei123_SEARCHFORM
{#################### generiert Suchformular und zeigt Ergebnise auf der festgelegten Seite an
my $bei123_resultpage=$_[0]; # Seite, wo die Ergebnise angezeigt werden sollen.
#----------------------------------------------------------------------------------------------------------
my $sf="";
#-----------------------------------------------------------------------------------------------------------
$sf="..es wurde noch keine Ergebnis-Seite &bei123_SEARCHFORM('Ergebnis-Seite') angegeben !" if($bei123_resultpage eq "");
out $sf;
}###########
sub bei123_searchresult
{#################### generiert die Ausgabe der Suchergebnisse, Datei $bei123_DBC
$cnd=0;
if($cmd eq "")
{
$px="$_[0]px";
my $sr="";
if($_fullsearch eq "")
{
$sr="Es wurde noch kein Suchbegriff eingegeben !";
return($sr);
}
else
{
#-------------------------------------------------------------------------------
get "fullsearch_range^=0,2500 fullsearch_match=100", "$CMS_DATA";
#---------------------------------------
my $newrange="";
my $txt;
while(get_next($CMS_DATA))
{#---- nur anzeigen, wenn Typ Page und bei123=Id-kette definiert, keine Systempage bzw keine LoginPage
#---- oder RightPage, es sei denn Login oder User_Right vorhanden
if($Data_type eq "Page" and $bei123_SHOW{$Data_name} ne "" and $bei123_SYSTEMPAGE{$Data_name} eq "" and $bei123_UNSHOW{$Data_name} eq "" and $bei123_RIGHTPAGE{$Data_name} eq "" or $bei123_USERRIGHT{$Data_name} ne "")
{
$sr.="
";
}
}
$newrange=$_fullsearch_range+$_fullsearch_range_length;
if($_fullsearch_match_pos<$newrange)
{
$txt="Suche nach weiteren Treffern";
$newrange=$_fullsearch_match_pos;
} else
{
$txt="Suche in weiteren Datensätzen";
}
if($newrange < $_amount_all)
{
$sr.="Es wurde noch nicht in allen Datensätzen gesucht: ";
$sr.="$txt";
}
else
{
$sr.=" ! Die Datenbank wurde komplett durchsucht - Treffer: ".$cnt."";
$sr.=" Kein $weiterer Treffer." if $_fullsearch_amount<1;
}
return($sr);
}
}
}#########