package AttributEdit; # # # SPDX-License-Identifier: AGPL-3.0-or-later # Copyright (c) Rainer Gümpelein, TeilRad GmbH # use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use CGI ':standard'; use Lib::Config; use Mod::Buttons; use Mod::Libenz; use Mod::Libenzdb; use Mod::DBtank; sub new { my $class = shift; my $self = {}; bless($self,$class); return $self; } #Template sub tpl(){ my $node_meta = shift; my $users_dms = shift; my $mode = shift; my $return = shift; my $q = new CGI; my $cf = new Config; my $lb = new Libenz; my $db = new Libenzdb; my $dbt = new DBtank; my $but = new Buttons; my %varenv = $cf->envonline(); my $script = $q->script_name(); my $path = $q->path_info(); my %ib = $but->ibuttons(); my $dbh = ""; my $tpl = $db->get_tpl($R::tpl_id);#Master template my @tpl_order = split /,/,$tpl->{tpl_order}; my @_attr; my $asort=0; my $des_name; my $key_txt; my $checked_txt; my $key_txtarea; my $checked_txtarea; my $key_int; my $checked_int; my $key_intcheck; my $checked_intcheck; my ($key,$des,$size); foreach (@tpl_order){ $asort++; ($key,$des,$size) = split /=/,$_; #push (@_attr, "$key") if($key); if("$key" eq "$R::key"){ $des_name = $des; if($key =~ /ct_name/){ last; } elsif($key =~ /txt(\d+)/ && $size =~ /area/){ $key_txtarea = $1; $checked_txtarea = "checked"; last; } elsif($key =~ /txt(\d+)/){ $key_txt = $1; $checked_txt = "checked"; last; } elsif($key =~ /int(\d+)/ && $size =~ /checkbox/){ $key_intcheck = $1; $checked_intcheck = "checked"; last; } elsif($key =~ /int(\d+)/){ $key_int = $1; $checked_int = "checked"; last; } } } $tpl->{change} = $lb->time4de($tpl->{change},"1") if($tpl->{change}); my $u_name = $tpl->{owner}; $u_name = $dbt->sys_username($dbh,$tpl->{owner}); print "
"; print $q->hidden(-name=>'key', -value=>"$R::key",-override=>'1'); print $q->start_table({-class=>'list', -border=>'0', -width=>'100%', -align=>'left', -cellpadding=>'3', -cellspacing=>'3'}); #Buttons print $q->Tr(); print "\n"; print $but->singlesubmit7("rel_edit","save_attrtpl","",""); print $but->singlesubmit7("rel_edit","remove_chk4attr","","margin-left:10px;"); #print $but->singlesubmit9("dummy","zurück","","ebutton","",""); print $q->span({-style=>'margin-left:5em; font-size:0.91em;'}, "$u_name / $tpl->{change}"); print "\n"; print $q->Tr(); print $q->td({-colspan=>'2'}," "); print $q->Tr(); print $q->td({-class=>'tdescr'}, "Service Datenfeldname"),"\n"; print $q->td({-class=>'tdval'},$q->textfield(-class=>'etxt',-name=>"des", -override=>'1',-default=>"$des_name")),"\n"; if($key =~ /txt|int/){ print $q->Tr(); print $q->td({-class=>'tdescr'}, "Datentyp"),"\n"; print "\n"; if($R::key =~ /txt/){ print $but->radiobox("txt","key_typ","$checked_txt"),"Textzeile\n"; print $but->radiobox("txt_area","key_typ","$checked_txtarea"),"Textarea\n"; }elsif($R::key =~ /int/){ print $but->radiobox("int","key_typ","$checked_int"),"Dezimalzahl\n"; print $but->radiobox("int_checkbox","key_typ","$checked_intcheck"),"Checkbox\n"; } print "\n"; } print $q->Tr(); print $q->td({-class=>'tdescr'},"Sortierung"),"\n"; print $q->td({-class=>'tdval'},$q->textfield(-class=>'etxt', -name=>"asort", -default=>"$asort")),"\n"; #print $q->Tr(); #print $q->td({-class=>'tdescr'},"Text Vorauswahl"),"\n"; #my $pre_values = $q->unescapeHTML("$ctf->{$R::key}"); #print $q->td({-class=>'tdval'},$q->textarea(-id=>"prev", -class=>'etxt',-style=>"width:300px;",-rows=>"1", -name=>"pre_values",-default=>"$pre_values", -override=>'1')),"\n"; #print ""; #print $q->hidden(-name=>'cuid_glob', -value=>"$cuid_glob",-override=>'1'); #print $q->Tr(); #print $q->td({-class=>'tdescr',-colspan=>'2'},""),"\n"; #print $q->Tr(); #print $q->td({-class=>'tdescr',-colspan=>'2'},"Achtung, das löschen oder ändern verursacht Datenverlust."),"\n"; print $q->end_table; print "
"; } 1;