F:\WEBSITES\testbed\zipped\yabb_svn_new\branches\2.5.2\cgi-bin\yabb2\Admin\Settings_Main.pl F:\WEBSITES\testbed\zipped\yabb_svn_new\trunk\cgi-bin\yabb2\Admin\Settings_Main.pm
############################################################################### ###############################################################################
# Settings_Main.pl                                                            # # Settings_Main.pm                                                            #
  # $Date: 01.05.16 $                                                           #
############################################################################### ###############################################################################
# YaBB: Yet another Bulletin Board                                            # # YaBB: Yet another Bulletin Board                                            #
# Open-Source Community Software for Webmasters                               # # Open-Source Community Software for Webmasters                               #
# Version:        YaBB 2.5.2                                                  # # Version:        YaBB 2.6.12                                                 #
# Packaged:       October 21, 2012                                            # # Packaged:       December 2, 2014                                            #
# Distributed by: http://www.yabbforum.com                                    # # Distributed by: http://www.yabbforum.com                                    #
# =========================================================================== # # =========================================================================== #
# Copyright (c) 2000-2012 YaBB (www.yabbforum.com) - All Rights Reserved.     # # Copyright (c) 2000-2016 YaBB (www.yabbforum.com) - All Rights Reserved.     #
# Software by:  The YaBB Development Team                                     # # Software by:  The YaBB Development Team                                     #
#               with assistance from the YaBB community.                      # #               with assistance from the YaBB community.                      #
############################################################################### ###############################################################################
  # use strict;
  use CGI::Carp qw(fatalsToBrowser);
  use English qw(-no_match_vars);
  our $VERSION = '2.6.12';
   
$settings_mainplver = 'YaBB 2.5.2 $Revision: 1.2 $'; our $settings_mainpmver = 'YaBB 2.6.12 $Revision: 1710 $';
if ($action eq 'detailedversion') { return 1; } if ($action eq 'detailedversion') { return 1; }
   
# Language requirements # Language requirements
&LoadLanguage('Register');  LoadLanguage('Register'); 
  $admin_images = "$yyhtml_root/Templates/Admin/default";
   
# Date/Time selector # Date/Time selector
my ($forumstart_month, $forumstart_day, $forumstart_year, $forumstart_hour, $forumstart_minute, $forumstart_secund) = $forumstart =~ m~(\d{2})\/(\d{2})\/(\d{2,4}).*?(\d{2})\:(\d{2})\:(\d{2})~s;  my ( 
     $forumstart_month, $forumstart_day,    $forumstart_year,
     $forumstart_hour,  $forumstart_minute, $forumstart_secund
   )
   = $forumstart =~
   m/(\d{2})\/(\d{2})\/(\d{2,4}).*?(\d{2})\:(\d{2})\:(\d{2})/xsm;
   
if ($forumstart_month > 12) { $forumstart_month = 12; } if ($forumstart_month > 12) { $forumstart_month = 12; }
if ($forumstart_month < 1) { $forumstart_month = 1; } if ($forumstart_month < 1) { $forumstart_month = 1; }
if ($forumstart_day > 31) { $forumstart_day = 31; } if ($forumstart_day > 31) { $forumstart_day = 31; }
if ($forumstart_day < 1) { $forumstart_day = 1; } if ($forumstart_day < 1) { $forumstart_day = 1; }
if (length($forumstart_year) > 2) { $forumstart_year = substr($forumstart_year , length($forumstart_year) - 2, 2); }  if ( length($forumstart_year) > 2 ) { 
     $forumstart_year = substr $forumstart_year, length($forumstart_year) - 2, 2;
  }
if ($forumstart_year < 90 && $forumstart_year > 20) { $forumstart_year = 90; } if ($forumstart_year < 90 && $forumstart_year > 20) { $forumstart_year = 90; }
if ($forumstart_year > 20 && $forumstart_year < 90) { $forumstart_year = 20; } if ($forumstart_year > 20 && $forumstart_year < 90) { $forumstart_year = 20; }
if ($forumstart_hour > 23) { $forumstart_hour = 23; } if ($forumstart_hour > 23) { $forumstart_hour = 23; }
if ($forumstart_minute > 59) { $forumstart_minute = 59; } if ($forumstart_minute > 59) { $forumstart_minute = 59; }
if ($forumstart_secund > 59) { $forumstart_secund = 59; } if ($forumstart_secund > 59) { $forumstart_secund = 59; }
   
my $sel_day = qq~  my $sel_day = q~ 
<select name="forumstart_day"~ . (($timeselected == 1 || $timeselected == 4 || $timeselected == 5) ? '' : ' id="fd_fm"') . qq~>\n~;  <select name="forumstart_day"~ 
for ($i = 1; $i <= 31; $i++) {   . ( 
   $day_val = sprintf("%02d", $i);     ( $timeselected == 1 || $timeselected == 4 || $timeselected == 5 ) 
   $sel_day .= qq~<option value="$day_val" ${isselected($forumstart_day == $i)}>$i</option>\n~;     ? q{} 
     : ' id="fd_fm"' 
   ) . qq~>\n~;
  foreach my $i ( 1 .. 31 ) {
     $day_val = sprintf '%02d', $i;
     $sel_day .=
  qq~<option value="$day_val" ${isselected($forumstart_day == $i)}>$i</option>\n~;
} }
$sel_day .= qq~</select>\n~; $sel_day .= qq~</select>\n~;
   
my $sel_month = qq~  my $sel_month = q~ 
<select name="forumstart_month"~ . (($timeselected == 1 || $timeselected == 4 || $timeselected == 5) ? ' id="fd_fm"' : '') . qq~>\n~;  <select name="forumstart_month"~ 
for ($i = 0; $i < 12; $i++) {   . ( 
   $z = $i+1;     ( $timeselected == 1 || $timeselected == 4 || $timeselected == 5 ) 
   $month_val = sprintf("%02d", $z);     ? ' id="fd_fm"' 
   $sel_month .= qq~<option value="$month_val" ${isselected($forumstart_month == $z)}>$months[$i]</option>\n~;     : q{} 
   ) . qq~>\n~;
  foreach my $i ( 0 .. 11 ) {
     $z = $i+1;
     $month_val = sprintf '%02d', $z;
     $sel_month .=
  qq~<option value="$month_val" ${isselected($forumstart_month == $z)}>$months[$i]</option>\n~;
} }
$sel_month .= qq~</select>\n~; $sel_month .= qq~</select>\n~;
   
my $sel_year = qq~  my $sel_year = qq~<select name="forumstart_year">\n~; 
<select name="forumstart_year">\n~;  foreach my $i ( 90 .. 120 ) { 
for ($i = 90; $i <= 120; $i++) {     if   ( $i < 100 ) { $z = $i;       $year_pre = q~19~; } 
   if($i < 100) { $z = $i; $year_pre = qq~19~; } else { $z = $i-100; $year_pre = qq~20~; }     else              { $z = $i - 100; $year_pre = q~20~; } 
   $year_val = sprintf("%02d", $z);     $year_val = sprintf '%02d', $z; 
   $sel_year .= qq~<option value="$year_val" ${isselected($forumstart_year == $z)}>$year_pre$year_val</option>\n~;     $sel_year .= 
  qq~<option value="$year_val" ${isselected($forumstart_year == $z)}>$year_pre$year_val</option>\n~;
} }
$sel_year .= qq~</select>\n~; $sel_year .= qq~</select>\n~;
   
if ($timeselected == 1 || $timeselected == 4 || $timeselected == 5) { $all_date = qq~$sel_month $sel_day $sel_year~; }  if ( $timeselected == 1 || $timeselected == 4 || $timeselected == 5 ) { 
     $all_date = qq~$sel_month $sel_day $sel_year~;
  }
else { $all_date = qq~$sel_day $sel_month $sel_year~; } else { $all_date = qq~$sel_day $sel_month $sel_year~; }
   
my $sel_hour = qq~ my $sel_hour = qq~
<select name="forumstart_hour">\n~; <select name="forumstart_hour">\n~;
for($i = 0; $i <= 23; $i++) { for my $i ( 0 .. 23 ) {
   $hour_val = sprintf("%02d", $i);     $hour_val = sprintf '%02d', $i; 
   $sel_hour .= qq~<option value="$hour_val" ${isselected($forumstart_hour == $i)}>$hour_val</option>\n~;    $sel_hour .= qq~<option value="$hour_val" ${isselected($forumstart_hour == $i)}>$hour_val</option>\n~;
} }
$sel_hour .= qq~</select>\n~; $sel_hour .= qq~</select>\n~;
   
my $sel_minute = qq~ my $sel_minute = qq~
<select name="forumstart_minute">\n~; <select name="forumstart_minute">\n~;
for($i = 0; $i <= 59; $i++) { for my $i ( 0 .. 59 ) {
   $minute_val = sprintf("%02d", $i);     $minute_val = sprintf '%02d', $i; 
   $sel_minute .= qq~<option value="$minute_val" ${isselected($forumstart_minute == $i)}>$minute_val</option>\n~;    $sel_minute .= qq~<option value="$minute_val" ${isselected($forumstart_minute == $i)}>$minute_val</option>\n~;
} }
$sel_minute .= qq~</select>\n~; $sel_minute .= qq~</select>\n~;
   
my $sel_secund = qq~<input type="hidden" value="$forumstart_secund" name="forumstart_secund" />~; my $sel_secund = qq~<input type="hidden" value="$forumstart_secund" name="forumstart_secund" />~;
my $all_time = qq~$sel_hour $sel_minute $sel_secund~; my $all_time = qq~$sel_hour $sel_minute $sel_secund~;
# End time # End time
   
# Timezone selector  my $mytz = $default_tz; 
my @usertimeoffset = split(/\./, $timeoffset);  my $tz_select = q~<select name="default_tz" id="default_tz">~; 
my $timeoffsetselect = qq~<span class="small"><br /><br /></span><select name="usertimesign" id="usertimesign"><option value="">+</option><option value="-"~ . ($usertimeoffset[0] < 0 ? ' selected="selected"' : '') . qq~>-</option></select> <select name="usertimehour">~;  $tz_select .= qq~<option value="UTC" ${isselected('UTC' eq $mytz)}>UTC</option>~; 
   for (my $i = 0; 15 > $i; $i++) {  
       $i = sprintf("%02d", $i);  eval { 
       $timeoffsetselect .= qq~<option value="$i"~ . (($usertimeoffset[0] == $i || $usertimeoffset[0] == -$i) ? ' selected="selected"' : '') . qq~>$i</option>~;     require DateTime; 
   }     require DateTime::TimeZone; 
   $timeoffsetselect .= qq~</select> : <select name="usertimemin">~;  }; 
   for (my $i = 0; 60 > $i; $i++) {  my $dt_check = $EVAL_ERROR; 
       my $j = $i / 60;  if( $dt_check ) { 
       $j = (split(/\./, $j))[1] || 0;     $tz_select .= qq~<option value="local" ${isselected('local' eq $mytz)}>$admin_txt{'local'}</option>~; 
       $timeoffsetselect .= qq~<option value="$j"~ . ($usertimeoffset[1] eq $j ? ' selected="selected"' : '') . qq~>~ . sprintf("%02d", $i) . qq~</option>~;     my @usertimeoffset = split /\./xsm, $timeoffset; 
   }     $timeoffsetselect = q~<select name="usertimesign" id="usertimesign"><option value="">+</option><option value="-"~ . ($usertimeoffset[0] < 0 ? ' selected="selected"' : q{}) . q~>-</option></select> <select name="usertimehour">~; 
   $timeoffsetselect .= qq~</select>~;     for my $i ( 0 .. 14 ) { 
         $i = sprintf '%02d', $i;
         $timeoffsetselect .= qq~<option value="$i"~ . (($usertimeoffset[0] == $i || $usertimeoffset[0] == -$i) ? ' selected="selected"' : q{}) . qq~>$i</option>~;
     }
     $timeoffsetselect .= qq~</select> : <select name="usertimemin">~;
     for my $i( 0 .. 59 ) {
         my $j = $i / 60;
         $j = (split /\./xsm, $j)[1] || 0;
         $timeoffsetselect .= qq~<option value="$j"~ . ($usertimeoffset[1] eq $j ? ' selected="selected"' : q{}) . q~>~ . sprintf('%02d', $i) . q~</option>~;
     }
     $timeoffsetselect .= q~</select>~;
     $dstoffsetlabel = qq~<label for="dstoffset">$admin_txt{'371e'}</label>~;
     $dstoffsetinput = qq~<input type="checkbox" name="dstoffset" id="dstoffset" value="1"${ischecked($dstoffset)}/>~,
  }
  else {
     DateTime->import();
     DateTime::TimeZone->import();
     LoadLanguage('Countries');
     my @mycntry = sort { $countrytime_txt{$a} cmp $countrytime_txt{$b} } keys %countrytime_txt;
   
     for my $i ( @mycntry ) {
             $tz_select .= qq~<option value="$i" ${isselected($i eq $mytz)}>$countrytime_txt{$i}</option>~;
     }
  }
  $tz_select .= '</select>';
# Language selector # Language selector
opendir(LNGDIR, $langdir);  opendir LNGDIR, $langdir; 
my @lfilesanddirs = readdir(LNGDIR);  my @lfilesanddirs = readdir LNGDIR; 
close(LNGDIR);  closedir LNGDIR; 
foreach my $fld (sort {lc($a) cmp lc($b)} @lfilesanddirs) { foreach my $fld (sort {lc($a) cmp lc $b} @lfilesanddirs) {
   if (-e "$langdir/$fld/Main.lng") {    if (-e "$langdir/$fld/Main.lng") {
     my $displang = $fld;      my $displang = $fld;
       $displang =~ s~(.+?)\_(.+?)$~$1 ($2)~gi;         $displang =~ s/(.+?)\_(.+?)$/$1 ($2)/gism; 
       $drawnldirs .= qq~<option value="$fld" ${isselected($fld eq $lang)}>$displang</option>~;        $drawnldirs .= qq~<option value="$fld" ${isselected($fld eq $lang)}>$displang</option>~;
   }    }
  }
   
  # For improved email check
  eval {
     require Net::DNS;
  };
  my $no_imp_email = $EVAL_ERROR;
  if( $no_imp_email ) {
     $no_imp_email_check = qq~$admin_txt{'no_imp_email_check'}~;
     $imp_email_check_dis = ' disabled="disabled"';
} }
   
# Template selector # Template selector
foreach my $curtemplate (sort{ $templateset{$a} cmp $templateset{$b} } keys %templateset) { foreach my $curtemplate (sort{ $templateset{$a} cmp $templateset{$b} } keys %templateset) {
   $drawndirs .= qq~<option value="$curtemplate" ${isselected($curtemplate eq $default_template)}>$curtemplate</option>\n~;    $drawndirs .= qq~<option value="$curtemplate" ${isselected($curtemplate eq $default_template)}>$curtemplate</option>\n~;
} }
   
# imspam conversion # imspam conversion
$imspam = 0 if $imspam eq 'off';  if ($imspam eq 'off') { $imspam = 0;} 
  $guest_view_limit ||= 15;
   
$imtext =~ s~<br />~\n~g;  $imtext =~ s~<br />~\n~gsm; 
   
# max / min for PM search # max / min for PM search
$enable_PMsearch =~ s/\D//ig;  $enable_PMsearch =~ s/\D//igsm; 
$enable_PMsearch = 0 if !$enable_PMsearch;  if (!$enable_PMsearch) { $enable_PMsearch = 0;} 
$enable_PMsearch = 50 if $enable_PMsearch > 50;  if ($enable_PMsearch > 50) {$enable_PMsearch = 50 ;} 
$enable_PMsearch = 5 if $enable_PMsearch < 5;  if ($enable_PMsearch < 5) {$enable_PMsearch = 5;} 
$set_subjectMaxLength = 50 if $set_subjectMaxLength eq '';  if ($set_subjectMaxLength eq q{}) {$set_subjectMaxLength = 50;} 
$RegReasonSymbols = 200 if $RegReasonSymbols eq '';  if ($RegReasonSymbols eq q{}) { $RegReasonSymbols = 200 ;} 
$ML_Allowed = 1 if $ML_Allowed eq '';  if ($ML_Allowed eq q{}) { $ML_Allowed = 1;} 
  if ($default_userpic eq q{}) { $default_userpic = 'nn.gif';}
# This is only for update, when comming from YaBB lower or equal version 2.2.3  
# I think it can be deleted around version 2.4.0 without causing mayor issues (deti).  
if ($enable_notifications eq '') { $enable_notifications = $enable_notification ? 3 : 0; }  
# End update workaround  
   
require "$admindir/ManageBoards.pl"; # needed for avatar upload settings require Admin::ManageBoards; # needed for avatar upload settings
   
# Insert default if forum is beeing upgraded to YaBB 2.4 # Insert default if forum is being upgraded to YaBB 2.4
if (!$pwstrengthmeter_scores && !$pwstrengthmeter_common && !$pwstrengthmeter_minchar) { if (!$pwstrengthmeter_scores && !$pwstrengthmeter_common && !$pwstrengthmeter_minchar) {
   $FORM{'pwstrengthmeter_scores'} = "10,15,30,40";     $FORM{'pwstrengthmeter_scores'} = '10,15,30,40'; 
   $FORM{'pwstrengthmeter_common'} = qq~"123456","abcdef","password"~;     $FORM{'pwstrengthmeter_common'} = q~"123456","abcdef","password"~; 
   $FORM{'pwstrengthmeter_minchar'} = 3;    $FORM{'pwstrengthmeter_minchar'} = 3;
} }
   
# googiespell start # googiespell start
eval { require LWP::UserAgent }; eval { require LWP::UserAgent };
my $modulLWP = $@;  my $modulLWP = $EVAL_ERROR; 
eval { require HTTP::Request::Common }; eval { require HTTP::Request::Common };
my $modulHTTP = $@;  my $modulHTTP = $EVAL_ERROR; 
eval { require Crypt::SSLeay }; eval { require Crypt::SSLeay };
my $modulCrypt = $@;  my $modulCrypt = $EVAL_ERROR; 
   
my $googiehtml = qq~<input type="checkbox" name="enable_spell_check" id="enable_spell_check" value="1"${ischecked($enable_spell_check)} />~; my $googiehtml = qq~<input type="checkbox" name="enable_spell_check" id="enable_spell_check" value="1"${ischecked($enable_spell_check)} />~;
if ($modulLWP || $modulHTTP || $modulCrypt) { if ($modulLWP || $modulHTTP || $modulCrypt) {
   $googiehtml = qq~<input type="hidden" name="enable_spell_check" value="0" />~ .    $googiehtml = q~<input type="hidden" name="enable_spell_check" value="0" />~ .
   $admin_txt{'377a'} .    $admin_txt{'377a'} .
   "- LWP::UserAgent &lt;- <b>" . ($modulLWP ? $modulLWP : $admin_txt{'377b'}) . "</b><br />" .    '- LWP::UserAgent &lt;- <b>' . ($modulLWP ? $modulLWP : $admin_txt{'377b'}) . '</b><br />' .
   "- HTTP::Request::Common &lt;- <b>" . ($modulHTTP ? $modulHTTP : $admin_txt{'377b'}) . "</b><br />" .    '- HTTP::Request::Common &lt;- <b>' . ($modulHTTP ? $modulHTTP : $admin_txt{'377b'}) . '</b><br />' .
   "- Crypt::SSLeay &lt;- <b>" . ($modulCrypt ? $modulCrypt : $admin_txt{'377b'}) . "</b><br />" .    '- Crypt::SSLeay &lt;- <b>' . ($modulCrypt ? $modulCrypt : $admin_txt{'377b'}) . '</b><br />' .
   $admin_txt{'377c'};    $admin_txt{'377c'};
} }
# googiespell end # googiespell end
   
  $qcksearchtype ||= 'allwords';
  $qckage    = defined $qckage ? $qckage : 31;
   
# List of settings # List of settings
   
@settings = ( @settings = (
{ {
   name  => $settings_txt{'generalforum'},    name  => $settings_txt{'generalforum'},
   id    => 'general',    id    => 'general',
   items => [    items => [
       {        {
           header => $settings_txt{'generalforum'},            header => $settings_txt{'generalforum'},
       },        },
       {        {
           description => qq~<label for="mbname">$admin_txt{'350'}</label>~,            description => qq~<label for="mbname">$admin_txt{'350'}</label>~,
           input_html => qq~<input type="text" size="40" name="mbname" id="mbname" value="$mbname" />~,            input_html => qq~<input type="text" size="40" name="mbname" id="mbname" value="$mbname" />~,
           name => 'mbname',            name => 'mbname',
           validate => 'text',            validate => 'text',
       },        },
       {        {
           description => qq~<label for="fd_fm">$admin_txt{'350a'}</label>~,            description => qq~<label for="fd_fm">$admin_txt{'350a'}</label>~,
           input_html => qq~$all_date $maintxt{'107'} $all_time~,            input_html => qq~$all_date $maintxt{'107'} $all_time~,
           ### Custom validated.            ### Custom validated.
       },        },
       {        {
           description => qq~<label for="MenuType">$admin_txt{'521'}</label>~,            description => qq~<label for="MenuType">$admin_txt{'521'}</label>~,
           input_html => qq~            input_html => qq~
<select name="MenuType" id="MenuType" size="1"> <select name="MenuType" id="MenuType" size="1">
 <option value="0" ${isselected($MenuType == 0)}>$admin_txt{'521a'}</option>  <option value="0" ${isselected($MenuType == 0)}>$admin_txt{'521a'}</option>
 <option value="1" ${isselected($MenuType == 1)}>$admin_txt{'521b'}</option>  <option value="1" ${isselected($MenuType == 1)}>$admin_txt{'521b'}</option>
 <option value="2" ${isselected($MenuType == 2)}>$admin_txt{'521c'}</option>  <option value="2" ${isselected($MenuType == 2)}>$admin_txt{'521c'}</option>
</select>~, </select>~,
           name => 'MenuType',            name => 'MenuType',
           validate => 'number',            validate => 'number',
       },        },
       {        {
           description => qq~<label for="default_template">$admin_txt{'813'}</label>~,            description => qq~<label for="default_template">$admin_txt{'813'}</label>~,
           input_html => qq~<select name="default_template" id="default_template">$drawndirs</select>~,            input_html => qq~<select name="default_template" id="default_template">$drawndirs</select>~,
           name => 'default_template',            name => 'default_template',
           validate => 'text',            validate => 'text',
       },        },
       {        {
           description => qq~<label for="lang">$admin_txt{'816'}</label>~,            description => qq~<label for="lang">$admin_txt{'816'}</label>~,
           input_html => qq~<select name="lang" id="lang">$drawnldirs</select>~,            input_html => qq~<select name="lang" id="lang">$drawnldirs</select>~,
           name => 'lang',            name => 'lang',
           validate => 'text',            validate => 'text',
       },        },
       {        {
           description => qq~<label for="forumnumberformat">$admin_txt{'forumnumbformat'}</label>~,             description => qq~<label for="yymycharset">$admin_txt{'816a'}</label>~, 
           input_html => qq~            input_html => qq~
  <select name="yymycharset" id="yymycharset" size="1">
   <option value="UTF-8" ${isselected($yymycharset eq 'UTF-8')}>UTF-8</option>
   <option value="ISO-8859-1" ${isselected($yymycharset eq 'ISO-8859-1')}>ISO-8859-1</option>
  </select>
  ~,
             name => 'yymycharset',
             validate => 'text',
         },
         {
             description => qq~<label for="forumnumberformat">$admin_txt{'forumnumbformat'}</label>~,
             input_html => qq~
<select name="forumnumberformat" id="forumnumberformat" size="1"> <select name="forumnumberformat" id="forumnumberformat" size="1">
 <option value="1" ${isselected($forumnumberformat == 1)}>10987.65</option>  <option value="1" ${isselected($forumnumberformat == 1)}>10987.65</option>
 <option value="2" ${isselected($forumnumberformat == 2)}>10987,65</option>  <option value="2" ${isselected($forumnumberformat == 2)}>10987,65</option>
 <option value="3" ${isselected($forumnumberformat == 3)}>10,987.65</option>  <option value="3" ${isselected($forumnumberformat == 3)}>10,987.65</option>
 <option value="4" ${isselected($forumnumberformat == 4)}>10.987,65</option>  <option value="4" ${isselected($forumnumberformat == 4)}>10.987,65</option>
 <option value="5" ${isselected($forumnumberformat == 5)}>10 987,65</option>  <option value="5" ${isselected($forumnumberformat == 5)}>10 987,65</option>
</select>~, </select>~,
           name => 'forumnumberformat',            name => 'forumnumberformat',
           validate => 'number',            validate => 'number',
       },        },
       {        {
           description => qq~<label for="timeselected">$admin_txt{'587'}</label>~,            description => qq~<label for="timeselected">$admin_txt{'587'}</label>~,
           input_html => qq~            input_html => qq~
<select name="timeselected" id="timeselected" size="1"> <select name="timeselected" id="timeselected" size="1">
 <option value="1" ${isselected($timeselected == 1)}>$admin_txt{'480'}</option>  <option value="1" ${isselected($timeselected == 1)}>$admin_txt{'480'}</option>
 <option value="5" ${isselected($timeselected == 5)}>$admin_txt{'484'}</option>  <option value="5" ${isselected($timeselected == 5)}>$admin_txt{'484'}</option>
 <option value="4" ${isselected($timeselected == 4)}>$admin_txt{'483'}</option>  <option value="4" ${isselected($timeselected == 4)}>$admin_txt{'483'}</option>
 <option value="8" ${isselected($timeselected == 8)}>$admin_txt{'483a'}</option>  <option value="8" ${isselected($timeselected == 8)}>$admin_txt{'483a'}</option>
 <option value="2" ${isselected($timeselected == 2)}>$admin_txt{'481'}</option>  <option value="2" ${isselected($timeselected == 2)}>$admin_txt{'481'}</option>
 <option value="3" ${isselected($timeselected == 3)}>$admin_txt{'482'}</option>  <option value="3" ${isselected($timeselected == 3)}>$admin_txt{'482'}</option>
 <option value="6" ${isselected($timeselected == 6)}>$admin_txt{'485'}</option>  <option value="6" ${isselected($timeselected == 6)}>$admin_txt{'485'}</option>
</select>~, </select>~,
           name => 'timeselected',            name => 'timeselected',
           validate => 'number',            validate => 'number',
       },        },
       {        {
           description => qq~<label for="usertimesign">$admin_txt{'371'}</label>~,             header => $settings_txt{'forumtime'}, 
           input_html => &timeformat($date,1,0,1) . $timeoffsetselect,         }, 
           ### Custom validated.         { 
       },             description => qq~$admin_txt{'371'}~, 
       {             input_html => timeformat($date,1,0,1), 
           description => qq~<label for="dstoffset">$admin_txt{'371a'}</label>~,         }, 
           input_html => qq~<input type="checkbox" name="dstoffset" id="dstoffset" value="1"${ischecked($dstoffset)}/>~,         { 
           name => 'dstoffset',             description => qq~<label for="enabletz">$admin_txt{'371a'}</label>~, 
           validate => 'boolean',             input_html => qq~<input type="checkbox" name="enabletz" id="enabletz" value="1"${ischecked($enabletz)} />~, 
       },             name => 'enabletz', 
       {             validate => 'boolean', 
           description => qq~<label for="dynamic_clock">$admin_txt{'371b'}</label>~,         }, 
           input_html => qq~<input type="checkbox" name="dynamic_clock" id="dynamic_clock" value="1"${ischecked($dynamic_clock)}/>~,         { 
           name => 'dynamic_clock',             description => qq~<label for="default_tz">$admin_txt{'371d'}</label>~, 
           validate => 'boolean',             input_html => $tz_select, 
       },        },
       {             ### Custom validated. 
           description => qq~<label for="timecorrection">$admin_txt{'371c'}</label>~,         { 
           input_html => qq~<input type="text" size="4" name="timecorrection" id="timecorrection" value="$timecorrection" />~,             description => qq~<label for="usertimesign">$admin_txt{'371f'}</label>~, 
           name => 'timecorrection',             input_html => $timeoffsetselect, 
           validate => 'fullnumber',             ### Custom validated. 
       },        },
       {        {
           header => $settings_txt{'showhide'},             description => $dstoffsetlabel, 
       },             input_html => $dstoffsetinput, 
       {             name => 'dstoffset', 
           description => qq~<label for="profilebutton">$admin_txt{'523'}</label>~,             validate => 'boolean', 
           input_html => qq~<input type="checkbox" name="profilebutton" id="profilebutton" value="1"${ischecked($profilebutton)} />~,         }, 
           name => 'profilebutton',         { 
           validate => 'boolean',             description => qq~<label for="dynamic_clock">$admin_txt{'371b'}</label>~, 
       },             input_html => qq~<input type="checkbox" name="dynamic_clock" id="dynamic_clock" value="1"${ischecked($dynamic_clock)}/>~, 
       {             name => 'dynamic_clock', 
           description => qq~<label for="usertools">$admin_txt{'526'}</label>~,             validate => 'boolean', 
           input_html => qq~<input type="checkbox" name="usertools" id="usertools" value="1"${ischecked($usertools)} />~,         }, 
           name => 'usertools',         { 
           validate => 'boolean',             description => qq~<label for="timecorrection">$admin_txt{'371c'}</label>~, 
       },             input_html => qq~<input type="text" size="4" name="timecorrection" id="timecorrection" value="$timecorrection" />~, 
       {             name => 'timecorrection', 
           description => qq~<label for="showlatestmember">$admin_txt{'382'}</label>~,             validate => 'fullnumber', 
           input_html => qq~<input type="checkbox" name="showlatestmember" id="showlatestmember" value="1"${ischecked($showlatestmember)} />~,         }, 
           name => 'showlatestmember',         { 
           validate => 'boolean',             header => $settings_txt{'showhide'}, 
       },        },
       {        {
           description => qq~<label for="Show_RecentBar">$admin_txt{'509'}</label>~,             description => qq~<label for="profilebutton">$admin_txt{'523'}</label>~, 
           input_html => qq~<input type="checkbox" name="Show_RecentBar" id="Show_RecentBar" value="1"${ischecked($Show_RecentBar)} />~,            input_html => qq~<input type="checkbox" name="profilebutton" id="profilebutton" value="1"${ischecked($profilebutton)} />~,
           name => 'Show_RecentBar',             name => 'profilebutton', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showpageall">$admin_txt{'showall'}</label>~,             description => qq~<label for="usertools">$admin_txt{'526'}</label>~, 
           input_html => qq~<input type="checkbox" name="showpageall" id="showpageall" value="1"${ischecked($showpageall)} />~,            input_html => qq~<input type="checkbox" name="usertools" id="usertools" value="1"${ischecked($usertools)} />~,
           name => 'showpageall',             name => 'usertools', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="ShowBDescrip">$admin_txt{'732'}</label>~,             description => qq~<label for="showlatestmember">$admin_txt{'382'}</label>~, 
           input_html => qq~<input type="checkbox" name="ShowBDescrip" id="ShowBDescrip" value="1"${ischecked($ShowBDescrip)} />~,            input_html => qq~<input type="checkbox" name="showlatestmember" id="showlatestmember" value="1"${ischecked($showlatestmember)} />~,
           name => 'ShowBDescrip',             name => 'showlatestmember', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showmodify">$admin_txt{'383'}</label>~,             description => qq~<label for="Show_RecentBar">$admin_txt{'509'}</label>~, 
           input_html => qq~<input type="checkbox" name="showmodify" id="showmodify" value="1"${ischecked($showmodify)} />~,             input_html => qq~ 
           name => 'showmodify',  <select name="Show_RecentBar" id="Show_RecentBar" size="1"> 
           validate => 'boolean',   <option value="0" ${isselected($Show_RecentBar == 0)}>$admin_txt{'509a'}</option> 
       },   <option value="1" ${isselected($Show_RecentBar == 1)}>$admin_txt{'509b'}</option> 
       {   <option value="2" ${isselected($Show_RecentBar == 2)}>$admin_txt{'509c'}</option> 
           description => qq~<label for="showuserpic">$admin_txt{'384'}</label>~,   <option value="3" ${isselected($Show_RecentBar == 3)}>$admin_txt{'509d'}</option> 
           input_html => qq~<input type="checkbox" name="showuserpic" id="showuserpic" value="1"${ischecked($showuserpic)} />~,  </select>~, 
           name => 'showuserpic',             name => 'Show_RecentBar', 
           validate => 'boolean',             validate => 'number', 
       },        },
       {        {
           description => qq~<label for="showusertext">$admin_txt{'385'}</label>~,             description => qq~<label for="showpageall">$admin_txt{'showall'}</label>~, 
           input_html => qq~<input type="checkbox" name="showusertext" id="showusertext" value="1"${ischecked($showusertext)} />~,            input_html => qq~<input type="checkbox" name="showpageall" id="showpageall" value="1"${ischecked($showpageall)} />~,
           name => 'showusertext',             name => 'showpageall', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showgenderimage">$admin_txt{'386'}</label>~,             description => qq~<label for="ShowBDescrip">$admin_txt{'732'}</label>~, 
           input_html => qq~<input type="checkbox" name="showgenderimage" id="showgenderimage" value="1"${ischecked($showgenderimage)} />~,            input_html => qq~<input type="checkbox" name="ShowBDescrip" id="ShowBDescrip" value="1"${ischecked($ShowBDescrip)} />~,
           name => 'showgenderimage',             name => 'ShowBDescrip', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showallgroups">$amv_txt{'12'}</label>~,             description => qq~<label for="showmodify">$admin_txt{'383'}</label>~, 
           input_html => qq~<input type="checkbox" name="showallgroups" id="showallgroups" value="1"${ischecked($showallgroups)} />~,            input_html => qq~<input type="checkbox" name="showmodify" id="showmodify" value="1"${ischecked($showmodify)} />~,
           name => 'showallgroups',             name => 'showmodify', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showtopicviewers">$admin_txt{'394'}<br />$admin_txt{'396'}</label>~,             description => qq~<label for="showuserpic">$admin_txt{'384'}</label>~, 
           input_html => qq~<input type="checkbox" name="showtopicviewers" id="showtopicviewers" value="1"${ischecked($showtopicviewers)} />~,            input_html => qq~<input type="checkbox" name="showuserpic" id="showuserpic" value="1"${ischecked($showuserpic)} />~,
           name => 'showtopicviewers',             name => 'showuserpic', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showtopicrepliers">$admin_txt{'395'}<br />$admin_txt{'396'}</label>~,             description => qq~<label for="showusertext">$admin_txt{'385'}</label>~, 
           input_html => qq~<input type="checkbox" name="showtopicrepliers" id="showtopicrepliers" value="1"${ischecked($showtopicrepliers)} />~,            input_html => qq~<input type="checkbox" name="showusertext" id="showusertext" value="1"${ischecked($showusertext)} />~,
           name => 'showtopicrepliers',             name => 'showusertext', 
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showimageinquote">$admin_txt{'imageinquote'}</label>~,             description => qq~<label for="showgenderimage">$admin_txt{'386'}</label>~, 
           input_html => qq~<input type="checkbox" name="showimageinquote" id="showimageinquote" value="1"${ischecked($showimageinquote)} />~,            input_html => qq~<input type="checkbox" name="showgenderimage" id="showgenderimage" value="1"${ischecked($showgenderimage)} />~,
           name => 'showimageinquote',             name => 'showgenderimage', 
           validate => 'boolean',            validate => 'boolean',
       },        },
   ],         { 
             description => qq~<label for="showzodiac">$admin_txt{'zodiac'}</label>~,
             input_html => qq~<input type="checkbox" name="showzodiac" id="showzodiac" value="1"${ischecked($showzodiac)} />~,
             name => 'showzodiac',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showuserage">$admin_txt{'show_user_age'}</label>~,
             input_html => qq~<input type="checkbox" name="showuserage" id="showuserage" value="1"${ischecked($showuserage)} />~,
             name => 'showuserage',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showregdate">$admin_txt{'show_reg_date'}</label>~,
             input_html => qq~<input type="checkbox" name="showregdate" id="showregdate" value="1"${ischecked($showregdate)} />~,
             name => 'showregdate',
             validate => 'boolean',
         },
         {
             description => qq~<label for="hide_signat_for_guests">$admin_txt{'409'}</label>~,
             input_html => qq~<input type="checkbox" name="hide_signat_for_guests" id="hide_signat_for_guests" value="1"${ischecked($hide_signat_for_guests)} />~,
             name => 'hide_signat_for_guests',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showallgroups">$amv_txt{'12'}</label>~,
             input_html => qq~<input type="checkbox" name="showallgroups" id="showallgroups" value="1"${ischecked($showallgroups)} />~,
             name => 'showallgroups',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showtopicviewers">$admin_txt{'394'}<br />$admin_txt{'396'}</label>~,
             input_html => qq~<input type="checkbox" name="showtopicviewers" id="showtopicviewers" value="1"${ischecked($showtopicviewers)} />~,
             name => 'showtopicviewers',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showtopicrepliers">$admin_txt{'395'}<br />$admin_txt{'396'}</label>~,
             input_html => qq~<input type="checkbox" name="showtopicrepliers" id="showtopicrepliers" value="1"${ischecked($showtopicrepliers)} />~,
             name => 'showtopicrepliers',
             validate => 'boolean',
         },
         {
             description => qq~<label for="showimageinquote">$admin_txt{'imageinquote'}</label>~,
             input_html => qq~<input type="checkbox" name="showimageinquote" id="showimageinquote" value="1"${ischecked($showimageinquote)} />~,
             name => 'showimageinquote',
             validate => 'boolean',
         },
         {
             description => qq~<label for="enabletopichover">$admin_txt{'topichover'}</label>~,
             input_html => qq~<input type="checkbox" name="enabletopichover" id="enabletopichover" value="1"${ischecked($enabletopichover)} />~,
             name => 'enabletopichover',
             validate => 'boolean',
         },
         {
             description => qq~<label for="addtab_on">$admin_txt{'addtab_on'}</label>~,
             input_html => qq~<input type="checkbox" name="addtab_on" id="addtab_on" value="1"${ischecked($addtab_on)} />~,
             name => 'addtab_on',
             validate => 'boolean',
         },
   
     ],
}, },
{ {
   name  => $settings_txt{'posting'},    name  => $settings_txt{'posting'},
   id    => 'posting',    id    => 'posting',
   items => [    items => [
       {        {
           header => $settings_txt{'posting'},            header => $settings_txt{'posting'},
       },        },
       {        {
           description => qq~<label for="enable_spell_check">$admin_txt{'377'}</label>~,            description => qq~<label for="enable_spell_check">$admin_txt{'377'}</label>~,
           input_html => $googiehtml,            input_html => $googiehtml,
           name => 'enable_spell_check',            name => 'enable_spell_check',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="enable_ubbc">$admin_txt{'378'}</label>~,            description => qq~<label for="enable_ubbc">$admin_txt{'378'}</label>~,
           input_html => qq~<input type="checkbox" name="enable_ubbc" id="enable_ubbc" value="1"${ischecked($enable_ubbc)} />~,            input_html => qq~<input type="checkbox" name="enable_ubbc" id="enable_ubbc" value="1"${ischecked($enable_ubbc)} />~,
           name => 'enable_ubbc',            name => 'enable_ubbc',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="showyabbcbutt">$admin_txt{'740'}</label>~,            description => qq~<label for="showyabbcbutt">$admin_txt{'740'}</label>~,
           input_html => qq~<input type="checkbox" name="showyabbcbutt" id="showyabbcbutt" value="1"${ischecked($showyabbcbutt)} />~,            input_html => qq~<input type="checkbox" name="showyabbcbutt" id="showyabbcbutt" value="1"${ischecked($showyabbcbutt)} />~,
           name => 'showyabbcbutt',            name => 'showyabbcbutt',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="parseflash">$admin_txt{'804'}</label>~,            description => qq~<label for="parseflash">$admin_txt{'804'}</label>~,
           input_html => qq~<input type="checkbox" name="parseflash" id="parseflash" value="1"${ischecked($parseflash)} />~,            input_html => qq~<input type="checkbox" name="parseflash" id="parseflash" value="1"${ischecked($parseflash)} />~,
           name => 'parseflash',            name => 'parseflash',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="nestedquotes">$admin_txt{'378a'}</label>~,            description => qq~<label for="nestedquotes">$admin_txt{'378a'}</label>~,
           input_html => qq~<input type="checkbox" name="nestedquotes" id="nestedquotes" value="1"${ischecked($nestedquotes)} />~,            input_html => qq~<input type="checkbox" name="nestedquotes" id="nestedquotes" value="1"${ischecked($nestedquotes)} />~,
           name => 'nestedquotes',            name => 'nestedquotes',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="autolinkurls">$admin_txt{'524'}</label>~,            description => qq~<label for="autolinkurls">$admin_txt{'524'}</label>~,
           input_html => qq~<input type="checkbox" name="autolinkurls" id="autolinkurls" value="1"${ischecked($autolinkurls)} />~,            input_html => qq~<input type="checkbox" name="autolinkurls" id="autolinkurls" value="1"${ischecked($autolinkurls)} />~,
           name => 'autolinkurls',            name => 'autolinkurls',
           validate => 'boolean',            validate => 'boolean',
       },        },
       {        {
           description => qq~<label for="checkallcaps">$admin_txt{'525'}</label>~,            description => qq~<label for="checkallcaps">$admin_txt{'525'}</label>~,
           input_html => qq~<input type="text" size="2" name="checkallcaps" id="checkallcaps" value="$checkallcaps" />~,            input_html => qq~<input type="text" size="2" name="checkallcaps" id="checkallcaps" value="$checkallcaps" />~,
           name => 'checkallcaps',            name => 'checkallcaps',
           validate => 'number,null',            validate => 'number,null',
       },        },
       {        {
           description => qq~<label for="set_subjectMaxLength">$admin_txt{'498a'}</label>~,            description => qq~<label for="set_subjectMaxLength">$admin_txt{'498a'}</label>~,
           input_html => qq~<input type="text" size="5" name="set_subjectMaxLength" id="set_subjectMaxLength" value="$set_subjectMaxLength" />~,            input_html => qq~<input type="text" size="5" name="set_subjectMaxLength" id="set_subjectMaxLength" value="$set_subjectMaxLength" />~,
           name => 'set_subjectMaxLength',            name => 'set_subjectMaxLength',
           validate => 'number',            validate => 'number',
       },        },
       {        {
           description => qq~<label for="MaxMessLen">$admin_txt{'498'}</label>~,            description => qq~<label for="MaxMessLen">$admin_txt{'498'}</label>~,
           input_html => qq~<input type="text" size="5" name="MaxMessLen" id="MaxMessLen" value="$MaxMessLen" />~,            input_html => qq~<input type="text" size="5" name="MaxMessLen" id="MaxMessLen" value="$MaxMessLen" />~,
           name => 'MaxMessLen',            name => 'MaxMessLen',
           validate => 'number',            validate => 'number',
       },        },
       {        {
           description => qq~<label for="fontsizemin">$admin_txt{'499'}</label>~,             description => 
           input_html => qq~<input type="text" size="5" name="fontsizemin" id="fontsizemin" value="$fontsizemin" />~,               qq~<label for="AdMaxMessLen">$admin_txt{'498b'}</label>~, 
           name => 'fontsizemin',             input_html =>qq~<input type="text" size="5" name="AdMaxMessLen" id="AdMaxMessLen" value="$AdMaxMessLen" />~, 
           validate => 'number',             name     => 'AdMaxMessLen', 
       },             validate => 'number', 
       {         }, 
           description => qq~<label for="fontsizemax">$admin_txt{'500'}</label>~,         { 
           input_html => qq~<input type="text" size="5" name="fontsizemax" id="fontsizemax" value="$fontsizemax" />~,             description => qq~<label for="fontsizemin">$admin_txt{'499'}</label>~, 
           name => 'fontsizemax',             input_html => qq~<input type="text" size="5" name="fontsizemin" id="fontsizemin" value="$fontsizemin" />~, 
           validate => 'number',             name => 'fontsizemin', 
       },             validate => 'number', 
       {         }, 
           description => qq~<label for="HotTopic">$admin_txt{'842'}</label>~,         { 
           input_html => qq~<input type="text" size="5" name="HotTopic" id="HotTopic" value="$HotTopic" />~,             description => qq~<label for="fontsizemax">$admin_txt{'500'}</label>~, 
           name => 'HotTopic',             input_html => qq~<input type="text" size="5" name="fontsizemax" id="fontsizemax" value="$fontsizemax" />~, 
           validate => 'number',             name => 'fontsizemax', 
       },             validate => 'number', 
       {         }, 
           description => qq~<label for="VeryHotTopic">$admin_txt{'843'}</label>~,         { 
           input_html => qq~<input type="text" size="5" name="VeryHotTopic" id="VeryHotTopic" value="$VeryHotTopic" />~,             description => qq~<label for="HotTopic">$admin_txt{'842'}</label>~, 
           name => 'VeryHotTopic',             input_html => qq~<input type="text" size="5" name="HotTopic" id="HotTopic" value="$HotTopic" />~, 
           validate => 'number',             name => 'HotTopic', 
       },             validate => 'number', 
       {         }, 
           description => qq~<label for="maxdisplay">$admin_txt{'374'}</label>~,         { 
           input_html => qq~<input type="text" name="maxdisplay" id="maxdisplay" size="5" value="$maxdisplay" />~,             description => qq~<label for="VeryHotTopic">$admin_txt{'843'}</label>~, 
           name => 'maxdisplay',             input_html => qq~<input type="text" size="5" name="VeryHotTopic" id="VeryHotTopic" value="$VeryHotTopic" />~, 
           validate => 'number',             name => 'VeryHotTopic', 
       },             validate => 'number', 
       {         }, 
           description => qq~<label for="maxmessagedisplay">$admin_txt{'375'}</label>~,         { 
           input_html => qq~<input type="text" name="maxmessagedisplay" id="maxmessagedisplay" size="5" value="$maxmessagedisplay" />~,             description => qq~<label for="maxdisplay">$admin_txt{'374'}</label>~, 
           name => 'maxmessagedisplay',             input_html => qq~<input type="text" name="maxdisplay" id="maxdisplay" size="5" value="$maxdisplay" />~, 
           validate => 'number',             name => 'maxdisplay', 
       },             validate => 'number', 
       {         }, 
           header => $timelocktxt{'01'},         { 
       },             description => qq~<label for="maxmessagedisplay">$admin_txt{'375'}</label>~, 
       {             input_html => qq~<input type="text" name="maxmessagedisplay" id="maxmessagedisplay" size="5" value="$maxmessagedisplay" />~, 
           description => qq~<label for="tlnomodflag">$timelocktxt{'03'}</label>~,             name => 'maxmessagedisplay', 
           input_html => qq~<input type="checkbox" name="tlnomodflag" id="tlnomodflag" value="1"${ischecked($tlnomodflag)} />~,             validate => 'number', 
           name => 'tlnomodflag',         }, 
           validate => 'boolean',         { 
       },             description => qq~<label for="posttools">$admin_txt{'527'}</label>~, 
       {             input_html => qq~<input type="checkbox" name="posttools" id="posttools" value="1"${ischecked($posttools)} />~, 
           description => qq~<label for="tlnomodtime">$timelocktxt{'04'}</label>~,             name => 'posttools', 
           input_html => qq~<input type="text" size="5" name="tlnomodtime" id="tlnomodtime" value="$tlnomodtime" />~,             validate => 'boolean', 
           name => 'tlnomodtime',         }, 
           validate => 'number',         { 
           depends_on => ['tlnomodflag'],             description => qq~<label for="threadtools">$admin_txt{'528'}</label>~, 
       },             input_html => qq~<input type="checkbox" name="threadtools" id="threadtools" value="1"${ischecked($threadtools)} />~, 
       {             name => 'threadtools', 
           description => qq~<label for="tlnodelflag">$timelocktxt{'07'}</label>~,             validate => 'boolean', 
           input_html => qq~<input type="checkbox" name="tlnodelflag" id="tlnodelflag" value="1"${ischecked($tlnodelflag)} />~,         }, 
           name => 'tlnodelflag',         { 
           validate => 'boolean',             description => qq~<label for="user_reason">$admin_txt{'user_reason'}</label>~, 
       },             input_html => qq~<input type="checkbox" name="user_reason" id="user_reason" value="1"${ischecked($user_reason)} />~, 
       {             name => 'user_reason', 
           description => qq~<label for="tlnodeltime">$timelocktxt{'08'}</label>~,             validate => 'boolean', 
           input_html => qq~<input type="text" size="5" name="tlnodeltime" id="tlnodeltime" value="$tlnodeltime" />~,         }, 
           name => 'tlnodeltime',         { 
           validate => 'number',             header => $timelocktxt{'01'}, 
           depends_on => ['tlnodelflag'],         }, 
       },         { 
       {             description => qq~<label for="tlnomodflag">$timelocktxt{'03'}</label>~, 
           description => qq~<label for="tllastmodflag">$timelocktxt{'05'}</label>~,             input_html => qq~<input type="checkbox" name="tlnomodflag" id="tlnomodflag" value="1"${ischecked($tlnomodflag)} />~, 
           input_html => qq~<input type="checkbox" name="tllastmodflag" id="tllastmodflag" value="1"${ischecked($tllastmodflag)} />~,             name => 'tlnomodflag', 
           name => 'tllastmodflag',             validate => 'boolean', 
           validate => 'boolean',         }, 
       },         { 
       {             description => qq~<label for="tlnomodtime">$timelocktxt{'04'}</label>~, 
           description => qq~<label for="tllastmodtime">$timelocktxt{'06'}</label>~,             input_html => qq~<input type="text" size="5" name="tlnomodtime" id="tlnomodtime" value="$tlnomodtime" />~, 
           input_html => qq~<input type="text" size="5" name="tllastmodtime" id="tllastmodtime" value="$tllastmodtime" />~,             name => 'tlnomodtime', 
           name => 'tllastmodtime',             validate => 'number', 
           validate => 'number',             depends_on => ['tlnomodflag'], 
       },        },
       {        {
           header => $cutts{'8'},             description => qq~<label for="tlnodelflag">$timelocktxt{'07'}</label>~, 
       },             input_html => qq~<input type="checkbox" name="tlnodelflag" id="tlnodelflag" value="1"${ischecked($tlnodelflag)} />~, 
       {             name => 'tlnodelflag', 
           description => qq~<label for="ttsreverse">$cutts{'9'}</label>~,             validate => 'boolean', 
           input_html => qq~<input type="checkbox" name="ttsreverse" id="ttsreverse" value="1"${ischecked($ttsreverse)} />~,         }, 
           name => 'ttsreverse',