Compare commits

...

6 Commits

Author SHA1 Message Date
d720304f1a delete test file 2025-09-16 18:55:08 +02:00
371a05379f Test for sync 2025-09-16 18:52:26 +02:00
7cb9591eb8 * Mon Sep 15 2025 Brian Read <brianr@koozali.org> 11.0.0-116.sme
- Fix other buttons in lists for elinks [SME: 13113]
2025-09-15 11:11:20 +01:00
a0524a7484 * Sat Sep 13 2025 Brian Read <brianr@koozali.org> 11.0.0-115.sme
- Fix login and logout and user table buttons so that they are valid html and work for elinks [SME: 13113]
2025-09-14 11:31:59 +01:00
687e763684 * Sat Sep 13 2025 Brian Read <brianr@koozali.org> 11.0.0-114.sme
- edit intial screen to suppress reconfig message unless admin logged in  [SME: 13112]
2025-09-13 15:53:19 +01:00
74c9beb587 * Mon Aug 11 2025 Brian Read <brianr@koozali.org> 11.0.0-113.sme
- Re-factor all template files to make them nicely formatted  [SME: 13103]
2025-08-12 06:20:31 +01:00
114 changed files with 5353 additions and 5276 deletions

View File

@@ -55,14 +55,14 @@
%= l 'bac_local removable disk'
</span><span class=data>
% param 'BackupwkFolder' => $bac_datas->{mount} unless param 'BackupwkFolder';
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => 'input'
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype} ), class => 'input';
</span><br>
% } elsif ( $bac_datas->{vfstype} eq 'mnt') {
<span class=label>
%= l 'bac_Mounted disk'
</span><span class=data>
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype}), class => 'input'
%= select_field 'BackupwkFolder' => $c->get_BackupwkDest_options( $bac_datas->{vfstype} ), class => 'input';
</span><br>
% } else {
<span class=label>

View File

@@ -28,7 +28,7 @@
% if ($bac_datas->{status} ne 'enabled') {
%= $c->render_to_string( inline => ( l 'bac_CONFIGURATION_TO_BE_DONE' ) )
% } else {
%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_WORKSTN_DESC') . ' ' . $c->get_shared_folder_to_verify())
%= $c->render_to_string( inline => ( l 'bac_RESTORE_CONF_FROM_WORKSTN_DESC' ) . ' ' . $c->get_shared_folder_to_verify() );
% }
<br><br><span class=label>

View File

@@ -1,8 +1,8 @@
% layout 'default', title => "Sme server 2 - restore";
%= stylesheet '/css/backup.css'
% content_for 'module' => begin
<div id='module' class='module back_workstn_restore1-panel'>
%= javascript '/js/backup_workstation_restore.js'
% if (config->{debug} == 1) {
<p>
%= dumper $c->current_route
@@ -23,9 +23,32 @@
<h2>
%= l 'bac_WORKSTN_RESTORE'
</h2>
<fieldset>
<div id="status-container">
<div><strong>Stage:</strong> <span id="stage">-</span></div>
<div id="progress-bar" aria-label="progress bar" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div id="progress-bar-inner">0%</div>
</div>
<div id="message-log-container">
<h3>Console Output:</h3>
<div id="message-log"></div>
</div>
<div id="completion-status"></div>
</div>
</fieldset>
<!--
<p>
<fieldset>
%= $c->render_to_string( inline => $bac_datas->{restore_log} )
</p><p>
</fieldset>
</p>
-->
<p>
%= l 'bac_YOU_MUST_REBOOT'
</p>
%= hidden_field 'Function' => $bac_datas->{'function'}

View File

@@ -22,7 +22,7 @@
<h2><%= l 'bac_WORKSTN_SEL_RESTORE' %></h2>
%= $c->render_to_string(inline => (l 'bac_WORKSTN_SEL_REST_DESC') . ' ' . $c->get_shared_folder_to_verify())
%= $c->render_to_string( inline => ( l 'bac_WORKSTN_SEL_REST_DESC' ) . ' ' . $c->get_shared_folder_to_verify() );
<h3><%= l 'bac_BACKUP_CHOICE' %></h3>

View File

@@ -28,7 +28,7 @@
<br><span class=label>
%= l 'bac_SELECT_FILES_TO_RESTORE'
</span><span class=data>
%= select_field 'Restorefiles' => $c->get_Restorefiles_options($bac_datas->{'filterexp'},$bac_datas->{'backupset'}), class => 'input', multiple => 1, size => 15
%= select_field 'Restorefiles' => $c->get_Restorefiles_options( $bac_datas->{'filterexp'}, $bac_datas->{'backupset'} ), class => 'input', multiple => 1, size => 15;
</span><br>
<br><span class=label>

View File

@@ -26,7 +26,7 @@
% if ($bac_datas->{status} ne 'enabled') {
%= $c->render_to_string( inline => ( l 'bac_CONFIGURATION_TO_BE_DONE' ) )
% } else {
%= $c->render_to_string(inline => (l 'bac_VERIFY_WORKSTN_BACKUP_DESC') . ' ' . $c->get_shared_folder_to_verify())
%= $c->render_to_string( inline => ( l 'bac_VERIFY_WORKSTN_BACKUP_DESC' ) . ' ' . $c->get_shared_folder_to_verify() );
% }
<br><br><span class=label>
%= l 'bac_SELECT_BACKUP_FILE'

View File

@@ -1,11 +1,14 @@
<%
my $backups = esmith::BackupHistoryDB->open; # no UTF8
my $now = time();
my $backup_rec = $backups->new_record($now, {
type => 'backup_record', BackupType => 'desktop',
my $backup_rec = $backups->new_record(
$now,
{
type => 'backup_record',
BackupType => 'desktop',
StartEpochTime => $now,
});
}
);
# Dump the current mysql tables so that they are part of the image.
# The events handle cases where mysqld is not enabled, and/or is not running.
@@ -48,7 +51,8 @@
$c->write_chunk( $buffer, $cb );
};
$c->$cb;
} else {
}
else {
$c->render( text => "Failed to execute command: $!", status => 500 );
}

View File

@@ -1,7 +1,6 @@
% layout 'default', title => "Sme server 2 - backup";
% content_for 'module' => begin
<div id='module' class='module backup-panel'>
% if (config->{debug} == 1) {
<p>

View File

@@ -19,7 +19,7 @@
%= l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD'
</span><span class=data>
% param 'FilesystemScan' => $clm_datas->{FilesystemScan} unless param 'FilesystemScan';
%= select_field 'FilesystemScan' => [[ (l 'clm_DAILY') => 'daily'], [ (l 'clm_NEVER') => 'disabled'], [ (l 'clm_WEEKLY') => 'weekly']], class => 'input'
%= select_field 'FilesystemScan' => [ [ ( l 'clm_DAILY' ) => 'daily' ], [ ( l 'clm_NEVER' ) => 'disabled' ], [ ( l 'clm_WEEKLY' ) => 'weekly' ] ], class => 'input';
</span>
</p>
<p>
@@ -27,7 +27,7 @@
%= l 'clm_LABEL_QUARANTINE'
</span><span class=data>
% param 'Quarantine' => $clm_datas->{Quarantine} unless param 'Quarantine';
%= select_field 'Quarantine' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
%= select_field 'Quarantine' => [ [ ( l 'ENABLED' ) => 'enabled' ], [ ( l 'DISABLED' ) => 'disabled' ] ], class => 'input';
<br>
</span>
</p>

View File

@@ -27,12 +27,12 @@
<% my $btn = l('SAVE'); %>
<br /><br />
<span>
%= label_for 'real-time-clock' => $c->l('dat_The_time_is_currently'), class => 'datetime-clock-label'
%= label_for 'real-time-clock' => $c->l('dat_The_time_is_currently'), class => 'datetime-clock-label';
</span><span class=data2>
<!--
<div id="real-time-clock"></div>
-->
%= text_field 'clock', id => 'real-time-clock', readonly => 'readonly', class => 'datetime-clock' , value => $dat_data->{currentdatetime}
%= text_field 'clock', id => 'real-time-clock', readonly => 'readonly', class => 'datetime-clock', value => $dat_data->{currentdatetime};
</span>
% if ($dat_data->{ntpstatus} eq 'disabled') {
<div class='datetime-set-ntp'>
@@ -74,7 +74,7 @@
<div class=datetime-fields-col>
% my $server_check = '^([a-zA-Z0-9][a-zA-Z0-9\.\-]{0,253}[a-zA-Z0-9]|(\d{1,3}\.){3}\d{1,3})$';
% param 'ntpserver' => $dat_data->{ntpserver} unless param 'ntpserver';
%= text_field ntpserver => placeholder => 'e.g. smeserver.pool.ntp.org', id => 'ntpserver', pattern => $server_check, title => 'Enter a valid hostname or IPv4 address', required => 'required'
%= text_field ntpserver => placeholder => 'e.g. smeserver.pool.ntp.org', id => 'ntpserver', pattern => $server_check, title => 'Enter a valid hostname or IPv4 address', required => 'required';
<button type="button" id="test-ntp-btn" class="btn btn-primary ml-2">Test Server</button>
<span id="ntp-test-result" class="ntp-test-result ml-2"></span>
</div>
@@ -106,7 +106,7 @@
%= label_for day => $c->l('Day:')
% param 'day' => ( $dat_data->{day} ) unless param 'day';
%= text_field day => id => 'day', size => 2, maxlength => 2, placeholder => 'DD', pattern => '^(0[1-9]|[12][0-9]|3[01])$', title => 'Day (01-31)', required => 'required', inputmode => 'numeric', autocomplete => 'off'
%= text_field day => id => 'day', size => 2, maxlength => 2, placeholder => 'DD', pattern => '^(0[1-9]|[12][0-9]|3[01])$', title => 'Day (01-31)', required => 'required', inputmode => 'numeric', autocomplete => 'off';
</fieldset>
<fieldset>
@@ -118,12 +118,12 @@
%= label_for minute => $c->l('Minute:')
% param 'minute' => ( $dat_data->{minute} ) unless param 'minute';
%= text_field minute => id => 'minute', size => 2, maxlength => 2, placeholder => 'MM', pattern => '^[0-5][0-9]$', title => 'Minute (00-59)', required => 'required', inputmode => 'numeric', autocomplete => 'off'
%= text_field minute => id => 'minute', size => 2, maxlength => 2, placeholder => 'MM', pattern => '^[0-5][0-9]$', title => 'Minute (00-59)', required => 'required', inputmode => 'numeric', autocomplete => 'off';
&nbsp;
%= label_for second => $c->l('Second:')
% param 'second' => ( $dat_data->{second} ) unless param 'second';
%= text_field second => id => 'second', size => 2, maxlength => 2, placeholder => 'SS', pattern => '^[0-5][0-9]$', title => 'Second (00-59)', required => 'required', inputmode => 'numeric', autocomplete => 'off'
%= text_field second => id => 'second', size => 2, maxlength => 2, placeholder => 'SS', pattern => '^[0-5][0-9]$', title => 'Second (00-59)', required => 'required', inputmode => 'numeric', autocomplete => 'off';
</fieldset>
</div>
</div>

View File

@@ -13,8 +13,7 @@
<h1><%= $title %></h1>
<br>
<%= $modul %>
<% my $btn = l('SAVE');
%>
<% my $btn = l('SAVE'); %>
%= form_for 'directory' => ( method => 'POST' ) => begin
@@ -33,7 +32,7 @@
%= l 'dir_DIRECTORY_ACCESS', class => 'label'
</span><span class=data>
% param 'access' => $dir_datas->{access} unless param 'access';
%= select_field 'access' => [[ (l 'NETWORKS_ALLOW_LOCAL') => 'private'], [ (l 'NETWORKS_ALLOW_PUBLIC') => 'public']], class => 'input', id => 'access'
%= select_field 'access' => [ [ ( l 'NETWORKS_ALLOW_LOCAL' ) => 'private' ], [ ( l 'NETWORKS_ALLOW_PUBLIC' ) => 'public' ] ], class => 'input', id => 'access';
</span>
</p>
<p>
@@ -75,7 +74,7 @@
<span class=label>
%= l 'dir_EXISTING', class => 'label'
</span><span class=data>
%= select_field 'existing'=> [[ (l 'dir_LEAVE') => 'leave'], [ (l 'dir_UPDATE') => 'update' ]], class => 'input'
%= select_field 'existing' => [ [ ( l 'dir_LEAVE' ) => 'leave' ], [ ( l 'dir_UPDATE' ) => 'update' ] ], class => 'input';
</span>
</p>
<p>

View File

@@ -43,7 +43,7 @@
<p><span class=label>
%= l 'PASSWORD'
</span><span class=input>
%= password_field 'Password', id => 'id_password', autocomplete => 'current-password', class=>'sme-password'
%= password_field 'Password', id => 'id_password', autocomplete => 'current-password', class => 'sme-password';
% if (config 'hasJquery') {
%# <a href='#' id='togglePassword' class='toggle-password tg-icon'> <img src="images/visible.png" height="16" alt="Visible"></a>
% }

View File

@@ -51,10 +51,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $domain_name = $domain->{Domain}; # Domain name extracted from the data structure
% my $actionModify = qq{
% <a href="domains2?CsrfDef=$csrf_token&trt=UPD&Domain=$domain_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="domains2?CsrfDef=$csrf_token&trt=UPD&Domain=$domain_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% my $removable = ( $domain->{Removable} || 'yes' );
@@ -64,10 +66,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $domain_name = $domain->{Domain}; # Domain name extracted from the data structure
% $actionRemove = qq{
% <a href="domains2?CsrfDef=$csrf_token&trt=DEL&Domain=$domain_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="domains2?CsrfDef=$csrf_token&trt=DEL&Domain=$domain_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
%# $actionRemove = "<a href='domains2?CsrfDef=TOKEN&trt=DEL&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-remove-button' title=".l('REMOVE').">".l('REMOVE')."</button>" . "</a>";

View File

@@ -43,20 +43,24 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $group_name = $group->key; # group name extracted from the data structure
% my $actionModify = qq{
% <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% my $remove_text = l('REMOVE'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $group_name = $group->key; # group name extracted from the data structure
% my $actionRemove = qq{
% <a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
<%= $c->render_to_string( inline => $actionModify ) %> <%= $c->render_to_string( inline => $actionRemove ) %>

View File

@@ -2,9 +2,10 @@
<div id="header2" class="hd2 module gradient-panel">
<img src="images/KoozaliServerManager.png" alt="Koozali Logo" class="logo" >
% if ( not defined $c->session->{username} ) {
<button type='button' class="login-button"><a class = "no-visited-state" target="_parent" href="login">Login</a></button>
<a class="login-button no-visited-state" target="_parent" href="/smanager/login">Login</a>
% } else {
<button type='button' class="login-button"><a class = "no-visited-state" target="_parent" href="logout">Logout <%= $c->session->{username} %></a></button>
<!--><button type='button' class="login-button"><a class = "no-visited-state" target="_parent" href="/smanager/logout">Logout <%= $c->session->{username} %></a></button>-->
<a class="login-button no-visited-state" target="_parent" href="/smanager/logout">Logout <%= $c->session->{username} %></a>
% }
<div id="flag-container" class = "flag-style">
<!-- The flag icon will be inserted here -->

View File

@@ -57,20 +57,24 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $hostentries_name = $_->{'HostName'}; # hostentries name extracted from the data structure
% $actionModify = qq{
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=UPD&Hostname=$hostentries_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=UPD&Hostname=$hostentries_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% my $remove_text = l('REMOVE'); # Localized text
% $csrf_token = "TOKEN"; # CSRF token for security
%# my $hostentries_name = $_->{'HostName'}; # hostentries name extracted from the data structure
% $actionRemove = qq{
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=DEL&Hostname=$hostentries_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=DEL&Hostname=$hostentries_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
% }

View File

@@ -53,10 +53,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
% $actionModify = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% }
@@ -75,10 +77,12 @@
% };
% } else {
% $actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class='sme-password-button' title='$password_text' >
% $password_text
% </button>
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name"
% class="sme-password-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$password_text" aria-label="$password_text"
% style="background:white;">
% <span class="ui-icon ui-icon-refresh"></span>
% <span class="ui-button-text">$password_text</span>
% </a>
% };
% }
@@ -90,10 +94,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
% $actionRemove = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibay=$ibays_entry_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibay=$ibays_entry_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
% }

View File

@@ -71,7 +71,7 @@
%= l 'iba_ALLOW_DYNAMIC_CONTENT'
</span><span class=data>
% param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin';
%= select_field 'CgiBin' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'CgiBin' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
<br>
</span>
</p>
@@ -81,7 +81,7 @@
%= l 'iba_HTTPS_Only'
</span><span class=data>
% param 'SSL' => $iba_datas->{SSL} unless param 'SSL';
%= select_field 'SSL' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'SSL' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
<br>
</span>
</p>

View File

@@ -4,7 +4,7 @@
<div class="sme-error module"><h5>
Warning: you have not yet changed the default system password.</h5></div>
<% } %>
<% if ( $c->is_unsafe ) { %>
<% if ( $c->is_unsafe && $c->is_logged_in && $c->is_admin) { %>
<div class="sme-error module"><h5>
Warning: a reconfigure and reboot is required before proceeding! Failure to do so now
may leave your system in an unknown state!</h5></div>

View File

@@ -80,10 +80,12 @@
% my $local_network_entry = $localnetwork->key;
% my $csrf_token = "TOKEN"; # CSRF token for security
% $actionRemove = qq{
% <a href="localnetworksd?CsrfDef=$csrf_token&trt=DEL&localnetwork=$local_network_entry">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="localnetworksd?CsrfDef=$csrf_token&trt=DEL&localnetwork=$local_network_entry"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
% }

View File

@@ -65,7 +65,7 @@
%= l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS'
</span><span class=input>
% param 'SMTPAUTHPROXY_status' => $mai_data->{smtpauthproxystatus} unless param 'SMTPAUTHPROXY_status';
%= select_field 'SMTPAUTHPROXY_status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'SMTPAUTHPROXY_status' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
</span></p>
<p><span class=label>

View File

@@ -26,7 +26,7 @@
%= l 'mai_LABEL_VIRUS_SCAN'
</span><span class=input>
% param 'VirusStatus' => $mai_data->{virusstatus} unless param 'VirusStatus';
%= select_field 'VirusStatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'VirusStatus' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
</span><br></p>
%= l 'mai_DESC_SPAM_SCAN'
@@ -35,7 +35,7 @@
%= l 'mai_LABEL_SPAM_SCAN'
</span><span class=input>
% param 'Spamstatus' => $mai_data->{spamstatus} unless param 'Spamstatus';
%= select_field 'Spamstatus' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'Spamstatus' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
</span></p>
<p><span class=label>
@@ -63,7 +63,7 @@
%= l 'mai_LABEL_SORTSPAM'
</span><span class=input>
% param 'SpamSortSpam' => $mai_data->{spamsortspam} unless param 'SpamSortSpam';
%= select_field 'SpamSortSpam' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'SpamSortSpam' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
</span></p>
%= l 'mai_DESC_SPAM_SUBJECT'
@@ -72,7 +72,7 @@
%= l 'mai_LABEL_SPAM_SUBJECTTAG'
</span><span class=input>
% param 'SpamSubjectTag' => $mai_data->{spamsubjecttag} unless param 'SpamSubjectTag';
%= select_field 'SpamSubjectTag' => [[(l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
%= select_field 'SpamSubjectTag' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
</span></p>
<p><span class=label>
@@ -88,7 +88,7 @@
%= l 'mai_LABEL_CONTENT_TO_BLOCK'
</span><span class=input>
% param 'BlockExecutableContent' => $c->get_patterns_current_opt() unless param 'BlockExecutableContent';
%= select_field 'BlockExecutableContent' => $c->get_patterns_opt(), class => 'input', multiple => "1"
%= select_field 'BlockExecutableContent' => $c->get_patterns_opt(), class => 'input', multiple => "1";
</span></p>
%# ....

View File

@@ -142,7 +142,7 @@
%= l 'mai_LABEL_SORT_METHOD'
</span><span class=input>
% param 'SpecifyHeader' => $mai_data->{specifyheader} unless param 'SpecifyHeader';
%= select_field 'SpecifyHeader' => [[(l 'mai_DEFAULT') => 'off'], [(l 'mai_SPECIFY_BELOW') => 'on']], class => 'input'
%= select_field 'SpecifyHeader' => [ [ ( l 'mai_DEFAULT' ) => 'off' ], [ ( l 'mai_SPECIFY_BELOW' ) => 'on' ] ], class => 'input';
</span></p>
<p><span class=label>

View File

@@ -96,10 +96,12 @@
% my $remove_text = l('REMOVE'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $actionRemove = qq{
% <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
<%= $c->render_to_string( inline => $actionRemove ) %>

View File

@@ -62,10 +62,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $printer_name = $printer->key;
% my $actionRemove = qq{
% <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
<%= $c->render_to_string( inline => $actionRemove ) %>

View File

@@ -61,10 +61,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $pseudonyms_entry_name = $pseudonym->key; # pseudonyms_entry name extracted from the data structure
% $actionModify = qq{
% <a href="pseudonyms2?CsrfDef=$csrf_token&trt=UPD&pseudonym=$pseudonyms_entry_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="pseudonyms2?CsrfDef=$csrf_token&trt=UPD&pseudonym=$pseudonyms_entry_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% }
@@ -74,10 +76,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $pseudonyms_entry_name = $pseudonym->key; # pseudonyms_entry name extracted from the data structure
% $actionRemove = qq{
% <a href="pseudonyms2?CsrfDef=$csrf_token&trt=DEL&pseudonym=$pseudonyms_entry_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="pseudonyms2?CsrfDef=$csrf_token&trt=DEL&pseudonym=$pseudonyms_entry_name"
% class="sme-remove-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text"
% style="background:white;">
% <span class="ui-icon ui-icon-delete"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
% }

View File

@@ -35,7 +35,7 @@
%= l 'pse_SELECT_INTERNAL', class => 'label'
</span><span class=data>
% param 'Internal' => $pse_datas->{internal} unless param 'Internal';
%= select_field 'Internal' => [ [(l 'YES') => 'YES'], [(l 'NO') => 'NO'] ], class => 'input'
%= select_field 'Internal' => [ [ ( l 'YES' ) => 'YES' ], [ ( l 'NO' ) => 'NO' ] ], class => 'input';
</span>
</p>

View File

@@ -62,10 +62,12 @@
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $quota_user_name = $user->key; # quotas_entry name extracted from the data structure
% my $actionModify = qq{
% <a href="quotad?CsrfDef=$csrf_token&trt=UPD&user=$quota_user_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="quotad?CsrfDef=$csrf_token&trt=UPD&user=$quota_user_name"
% class="sme-modify-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text"
% style="background:white;">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
<%= $c->render_to_string( inline => $actionModify ) %>

View File

@@ -66,53 +66,60 @@
% my $password_text = l("PASSWORD_RESET");
% if ($useraccounts_user_name eq 'admin') {
% $actionModify = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name">
% <button type='button' class='sme-modify-button' title='$modify_text'>
% $modify_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name"
% class="sme-modify-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWS&user=$useraccounts_user_name">
% <button type='button' class='sme-password-button' title='$password_text' >
% $password_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWS&user=$useraccounts_user_name"
% class="sme-password-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$password_text" aria-label="$password_text">
% <span class="ui-icon ui-icon-refresh"></span>
% <span class="ui-button-text">$password_text</span>
% </a>
% };
% } else {
% $actionModify = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name">
% <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name"
% class="sme-modify-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$modify_text" aria-label="$modify_text">
% <span class="ui-icon ui-icon-pencil"></span>
% <span class="ui-button-text">$modify_text</span>
% </a>
% };
% }
% if ($password_set ne 'yes') {
% $actionLock = l('ACCOUNT_LOCKED');
% $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name">
% <button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; >
% $password_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"
% class="sme-password-button unset ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$password_text" aria-label="$password_text"
% style="background:pink;">
% <span class="ui-icon ui-icon-refresh"></span>
% <span class="ui-button-text">$password_text</span>
% </a>
% };
% } elsif ($useraccounts_user_name ne 'admin') {
% my $lock_text = l('ACCOUNT LOCKED'); # Localized text
% my $lock_text = l('LOCK_ACCOUNT'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
% $actionLock = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name">
% <button type='button' class='sme-lock-button' title='$lock_text' >
% $lock_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name"
% class="sme-lock-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$lock_text" aria-label="$lock_text">
% <span class="ui-icon ui-icon-locked"></span>
% <span class="ui-button-text">$lock_text</span>
% </a>
% };
% $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name">
% <button type='button' class='sme-password-button' title='$password_text' >
% $password_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"
% class="sme-password-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$password_text" aria-label="$password_text">
% <span class="ui-icon ui-icon-refresh"></span>
% <span class="ui-button-text">$password_text</span>
% </a>
% };
% }
@@ -120,10 +127,11 @@
% my $remove_text = l('REMOVE'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security
% $actionRemove = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name">
% <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text
% </button>
% <a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name"
% class="sme-remove-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$remove_text" aria-label="$remove_text">
% <span class="ui-icon ui-icon-trash"></span>
% <span class="ui-button-text">$remove_text</span>
% </a>
% };
% }
@@ -133,10 +141,11 @@
% $csrf_token = "TOKEN"; # CSRF token for security
% $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
% $actionroundcube = qq{
%<a href="roundcubepanel?CsrfDef=$csrf_token&url=https://$thisdomain/roundcube?_user=$useraccounts_user_name&height=600px">
% <button type='button' class='sme-email-button' title='$roundcube_text' >
% $roundcube_text
% </button>
% <a href="roundcubepanel?CsrfDef=$csrf_token&url=https://$thisdomain/roundcube?_user=$useraccounts_user_name&height=600px"
% class="sme-email-button ui-button ui-corner-all ui-widget ui-button-icon-only"
% title="$roundcube_text" aria-label="$roundcube_text">
% <span class="ui-icon ui-icon-mail-closed"></span>
% <span class="ui-button-text">$roundcube_text</span>
% </a>
% };
<td class='sme-border' style="min-width:35em">

View File

@@ -16,7 +16,7 @@
<p>
% my $strength = uc( $usr_datas->{passwdstrength} );
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
<%= $c->render_to_string( inline => l( 'usr_' . $strength . '_PASSWORD_DESCRIPTION', $usr_datas->{passwdlength} ) ); %>
<br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI') ) %>
</p>

View File

@@ -9,7 +9,7 @@
<p>
% my $strength = uc( $usr_datas->{passwdstrength} );
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
<%= $c->render_to_string( inline => l( 'usr_' . $strength . '_PASSWORD_DESCRIPTION', $usr_datas->{passwdlength} ) ); %>
<br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI') ) %>
</p>

View File

@@ -105,7 +105,7 @@
%= l 'usr_VPN_CLIENT_ACCESS'
</span><span class=data>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => 'input'
%= select_field 'VPNClientAccess' => [ [ ( l 'NO' ) => 'no' ], [ ( l 'YES' ) => 'yes' ] ], class => 'input';
</span>
</p>

View File

@@ -57,7 +57,7 @@
%= l 'usr_VPN_CLIENT_ACCESS'
</span><span class=data>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess';
%= select_field 'VPNClientAccess' => [[ (l 'NO') => 'no'], [ (l 'YES') => 'yes']], class => 'input'
%= select_field 'VPNClientAccess' => [ [ ( l 'NO' ) => 'no' ], [ ( l 'YES' ) => 'yes' ] ], class => 'input';
</span>
</p>

View File

@@ -21,7 +21,7 @@
%= l 'prx_HTTP_PROXY_STATUS_LABEL'
</span><span class=data>
% param 'http_proxy_status' => $prx_datas->{http_proxy_status} unless param 'http_proxy_status';
%= select_field 'http_proxy_status' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input', id => 'htproxstat'
%= select_field 'http_proxy_status' => [ [ ( l 'ENABLED' ) => 'enabled' ], [ ( l 'DISABLED' ) => 'disabled' ] ], class => 'input', id => 'htproxstat';
</span>
</p>
% if ( $prx_datas->{smtp_proxy_status} ) {
@@ -32,7 +32,7 @@
%= l 'prx_SMTP_PROXY_STATUS_LABEL'
</span><span class=data>
% param 'smtp_proxy_status' => $prx_datas->{smtp_proxy_status} unless param 'smtp_proxy_status';
%= select_field 'smtp_proxy_status' => [[ (l 'ENABLED') => 'transparent'], [ (l 'DISABLED') => 'disabled'], [ (l 'prx_BLOCKED') => 'blocked']], class => 'input', id => 'smproxstat', default => $prx_datas->{smtp_proxy_status}
%= select_field 'smtp_proxy_status' => [ [ ( l 'ENABLED' ) => 'transparent' ], [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'prx_BLOCKED' ) => 'blocked' ] ], class => 'input', id => 'smproxstat', default => $prx_datas->{smtp_proxy_status};
<br><br>
</span>
</p>

View File

@@ -33,7 +33,7 @@
<span class=label>
%= label_for email_address => 'Email Address:'
</span><span class=data>
%= email_field 'email_address', placeholder => 'Enter email address', id => 'email_address_group'
%= email_field 'email_address', placeholder => 'Enter email address', id => 'email_address_group';
</span>
</div>

View File

@@ -34,7 +34,7 @@
% end
%= hidden_field 'debug' => '0'
%= hidden_field 'debug' => '1'
</div>
% end

View File

@@ -134,7 +134,7 @@
%= l 'rma_LABEL_SSH_ADMIN'
</span><span class=data>
% param 'SshPermitRootLogin' => $rma_datas->{sshPermitRootLogin} unless param 'SshPermitRootLogin';
%= select_field 'SshPermitRootLogin' => [[(l 'NO'), 'no'], [(l 'YES'), 'yes']], class => 'input'
%= select_field 'SshPermitRootLogin' => [ [ ( l 'NO' ), 'no' ], [ ( l 'YES' ), 'yes' ] ], class => 'input';
</span>
<br>
@@ -142,7 +142,7 @@
%= l 'rma_LABEL_SSH_PASSWORD_ACCESS'
</span><span class=data>
% param 'SshPasswordAuthentication' => $c->get_ssh_password_auth() unless param 'SshPasswordAuthentication';
%= select_field 'SshPasswordAuthentication' => [[(l 'NO'), 'no'], [(l 'YES'), 'yes']], class => 'input'
%= select_field 'SshPasswordAuthentication' => [ [ ( l 'NO' ), 'no' ], [ ( l 'YES' ), 'yes' ] ], class => 'input';
</span>
<br>

View File

@@ -28,7 +28,7 @@
<p>
% my $strength = uc( $pwd_datas->{passwdstrength} );
<%= $c->render_to_string( inline => l('pwd_'.$strength.'_PASSWORD_DESCRIPTION',$pwd_datas->{passwdlength})) %>
<%= $c->render_to_string( inline => l( 'pwd_' . $strength . '_PASSWORD_DESCRIPTION', $pwd_datas->{passwdlength} ) ); %>
<br /><br />
<%= $c->render_to_string( inline => l('pwd_PASSWORD_WIKI') ) %>
</p>

View File

@@ -54,7 +54,7 @@
% if ($log_datas->{'default_op'} eq 'download') {
% param 'Operation' => 'download';
% }
%= select_field 'Operation' => [[(l 'log_VIEW') => 'view'],[(l 'DOWNLOAD') => 'download']], class => 'input'
%= select_field 'Operation' => [ [ ( l 'log_VIEW' ) => 'view' ], [ ( l 'DOWNLOAD' ) => 'download' ] ], class => 'input';
</span>
</p>

View File

@@ -14,8 +14,7 @@
<h1><%= $title %></h1>
<br>
<%= $modul %>
<% my $btn = l('SAVE');
%>
<% my $btn = l('SAVE'); %>
%= form_for 'workgroup' => ( method => 'POST' ) => begin
<p>
@@ -24,7 +23,7 @@
<span class=label>
%= l 'wkg_LABEL_WORKGROUP', class => 'label'
</span><span class=data>
%= text_field 'Workgroup' => $wkg_datas->{Workgroup}, class => 'input' , pattern=>".{1,15}", title=>"Limited to 15 characters by the NETBIOS"
%= text_field 'Workgroup' => $wkg_datas->{Workgroup}, class => 'input', pattern => ".{1,15}", title => "Limited to 15 characters by the NETBIOS";
</span>
</p>
<p>
@@ -43,7 +42,7 @@
%= l 'wkg_LABEL_PDC', class => 'label'
</span><span class=data>
% param 'ServerRole' => $wkg_datas->{ServerRole} unless param 'ServerRole';
%= select_field 'ServerRole' => [[ (l 'YES') => 'PDC'], [ (l 'NO') => 'WS']], class => 'input'
%= select_field 'ServerRole' => [ [ ( l 'YES' ) => 'PDC' ], [ ( l 'NO' ) => 'WS' ] ], class => 'input';
</span>
</p>
<p>
@@ -53,7 +52,7 @@
%= l 'wkg_LABEL_ROAM', class => 'label'
</span><span class=data>
% param 'RoamingProfiles' => $wkg_datas->{RoamingProfiles} unless param 'RoamingProfiles';
%= select_field 'RoamingProfiles' => [[ (l 'YES') => 'yes'], [ (l 'NO') => 'no']], class => 'input'
%= select_field 'RoamingProfiles' => [ [ ( l 'YES' ) => 'yes' ], [ ( l 'NO' ) => 'no' ] ], class => 'input';
</span>
</p>
<p>

View File

@@ -34,7 +34,7 @@
%= l 'yum_LABEL_YUM_PACKAGEFUNCTIONS'
</span><span class=data>
% param 'yum_PackageFunctions' => $c->get_status('PackageFunctions') unless param 'yum_PackageFunctions';
%= select_field 'yum_PackageFunctions' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
%= select_field 'yum_PackageFunctions' => [ [ $c->l('DISABLED') => 'disabled' ], [ $c->l('ENABLED') => 'enabled' ] ];
</span></p>
<br>
@@ -44,7 +44,7 @@
%= l 'yum_LABEL_ENABLED_REPOSITORIES'
</span><span class=data>
% param 'SelectedRepositories' => $c->get_repository_current_options() unless param 'SelectedRepositories';
%= select_field 'SelectedRepositories' => $c->get_repository_options2(), class => 'input', multiple => '1'
%= select_field 'SelectedRepositories' => $c->get_repository_options2(), class => 'input', multiple => '1';
</span></p>
<br>
@@ -54,7 +54,7 @@
%= l 'yum_LABEL_YUM_DELTARPMPROCESS'
</span><span class=data>
% param 'yum_DeltaRpmProcess' => $c->get_status('DeltaRpmProcess') unless param 'yum_DeltaRpmProcess';
%= select_field 'yum_DeltaRpmProcess' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
%= select_field 'yum_DeltaRpmProcess' => [ [ $c->l('DISABLED') => 'disabled' ], [ $c->l('ENABLED') => 'enabled' ] ];
</span></p>
<br>
@@ -64,7 +64,7 @@
%= l 'yum_LABEL_YUM_DOWNLOADONLY'
</span><span class=data>
% param 'yum_DownloadOnly' => $c->get_status('DownloadOnly') unless param 'yum_DownloadOnly';
%= select_field 'yum_DownloadOnly' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
%= select_field 'yum_DownloadOnly' => [ [ $c->l('DISABLED') => 'disabled' ], [ $c->l('ENABLED') => 'enabled' ] ];
</span></p>
<br>
@@ -74,7 +74,7 @@
%= l 'yum_LABEL_YUM_AUTOINSTALLUPDATES'
</span><span class=data>
% param 'yum_AutoInstallUpdates' => $c->get_status('AutoInstallUpdates') unless param 'yum_AutoInstallUpdates';
%= select_field 'yum_AutoInstallUpdates' => [[ $c->l('DISABLED') => 'disabled'], [ $c->l('ENABLED') => 'enabled']]
%= select_field 'yum_AutoInstallUpdates' => [ [ $c->l('DISABLED') => 'disabled' ], [ $c->l('ENABLED') => 'enabled' ] ];
</span></p>
%= hidden_field 'trt' => 'CONF'

View File

@@ -29,7 +29,7 @@
%= l 'yum_LABEL_AVAILABLE_GROUPS'
</span><span class=data>
% param 'SelectedGroups' => $c->get_names2( 'updates', 'group' ) unless param 'SelectedGroups';
%= select_field 'SelectedGroups' => $c->get_options2('available', 'group'), class => 'input', multiple => "1"
%= select_field 'SelectedGroups' => $c->get_options2( 'available', 'group' ), class => 'input', multiple => "1";
</span></p>
% }
<br>
@@ -39,7 +39,7 @@
%= l 'yum_LABEL_AVAILABLE_PACKAGES'
</span><span class=data>
% param 'SelectedPackages' => $c->get_names2( 'updates', 'package' ) unless param 'SelectedPackages';
%= select_field 'SelectedPackages' => $c->get_options2('available', 'package'), class => 'input', multiple => "1"
%= select_field 'SelectedPackages' => $c->get_options2( 'available', 'package' ), class => 'input', multiple => "1";
</span></p>
% }

View File

@@ -29,7 +29,7 @@
<p><span class=label>
%= l 'yum_LABEL_INSTALLED_GROUPS'
</span><span class=data>
%= select_field 'SelectedGroups' => $c->get_options2('installed', 'group'), class => 'input', multiple => "1"
%= select_field 'SelectedGroups' => $c->get_options2( 'installed', 'group' ), class => 'input', multiple => "1";
</span></p>
% }
<br>
@@ -38,7 +38,7 @@
<p><span class=label>
%= l 'yum_LABEL_INSTALLED_PACKAGES'
</span><span class=data>
%= select_field 'SelectedPackages' => $c->get_options2('installed', 'package'), class => 'input', multiple => "1"
%= select_field 'SelectedPackages' => $c->get_options2( 'installed', 'package' ), class => 'input', multiple => "1";
</span></p>
% }

View File

@@ -26,7 +26,7 @@
%= l 'yum_LABEL_AVAILABLE_UPDATES'
</span><span class=data>
% param 'SelectedPackages' => $c->get_names2( 'updates', 'package' ) unless param 'SelectedPackages';
%= select_field 'SelectedPackages' => $c->get_options2('updates', 'package'), class => 'input', multiple => "1"
%= select_field 'SelectedPackages' => $c->get_options2( 'updates', 'package' ), class => 'input', multiple => "1";
</span></p>
<!-- $c->print_skip_header() -->

View File

@@ -2,7 +2,7 @@ Summary: Sme Server Configuration : Manager 2
%define name smeserver-manager
Name: %{name}
%define version 11.0.0
%define release 112
%define release 116
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -35,6 +35,7 @@ Requires: perl(Mojolicious::Plugin::CSRFDefender) >= 0.0.8
Requires: perl(Net::Netmask) >= 1.9
Requires: perl(DBM::Deep) >= 2.0011-1
Requires: perl(Mojo::JWT) >= 0.08-1
#Requires: perl(IPS:Run) >= 0.99-1 - needed for enahnced qmailanalog run of pflogsumm
#Requires: perl(Time::TAI64) >= 2.11
Requires: perl(Data::Validate::IP)
Requires: mutt >= 1.5.21
@@ -146,6 +147,18 @@ true
%defattr(-,root,root)
%changelog
* Mon Sep 15 2025 Brian Read <brianr@koozali.org> 11.0.0-116.sme
- Fix other buttons in lists for elinks [SME: 13113]
* Sat Sep 13 2025 Brian Read <brianr@koozali.org> 11.0.0-115.sme
- Fix login and logout and user table buttons so that they are valid html and work for elinks [SME: 13113]
* Sat Sep 13 2025 Brian Read <brianr@koozali.org> 11.0.0-114.sme
- edit intial screen to suppress reconfig message unless admin logged in [SME: 13112]
* Mon Aug 11 2025 Brian Read <brianr@koozali.org> 11.0.0-113.sme
- Re-factor all template files to make them nicely formatted [SME: 13103]
* Thu Aug 07 2025 Brian Read <brianr@koozali.org> 11.0.0-112.sme
- Fix sprintf fail in viewlogfiles when % in log line [SME: 13099]
- Fix reboot/shutdown failure - reported by Massimo - fixed by JC [SME: 13097]