my $count=@data;
my @results;
my $cnt=0;
+ my $sth;
# used for doing a plain-old sys-pref search
- if ($type eq 'all' ){
- my $sth=$dbh->prepare("SELECT * FROM systempreferences
- WHERE variable LIKE ? OR explanation LIKE ?
- ORDER BY VARIABLE");
- $sth->execute("%$searchstring%", "%$searchstring%");
- while (my $data=$sth->fetchrow_hashref){
- $data->{value} =~ s/</</g;
- $data->{value} =~ s/>/>/g;
- $data->{value}=substr($data->{value},0,60)."..." if length($data->{value}) >60;
- push(@results,$data);
- $cnt++;
- }
- $sth->finish;
-
- } elsif ($type){
+ if ($type && $type ne 'all') {
foreach my $syspref (sort { lc $a cmp lc $b } keys %tabsysprefs){
if ($tabsysprefs{$syspref} eq $type){
my $sth=$dbh->prepare("Select variable,value,explanation,type,options from systempreferences where (variable like ?) order by variable");
$sth->execute($syspref);
while (my $data=$sth->fetchrow_hashref){
- $data->{value} =~ s/</</g;
- $data->{value} =~ s/>/>/g;
- $data->{value}=substr($data->{value},0,60)."..." if length($data->{value}) >60;
+ $data->{shortvalue} = $data->{value};
+ $data->{shortvalue} = substr($data->{value},0,60)."..." if length($data->{value}) >60;
push(@results,$data);
$cnt++;
}
}
}
} else {
- my $strsth ="Select variable,value,explanation,type,options from systempreferences where variable not in (";
- foreach my $syspref (keys %tabsysprefs){
- $strsth .= $dbh->quote($syspref).",";
+ my $sth;
+
+ if ($type eq 'all' ){
+ $sth=$dbh->prepare("
+ SELECT *
+ FROM systempreferences
+ WHERE variable LIKE ? OR explanation LIKE ?
+ ORDER BY VARIABLE");
+ $sth->execute("%$searchstring%", "%$searchstring%");
+ } else {
+ my $strsth ="Select variable,value,explanation,type,options from systempreferences where variable not in (";
+ foreach my $syspref (keys %tabsysprefs){
+ $strsth .= $dbh->quote($syspref).",";
+ }
+ $strsth =~ s/,$/) /;
+ $strsth .= " order by variable";
+ $sth=$dbh->prepare($strsth);
+ $sth->execute();
}
- $strsth =~ s/,$/) /;
- $strsth .= " order by variable";
- my $sth=$dbh->prepare($strsth);
- $sth->execute();
- while (my $data=$sth->fetchrow_hashref){
- $data->{value}=substr($data->{value},0,60);
- push(@results,$data);
- $cnt++;
+
+ while (my $data=$sth->fetchrow_hashref){
+ $data->{shortvalue} = $data->{value};
+ $data->{shortvalue} = substr($data->{value},0,60)."..." if length($data->{value}) >60;
+ push(@results,$data);
+ $cnt++;
+ }
+
+ $sth->finish;
+ }
+ return ($cnt,\@results);
+}
+
+sub GetPrefParams {
+ my $data = shift;
+ my $params = $data;
+ my @options;
+
+ if (defined $data->{'options'}) {
+ foreach my $option (split(/\|/, $data->{'options'})) {
+ my $selected='0';
+ $option eq $data->{'value'} and $selected=1;
+ push @options, { option => $option, selected => $selected };
}
- $sth->finish;
}
- return ($cnt,\@results);
+
+ $params->{'prefoptions'} = $data->{'options'};
+
+ if ($data->{'type'} eq 'Choice') {
+ $params->{'type-choice'} = 1;
+ } elsif ($data->{'type'} eq 'YesNo') {
+ $params->{'type-yesno'} = 1;
+ $data->{'value'}=C4::Context->boolean_preference($data->{'variable'});
+ if ($data->{'value'} eq '1') {
+ $params->{'value-yes'} = 1;
+ } else {
+ $params->{'value-no'} = 1;
+ }
+ } elsif ($data->{'type'} eq 'Integer' || $data->{'type'} eq 'Float') {
+ $params->{'type-free'} = 1;
+ $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 10;
+ } elsif ($data->{'type'} eq 'Textarea') {
+ $params->{'type-textarea'} = 1;
+ $data->{options} =~ /(.*)\|(.*)/;
+ $params->{'cols'} = $1;
+ $params->{'rows'} = $2;
+ } elsif ($data->{'type'} eq 'Themes') {
+ $params->{'type-choice'} = 1;
+ my $type='';
+ ($data->{'variable'}=~m#opac#i) ? ($type='opac') : ($type='intranet');
+ @options=();
+ my $currently_selected_themes;
+ my $counter=0;
+ foreach my $theme (split /\s+/, $data->{'value'}) {
+ push @options, { option => $theme, counter => $counter };
+ $currently_selected_themes->{$theme}=1;
+ $counter++;
+ }
+ foreach my $theme (getallthemes($type)) {
+ my $selected='0';
+ next if $currently_selected_themes->{$theme};
+ push @options, { option => $theme, counter => $counter };
+ $counter++;
+ }
+ } elsif ($data->{'type'} eq 'ClassSources') {
+ $params->{'type-choice'} = 1;
+ my $type='';
+ @options=();
+ my $sources = GetClassSources();
+ my $counter=0;
+ foreach my $cn_source (sort keys %$sources) {
+ if ($cn_source eq $data->{'value'}) {
+ push @options, { option => $cn_source, counter => $counter, selected => 1 };
+ } else {
+ push @options, { option => $cn_source, counter => $counter };
+ }
+ $counter++;
+ }
+ } elsif ($data->{'type'} eq 'Languages') {
+ my $currently_selected_languages;
+ foreach my $language (split /\s+/, $data->{'value'}) {
+ $currently_selected_languages->{$language}=1;
+ }
+ # current language
+ my $lang = $params->{'lang'};
+ my $theme;
+ my $interface;
+ if ($data->{'variable'} =~ /opac/) {
+ # this is the OPAC
+ $interface = 'opac';
+ $theme = C4::Context->preference('opacthemes');
+ }
+ else {
+ # this is the staff client
+ $interface = 'intranet';
+ $theme = C4::Context->preference('template');
+ }
+ my $languages_loop = getTranslatedLanguages($interface,$theme,$lang,$currently_selected_languages);
+
+ $params->{'languages_loop'} = $languages_loop;
+ $params->{'type-langselector'} = 1;
+ } else {
+ $params->{'type-free'} = 1;
+ $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 30;
+ }
+
+ if ( $params->{'type-choice'} || $params->{'type-free'} || $params->{'type-yesno'} ) {
+ $params->{'oneline'} = 1;
+ }
+
+ $params->{'preftype'} = $data->{'type'};
+ $params->{'options'} = \@options;
+
+ return $params;
}
my $input = new CGI;
my $searchfield = $input->param('searchfield');
my $Tvalue = $input->param('Tvalue');
-my $offset = $input->param('offset');
+my $offset = $input->param('offset') || 0;
my $script_name="/cgi-bin/koha/admin/systempreferences.pl";
my ($template, $borrowernumber, $cookie)
my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?");
$sth->execute($value, $input->param('explanation'), $input->param('variable'), $input->param('preftype'), $input->param('prefoptions'));
$sth->finish;
- warn "logaction !! mod ";
logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value );
}
} else {
my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation) values (?,?,?,?,?)");
$sth->execute($input->param('variable'), $input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
$sth->finish;
- warn "logaction !! add ";
logaction('SYSTEMPREFERENCE','ADD',undef, $input->param('variable') . " | " . $input->param('value') );
}
}
$template->param(return_tab => $tabsysprefs{$searchfield});
}
- my @options;
- foreach my $option (split(/\|/, $data->{'options'})) {
- my $selected='0';
- $option eq $data->{'value'} and $selected=1;
- push @options, { option => $option, selected => $selected };
- }
- if ($data->{'type'} eq 'Choice') {
- $template->param('type-choice' => 1);
- } elsif ($data->{'type'} eq 'YesNo') {
- $template->param('type-yesno' => 1);
- $data->{'value'}=C4::Context->boolean_preference($data->{'variable'});
- ($data->{'value'} eq '1') ? ($template->param('value-yes'=>1)) : ($template->param('value-no'=>1));
- } elsif ($data->{'type'} eq 'Integer') {
- $template->param('type-free' => 1);
- $template->param('fieldlength' => $data->{'options'});
- } elsif ($data->{'type'} eq 'Textarea') {
- $template->param('type-textarea' => 1);
- $data->{options} =~ /(.*)\|(.*)/;
- $template->param('cols' => $1, 'rows' => $2);;
- } elsif ($data->{'type'} eq 'Float') {
- $template->param('type-free' => 1);
- $template->param('fieldlength' => $data->{'options'});
- } elsif ($data->{'type'} eq 'Themes') {
- $template->param('type-choice' => 1);
- my $type='';
- ($data->{'variable'}=~m#opac#i) ? ($type='opac') : ($type='intranet');
- @options=();
- my $currently_selected_themes;
- my $counter=0;
- foreach my $theme (split /\s+/, $data->{'value'}) {
- push @options, { option => $theme, counter => $counter };
- $currently_selected_themes->{$theme}=1;
- $counter++;
- }
- foreach my $theme (getallthemes($type)) {
- my $selected='0';
- next if $currently_selected_themes->{$theme};
- push @options, { option => $theme, counter => $counter };
- $counter++;
- }
- } elsif ($data->{'type'} eq 'ClassSources') {
- $template->param('type-choice' => 1);
- my $type='';
- @options=();
- my $sources = GetClassSources();
- my $counter=0;
- foreach my $cn_source (sort keys %$sources) {
- if ($cn_source eq $data->{'value'}) {
- push @options, { option => $cn_source, counter => $counter, selected => 1 };
- } else {
- push @options, { option => $cn_source, counter => $counter };
- }
- $counter++;
- }
- } elsif ($data->{'type'} eq 'Languages') {
- my $currently_selected_languages;
- foreach my $language (split /\s+/, $data->{'value'}) {
- $currently_selected_languages->{$language}=1;
- }
- # current language
- my $lang = $template->param('lang');
- my $theme;
- my $interface;
- if ($data->{'variable'} =~ /opac/) {
- # this is the OPAC
- $interface = 'opac';
- $theme = C4::Context->preference('opacthemes');
- }
- else {
- # this is the staff client
- $interface = 'intranet';
- $theme = C4::Context->preference('template');
- }
- my $languages_loop = getTranslatedLanguages($interface,$theme,$lang,$currently_selected_languages);
+ $data->{'lang'} = $template->param('lang');
- $template->param('languages_loop' => $languages_loop);
- $template->param('type-langselector' => 1);
- } else {
- $template->param('type-free' => 1);
- $template->param('fieldlength' => $data->{'options'}>0?$data->{'options'}:60);
- }
- $template->param(explanation => $data->{'explanation'},
- value => $data->{'value'},
- type => $data->{'type'},
- options => \@options,
- preftype => $data->{'type'},
- prefoptions => $data->{'options'},
- searchfield => $searchfield);
+ $template->param( GetPrefParams( $data ) );
+
+ $template->param( searchfield => $searchfield );
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
my $value;
# handle multiple value strings (separated by ',')
my $params = $input->Vars;
- my @values = split("\0",$params->{'value'}) if $params->{'value'};
+ my @values = ();
+ @values = split("\0",$params->{'value'}) if $params->{'value'};
for my $vl (@values) {
$value .= "$vl,";
}
} else {
$toggle=0;
}
- my %row_data; # get a fresh hash for the row data
- $row_data{variable} = $results->[$i]{'variable'};
- $row_data{value} = $results->[$i]{'value'};
- $row_data{yes} = 1 if ($results->[$i]{'value'} == 1);
- $row_data{yesno} = 1 if ($results->[$i]{'type'} eq 'YesNo');
- $row_data{explanation} = $results->[$i]{'explanation'};
- $row_data{toggle} = $toggle;
- $row_data{edit} = "$script_name?op=add_form&searchfield=".$results->[$i]{'variable'};
- $row_data{delete} = "$script_name?op=delete_confirm&searchfield=".$results->[$i]{'variable'};
- push(@loop_data, \%row_data);
+ my $row_data = $results->[$i];
+ $row_data->{'lang'} = $template->param('lang');
+ $row_data = GetPrefParams( $row_data ); # get a fresh hash for the row data
+ $row_data->{toggle} = $toggle;
+ $row_data->{edit} = "$script_name?op=add_form&searchfield=".$results->[$i]{'variable'};
+ $row_data->{delete} = "$script_name?op=delete_confirm&searchfield=".$results->[$i]{'variable'};
+ push(@loop_data, $row_data);
}
$tab=($tab?$tab:"Local Use");
$template->param(loop => \@loop_data, $tab => 1);
alert(alertString2);
}
}
+ $( function() {
+ $( '#sysprefst .expand-textarea' ).show().click( function () {
+ $( this ).hide().nextAll( 'textarea, input[type=submit]' ).show( 'slow' );
+
+ return false;
+ } ).nextAll( 'textarea, input[type=submit]' ).hide();
+ } );
//]]>
</script>
</head>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="type-langselector" -->
<!-- TMPL_IF NAME="languages_loop" -->
- <table>
+ <table>
<!-- TMPL_LOOP NAME="languages_loop" -->
- <tr><td>
+ <tr><td>
<!-- TMPL_IF NAME="plural" -->
<!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="rfc4646_subtag" --><!-- /TMPL_IF -->
<!-- TMPL_LOOP NAME="sublanguages_loop" --><table><tr><td>
<input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
- </td></tr>
+ </td></tr>
<!-- /TMPL_LOOP -->
- </table>
+ </table>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="type-yesno" -->
<!-- TMPL_IF NAME="value-yes" -->
- <input type="radio" name="value" id="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value" value="1" /><!-- /TMPL_IF --> <label for="value" class="yesno">ON</label>
- <!-- TMPL_IF NAME="value-no" -->
- <input type="radio" name="value" id="value-no" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value-no" value="0" /><!-- /TMPL_IF --> <label for="value-no" class="yesno">OFF</label><!-- /TMPL_IF -->
+ <input type="radio" name="value" id="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value" value="1" />
+ <!-- /TMPL_IF -->
+ <label for="value" class="yesno">ON</label>
+ <!-- TMPL_IF NAME="value-no" -->
+ <input type="radio" name="value" id="value-no" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value-no" value="0" />
+ <!-- /TMPL_IF -->
+ <label for="value-no" class="yesno">OFF</label>
+ <!-- /TMPL_IF -->
</li>
</ol></fieldset>
<fieldset class="action"><input type="submit" value="Save" />
<!-- TMPL_VAR NAME="Tvalue" -->
</td></tr></table>
<form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post">
- <input type="hidden" name="op" value="delete_confirmed" />
- <input type="hidden" name="searchfield" value="<!-- TMPL_VAR NAME="searchfield" -->" />
- <input type="hidden" name="Tvalue" value="<!-- TMPL_VAR NAME="Tvalue" -->" />
+ <input type="hidden" name="op" value="delete_confirmed" />
+ <input type="hidden" name="searchfield" value="<!-- TMPL_VAR NAME="searchfield" -->" />
+ <input type="hidden" name="Tvalue" value="<!-- TMPL_VAR NAME="Tvalue" -->" />
<input type="submit" value="Yes, Delete" /></form>
- <form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" value="No, Do not Delete" /></form>
+ <form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" value="No, Do not Delete" /></form>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="else" -->
<div id="toolbar">
- <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+ <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript">
//<![CDATA[
// prepare DOM for YUI Toolbar
$(document).ready(function() {
yuiToolbar();
- <!-- TMPL_IF NAME="loop" -->$("#sysprefst").tablesorter({
- sortList: [[0,0]],
- headers: { 1: {sorter:false},2: { sorter: false },3: { sorter: false },4: { sorter: false }}
- });<!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="loop" -->$("#sysprefst").tablesorter({
+ sortList: [[0,0]],
+ headers: { 1: {sorter:false},2: { sorter: false },3: { sorter: false },4: { sorter: false }}
+ });<!-- /TMPL_IF -->
});
// YUI Toolbar Functions
function yuiToolbar() {
<!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF -->
<td><strong><a href="<!-- TMPL_VAR NAME="edit" -->"><!-- TMPL_VAR NAME="variable" --></a></strong></td><td> <!-- TMPL_VAR NAME="explanation" ESCAPE="HTML" --></td>
- <td><!-- TMPL_IF NAME="yesno" -->
- <!-- TMPL_IF NAME="yes" -->ON<!-- TMPL_ELSE -->OFF<!-- /TMPL_IF -->
- <!-- TMPL_ELSE --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF --></td>
+ <!-- TMPL_IF NAME="oneline" -->
+ <td class="single-line">
+ <!-- TMPL_ELSE -->
+ <td>
+ <!-- /TMPL_IF -->
+ <form action="/cgi-bin/koha/admin/systempreferences.pl" method="post">
+
+ <!-- TMPL_IF NAME="type-free" -->
+ <input type="text" name="value" size="<!-- TMPL_VAR NAME="fieldlength" -->" value="<!-- TMPL_VAR NAME="value" escape="HTML" -->" />
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="type-textarea" -->
+ <a class="expand-textarea" style="display: none" href="#">Click to Edit</a>
+ <textarea name="value" rows="<!--TMPL_VAR NAME="rows" -->" cols="<!-- TMPL_VAR NAME="cols" -->"><!-- TMPL_VAR NAME="value" escape="HTML" --></textarea>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="type-choice" -->
+ <select name="value">
+ <!-- TMPL_LOOP NAME="options" -->
+ <!-- TMPL_IF NAME="selected" -->
+ <option value="<!-- TMPL_VAR NAME="option" -->" selected="selected">
+ <!-- TMPL_ELSE -->
+ <option value="<!-- TMPL_VAR NAME="option" -->">
+ <!-- /TMPL_IF --><!-- TMPL_VAR NAME="option" --></option>
+ <!-- /TMPL_LOOP -->
+ </select>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="type-langselector" -->
+ <!-- TMPL_IF NAME="languages_loop" -->
+ <table>
+ <!-- TMPL_LOOP NAME="languages_loop" -->
+ <tr><td>
+ <!-- TMPL_IF NAME="plural" -->
+ <!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="rfc4646_subtag" --><!-- /TMPL_IF -->
+ <!-- TMPL_LOOP NAME="sublanguages_loop" --><table><tr><td>
+ <!-- TMPL_IF NAME="sublanguage_current" -->
+ <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" --> <!-- TMPL_VAR NAME="script_description" --> <!-- TMPL_VAR NAME="region_description" --> <!-- TMPL_VAR NAME="variant_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->)
+ <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label>
+
+ <!-- TMPL_ELSE -->
+ <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" --> <!-- TMPL_VAR NAME="script_description" --> <!-- TMPL_VAR NAME="region_description" --> <!-- TMPL_VAR NAME="variant_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->)
+ <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label>
+ <!-- /TMPL_IF --></td></tr></table>
+ <!-- /TMPL_LOOP -->
+
+ <!-- TMPL_ELSE -->
+ <!-- TMPL_IF NAME="current" -->
+ <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->)
+ <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label>
+ <!-- TMPL_ELSE -->
+ <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->)
+ <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label>
+ <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+ </td></tr>
+ <!-- /TMPL_LOOP -->
+ </table>
+ <!-- /TMPL_IF -->
+
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_IF NAME="type-yesno" -->
+ <!-- TMPL_IF NAME="value-yes" -->
+ <input type="radio" name="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" value="1" />
+ <!-- /TMPL_IF -->
+ <label for="value" class="yesno">ON</label>
+ <!-- TMPL_IF NAME="value-no" -->
+ <input type="radio" name="value" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" value="0" />
+ <!-- /TMPL_IF -->
+ <label for="value-no" class="yesno">OFF</label>
+ <!-- /TMPL_IF -->
+ <input type="hidden" name="op" value="add_validate" />
+ <input type="hidden" name="variable" value="<!-- TMPL_VAR NAME="variable" -->" />
+ <input type="hidden" name="prefoptions" value="<!-- TMPL_VAR NAME="prefoptions" escape="HTML" -->" />
+ <input type="hidden" name="preftype" value="<!-- TMPL_VAR NAME="type" -->" />
+ <input type="hidden" name="explanation" value="<!-- TMPL_VAR NAME="explanation" escape="HTML" -->" />
+ <input type="submit" value="Save" />
+ </form>
+ </td>
<td><a href="<!-- TMPL_VAR NAME="edit" -->">Edit </a></td>
<td><a href="<!-- TMPL_VAR NAME="delete" -->">Delete</a></td>