#------------------------------------------------------------------------------------ allgemeine Variablen # $CMS_URL=(split("baseportal.pl",$_HTTP_REFERER))[0]; $CMS_HTX="$CMS_URL"."baseportal.pl?"."htx=$htx"; $datum=datum("jetzt","Wochentag, Tag.Monat.Jahr");# $bei123_right=" ®"; $pic_bp_ico="\"\""; $pic_tobp="Link nach baseportal"; $pic_gotop="\"nach"; $pic_date="\"Datum|Kalendar\""; $baseportal="$pic_tobp baseportal"; $pic_godown="\"nach"; $pic_on_work=""; $pic_help2="Hilfe"; $pic_calendar="Kalendar"; $pic_pdf="\"pdf-File\""; $pic_pdf30="\"pdf-File\""; $pic_home="\"Home\""; $pic_sitemap="\"Sitemap\""; $pic_impressum="\"Impressum\""; $pic_office="\"Office"; $pic_layout="\"Layout\""; $pic_user_login="\"Login\""; $pic_login="\"Login\""; $pic_usergroup2="\"UserGroup\""; $pic_user_logout="\"Logout|User\""; $pic_logout="\"Logout|User\""; $pic_tasten="\"\""; $bei123_folderoff="»"; $bei123_folderon ="«";#∇ $bei123_folderno ="∠"; $bei123_param="";# Parameter übergeben über Variable ##------------------------------------------------------------------------------------------ Host merken ## $bei123_REFBASE=""; @bei123_refbase=split("\\?",$_HTTP_REFERER); if($out ne "pdf") {#---------------- $bei123_REFBASE=$bei123_refbase[0]; $_link="baseportal.pl?sid=$_session&htx=$htx"; } ##------------------------------------------------------------------------------- notwendige Datenbanken ### #$CMS_DATA=$CMS_DATA; #$CMS_USER=$CMS_USER; ##---------------------------------------------------------------------------------------------- login ? ### #if($_get{namerein} ne "" and $_get{pwrein} ne "") #{#----------------------------------------------- #get ["Kennung", "==!", $_get{namerein}, "&", "Passwort", "==!", $_get{pwrein}], $CMS_USER; # if($Kennung eq $_get{namerein} and $Passwort eq $_get{pwrein}) # {# # $bei123_usertime=time(); # $_raw{User_time}=$bei123_usertime; # $_session{user} = serial %_raw; # # }# #}#------------------------------------------------------------------------------------------- User-Session # #%bei123_USER = eval $_session{user}; #$bei123_LOGIN=($bei123_USER{Kennung} eq "" ? &bei123_loginform() : &bei123_logoutform()); #--------------------------------------------------------------------------------------- Userrechte merken # #if($bei123_USER{Kennung} ne "")############## falls angemeldet # {%bei123_USERRIGHT=map{$_ => $_ } (split "\n",$bei123_USER{User_right}); #get "Id==!*",$CMS_DATA,"data"; #alle Datensätze holen #}#----------------------------------------------------------------------------------------------------------- #else ######################################## falls NICHT angemeldet #{ #get ["Data_no", "==", "", "|", "Data_no", ">=",0 ], $CMS_DATA,"data"; ################################################## nur #} #Data_hidden #Data_hidden => ${$data{Data_hidden}}[$_], #############################------------------------------------------------------ $CMS_DATA einlesen ##### %bei123_DATA=map{"[".${$data{Data_type}}[$_]."]".${$data{Data_name}}[$_] => {Id => ${$data{Id}}[$_], Data_no => ${$data{Data_no}}[$_],Data_out => ${$data{Data_out}}[$_],Data_subdef => ${$data{Data_subdef}}[$_],Data_content => "${$data{Data_content}}[$_]" ,Data_date => ${$data{Data_date}}[$_],Data_name => ${$data{Data_name}}[$_],Data_hidden => ${$data{Data_hidden}}[$_],Data_type => ${$data{Data_type}}[$_], Subdir => (${$data{Data_type}}[$_] eq "Page" ? [(split "\n","${$data{Data_subdef}}[$_]")] : ""),Container => (${$data{Data_type}}[$_] eq "Page" ? [(split "","${$data{Data_content}}[$_]")] : "") }}(0..$data{_amount}); delete $bei123_DATA{"[]"}; #------------------------------------------------------------------------------------------- Referenz-Hash # @data_type{@{$data{Id}}}=@{$data{Data_type}}; %bei123_cms = (Id =>\%{$data{_fnr}},type =>\%{$data{type}}); $bei123_for=\%bei123_cms; #---------------------------------------------------------------------------------------------------------- # ${$data{_fnr}}{$Id}; # Id -> _fnr # ${$data{Id}}[$bei123_for->{Id}{$Id}]; # Id -> Id # ${$data{Data_type}}[$bei123_for->{Id}{$Id}]; # Id -> Data_type # ${$data{Data_name}}[$bei123_for->{Id}{$Id}]; # Id -> Data_name # ${$data{Data_no}}[$bei123_for->{Id}{$Id}]; # Id -> Data_no # ${$data{Data_out}}[$bei123_for->{Id}{$Id}]; # Id -> Data_out # $bei123_DATA{"[Layout]${$data{Data_out}}[$bei123_for->{Id}{$Id}]"}{Id}; # Id -> Id(Data_out) # ${$data{Data_subdef}}[$bei123_for->{Id}{$Id}]; # Id -> Data_subdef # ${$data{Data_content}}[$bei123_for->{Id}{$Id}]; # Id -> Data_content # ${$data{Data_date}}[$bei123_for->{Id}{$Id}]; # Id -> Data_date #--------------------------------------------------------------------------------- Die Hauptverzeichnisse ## # Module namentlich feststellen %bei123_MODUL=map{($data_type{$_} eq "Modul" ? ${$data{Data_name}}[$bei123_for->{Id}{$_}] : "") => $_}keys(%data_type); delete $bei123_MODUL{''}; #outl dump(%bei123_MODUL); #-------------------------------------------------------------------------------- %bei123_main_page=map{($bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no}>0 ? $bei123_DATA{$_}{Data_no} : "" ) => "$bei123_DATA{$_}{Id}" } keys(%bei123_DATA); delete $bei123_main_page{''}; #----------------------------------------------------------------------------------------------------------- $bei123=$_get{bei123}||$bei123_main_page{1}; $bei123=$_get{bei123}||$bei123_DATA{"[Page]UserRechte"}{Id} if($sid and $bei123_USER{Id} eq ""); ###################################### @bei123_MAINDIR=map{${$data{Data_name}}[$bei123_for->{Id}{$bei123_main_page{$_}}]}keys(%bei123_main_page); $bei123pdf=$bei123; @bei123_LISTDIR=""; # Seitenname in der Reihenfolge der Unterverzeichnisse $bei123_SITEMAP=""; # Sitemap generieren $bei123_PAGEMAP=""; # $bei123_FOLDER=""; # Foldertree generieren #-------------------------------------------------------------------------------------- PAGE_no auswerten ## ######### _type extrahieren, um Data_no unterschiedlich je nach _type auszuwählen @bei123_page_ =(grep{$bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no} eq ''}keys(%bei123_DATA)); @bei123_loginpage =(grep{$bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no} eq "-1"}keys(%bei123_DATA));### Zugriff nach Login @bei123_rightpage =(grep{$bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no} eq "-2"}keys(%bei123_DATA));### Zugriff, wenn recht vorhanden #@bei123_unpage =(grep{$bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no} eq "-3"}keys(%bei123_DATA));### Zugriff, wenn recht vorhanden @bei123_systempage =(grep{$bei123_DATA{$_}{Data_type} eq "Page" and $bei123_DATA{$_}{Data_no} eq "0"}keys(%bei123_DATA));### Immer im Zugriff, nicht eingebunden #----------------------------------------------------------------------------------------- Spezial-Seiten ## %bei123_LOGINPAGE=map{$bei123_DATA{$_}{Data_name} => $bei123_DATA{$_}{Id}}@bei123_loginpage; #-------------- Name->Id #outl dump(%bei123_LOGINPAGE); %bei123_RIGHTPAGE=map{$bei123_DATA{$_}{Data_name} => $bei123_DATA{$_}{Id}}@bei123_rightpage; #-------------- Name->Id #outl dump(%bei123_RIGHTPAGE); %bei123_SYSTEMPAGE=map{$bei123_DATA{$_}{Data_name} => $bei123_DATA{$_}{Id}}@bei123_systempage; #-------------- Name->Id #outl dump(%bei123_SYSTEMPAGE); #%bei123_UNPAGE=map{$bei123_DATA{$_}{Data_name} => $bei123_DATA{$_}{Id}}@bei123_unpage; #-------------- Name->Id #outl dump(%bei123_UNPAGE); #-------------------------------------------------------------------------------------- Pages nach Login ### #%bei123_UNSHOW = %bei123_LOGINPAGE if($bei123_USER{Kennung} eq ""); # falls nicht angemeldet #%bei123_NORIGHT= %bei123_RIGHTPAGE if($bei123_USER{Kennung} eq ""); # falls nicht angemeldet #----------------------------------------------------------------------------------------------- Sitemap ### $bei123_SITEMAP="
    "; foreach my $pagename(@bei123_MAINDIR) {#---------------------------------- $ok=""; my $r=""; if($bei123_RIGHTPAGE{$pagename} eq "") { $ok="ja"; } else { if($bei123_RIGHTPAGE{$pagename} eq $pagename and $bei123_USERRIGHT{$pagename} ne "") {$r=$bei123_right; $ok ="ja"; } } if($ok) { push(@bei123_LISTDIR,$pagename); # Listing und Reihenfolge merken #--------------------------------------------------------------------------- Id-Ketten my $pageid = $bei123_DATA{"[Page]$pagename"}{Id}; my @pagesubdir= @{$bei123_DATA{"[Page]$pagename"}{Subdir}}; #---------------------------------------------------------- $bei123_name_show{$pagename}=$pageid; $bei123_Id_show{$pageid}=$pageid; $bei123_show_Id{$pageid}=$pageid; $bei123_show_name{$pageid}=$pagename; #------------------------------------------------------------------------------ $bei123_SITEMAP.="
  1. $pagename $r"; if(@pagesubdir > 0) {#----------------- $mID=$pageid; $bei123_SITEMAP.="".&bei123_mapping(@pagesubdir).""; #####unless($bei123_UNSHOW{$pagename} or $bei123_NORIGHT{$pagename}); }#---------------- $bei123_SITEMAP.="
  2. "; }#------------------------ } $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_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="\"Seite"; $bei123_pic_restrictpage="\"CMS-Datenbank"; $bei123_pic_pdf="\"pdf-File\""; ############################### 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 ""; }############### 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.=""; }#-------------------------------------------------- } } }########## ende foreach delete $bei123_Id_show{''}; delete $bei123_name_show{''}; return($map); }############ ENDE mapping sub no_null_begin {################ Leerzeichen am Anfang entfernen my $field=$_[0]; $field =~ s/\A\s*//; return($field); }################ sub no_null_end {############### Leerzeichen am Ende entfernen my $field=$_[0]; $field =~ s/\s*\Z//; return($field); }############### sub no_image_tags {################ evtl. Bilder ausklammern $text_tag=$_[0]; $text_tag=~s//$_[1]<\/a>/gi; $text_tag=~s//$_[1]<\/a>/gi; return $text_tag; }################ sub check_filesize {################ Dateigröße auslesen my $file=$_[0]; my $size=length($file)/1000; my $filesize=sprintf('%.3f',$size); # KB auf 3 nachkommastellen return($filesize); }################ sub html2text {############ entfernt html-tags und gibt nur Text ohne HTML zurück my $html=$_[0]; ($text = $html) =~ s/<(\/|!)?[-.a-zA-Z0-9]*.*?>//g; return($text); }############# sub no_link_tags {################ evtl. Links einklammern my $link_tag=$_[0]; my $link_repl=($_[1] eq "" ? "(siehe Link)" : $_[1]); $link_tag=~s//$link_repl<\/a>/gi; $link_tag=~s//$link_repl<\/a>/gi; return $link_tag; }################ sub bei123_CONTENT {###################################### $x=$_[0]; # Name der Page $y=$_[1]; # Nr. des Containers $div_style=$_[2]; # Style Parameter $_session{view_content}=$_get{bei123_contentview}; ####################################### if($y>0) { $div_on="
"; $div_out="
"; $div_color =""; } if($y>0 and $_session{view_content} eq "on") {####### falls nicht [0]-Container - Anzeige für ADMIN $div_color=($bei123_PAGE eq $x ? "green":"red"); $div_on="
"; $div_out="
"; }##################################################### $xId=&bei123_check_page_name_id($x); if($xId) {#--------------------------------------- gültige Id $Out=${$bei123_DATA{"[Page]$x"}{Container}}[$y]; ##### if( index($Out,"[code]")>=0 and index($Out,"[/code]")>=0) {#--------------------------------------------- wenn [code] @TEXT=split(/\[code\]/,$Out); #eval "out<".convert_br(convert_html($text[0])).""; $OUT.="
".convert_br(convert_html($text[0]))."
"; #new #eval "out< CMS-Fehler melden { outl "CMS-Error: keine gültige [Page] Ihre Eingabe: \&bei123_CONTENT($_[0])"; } }################# sub bei123_check_page_name_id {############################ immer Id zurückgeben #### $bei123_PageId=""; $xId=$_[0]; $bei123_PageId=$bei123_DATA{"[Page]$xId"}{Id}; #------------------------------------------------------ if($bei123_PageId eq "") {#------- wurde eine gültige Page_Id direkt übergeben ? my $mType=${$data{Data_type}}[$bei123_for->{Id}{$xId}]; $bei123_PageId=($mType eq "Page" ? $xId : "" ); }#----------------------------------------------------- return($bei123_PageId); }####################################################### sub bei123_MODUL {##################################################### if($_[0] ne "" and $bei123_MODUL{$_[0]} ne "") {#----------- falls Modul existiert my $subdef=$bei123_DATA{"[Modul]$_[0]"}{Data_subdef}; ## da hier sowieso nur Code reinkommt, eval direkt eval $subdef; my $mtext =$bei123_DATA{"[Modul]$_[0]"}{Data_content} ; if(index($mtext,"[code]")>=0 and index($mtext,"[/code]")>=0) {#--------------------------------------------- wenn [code] @mTEXT=split(/\[code\]/,$mtext); eval $mTEXT[0]; shift(@mTEXT); foreach(@mTEXT) {##################### @mtext=split(/\[\/code\]/,$_); out "
".convert_br(convert_html($mtext[0]))."
"; eval $mtext[1]; }##################### } #---------------------------------------- wenn kein [code] else { eval $mtext; } #----------------------------------------------------- } else #----------- falls Modul existiert { outl "Modul $_[0] noch nicht definiert !"; } }##################################################### sub bei123_SITEMAP {#################### $page_name=$_[0]; # Sudir für eine bestimte Seite $mID=$bei123_DATA{"[Page]$page_name"}{Id}; $bei123_sitemap="
$page_name
    "; $bei123_sitemap.=&bei123_mapping(@{$bei123_DATA{"[Page]$page_name"}{Subdir}}); $bei123_sitemap.="
"; 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="
Kennung
Passwort
"; 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.="

"; $sText=${$bei123_DATA{"[Page]$Data_name"}{Container}}[1]; $sText=&html2text($sText); $sText=&no_image_tags($sText,""); $Data_name=~ s#$_fullsearch_regex#$1#g; $sText=~ s#$_fullsearch_regex#$1#g; $sText=eval("<$1#g; } #----------------------------------------------------------- $sr.=" $sText
» [$Data_name]
"; $cnt++; #----------------------------------------------------------- $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); } } }#########