* 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]
This commit is contained in:
2025-08-12 06:20:31 +01:00
parent 6475521528
commit 74c9beb587
114 changed files with 5301 additions and 5274 deletions

View File

@@ -2,80 +2,80 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_tape_configure-panel'> <div id='module' class='module back_tape_configure-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2> <h2>
%=l 'bac_ENABLE_DISABLE_TAPE' %= l 'bac_ENABLE_DISABLE_TAPE'
</h2><br> </h2><br>
%= $c->render_to_string(inline => (l 'bac_TAPE_CONFIG_DESC')) %= $c->render_to_string( inline => ( l 'bac_TAPE_CONFIG_DESC' ) )
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'bac_ENABLE_TAPE_BACKUP' %= l 'bac_ENABLE_TAPE_BACKUP'
</span><span class=data> </span><span class=data>
% if ( $bac_datas->{status} eq 'checked' ) { % if ( $bac_datas->{status} eq 'checked' ) {
<input type='checkbox' name='Tapebackup' checked > <input type='checkbox' name='Tapebackup' checked >
%} else { % } else {
%= check_box 'Tapebackup' %= check_box 'Tapebackup'
%} % }
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'bac_TAPE_BACKUP_TIME' %= l 'bac_TAPE_BACKUP_TIME'
</span><span class=data> </span><span class=data>
% param 'BackupHour' => $bac_datas->{backupHour} unless param 'BackupHour'; % param 'BackupHour' => $bac_datas->{backupHour} unless param 'BackupHour';
%= text_field 'BackupHour', size => '2' %= text_field 'BackupHour', size => '2'
% param 'BackupMin' => $bac_datas->{backupMin} unless param 'BackupMin'; % param 'BackupMin' => $bac_datas->{backupMin} unless param 'BackupMin';
%= text_field 'BackupMin', size => '2' %= text_field 'BackupMin', size => '2'
</span> </span>
<!--span class=label--> <!--span class=label-->
%=l 'AM/PM:' %= l 'AM/PM:'
<!--/span--><span class=data> <!--/span--><span class=data>
% param 'BackupAMPM' => $bac_datas->{backupAMPM} unless param 'BackupAMPM'; % param 'BackupAMPM' => $bac_datas->{backupAMPM} unless param 'BackupAMPM';
%= select_field 'BackupAMPM' => ['AM', 'PM'], class => 'input' %= select_field 'BackupAMPM' => [ 'AM', 'PM' ], class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'bac_LOAD_TAPE_REMINDER_TIME' %= l 'bac_LOAD_TAPE_REMINDER_TIME'
</span><span class=data> </span><span class=data>
% param 'ReminderHour' => $bac_datas->{reminderHour} unless param 'ReminderHour'; % param 'ReminderHour' => $bac_datas->{reminderHour} unless param 'ReminderHour';
%= text_field 'ReminderHour', size => '2' %= text_field 'ReminderHour', size => '2'
% param 'ReminderMin' => $bac_datas->{reminderMin} unless param 'ReminderMin'; % param 'ReminderMin' => $bac_datas->{reminderMin} unless param 'ReminderMin';
%= text_field 'ReminderMin', size => '2' %= text_field 'ReminderMin', size => '2'
</span> </span>
<!--span class=label--> <!--span class=label-->
%=l 'AM/PM:' %= l 'AM/PM:'
<!--/span--><span class=data> <!--/span--><span class=data>
% param 'ReminderAMPM' => $bac_datas->{reminderAMPM} unless param 'ReminderAMPM'; % param 'ReminderAMPM' => $bac_datas->{reminderAMPM} unless param 'ReminderAMPM';
%= select_field 'ReminderAMPM' => ['AM', 'PM'], class => 'input' %= select_field 'ReminderAMPM' => [ 'AM', 'PM' ], class => 'input'
</span> </span>
</p><br> </p><br>
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('bac_UPDATE_CONF'), class => 'action' %= submit_button $c->l('bac_UPDATE_CONF'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,36 +2,36 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_tape_restore-panel'> <div id='module' class='module back_tape_restore-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<h2> <h2>
%=l 'bac_RESTORE_CONF_FROM_TAPE' %= l 'bac_RESTORE_CONF_FROM_TAPE'
</h2> </h2>
%= $c->render_to_string(inline => (l 'bac_RESTORE_CONF_FROM_TAPE_DESC')) %= $c->render_to_string( inline => ( l 'bac_RESTORE_CONF_FROM_TAPE_DESC' ) )
<br> <br>
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('bac_RESTORE_FROM_TAPE'), class => 'action' %= submit_button $c->l('bac_RESTORE_FROM_TAPE'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,52 +2,52 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_configure-panel'> <div id='module' class='module back_workstn_configure-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
%= form_for '/backup' => (method => 'POST') => begin %= form_for '/backup' => ( method => 'POST' ) => begin
<h2> <h2>
%=l 'bac_CONFIGURE_WORKSTN_BACKUP' %= l 'bac_CONFIGURE_WORKSTN_BACKUP'
</h2> </h2>
%= $c->render_to_string(inline => (l 'bac_WORKSTN_BACKUP_DESC')) %= $c->render_to_string( inline => ( l 'bac_WORKSTN_BACKUP_DESC' ) )
%=l 'bac_WORKSTN_BACKUP_ENABLED' %= l 'bac_WORKSTN_BACKUP_ENABLED'
<span class=data> <span class=data>
%= $bac_datas->{status} %= $bac_datas->{status}
</span><br> </span><br>
%= $c->render_to_string(inline => $c->workstnBackupConfig()) %= $c->render_to_string( inline => $c->workstnBackupConfig() )
<p><h3> <p><h3>
%= l 'bac_WORKSTATION_BACKUP_SETCONF' %= l 'bac_WORKSTATION_BACKUP_SETCONF'
</h3><br> </h3><br>
<span class=label> <span class=label>
%=l 'bac_SELECT_VFS_TYPE' %= l 'bac_SELECT_VFS_TYPE'
</span><span class=data> </span><span class=data>
% param 'VFSType' => $bac_datas->{vfstype} unless param 'VFSType'; % param 'VFSType' => $bac_datas->{vfstype} unless param 'VFSType';
%= select_field 'VFSType' => $c->get_VFSType_options(), class => 'input' %= select_field 'VFSType' => $c->get_VFSType_options(), class => 'input'
</span></p> </span></p>
%= hidden_field 'Function' => $bac_datas->{'function'} . '1' %= hidden_field 'Function' => $bac_datas->{'function'} . '1'
%= submit_button $c->l('NEXT'), class => 'action' %= submit_button $c->l('NEXT'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,153 +2,153 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_configure1-panel'> <div id='module' class='module back_workstn_configure1-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2> <h2>
%=l 'bac_CONFIGURE_WORKSTN_BACKUP' %= l 'bac_CONFIGURE_WORKSTN_BACKUP'
</h2> </h2>
%= $c->render_to_string(inline => (l 'bac_CONFIGURE_WORKSTN_BACKUP_DESC')) %= $c->render_to_string( inline => ( l 'bac_CONFIGURE_WORKSTN_BACKUP_DESC' ) )
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'bac_ENABLE_WORKSTN_BACKUP' %= l 'bac_ENABLE_WORKSTN_BACKUP'
</span><span class=data> </span><span class=data>
% if ( $bac_datas->{status} eq 'checked' ) { % if ( $bac_datas->{status} eq 'checked' ) {
<input type='checkbox' name='Workstnbackup' checked > <input type='checkbox' name='Workstnbackup' checked >
%} else { % } else {
%= check_box 'Workstnbackup' %= check_box 'Workstnbackup'
%} % }
</span> </span>
</p> </p>
<p><h3> <p><h3>
%= l 'bac_WORKSTATION_BACKUP_DEST' %= l 'bac_WORKSTATION_BACKUP_DEST'
</h3><br> </h3><br>
% if ( $bac_datas->{vfstype} =~ m/cifs|nfs/s ) { % if ( $bac_datas->{vfstype} =~ m/cifs|nfs/s ) {
<span class=label> <span class=label>
%=l 'bac_WORKSTN_NAME' %= l 'bac_WORKSTN_NAME'
</span><span class=data> </span><span class=data>
% param 'BackupwkStation' => $bac_datas->{station} unless param 'BackupwkStation'; % param 'BackupwkStation' => $bac_datas->{station} unless param 'BackupwkStation';
%= text_field 'BackupwkStation', size => 20, class => 'input' %= text_field 'BackupwkStation', size => 20, class => 'input'
</span><br> </span><br>
%} % }
% if ( $bac_datas->{vfstype} eq 'usb' ) { % if ( $bac_datas->{vfstype} eq 'usb' ) {
<span class=label> <span class=label>
%=l 'bac_local removable disk' %= l 'bac_local removable disk'
</span><span class=data> </span><span class=data>
% param 'BackupwkFolder' => $bac_datas->{mount} unless param 'BackupwkFolder'; % 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> </span><br>
% } elsif ( $bac_datas->{vfstype} eq 'mnt') { % } elsif ( $bac_datas->{vfstype} eq 'mnt') {
<span class=label> <span class=label>
%=l 'bac_Mounted disk' %= l 'bac_Mounted disk'
</span><span class=data> </span><span class=data>
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder'; % 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> </span><br>
% } else { % } else {
<span class=label> <span class=label>
%=l 'bac_SHARED_FOLDER_NAME' %= l 'bac_SHARED_FOLDER_NAME'
</span><span class=data> </span><span class=data>
% param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder'; % param 'BackupwkFolder' => $bac_datas->{folder} unless param 'BackupwkFolder';
%= text_field 'BackupwkFolder', size => 20, class => 'input' %= text_field 'BackupwkFolder', size => 20, class => 'input'
</span><br> </span><br>
%} % }
% if ( $bac_datas->{vfstype} eq 'cifs' ) { % if ( $bac_datas->{vfstype} eq 'cifs' ) {
<span class=label> <span class=label>
%=l 'bac_WORKSTN_LOGIN' %= l 'bac_WORKSTN_LOGIN'
</span><span class=data> </span><span class=data>
% param 'BackupwkLogin' => $bac_datas->{login} unless param 'BackupwkLogin'; % param 'BackupwkLogin' => $bac_datas->{login} unless param 'BackupwkLogin';
%= text_field 'BackupwkLogin', size => 12, class => 'input' %= text_field 'BackupwkLogin', size => 12, class => 'input'
</span><br><span class=label> </span><br><span class=label>
%=l 'bac_PASSWORD' %= l 'bac_PASSWORD'
</span><span class=data> </span><span class=data>
% param 'BackupwkPassword' => $bac_datas->{password} unless param 'BackupwkPassword'; % param 'BackupwkPassword' => $bac_datas->{password} unless param 'BackupwkPassword';
%= password_field 'BackupwkPassword', size => 12, class => 'input' %= password_field 'BackupwkPassword', size => 12, class => 'input'
</span> </span>
%} % }
</p><br><h3> </p><br><h3>
%= l 'bac_WORKSTN_BACKUP_SETTINGS' %= l 'bac_WORKSTN_BACKUP_SETTINGS'
</h3><br> </h3><br>
<p><span class=label> <p><span class=label>
%=l 'bac_NUMBER_OF_SETS' %= l 'bac_NUMBER_OF_SETS'
</span><span class=data> </span><span class=data>
% param 'SetsNumber' => $bac_datas->{setsNumber} unless param 'SetsNumber'; % param 'SetsNumber' => $bac_datas->{setsNumber} unless param 'SetsNumber';
%= text_field 'SetsNumber', size => '3' %= text_field 'SetsNumber', size => '3'
</span> </span>
%=l 'bac_NUMBER_OF_FILES_IN_SET' %= l 'bac_NUMBER_OF_FILES_IN_SET'
<span class=data> <span class=data>
% param 'Filesinset' => $bac_datas->{filesinset} unless param 'Filesinset'; % param 'Filesinset' => $bac_datas->{filesinset} unless param 'Filesinset';
%= text_field 'Filesinset', size => '3' %= text_field 'Filesinset', size => '3'
</span></p> </span></p>
<p> <p>
<span class=label> <span class=label>
%=l 'bac_WORKSTN_BACKUP_TIME' %= l 'bac_WORKSTN_BACKUP_TIME'
</span><span class=data> </span><span class=data>
% param 'BackupwkHour' => $bac_datas->{hour} unless param 'BackupwkHour'; % param 'BackupwkHour' => $bac_datas->{hour} unless param 'BackupwkHour';
%= text_field 'BackupwkHour', size => '2' %= text_field 'BackupwkHour', size => '2'
% param 'BackupwkMin' => $bac_datas->{min} unless param 'BackupwkMin'; % param 'BackupwkMin' => $bac_datas->{min} unless param 'BackupwkMin';
%= text_field 'BackupwkMin', size => '2' %= text_field 'BackupwkMin', size => '2'
</span> </span>
%=l 'AM/PM:' %= l 'AM/PM:'
<span class=data> <span class=data>
% param 'BackupwkAMPM' => $bac_datas->{ampm} unless param 'BackupwkAMPM'; % param 'BackupwkAMPM' => $bac_datas->{ampm} unless param 'BackupwkAMPM';
%= select_field 'BackupwkAMPM' => ['AM', 'PM'], class => 'input' %= select_field 'BackupwkAMPM' => [ 'AM', 'PM' ], class => 'input'
</span> </span>
</p> </p>
<p><span class=label> <p><span class=label>
%=l 'bac_WORKSTN_TIMEOUT' %= l 'bac_WORKSTN_TIMEOUT'
</span><span class=data> </span><span class=data>
% param 'BackupwkTimeout' => $bac_datas->{timeout} unless param 'BackupwkTimeout'; % param 'BackupwkTimeout' => $bac_datas->{timeout} unless param 'BackupwkTimeout';
%= text_field 'BackupwkTimeout', size => '2' %= text_field 'BackupwkTimeout', size => '2'
</span> </span>
%=l 'bac_INC_ONLY_TIMEOUT' %= l 'bac_INC_ONLY_TIMEOUT'
<span class=data> <span class=data>
% if ( $bac_datas->{incOnlyTimeout} eq 'checked' ) { % if ( $bac_datas->{incOnlyTimeout} eq 'checked' ) {
<input type='checkbox' name='IncOnlyTimeout' checked > <input type='checkbox' name='IncOnlyTimeout' checked >
%} else { % } else {
%= check_box 'IncOnlyTimeout' %= check_box 'IncOnlyTimeout'
%} % }
</span></p> </span></p>
<p> <p>
<span class=label> <span class=label>
%=l 'bac_COMPRESSION_LEVEL' %= l 'bac_COMPRESSION_LEVEL'
</span><span class=data> </span><span class=data>
% param 'Compression' => $bac_datas->{compression} unless param 'Compression'; % param 'Compression' => $bac_datas->{compression} unless param 'Compression';
%= text_field 'Compression', size => '1' %= text_field 'Compression', size => '1'
</span> </span>
%=l 'bac_FULL_ONLY_ON' %= l 'bac_FULL_ONLY_ON'
<span class=data> <span class=data>
% param 'Dof' => $bac_datas->{dof} unless param 'Dof'; % param 'Dof' => $bac_datas->{dof} unless param 'Dof';
%= select_field 'Dof' => $c->get_dow_list(), class => 'input' %= select_field 'Dof' => $c->get_dow_list(), class => 'input'
</p><br> </p><br>
%= hidden_field 'Function' => $bac_datas->{function} %= hidden_field 'Function' => $bac_datas->{function}
%= hidden_field 'VFSType' => $bac_datas->{vfstype} %= hidden_field 'VFSType' => $bac_datas->{vfstype}
%= submit_button $c->l('bac_UPDATE_CONF'), class => 'action' %= submit_button $c->l('bac_UPDATE_CONF'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,43 +2,43 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_restore-panel'> <div id='module' class='module back_workstn_restore-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<h2> <h2>
%=l 'bac_WORKSTN_RESTORE' %= l 'bac_WORKSTN_RESTORE'
</h2> </h2>
<br><br> <br><br>
% if ($bac_datas->{status} ne 'enabled') { % if ($bac_datas->{status} ne 'enabled') {
%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE')) %= $c->render_to_string( inline => ( l 'bac_CONFIGURATION_TO_BE_DONE' ) )
% } else { % } 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> <br><br><span class=label>
%=l 'bac_SELECT_BACKUP_FILE' %= l 'bac_SELECT_BACKUP_FILE'
</span><span class=data> </span><span class=data>
%= select_field 'Backupset' => $c->get_Backupset_options(), class => 'input' %= select_field 'Backupset' => $c->get_Backupset_options(), class => 'input'
</span><br><br> </span><br><br>
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('bac_RESTORE_FROM_WORKSTN'), class => 'action' %= submit_button $c->l('bac_RESTORE_FROM_WORKSTN'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -1,36 +1,59 @@
% layout 'default', title => "Sme server 2 - restore"; % layout 'default', title => "Sme server 2 - restore";
%= stylesheet '/css/backup.css'
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_restore1-panel'>
<div id='module' class='module back_workstn_restore1-panel'> %= javascript '/js/backup_workstation_restore.js'
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<h2> <h2>
%=l 'bac_WORKSTN_RESTORE' %= l 'bac_WORKSTN_RESTORE'
</h2> </h2>
<p>
%= $c->render_to_string(inline => $bac_datas->{restore_log}) <fieldset>
</p><p> <div id="status-container">
%=l 'bac_YOU_MUST_REBOOT' <div><strong>Stage:</strong> <span id="stage">-</span></div>
</p> <div id="progress-bar" aria-label="progress bar" role="progressbar" aria-valuemin="0" aria-valuemax="100">
%= hidden_field 'Function' => $bac_datas->{'function'} <div id="progress-bar-inner">0%</div>
%= submit_button $c->l('bac_REBOOT'), class => 'action' </div>
% end
<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} )
</fieldset>
</p>
-->
<p>
%= l 'bac_YOU_MUST_REBOOT'
</p>
%= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('bac_REBOOT'), class => 'action'
% end
</div> </div>
% end % end

View File

@@ -2,47 +2,47 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_sel_restore-panel'> <div id='module' class='module back_workstn_sel_restore-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<h2><%=l 'bac_WORKSTN_SEL_RESTORE' %></h2> <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> <h3><%= l 'bac_BACKUP_CHOICE' %></h3>
<br><span class=label> <br><span class=label>
%=l 'bac_SELECT_BACKUP_FILE' %= l 'bac_SELECT_BACKUP_FILE'
</span><span class=data> </span><span class=data>
%= select_field 'Backupset' => $c->get_Restoreset_options(), class => 'input' %= select_field 'Backupset' => $c->get_Restoreset_options(), class => 'input'
</span><br> </span><br>
<br><span class=label> <br><span class=label>
%=l 'bac_FILTER_EXPRESSION' %= l 'bac_FILTER_EXPRESSION'
</span><span class=data> </span><span class=data>
%= text_field 'Filterexp', size => 32, class => 'input' %= text_field 'Filterexp', size => 32, class => 'input'
</span><br> </span><br>
<br> <br>
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('PERFORM'), class => 'action' %= submit_button $c->l('PERFORM'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,48 +2,48 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_sel_restore1-panel'> <div id='module' class='module back_workstn_sel_restore1-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2><br> <h2><%= l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2><br>
%= $c->render_to_string(inline => (l 'bac_READ_COMPLETE')) %= $c->render_to_string( inline => ( l 'bac_READ_COMPLETE' ) )
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
<br><span class=label> <br><span class=label>
%=l 'bac_SELECT_FILES_TO_RESTORE' %= l 'bac_SELECT_FILES_TO_RESTORE'
</span><span class=data> </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> </span><br>
<br><span class=label> <br><span class=label>
%=l 'bac_SELECT_DATE_BEFORE' %= l 'bac_SELECT_DATE_BEFORE'
</span><span class=data> </span><span class=data>
%= text_field 'Seldatebefore', size => 32, class => 'input' %= text_field 'Seldatebefore', size => 32, class => 'input'
</span><br> </span><br>
<br> <br>
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= hidden_field 'Backupset' => $bac_datas->{'backupset'} %= hidden_field 'Backupset' => $bac_datas->{'backupset'}
%= hidden_field 'Filterexp' => $bac_datas->{'filterexp'} %= hidden_field 'Filterexp' => $bac_datas->{'filterexp'}
%= submit_button $c->l('PERFORM'), class => 'action' %= submit_button $c->l('PERFORM'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -2,31 +2,31 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_sel_restore2-panel'> <div id='module' class='module back_workstn_sel_restore2-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2><%=l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2> <h2><%= l 'bac_WORKSTN_SELECTIVE_RESTORE' %></h2>
<br> <br>
%= $c->render_to_string(inline => $bac_datas->{restore_log}) %= $c->render_to_string( inline => $bac_datas->{restore_log} )
<br> <br>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('NEXT'), class => 'action' %= submit_button $c->l('NEXT'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -1,51 +1,51 @@
% layout 'default', title => "Sme server 2 - backup - verify"; % layout 'default', title => "Sme server 2 - backup - verify";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_verify-panel'> <div id='module' class='module back_workstn_verify-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2> <h2>
%=l 'bac_VERIFY_WORKSTN_BACKUP_FILE' %= l 'bac_VERIFY_WORKSTN_BACKUP_FILE'
</h2> </h2>
%= form_for '/backup' => (method => 'POST') => begin %= form_for '/backup' => ( method => 'POST' ) => begin
% if ($bac_datas->{status} ne 'enabled') { % if ($bac_datas->{status} ne 'enabled') {
%= $c->render_to_string(inline => (l 'bac_CONFIGURATION_TO_BE_DONE')) %= $c->render_to_string( inline => ( l 'bac_CONFIGURATION_TO_BE_DONE' ) )
% } else { % } 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> <br><br><span class=label>
%=l 'bac_SELECT_BACKUP_FILE' %= l 'bac_SELECT_BACKUP_FILE'
</span><span class=data> </span><span class=data>
%= select_field 'Backupset' => $c->get_Backupset_options(), class => 'input' %= select_field 'Backupset' => $c->get_Backupset_options(), class => 'input'
</span><br> </span><br>
<p><span class=label> <p><span class=label>
%=l 'bac_CHECK_TO_VERIFY_FULL_RESTORE' %= l 'bac_CHECK_TO_VERIFY_FULL_RESTORE'
</span><span class=data> </span><span class=data>
%= check_box 'Verifyall' %= check_box 'Verifyall'
</span></p><br> </span></p><br>
%=l 'bac_CHECK_INTEGRITY_WARNING' %= l 'bac_CHECK_INTEGRITY_WARNING'
<br><br> <br><br>
%= hidden_field 'Function' => $bac_datas->{'function'} . '1' %= hidden_field 'Function' => $bac_datas->{'function'} . '1'
%= submit_button $c->l('bac_VERIFY'), class => 'action' %= submit_button $c->l('bac_VERIFY'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -1,35 +1,35 @@
% layout 'default', title => "Sme server 2 - backup - verify"; % layout 'default', title => "Sme server 2 - backup - verify";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module back_workstn_verify1-panel'> <div id='module' class='module back_workstn_verify1-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas->{function} %= dumper $bac_datas->{function}
<!-- dumper $bac_datas->{'files_list'} --> <!-- dumper $bac_datas->{'files_list'} -->
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<h2><%= l 'bac_VERIFY_WORKSTN_BACKUP_FILE' %></h2> <h2><%= l 'bac_VERIFY_WORKSTN_BACKUP_FILE' %></h2>
<br> <br>
%= $c->render_to_string(inline => $c->workstnVerify()) %= $c->render_to_string( inline => $c->workstnVerify() )
<br> <br>
%= form_for '/backupd' => (method => 'POST') => begin %= form_for '/backupd' => ( method => 'POST' ) => begin
%= hidden_field 'Function' => $bac_datas->{'function'} %= hidden_field 'Function' => $bac_datas->{'function'}
%= submit_button $c->l('NEXT'), class => 'action' %= submit_button $c->l('NEXT'), class => 'action'
% end % end
</div> </div>
% end % end

View File

@@ -1,67 +1,71 @@
<% <%
my $backups = esmith::BackupHistoryDB->open; # no UTF8
my $backups = esmith::BackupHistoryDB->open; # no UTF8 my $now = time();
my $now = time(); my $backup_rec = $backups->new_record(
my $backup_rec = $backups->new_record($now, { $now,
type => 'backup_record', BackupType => 'desktop', {
StartEpochTime => $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.
my $status = system("/sbin/e-smith/signal-event", "pre-backup", "desktop");
if ($status) {
$c->desktopBackupRecordStatus($backup_rec, 'pre-backup', $status);
return ($c->l('bac_OPERATION_STATUS_REPORT').$c->l('bac_ERR_PRE_BACKUP'));
} }
);
my $clvl = $c->stash('compressionlevel'); # Dump the current mysql tables so that they are part of the image.
my $cmd = "/bin/tar --create --file=- --directory / @{$c->stash('exclude')} " # The events handle cases where mysqld is not enabled, and/or is not running.
. "@{$c->stash('directories')} | /usr/bin/gzip $clvl "; my $status = system( "/sbin/e-smith/signal-event", "pre-backup", "desktop" );
if ($status) {
$c->desktopBackupRecordStatus( $backup_rec, 'pre-backup', $status );
return ( $c->l('bac_OPERATION_STATUS_REPORT') . $c->l('bac_ERR_PRE_BACKUP') );
}
my $success = open my $fh, '-|', $cmd; my $clvl = $c->stash('compressionlevel');
#unless ($success) { return "Error download command."; }; my $cmd = "/bin/tar --create --file=- --directory / @{$c->stash('exclude')} "
if ($success) { . "@{$c->stash('directories')} | /usr/bin/gzip $clvl ";
# Try with download plugin - seems to fail to complete download and also
# name of file deposited is not as required.
#my $output = do { local $/; <$fh> };
#close $fh;
#$c->render_file(
#data => $output,
#filename => 'output.txt',
#content_type => 'text/plain'
#);
# So organise it ourselves.
$c->res->headers->content_type('application/x-tar');
$c->res->headers->content_disposition(qq/attachment; filename="smeserver.tgz"/);
my $cb;
$cb = sub {
my $c = shift;
my $size = 500 * 1024;
my $length = sysread($fh, my $buffer, $size);
unless ($length) {
close $fh;
undef $cb;
$c->finish;
return;
}
$c->write_chunk($buffer, $cb);
};
$c->$cb;
} else {
$c->render(text => "Failed to execute command: $!", status => 500);
}
# Remove the dumped tables. my $success = open my $fh, '-|', $cmd;
$status = system("/sbin/e-smith/signal-event", "post-backup", "desktop"); #unless ($success) { return "Error download command."; };
if ($status) { if ($success) {
$c->desktopBackupRecordStatus($backup_rec, 'post-backup', $status); # Try with download plugin - seems to fail to complete download and also
die ($c->l('bac_ERR_POST_BACKUP'),"\n"); # name of file deposited is not as required.
} #my $output = do { local $/; <$fh> };
#close $fh;
#$c->render_file(
#data => $output,
#filename => 'output.txt',
#content_type => 'text/plain'
#);
# So organise it ourselves.
$c->res->headers->content_type('application/x-tar');
$c->res->headers->content_disposition(qq/attachment; filename="smeserver.tgz"/);
my $cb;
$cb = sub {
my $c = shift;
my $size = 500 * 1024;
my $length = sysread( $fh, my $buffer, $size );
unless ($length) {
close $fh;
undef $cb;
$c->finish;
return;
}
$c->write_chunk( $buffer, $cb );
};
$c->$cb;
}
else {
$c->render( text => "Failed to execute command: $!", status => 500 );
}
$now = time(); # Remove the dumped tables.
$backup_rec->set_prop('EndEpochTime', "$now"); $status = system( "/sbin/e-smith/signal-event", "post-backup", "desktop" );
$backup_rec->set_prop('Result', "0"); if ($status) {
$c->desktopBackupRecordStatus( $backup_rec, 'post-backup', $status );
die( $c->l('bac_ERR_POST_BACKUP'), "\n" );
}
$now = time();
$backup_rec->set_prop( 'EndEpochTime', "$now" );
$backup_rec->set_prop( 'Result', "0" );
%> %>
1; 1;

View File

@@ -1,79 +1,78 @@
% layout 'default', title => "Sme server 2 - backup"; % layout 'default', title => "Sme server 2 - backup";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module backup-panel'>
<div id='module' class='module backup-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $bac_datas %= dumper $bac_datas
</p> </p>
% } % }
% if ( stash 'warning' ) { % if ( stash 'warning' ) {
<br><div class=sme-warning> <br><div class=sme-warning>
%= $c->render_to_string(inline => stash 'warning') %= $c->render_to_string( inline => stash 'warning' )
</div> </div>
%} % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
<!--br>Still incomplete click here for previous version <!--br>Still incomplete click here for previous version
<a href="/server-manager/cgi-bin/backup" target='_blank'><b>(Previous Backup version)</b></a> <a href="/server-manager/cgi-bin/backup" target='_blank'><b>(Previous Backup version)</b></a>
<br--> <br-->
<%= $c->render_to_string(inline => (l 'bac_BACKUP_DESC_DAR', $bac_datas->{module}, <%= $c->render_to_string(inline => (l 'bac_BACKUP_DESC_DAR', $bac_datas->{module},
$bac_datas->{dumpsize}, $bac_datas->{tarsize})) %> $bac_datas->{dumpsize}, $bac_datas->{tarsize})) %>
%= form_for '/backup' => (method => 'POST') => begin %= form_for '/backup' => ( method => 'POST' ) => begin
<h2> <h2>
%=l 'bac_BACKUP_CONFIG_STATUS' %= l 'bac_BACKUP_CONFIG_STATUS'
</h2> </h2>
<p><span class=label> <p><span class=label>
%=l 'bac_TAPE_BACKUPS', %= l 'bac_TAPE_BACKUPS',
</span><span class=data2> </span><span class=data2>
%= $c->l(uc($bac_datas->{'backupStatus'})).'.' %= $c->l( uc( $bac_datas->{'backupStatus'} ) ) . '.'
</span> </span>
% if ( $bac_datas->{'backupStatus'} eq 'enabled' ) { % if ( $bac_datas->{'backupStatus'} eq 'enabled' ) {
%= $c->l('bac_BACKUPS_RUN_AT') %= $c->l('bac_BACKUPS_RUN_AT')
<span class=data> <span class=data>
%= $bac_datas->{'backupTime'} %= $bac_datas->{'backupTime'}
</span> </span>
%= $c->l('bac_REMINDER_MESSAGE_AT') %= $c->l('bac_REMINDER_MESSAGE_AT')
<span class=data> <span class=data>
%= $bac_datas->{'reminderTime'} %= $bac_datas->{'reminderTime'}
</span> </span>
%} % }
<p><span class=label> <p><span class=label>
%=l 'bac_WORKSTN_BACKUPS', %= l 'bac_WORKSTN_BACKUPS',
</span><span class=data2> </span><span class=data2>
%= $c->l(uc($bac_datas->{'backupwkStatus'})).'.' %= $c->l( uc( $bac_datas->{'backupwkStatus'} ) ) . '.'
</span> </span>
% if ( $bac_datas->{'backupwkStatus'} eq 'enabled' ) { % if ( $bac_datas->{'backupwkStatus'} eq 'enabled' ) {
%= $c->l('bac_WKBACKUPS_RUN_AT') %= $c->l('bac_WKBACKUPS_RUN_AT')
<b> <b>
%= $bac_datas->{'backupwkTime'} %= $bac_datas->{'backupwkTime'}
</b> </b>
%} % }
<p><span class=label> <p><span class=label>
%=l 'bac_SELECT_AN_ACTION' %= l 'bac_SELECT_AN_ACTION'
</span><span class=data> </span><span class=data>
% param 'Function' => $bac_datas->{function} unless param 'Function'; % param 'Function' => $bac_datas->{function} unless param 'Function';
%= select_field 'Function' => $c->get_function_options(), class => 'input' %= select_field 'Function' => $c->get_function_options(), class => 'input'
</span></p> </span></p>
<br> <br>
%= submit_button $c->l('PERFORM'), class => 'action' %= submit_button $c->l('PERFORM'), class => 'action'
% end
</div> % end
% end </div>
% end

View File

@@ -2,81 +2,81 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module bugreport-panel'> <div id='module' class='module bugreport-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
(DBG)route: <%= $c->current_route %><br> (DBG)route: <%= $c->current_route %><br>
(DBG)trt: <%= $bugr_datas->{trt} %><br> (DBG)trt: <%= $bugr_datas->{trt} %><br>
</p> </p>
% } % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<!--br><%= $modul %><br--> <!--br><%= $modul %><br-->
<b> <b>
%=l ('bugr_DO_NOT_PANIC') %= l('bugr_DO_NOT_PANIC')
</b> </b>
<p> <p>
%=l ('bugr_SME_EXPERIENCE') %= l('bugr_SME_EXPERIENCE')
</p><p> </p><p>
%=l ('bugr_USE_TEMPLATE') %= l('bugr_USE_TEMPLATE')
: <a href="https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs" : <a href="https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs"
target="_blank">https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs</a>. target="_blank">https://wiki.koozali.org/Bugzilla_Help#Reporting_Bugs</a>.
</p><p> </p><p>
%=l ('bugr_PLEASE_REPORT_HERE') %= l('bugr_PLEASE_REPORT_HERE')
: <a href="https://bugs.koozali.org" target="_blank">https://bugs.koozali.org</a>. : <a href="https://bugs.koozali.org" target="_blank">https://bugs.koozali.org</a>.
</p><p> </p><p>
%=l ('bugr_FOLLOWING_REPORT_MIGHT_HELP') %= l('bugr_FOLLOWING_REPORT_MIGHT_HELP')
</p><p> </p><p>
%=l ('bugr_REPORT_CONTENT') %= l('bugr_REPORT_CONTENT')
<br><ul><li> <br><ul><li>
%=l ('bugr_SME_VERSION') %= l('bugr_SME_VERSION')
</li><li> </li><li>
%=l ('bugr_SERVER_MODE') %= l('bugr_SERVER_MODE')
</li><li> </li><li>
%=l ('bugr_PREVIOUS_SERVER_MODE') %= l('bugr_PREVIOUS_SERVER_MODE')
</li><li> </li><li>
%=l ('bugr_KERNEL_AND_ARCH') %= l('bugr_KERNEL_AND_ARCH')
</li><li> </li><li>
%=l ('bugr_INSTALLED_RPMS') %= l('bugr_INSTALLED_RPMS')
</li><li> </li><li>
%=l ('bugr_ALTERED_TEMPLATES') %= l('bugr_ALTERED_TEMPLATES')
</li><li> </li><li>
%=l ('bugr_ALTERED_EVENTS') %= l('bugr_ALTERED_EVENTS')
</li><li> </li><li>
%=l ('bugr_YUM_REPOS') %= l('bugr_YUM_REPOS')
</li><br></ul> </li><br></ul>
%=l ('bugr_PRIVACY') %= l('bugr_PRIVACY')
</p> </p>
<% my $btn = l('bugr_CREATE_REPORT'); %> <% my $btn = l('bugr_CREATE_REPORT'); %>
%= form_for 'bugreport' => (method => 'POST') => begin %= form_for 'bugreport' => ( method => 'POST' ) => begin
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
% end % end
<p><b> <p><b>
%=l ('bugr_DONATING') %= l('bugr_DONATING')
</b><br><br> </b><br><br>
%=l ('bugr_AWARE_SME') %= l('bugr_AWARE_SME')
<br><br><b> <br><br><b>
%=l ('bugr_YOUR_HELP') %= l('bugr_YOUR_HELP')
</b><br><br> </b><br><br>
%=l ('bugr_CONSIDER_DONATING') %= l('bugr_CONSIDER_DONATING')
<br><br> <br><br>
</p> </p>
%= link_to 'https://wiki.koozali.org/Donate' => begin %= link_to 'https://wiki.koozali.org/Donate' => begin
%= image '/images/btn_donateCC_LG.gif' %= image '/images/btn_donateCC_LG.gif'
%= hidden_field 'trt' => $bugr_datas->{trt} %= hidden_field 'trt' => $bugr_datas->{trt}
% end % end
<br> <br>
%=l ('bugr_THANK_YOU') %= l('bugr_THANK_YOU')
</div> </div>
%end % end

View File

@@ -2,33 +2,33 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module bugreport2-panel'> <div id='module' class='module bugreport2-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
(DBG)route: <%= $c->current_route %><br> (DBG)route: <%= $c->current_route %><br>
(DBG)trt: <%= $bugr_datas->{trt} %><br> (DBG)trt: <%= $bugr_datas->{trt} %><br>
</p> </p>
% } % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br><%= $modul %><br> <br><%= $modul %><br>
<% my $btn = l('bugr_Download this report'); %> <% my $btn = l('bugr_Download this report'); %>
%= form_for 'bugreportD' => (method => 'POST') => begin %= form_for 'bugreportD' => ( method => 'POST' ) => begin
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
%= hidden_field 'trt' => $bugr_datas->{trt} %= hidden_field 'trt' => $bugr_datas->{trt}
% end % end
% my $out = "================== <br />"; % my $out = "================== <br />";
% $out .= "Boot anaysis image (right click and save image to download)<br />"; % $out .= "Boot anaysis image (right click and save image to download)<br />";
% $out .= "================== <br />"; % $out .= "================== <br />";
% $out .= "<img src='images/boot.svg' alt='boot timing image' width=95% >"; % $out .= "<img src='images/boot.svg' alt='boot timing image' width=95% >";
<br><%= $c->render_to_string(inline=>$out) %><br> <br><%= $c->render_to_string( inline => $out ) %><br>
</div> </div>
%end % end

View File

@@ -1,45 +1,45 @@
% layout 'default', title => "Sme server 2 - clamav"; % layout 'default', title => "Sme server 2 - clamav";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module clamav-panel'> <div id='module' class='module clamav-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p>(DBG)route: <%= $c->current_route %><br> <p>(DBG)route: <%= $c->current_route %><br>
(DBG)FsS stat: <%= $clm_datas->{FilesystemScan}%> <br> (DBG)FsS stat: <%= $clm_datas->{FilesystemScan} %> <br>
(DBG)Quar stat: <%=$clm_datas->{Quarantine} %> (DBG)Quar stat: <%= $clm_datas->{Quarantine} %>
</p> </p>
%} % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br> <br>
<%= $modul %> <%= $modul %>
<% my $btn = l('SAVE'); %> <% my $btn = l('SAVE'); %>
%= form_for 'clamav' => (method => 'POST') => begin %= form_for 'clamav' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD' %= l 'clm_LABEL_FILESYSTEM_SCAN_PERIOD'
</span><span class=data> </span><span class=data>
% param 'FilesystemScan' => $clm_datas->{FilesystemScan} unless param 'FilesystemScan'; % 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> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'clm_LABEL_QUARANTINE' %= l 'clm_LABEL_QUARANTINE'
</span><span class=data> </span><span class=data>
% param 'Quarantine' => $clm_datas->{Quarantine} unless param 'Quarantine'; % 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> <br>
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'clm_LABEL_CLAM_VERSIONS' %= l 'clm_LABEL_CLAM_VERSIONS'
</span><span class=data> </span><span class=data>
%= $clm_datas->{clam_versions} %= $clm_datas->{clam_versions}
<br> <br>
</span> </span>
</p> </p>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
% end % end
</div> </div>
%end % end

View File

@@ -1,10 +1,10 @@
% layout 'default', title => "Sme server 2 - err 400"; % layout 'default', title => "Sme server 2 - err 400";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module csrf_400-panel'> <div id='module' class='module csrf_400-panel'>
<div class=sme-error> <div class=sme-error>
%= l 'CSRF_VALIDATION_FAILURE' %= l 'CSRF_VALIDATION_FAILURE'
</div> </div>
</div> </div>
% end % end

View File

@@ -1,147 +1,147 @@
% layout 'default', title => 'Sme server 2 - datetime'; % layout 'default', title => 'Sme server 2 - datetime';
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module datetime-panel'> <div id='module' class='module datetime-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $dat_data %= dumper $dat_data
</p> </p>
% } % }
%if ($c->stash('first')) { % if ($c->stash('first')) {
<br><p> <br><p>
%=$c->render_to_string(inline =>$c->l($c->stash('first'))) %= $c->render_to_string( inline => $c->l( $c->stash('first') ) )
</p> </p>
%} elsif ($c->stash('success')) { % } elsif ($c->stash('success')) {
<div class='success '> <div class='success '>
%= $c->l($c->stash('success')); %= $c->l( $c->stash('success') );
</div> </div>
%} elsif ($c->stash('error')) { % } elsif ($c->stash('error')) {
<div class='sme-error'> <div class='sme-error'>
%= $c->l($c->stash('error')); %= $c->l( $c->stash('error') );
</div> </div>
%} % }
<h1><%= $title %></h1><br> <h1><%= $title %></h1><br>
%= $modul %= $modul
<% my $btn = l('SAVE'); %> <% my $btn = l('SAVE'); %>
<br /><br /> <br /><br />
<span> <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> </span><span class=data2>
<!-- <!--
<div id="real-time-clock"></div> <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> </span>
% if ($dat_data->{ntpstatus} eq 'disabled') { % if ($dat_data->{ntpstatus} eq 'disabled') {
<div class='datetime-set-ntp'> <div class='datetime-set-ntp'>
%=l 'dat_NTP_ENABLE_DESC' %= l 'dat_NTP_ENABLE_DESC'
<br> <br>
</div> </div>
% } else { % } else {
% my $current_year = $dat_data->{year}; % my $current_year = $dat_data->{year};
% my $year_options = [ map { [ $_, $_ ] } ($current_year..($current_year+30)) ]; % my $year_options = [ map { [ $_, $_ ] } ( $current_year .. ( $current_year + 30 ) ) ];
% my $month_options = [ map { [ sprintf('%02d', $_), sprintf('%02d', $_) ] } (1..12) ]; % my $month_options = [ map { [ sprintf( '%02d', $_ ), sprintf( '%02d', $_ ) ] } ( 1 .. 12 ) ];
% my $hour_options = [ map { [ sprintf('%02d', $_), sprintf('%02d', $_) ] } (0..23) ]; % my $hour_options = [ map { [ sprintf( '%02d', $_ ), sprintf( '%02d', $_ ) ] } ( 0 .. 23 ) ];
% my $mode_options = [ % my $mode_options = [
% [ $c->l('dat_ntp_server'), 'dat_ntp_server' ], % [ $c->l('dat_ntp_server'), 'dat_ntp_server' ],
% [ $c->l('dat_manually_set'), 'dat_manually_set' ] % [ $c->l('dat_manually_set'), 'dat_manually_set' ]
% ]; % ];
<h2><%= $c->l('Time Configuration') %></h2> <h2><%= $c->l('Time Configuration') %></h2>
%= form_for "datetimeu" => (method => 'post') => begin %= form_for "datetimeu" => ( method => 'post' ) => begin
%= hidden_field 'Old_ntpstatus' => $dat_data->{ntpstatus}; %= hidden_field 'Old_ntpstatus' => $dat_data->{ntpstatus};
%= hidden_field 'trt' => $dat_data->{trt}; %= hidden_field 'trt' => $dat_data->{trt};
<span class=label> <span class=label>
%= label_for time_mode => $c->l('Time Setting Mode:') %= label_for time_mode => $c->l('Time Setting Mode:')
</span><span class=data2> </span><span class=data2>
% param 'time_mode' => $dat_data->{time_mode} unless param 'time_mode'; % param 'time_mode' => $dat_data->{time_mode} unless param 'time_mode';
%= select_field time_mode => ($mode_options, id => 'time_mode_select') %= select_field time_mode => ( $mode_options, id => 'time_mode_select' )
</span> </span>
<div id='ntp_section'> <div id='ntp_section'>
<p> <p>
%= $c->l('dat_NTP_CONFIGURE_DESC') %= $c->l('dat_NTP_CONFIGURE_DESC')
</p> </p>
<div class='datetime-config-row'> <div class='datetime-config-row'>
<div class='datetime-label-col'> <div class='datetime-label-col'>
<span class='datetime-label'> <span class='datetime-label'>
%= label_for ntpserver => $c->l('dat_NTP_Server_URL') %= label_for ntpserver => $c->l('dat_NTP_Server_URL')
</span> </span>
</div> </div>
<div class=datetime-fields-col> <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})$'; % 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'; % 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> <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> <span id="ntp-test-result" class="ntp-test-result ml-2"></span>
</div> </div>
</div> </div>
</div> </div>
<div id='manual_section'> <div id='manual_section'>
<p> <p>
%= $c->l('dat_NTP_DISABLE_DESC') %= $c->l('dat_NTP_DISABLE_DESC')
</p> </p>
<div class='datetime-config-row'> <div class='datetime-config-row'>
<div class='datetime-label-col'> <div class='datetime-label-col'>
<span class='datetime-label'> <span class='datetime-label'>
%= label_for 'datetime_manual' => $c->l('dat_set_manually') %= label_for 'datetime_manual' => $c->l('dat_set_manually')
</span> </span>
</div> </div>
<div class='datetime-fields-col' id='datetime_manual'> <div class='datetime-fields-col' id='datetime_manual'>
<fieldset> <fieldset>
<legend><%= $c->l('Date') %></legend> <legend><%= $c->l('Date') %></legend>
%= label_for year => $c->l('Year:') %= label_for year => $c->l('Year:')
% param 'year' => ($dat_data->{year}) unless param 'year'; % param 'year' => ( $dat_data->{year} ) unless param 'year';
%= select_field year => ($year_options, id => 'year'), required => 'required' %= select_field year => ( $year_options, id => 'year' ), required => 'required'
&nbsp; &nbsp;
%= label_for month => $c->l('Month:') %= label_for month => $c->l('Month:')
% param 'month' => ($dat_data->{month}) unless param 'month'; % param 'month' => ( $dat_data->{month} ) unless param 'month';
%= select_field month => ($month_options, id => 'month'), required => 'required' %= select_field month => ( $month_options, id => 'month' ), required => 'required'
&nbsp; &nbsp;
%= label_for day => $c->l('Day:') %= label_for day => $c->l('Day:')
% param 'day' => ($dat_data->{day}) unless param '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>
<fieldset>
<legend><%= $c->l('Time') %></legend>
%= label_for hour => $c->l('Hour:')
% param 'hour' => ($dat_data->{hour}) unless param 'hour';
%= select_field hour => ($hour_options, id => 'hour'), required => 'required'
&nbsp;
%= label_for minute => $c->l('Minute:') <fieldset>
% param 'minute' => ($dat_data->{minute}) unless param 'minute'; <legend><%= $c->l('Time') %></legend>
%= 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' %= label_for hour => $c->l('Hour:')
&nbsp; % param 'hour' => ( $dat_data->{hour} ) unless param 'hour';
%= select_field hour => ( $hour_options, id => 'hour' ), required => 'required'
&nbsp;
%= label_for second => $c->l('Second:') %= label_for minute => $c->l('Minute:')
% param 'second' => ($dat_data->{second}) unless param 'second'; % param 'minute' => ( $dat_data->{minute} ) unless param 'minute';
%= 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 minute => id => 'minute', size => 2, maxlength => 2, placeholder => 'MM', pattern => '^[0-5][0-9]$', title => 'Minute (00-59)', required => 'required', inputmode => 'numeric', autocomplete => 'off';
</fieldset> &nbsp;
</div>
</div> %= label_for second => $c->l('Second:')
<div class='datetime-config-row'> % param 'second' => ( $dat_data->{second} ) unless param 'second';
<div class='datetime-label-col'> %= 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';
<span class='datetime-label'> </fieldset>
%=l 'dat_TZ' </div>
</span> </div>
</div> <div class='datetime-config-row'>
<div class='datetime-fields-col' id='datetime_manual'> <div class='datetime-label-col'>
% param 'Timezone' => $c->getTimezone() unless param 'Timezone'; <span class='datetime-label'>
%= select_field 'Timezone' => $c->getZone_list(), class => 'input' %= l 'dat_TZ'
</div> </span>
</div> </div>
</div> <div class='datetime-fields-col' id='datetime_manual'>
%= submit_button $btn, class => 'action' % param 'Timezone' => $c->getTimezone() unless param 'Timezone';
% end %= select_field 'Timezone' => $c->getZone_list(), class => 'input'
% } </div>
</div> </div>
</div>
%= submit_button $btn, class => 'action'
% end
% }
</div>
% end % end
1; 1;

View File

@@ -2,12 +2,12 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module default-panel'> <div id='module' class='module default-panel'>
<p><%= $title %></p> <p><%= $title %></p>
<%= $modul %> <%= $modul %>
<p> <p>
%= link_to Initial => '/' %= link_to Initial => '/'
</p> </p>
</div> </div>
%end % end

View File

@@ -1,88 +1,87 @@
% layout 'default', title => "Sme server 2 - directory"; % layout 'default', title => "Sme server 2 - directory";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module directory-panel'> <div id='module' class='module directory-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
(DBG)route: <%= $c->current_route %><br> (DBG)route: <%= $c->current_route %><br>
(DBG)dir. access: <%= $dir_datas->{access}%><br> (DBG)dir. access: <%= $dir_datas->{access} %><br>
</p> </p>
%} % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br>
<%= $modul %>
<% my $btn = l('SAVE'); %>
%= form_for 'directory' => ( method => 'POST' ) => begin
<br> <br>
<%= $modul %> <p>
<% my $btn = l('SAVE'); <span class=label>
%> %= l('dir_LABEL_ROOT'), class => 'label'
</span> <span class=data>
%= $dir_datas->{root}, class => 'data'
%= form_for 'directory' => (method => 'POST') => begin </span>
<br> </p>
<p> <p>
<span class=label> %= l 'dir_DESC_DIRECTORY_ACCESS', class => 'desc'
%= l('dir_LABEL_ROOT'), class => 'label' <br>
</span> <span class=data> <span class=label>
%= $dir_datas->{root}, class => 'data' %= l 'dir_DIRECTORY_ACCESS', class => 'label'
</span> </span><span class=data>
</p> % param 'access' => $dir_datas->{access} unless param 'access';
<p> %= select_field 'access' => [ [ ( l 'NETWORKS_ALLOW_LOCAL' ) => 'private' ], [ ( l 'NETWORKS_ALLOW_PUBLIC' ) => 'public' ] ], class => 'input', id => 'access';
%=l 'dir_DESC_DIRECTORY_ACCESS', class => 'desc' </span>
<br> </p>
<span class=label> <p>
%=l 'dir_DIRECTORY_ACCESS', class => 'label' %= l 'dir_DESC_DEPARTMENT', class => 'desc'
</span><span class=data> <br><br>
% param 'access' => $dir_datas->{access} unless param 'access'; <span class=label>
%= select_field 'access' => [[ (l 'NETWORKS_ALLOW_LOCAL') => 'private'], [ (l 'NETWORKS_ALLOW_PUBLIC') => 'public']], class => 'input', id => 'access' %= l 'dir_DEPARTMENT', class => 'label'
</span> </span><span class=data>
</p> %= text_field 'department' => $dir_datas->{department}, class => 'input'
<p> </span>
%=l 'dir_DESC_DEPARTMENT', class => 'desc' </p><p>
<br><br> <span class=label>
<span class=label> %= l 'dir_COMPANY', class => 'label'
%=l 'dir_DEPARTMENT', class => 'label' </span><span class=data>
</span><span class=data> %= text_field 'company', $dir_datas->{company}, class => 'input'
%= text_field 'department' => $dir_datas->{department}, class => 'input' </span>
</span> </p><p>
</p><p> <span class=label>
<span class=label> %= l 'dir_STREET', class => 'label'
%=l 'dir_COMPANY', class => 'label' </span><span class=data>
</span><span class=data> %= text_field 'street' => $dir_datas->{street}, class => 'input'
%= text_field 'company', $dir_datas->{company}, class => 'input' </span>
</span> </p><p>
</p><p> <span class=label>
<span class=label> %= l 'dir_CITY', class => 'label'
%=l 'dir_STREET', class => 'label' </span><span class=data>
</span><span class=data> %= text_field 'city', $dir_datas->{city}, class => 'input'
%= text_field 'street' => $dir_datas->{street}, class => 'input' </span>
</span> </p><p>
</p><p> <span class=label>
<span class=label> %= l 'dir_PHONENUMBER', class => 'label'
%=l 'dir_CITY', class => 'label' </span><span class=data>
</span><span class=data> %= text_field 'phonenumber', $dir_datas->{phonenumber}, class => 'input'
%= text_field 'city', $dir_datas->{city}, class => 'input' </span>
</span> </p>
</p><p> <p>
<span class=label> %= l 'dir_DESC_EXISTING', class => 'desc'
%=l 'dir_PHONENUMBER', class => 'label' <br><br>
</span><span class=data> <span class=label>
%= text_field 'phonenumber', $dir_datas->{phonenumber}, class => 'input' %= l 'dir_EXISTING', class => 'label'
</span> </span><span class=data>
</p> %= select_field 'existing' => [ [ ( l 'dir_LEAVE' ) => 'leave' ], [ ( l 'dir_UPDATE' ) => 'update' ] ], class => 'input';
<p> </span>
%=l 'dir_DESC_EXISTING', class => 'desc' </p>
<br><br> <p>
<span class=label> <br>
%=l 'dir_EXISTING', class => 'label' %= submit_button "$btn", class => 'action'
</span><span class=data> </p>
%= select_field 'existing'=> [[ (l 'dir_LEAVE') => 'leave'], [ (l 'dir_UPDATE') => 'update' ]], class => 'input' % end
</span>
</p>
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
% end
</div> </div>
%end % end

View File

@@ -1,32 +1,32 @@
% layout 'default', title => "Sme server 2 - domains"; % layout 'default', title => "Sme server 2 - domains";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module domains-panel'> <div id='module' class='module domains-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $dom_datas %= dumper $dom_datas
</p> </p>
% } % }
% if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error')
</div>
%}
<h1><%= $title%></h1> % if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string( inline => stash 'error' )
</div>
% }
% if ($dom_datas->{trt} eq 'ADD' or $dom_datas->{trt} eq 'UPD') { <h1><%= $title %></h1>
%= include 'partials/_dom_upd'
%} elsif ($dom_datas->{trt} eq 'DEL') { % if ($dom_datas->{trt} eq 'ADD' or $dom_datas->{trt} eq 'UPD') {
%= include 'partials/_dom_del' %= include 'partials/_dom_upd'
%} elsif ($dom_datas->{trt} eq 'UP2') { % } elsif ($dom_datas->{trt} eq 'DEL') {
%= include 'partials/_dom_up2' %= include 'partials/_dom_del'
%} else { % } elsif ($dom_datas->{trt} eq 'UP2') {
%= include 'partials/_dom_list' %= include 'partials/_dom_up2'
%} % } else {
%= include 'partials/_dom_list'
% }
</div> </div>
%end % end

View File

@@ -1,70 +1,70 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
% layout 'default', title => "Sme server 2 - E-Mail", share_dir => './'; % layout 'default', title => "Sme server 2 - E-Mail", share_dir => './';
%# css specific to this panel: %# css specific to this panel:
% content_for 'module' => begin % content_for 'module' => begin
% use constant FALSE => 0; % use constant FALSE => 0;
% use constant TRUE => 1; % use constant TRUE => 1;
<div id="module" class="module Emailsettings-panel"> <div id="module" class="module Emailsettings-panel">
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $mai_data->{trt} %= dumper $mai_data->{trt}
</pre> </pre>
% }
<h1><%=$title%></h1>
% if ( stash('modul')) {
%= $c->render_to_string(inline => stash('modul') );
% } % }
%if ($c->stash('first')) { <h1><%= $title %></h1>
<br><p>
%=$c->render_to_string(inline =>$c->l($c->stash('first')))
</p>
%} elsif ($c->stash('success')) { % if ( stash('modul')) {
<div class='success '> %= $c->render_to_string( inline => stash('modul') );
%= $c->l($c->stash('success')); % }
</div>
<br />
%} elsif ($c->stash('error')) { % if ($c->stash('first')) {
<div class='sme-error'> <br><p>
%= $c->l($c->stash('error')); %= $c->render_to_string( inline => $c->l( $c->stash('first') ) )
</div> </p>
<br />
%} % } elsif ($c->stash('success')) {
<div class='success '>
%= $c->l( $c->stash('success') );
</div>
<br />
% } elsif ($c->stash('error')) {
<div class='sme-error'>
%= $c->l( $c->stash('error') );
</div>
<br />
% }
%# Routing to partials according to trt parameter.
%# This ought to be cascading if/then/elsif, but is easier to just stack the if/then's rather like a case statement'
% if ($mai_data->{trt} eq "FRONT") {
%= include 'partials/_mai_FRONT'
% }
% if ($mai_data->{trt} eq "ACC") {
%= include 'partials/_mai_ACC'
% }
% if ($mai_data->{trt} eq "FIL") {
%= include 'partials/_mai_FIL'
% }
% if ($mai_data->{trt} eq "REC") {
%= include 'partials/_mai_REC'
% }
% if ($mai_data->{trt} eq "DEL") {
%= include 'partials/_mai_DEL'
% }
%#Routing to partials according to trt parameter.
%#This ought to be cascading if/then/elsif, but is easier to just stack the if/then's rather like a case statement'
% if ($mai_data->{trt} eq "FRONT") {
%= include 'partials/_mai_FRONT'
%}
% if ($mai_data->{trt} eq "ACC") {
%= include 'partials/_mai_ACC'
%}
% if ($mai_data->{trt} eq "FIL") {
%= include 'partials/_mai_FIL'
%}
% if ($mai_data->{trt} eq "REC") {
%= include 'partials/_mai_REC'
%}
% if ($mai_data->{trt} eq "DEL") {
%= include 'partials/_mai_DEL'
%}
</div> </div>
%end % end

View File

@@ -1,23 +1,23 @@
% layout 'default', title => "Sme server 2 - embedded"; % layout 'default', title => "Sme server 2 - embedded";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module module-panel'> <div id='module' class='module module-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1> Embedded - <%=$title %></h1><br> <h1> Embedded - <%= $title %></h1><br>
<p>If the legacy panel does not appear, then you may not be logged into the original Server manager.<br />You can log in by clicking <a href="/server-manager" target='_blank'>here</a>. Or by clicking on the "Legacy SM" button at the top of the window.</p> <p>If the legacy panel does not appear, then you may not be logged into the original Server manager.<br />You can log in by clicking <a href="/server-manager" target='_blank'>here</a>. Or by clicking on the "Legacy SM" button at the top of the window.</p>
% my $height = $c->stash('height') | '600px'; % my $height = $c->stash('height') | '600px';
% if ($height !~ /px$/) { $height = $height.'px';} % if ( $height !~ /px$/ ) { $height = $height . 'px'; }
<object id="legacy-embedded" class="legacy-embedded" data="<%=$c->stash('modul') %>" style="width:99%;height:<%= $height %>;" title="<%= $c->stash('title') %>" type="text/html" ><%= $c->stash('title') %> not found</object> <object id="legacy-embedded" class="legacy-embedded" data="<%= $c->stash('modul') %>" style="width:99%;height:<%= $height %>;" title="<%= $c->stash('title') %>" type="text/html" ><%= $c->stash('title') %> not found</object>
</div> </div>
%end % end

View File

@@ -2,16 +2,16 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id="central" class="sme-error module"> <div id="central" class="sme-error module">
<p><br>dev<br> Oups !!! <p><br>dev<br> Oups !!!
The page you were requesting The page you were requesting
"<%= $self->req->url->path || '/' %>" "<%= $self->req->url->path || '/' %>"
caused en exception !! caused en exception !!
<br>dev<br> <br>dev<br>
</p> </p>
<p> <p>
%= link_to Back => '/' %= link_to Back => '/'
</p> </p>
</div> </div>
% end % end

View File

@@ -1,33 +1,33 @@
% layout 'default', title => "Sme server 2 - groups"; % layout 'default', title => "Sme server 2 - groups";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module groups-panel'> <div id='module' class='module groups-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $grp_datas %= dumper $grp_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1>
% if ($grp_datas->{trt} eq 'ADD') { <h1><%= $title %></h1>
%= include 'partials/_grp_add'
%} elsif ($grp_datas->{trt} eq 'DEL') { % if ($grp_datas->{trt} eq 'ADD') {
%= include 'partials/_grp_del' %= include 'partials/_grp_add'
%} elsif ($grp_datas->{trt} eq 'UPD') { % } elsif ($grp_datas->{trt} eq 'DEL') {
%= include 'partials/_grp_upd' %= include 'partials/_grp_del'
%} else { % } elsif ($grp_datas->{trt} eq 'UPD') {
%= include 'partials/_grp_list' %= include 'partials/_grp_upd'
%} % } else {
%= include 'partials/_grp_list'
% }
</div> </div>
%end % end

View File

@@ -1,35 +1,35 @@
% layout 'default', title => "Sme server 2 - hostentries"; % layout 'default', title => "Sme server 2 - hostentries";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module hostentries-panel'> <div id='module' class='module hostentries-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $hos_datas %= dumper $hos_datas
</p> </p>
% } % }
<h1><%= $title%></h1>
% if ( $notif ) { <h1><%= $title %></h1>
<br>
<span class=sme-error>
<%= $c->render_to_string(inline => $notif) %>
</span>
%}
% if ($hos_datas->{trt} eq 'ADD' or $hos_datas->{trt} eq 'UPD') { % if ( $notif ) {
%= include 'partials/_hos_upd' <br>
%} elsif ($hos_datas->{trt} eq 'DEL') { <span class=sme-error>
%= include 'partials/_hos_del' <%= $c->render_to_string( inline => $notif ) %>
%} elsif ( $hos_datas->{trt} eq 'ALC' or $hos_datas->{trt} eq 'ULC') { </span>
%= include 'partials/_hos_ulc' % }
%} elsif ( $hos_datas->{trt} eq 'ARM' or $hos_datas->{trt} eq 'URM') {
%= include 'partials/_hos_urm' % if ($hos_datas->{trt} eq 'ADD' or $hos_datas->{trt} eq 'UPD') {
%} else { %= include 'partials/_hos_upd'
%= include 'partials/_hos_list' % } elsif ($hos_datas->{trt} eq 'DEL') {
%} %= include 'partials/_hos_del'
% } elsif ( $hos_datas->{trt} eq 'ALC' or $hos_datas->{trt} eq 'ULC') {
%= include 'partials/_hos_ulc'
% } elsif ( $hos_datas->{trt} eq 'ARM' or $hos_datas->{trt} eq 'URM') {
%= include 'partials/_hos_urm'
% } else {
%= include 'partials/_hos_list'
% }
</div> </div>
%end % end

View File

@@ -1,39 +1,39 @@
% layout 'default', title => "Sme server 2 - ibays"; % layout 'default', title => "Sme server 2 - ibays";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module ibays-panel'> <div id='module' class='module ibays-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $iba_datas %= dumper $iba_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
% if ( stash 'modul' ) { % if ( stash 'modul' ) {
%= $c->render_to_string(inline => stash 'modul' ); %= $c->render_to_string( inline => stash 'modul' );
% } % }
% if ($iba_datas->{trt} eq 'ADD') { % if ($iba_datas->{trt} eq 'ADD') {
%= include 'partials/_iba_upd' %= include 'partials/_iba_upd'
%} elsif ($iba_datas->{trt} eq 'DEL') { % } elsif ($iba_datas->{trt} eq 'DEL') {
%= include 'partials/_iba_del' %= include 'partials/_iba_del'
%} elsif ($iba_datas->{trt} eq 'UPD') { % } elsif ($iba_datas->{trt} eq 'UPD') {
%= include 'partials/_iba_upd' %= include 'partials/_iba_upd'
%} elsif ($iba_datas->{trt} eq 'PWD') { % } elsif ($iba_datas->{trt} eq 'PWD') {
%= include 'partials/_iba_pwd' %= include 'partials/_iba_pwd'
%} else { % } else {
%= include 'partials/_iba_list' %= include 'partials/_iba_list'
%} % }
</div> </div>
%end % end

View File

@@ -2,27 +2,27 @@
% content_for 'module' => begin % content_for 'module' => begin
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
</p> </p>
% } % }
<div id='central' class='central initial-panel module'> <div id='central' class='central initial-panel module'>
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h3> <h3>
%= $title %= $title
</h3> </h3>
<br> <br>
<p> <p>
%= $modul %= $modul
</p> </p>
</div> </div>
% end % end

View File

@@ -1,32 +1,32 @@
% layout 'default', title => "Sme server 2 - localnetworks"; % layout 'default', title => "Sme server 2 - localnetworks";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module localnetworks-panel'> <div id='module' class='module localnetworks-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $c->stash("ret") %= dumper $c->stash("ret")
%= dumper $c->param("localnetwork"); %= dumper $c->param("localnetwork");
%= dumper $c->stash("ln_datas"); %= dumper $c->stash("ln_datas");
%= dumper $c->param("deletehost"); %= dumper $c->param("deletehost");
</p> </p>
% } % }
<h1><%= $title%></h1>
%= $modul
% if ($ln_datas->{trt} eq 'ADD') { <h1><%= $title %></h1>
%= include 'partials/_ln_add' %= $modul
%} elsif ($ln_datas->{trt} eq 'ADD1') {
%= include 'partials/_ln_add' % if ($ln_datas->{trt} eq 'ADD') {
%} elsif ($ln_datas->{trt} eq 'DEL') { %= include 'partials/_ln_add'
%= include 'partials/_ln_del' % } elsif ($ln_datas->{trt} eq 'ADD1') {
%} elsif ($ln_datas->{trt} eq 'DEL1'){ %= include 'partials/_ln_add'
%= include 'partials/_ln_list' % } elsif ($ln_datas->{trt} eq 'DEL') {
%} else { %= include 'partials/_ln_del'
%= include 'partials/_ln_list' % } elsif ($ln_datas->{trt} eq 'DEL1'){
%} %= include 'partials/_ln_list'
% } else {
%= include 'partials/_ln_list'
% }
</div> </div>
%end % end

View File

@@ -2,68 +2,68 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module login-panel'> <div id='module' class='module login-panel'>
%if ( config 'debug' ) { % if ( config 'debug' ) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%if ( stash 'trt' ) { % if ( stash 'trt' ) {
%= dumper stash 'trt' %= dumper stash 'trt'
%} % }
</p> </p>
%} % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div>
%}
% my $btn = l('use_SIGNIN');
% if ( $trt eq 'RESET' ) {
<br><div class=sme-error><h2>
%= $c->render_to_string(inline => l 'use_DESC_RESET')
</h2></div>
% $btn = l('use_RESET');
%}
<h1>
%=l 'use_TITLE'
</h1>
%= form_for '/login' => (method => 'POST') => begin
<p><span class=label>
%=l 'USER_NAME'
</span><span class=input>
%= text_field 'Username'
</span></p>
% if ( $trt ne 'RESET' ) {
<p><span class=label>
%=l 'PASSWORD'
</span><span class=input>
%= 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>
% }
</span></p>
%}
%= hidden_field 'From' => $c->tx->req->url
%= hidden_field 'Trt' => $trt
<br>
<div class='center'>
%= submit_button "$btn", class => 'action'
</div> </div>
%if ( config 'pwdreset' ) { % }
<div class='center'><a href='login2'>
%=l 'use_FORGOT' % my $btn = l('use_SIGNIN');
</a></div> % if ( $trt eq 'RESET' ) {
%} <br><div class=sme-error><h2>
%= $c->render_to_string( inline => l 'use_DESC_RESET' )
</h2></div>
% $btn = l('use_RESET');
% }
<h1>
%= l 'use_TITLE'
</h1>
%= form_for '/login' => ( method => 'POST' ) => begin
<p><span class=label>
%= l 'USER_NAME'
</span><span class=input>
%= text_field 'Username'
</span></p>
% if ( $trt ne 'RESET' ) {
<p><span class=label>
%= l 'PASSWORD'
</span><span class=input>
%= 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>
% }
</span></p>
% }
%= hidden_field 'From' => $c->tx->req->url
%= hidden_field 'Trt' => $trt
<br>
<div class='center'>
%= submit_button "$btn", class => 'action'
</div>
% if ( config 'pwdreset' ) {
<div class='center'><a href='login2'>
%= l 'use_FORGOT'
</a></div>
% }
% end % end
</div> </div>
%end % end

View File

@@ -1,9 +1,9 @@
% layout 'default', title => 'Sme server 2 - Manual'; % layout 'default', title => 'Sme server 2 - Manual';
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module manual-panel'> <div id='module' class='module manual-panel'>
<p><h1><%= $title %></h1></p> <p><h1><%= $title %></h1></p>
%= $c->render_to_string( inline => stash 'modul' ) %= $c->render_to_string( inline => stash 'modul' )
</div> </div>
% end % end

View File

@@ -1,27 +1,27 @@
% layout 'default', title => "Sme server 2 - module"; % layout 'default', title => "Sme server 2 - module";
% content_for 'module' => begin % content_for 'module' => begin
%= stylesheet '/css/module.css' %= stylesheet '/css/module.css'
<div id='module' class='module module-panel'> <div id='module' class='module module-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
<strong>Debug Info:</strong> <strong>Debug Info:</strong>
<pre><%= dumper $c->current_route %></pre> <pre><%= dumper $c->current_route %></pre>
</p> </p>
% } % }
% if (stash 'error') { % if (stash 'error') {
<div class="sme-error"> <div class="sme-error">
<strong>Error:</strong><br> <strong>Error:</strong><br>
<%= $c->render_to_string(inline => stash 'error') %> <%= $c->render_to_string( inline => stash 'error' ) %>
</div>
% }
<h1><%= $title %></h1>
<div class="module-content">
<%= $c->render_to_string(inline => stash 'modul') %>
</div> </div>
% }
<h1><%= $title %></h1>
<div class="module-content">
<%= $c->render_to_string( inline => stash 'modul' ) %>
</div>
</div> </div>
% end % end

View File

@@ -2,14 +2,14 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id="central" class="sme-error module"> <div id="central" class="sme-error module">
<p><br>dev<br> Oups !!! <p><br>dev<br> Oups !!!
The page you were requesting The page you were requesting
"<%= $self->req->url->path || '/' %>" "<%= $self->req->url->path || '/' %>"
could not be found. could not be found.
<br>dev<br> <br>dev<br>
%= link_to Initial => '/Initial' %= link_to Initial => '/Initial'
</p> </p>
</div> </div>
% end % end

View File

@@ -1,10 +1,10 @@
% layout 'defaultlight', title => 'Sme server 2 - Error P'; % layout 'defaultlight', title => 'Sme server 2 - Error P';
<div id='central' class='central not_found-panel module'> <div id='central' class='central not_found-panel module'>
<p><br><br> <p><br><br>
The page you were requesting The page you were requesting
"<%= $self->req->url->path || '/' %>" "<%= $self->req->url->path || '/' %>"
could not be found. could not be found.
<br><br> <br><br>
%= link_to Welcome => '/' %= link_to Welcome => '/'
</p> </p>
</div> </div>

View File

@@ -1,29 +1,29 @@
<div id='dom_del'> <div id='dom_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/domains2' => (method => 'POST') => begin %= form_for '/domains2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'dom_REMOVE_TITLE' %= l 'dom_REMOVE_TITLE'
</h2> </h2>
</p> </p>
<p> <p>
%= $c->l('dom_REMOVE_DESCRIPTION', $dom_datas->{domain}, $dom_datas->{description}); %= $c->l( 'dom_REMOVE_DESCRIPTION', $dom_datas->{domain}, $dom_datas->{description} );
</p> </p>
<p><b>
%= l('dom_ABOUT_TO_REMOVE')
<b></p>
<p> <p><b>
<br> %= l('dom_ABOUT_TO_REMOVE')
%= submit_button "$btn", class => 'action' <b></p>
</p>
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => $dom_datas->{trt} %= hidden_field 'trt' => $dom_datas->{trt}
%= hidden_field 'Domain' => $dom_datas->{domain} %= hidden_field 'Domain' => $dom_datas->{domain}
% end % end
</div> </div>

View File

@@ -1,123 +1,123 @@
<div id='dom_list'> <div id='dom_list'>
% my $btn = l('dom_ADD_DOMAIN'); % my $btn = l('dom_ADD_DOMAIN');
%= form_for '/domains' => (method => 'POST') => begin %= form_for '/domains' => ( method => 'POST' ) => begin
%= l('dom_FORM_DESCRIPTION'); %= l('dom_FORM_DESCRIPTION');
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => 'ADD' <p>
<br>
% end %= submit_button "$btn", class => 'action'
</p>
<h2>
%=l 'dom_CURRENT_DOMAINS'
</h2>
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'DOMAIN_NAME'
</th>
<th class='sme-border'>
%=l 'DESCRIPTION_BRIEF'
</th>
<th class='sme-border'>
%=l 'dom_CONTENT'
</th>
<th class='sme-border'>
%=l 'dom_LABEL_NAMESERVERS'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $domain ( @$domains ) {
<tr>
%= t td => (class => 'sme-border') => $domain->{Domain}
%= t td => (class => 'sme-border') => $domain->{'Description'}
%= t td => (class => 'sme-border') => $domain->{'Content'}
%= t td => (class => 'sme-border') => l('dom_' . $domain->{'Nameservers'})
%# my $actionModify = "<a href='domains2?CsrfDef=TOKEN&trt=UPD&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-modify-button' title=".l('MODIFY').">".l('MODIFY')."</button>" . "</a>";
%my $modify_text = l('MODIFY'); # Localized text
%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>
%};
%my $removable = ($domain->{Removable} || 'yes');
%my $actionRemove = '&nbsp;';
%if ($removable eq 'yes') {
%my $remove_text = l('REMOVE'); # Localized text
%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>
%};
%# $actionRemove = "<a href='domains2?CsrfDef=TOKEN&trt=DEL&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-remove-button' title=".l('REMOVE').">".l('REMOVE')."</button>" . "</a>";
%};
<td class='sme-border' style="min-width:15em">
<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %>
</td>
</tr>
% }
</tbody>
</table>
%= hidden_field 'trt' => 'ADD' %= hidden_field 'trt' => 'ADD'
%= form_for '/domains' => (method => 'POST') => begin % end
<!-- <HR class="sectionbar">--> <h2>
<br> %= l 'dom_CURRENT_DOMAINS'
</h2>
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%= l 'DOMAIN_NAME'
</th>
<th class='sme-border'>
%= l 'DESCRIPTION_BRIEF'
</th>
<th class='sme-border'>
%= l 'dom_CONTENT'
</th>
<th class='sme-border'>
%= l 'dom_LABEL_NAMESERVERS'
</th>
<th class='sme-border'>
%= l 'ACTION'
</th>
</tr>
</thead><tbody>
% my $btn2 = l('dom_DOMAINS_PAGE_CORPORATE_DNS'); % foreach my $domain ( @$domains ) {
<tr>
%= t td => ( class => 'sme-border' ) => $domain->{Domain}
%= t td => ( class => 'sme-border' ) => $domain->{'Description'}
%= t td => ( class => 'sme-border' ) => $domain->{'Content'}
%= t td => ( class => 'sme-border' ) => l( 'dom_' . $domain->{'Nameservers'} )
<h3> %# my $actionModify = "<a href='domains2?CsrfDef=TOKEN&trt=UPD&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-modify-button' title=".l('MODIFY').">".l('MODIFY')."</button>" . "</a>";
%= l 'dom_DESC_CORPORATE_DNS_CURRENT' % my $modify_text = l('MODIFY'); # Localized text
</h3> % 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>
% };
% my $removable = ( $domain->{Removable} || 'yes' );
% my $actionRemove = '&nbsp;';
% if ($removable eq 'yes') {
% my $remove_text = l('REMOVE'); # Localized text
% 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>
% };
%# $actionRemove = "<a href='domains2?CsrfDef=TOKEN&trt=DEL&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-remove-button' title=".l('REMOVE').">".l('REMOVE')."</button>" . "</a>";
% };
<td class='sme-border' style="min-width:15em">
<%= $c->render_to_string( inline => $actionModify ) %> <%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
<p> </tbody>
<span class=label> </table>
%=l 'dom_LABEL_CORPORATE_DNS_PRIMARY'
</span><span class=data>
%= $dom_datas->{forwarder}
</span>
</p>
% if ($dom_datas->{forwarder2}) { %= hidden_field 'trt' => 'ADD'
<p>
<span class=label>
%=l 'dom_LABEL_CORPORATE_DNS_SECONDARY'
</span><span class=data>
%= $dom_datas->{forwarder2}
</span>
</p>
% }
<p> %= form_for '/domains' => ( method => 'POST' ) => begin
%= submit_button "$btn2", class => 'action'
</p> <!-- <HR class="sectionbar">-->
%= hidden_field 'trt' => 'UP2' <br>
% end
% my $btn2 = l('dom_DOMAINS_PAGE_CORPORATE_DNS');
<h3>
%= l 'dom_DESC_CORPORATE_DNS_CURRENT'
</h3>
<p>
<span class=label>
%= l 'dom_LABEL_CORPORATE_DNS_PRIMARY'
</span><span class=data>
%= $dom_datas->{forwarder}
</span>
</p>
% if ($dom_datas->{forwarder2}) {
<p>
<span class=label>
%= l 'dom_LABEL_CORPORATE_DNS_SECONDARY'
</span><span class=data>
%= $dom_datas->{forwarder2}
</span>
</p>
% }
<p>
%= submit_button "$btn2", class => 'action'
</p>
%= hidden_field 'trt' => 'UP2'
% end
</div> </div>

View File

@@ -1,37 +1,37 @@
<div id='dom_up2'> <div id='dom_up2'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/domains2' => (method => 'POST') => begin %= form_for '/domains2' => ( method => 'POST' ) => begin
<p><br> <p><br>
%=l 'dom_DESC_CORPORATE_DNS' %= l 'dom_DESC_CORPORATE_DNS'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'dom_LABEL_CORPORATE_DNS_PRIMARY' %= l 'dom_LABEL_CORPORATE_DNS_PRIMARY'
</span><span class=data> </span><span class=data>
% param 'Forwarder' => $dom_datas->{forwarder} unless param 'Forwarder'; % param 'Forwarder' => $dom_datas->{forwarder} unless param 'Forwarder';
%= text_field 'Forwarder', class => 'input' %= text_field 'Forwarder', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'dom_LABEL_CORPORATE_DNS_SECONDARY', class => 'label' %= l 'dom_LABEL_CORPORATE_DNS_SECONDARY', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Forwarder2' => $dom_datas->{forwarder2} unless param 'Forwarder2'; % param 'Forwarder2' => $dom_datas->{forwarder2} unless param 'Forwarder2';
%= text_field 'Forwarder2', class => 'input' %= text_field 'Forwarder2', class => 'input'
</span> </span>
</p> </p>
<p> <p>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $dom_datas->{trt} %= hidden_field 'trt' => $dom_datas->{trt}
%end % end
</div> </div>

View File

@@ -1,70 +1,70 @@
<div id='dom_upd'> <div id='dom_upd'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/domains2' => (method => 'POST') => begin %= form_for '/domains2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
% if ( $dom_datas->{trt} eq "ADD" ) { % if ( $dom_datas->{trt} eq "ADD" ) {
%=l 'dom_CREATE_TITLE' %= l 'dom_CREATE_TITLE'
% } else { % } else {
%=l 'dom_MODIFY_TITLE' %= l 'dom_MODIFY_TITLE'
% $btn = l('MODIFY'); % $btn = l('MODIFY');
% } % }
</h2> </h2>
</p> </p>
<p><br> <p><br>
<span class=label> <span class=label>
%=l 'DOMAIN_NAME', class => 'label' %= l 'DOMAIN_NAME', class => 'label'
</span><span class=data> </span><span class=data>
% if ( $dom_datas->{trt} eq "ADD" ) { % if ( $dom_datas->{trt} eq "ADD" ) {
% param 'Domain' => $dom_datas->{domain} unless param 'Domain'; % param 'Domain' => $dom_datas->{domain} unless param 'Domain';
%= text_field 'Domain', class => 'input' %= text_field 'Domain', class => 'input'
% } else { % } else {
%= hidden_field 'Domain' => $dom_datas->{domain} %= hidden_field 'Domain' => $dom_datas->{domain}
%= $dom_datas->{domain}, class => 'data' %= $dom_datas->{domain}, class => 'data'
% } % }
</span> </span>
</p> </p>
<p><br> <p><br>
<span class=label> <span class=label>
%=l 'DESCRIPTION_BRIEF', class => 'label' %= l 'DESCRIPTION_BRIEF', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Description' => $dom_datas->{description} unless param 'Description'; % param 'Description' => $dom_datas->{description} unless param 'Description';
%= text_field 'Description', class => 'input' %= text_field 'Description', class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%=l 'dom_CONTENT_FIELD_DESCRIPTION' %= l 'dom_CONTENT_FIELD_DESCRIPTION'
<br> <br>
<span class=label> <span class=label>
%= $c->l('dom_CONTENT', ''); %= $c->l( 'dom_CONTENT', '' );
</span><span class=data> </span><span class=data>
% param 'Content' => $dom_datas->{content} unless param 'Content'; % param 'Content' => $dom_datas->{content} unless param 'Content';
%= select_field 'Content', $c->content_options_list(), class => 'input' %= select_field 'Content', $c->content_options_list(), class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%=l 'dom_DESC_NAMESERVERS' %= l 'dom_DESC_NAMESERVERS'
<br> <br>
<span class=label> <span class=label>
%=l 'dom_LABEL_NAMESERVERS', class => 'label' %= l 'dom_LABEL_NAMESERVERS', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Nameservers' => $dom_datas->{nameservers} unless param 'Nameservers'; % param 'Nameservers' => $dom_datas->{nameservers} unless param 'Nameservers';
%= select_field 'Nameservers', $c->nameserver_options_list(), class => 'input' %= select_field 'Nameservers', $c->nameserver_options_list(), class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $dom_datas->{trt} %= hidden_field 'trt' => $dom_datas->{trt}
%end % end
</div> </div>

View File

@@ -1,14 +1,14 @@
<div id="footer" class="module"> <div id="footer" class="module">
<!--<HR class="sme-copyrightbar">--> <!--<HR class="sme-copyrightbar">-->
<a href="https://mojolicious.org" target="_blank"><img src="images/sme-mojo-logo-white.png" style="position:relative;"></a> <a href="https://mojolicious.org" target="_blank"><img src="images/sme-mojo-logo-white.png" style="position:relative;"></a>
<font class="sme-copyright"> <font class="sme-copyright">
% if ( $c->is_logged_in && $c->is_admin) { % if ( $c->is_logged_in && $c->is_admin) {
SME Server <%= session 'releaseVersion' %>-<%= $c->app->VERSION %> Manager II SME Server <%= session 'releaseVersion' %>-<%= $c->app->VERSION %> Manager II
% my $mode; % my $mode;
% if (config->{mode} eq 'development'){ $mode = '-dev';} else { $mode = '';} % if ( config->{mode} eq 'development' ) { $mode = '-dev'; } else { $mode = ''; }
(Mojo:<%= Mojolicious->VERSION %><%= $mode %>) (Mojo:<%= Mojolicious->VERSION %><%= $mode %>)
% } % }
<br>Copyright 1999-2006 Mitel Corporation<br> <br>Copyright 1999-2006 Mitel Corporation<br>
%= session 'copyRight' %= session 'copyRight'
<br>Copyright (c) 2013-2024 Koozali Foundation Inc.<br> <br>Copyright (c) 2013-2024 Koozali Foundation Inc.<br>
</font> </font>

View File

@@ -1,59 +1,59 @@
<div id='grp_add'> <div id='grp_add'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/groups2' => (method => 'POST') => begin %= form_for '/groups2' => ( method => 'POST' ) => begin
<p><h2> <p><h2>
%=l 'CREATE_GROUP' %= l 'CREATE_GROUP'
</h2><br><br> </h2><br><br>
%=l 'grp_GROUP_NAMING' %= l 'grp_GROUP_NAMING'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'GROUP_NAME', class => 'label' %= l 'GROUP_NAME', class => 'label'
</span><span class=data> </span><span class=data>
%= text_field 'groupName', class => 'input' %= text_field 'groupName', class => 'input'
</span> </span>
</p> </p>
<p> <p>
%=l 'grp_GROUP_DESC_EXPL' %= l 'grp_GROUP_DESC_EXPL'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'grp_GROUP_DESC', class => 'label' %= l 'grp_GROUP_DESC', class => 'label'
</span><span class=data> </span><span class=data>
%= text_field 'groupDesc', class => 'input' %= text_field 'groupDesc', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'GROUP_MEMBERS', class => 'label' %= l 'GROUP_MEMBERS', class => 'label'
</span> </span>
<br> <br>
<span class=data> <span class=data>
%= check_box 'groupMembers' => 'admin' %= check_box 'groupMembers' => 'admin'
Administrator (admin) Administrator (admin)
<br> <br>
% my $users = $c->gen_users_list(); % my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users ) % foreach my $key ( sort keys %$users )
% { % {
%= check_box 'groupMembers' => $key %= check_box 'groupMembers' => $key
%=$users->{$key} %= $users->{$key}
%= "(" . $key . ")" %= "(" . $key . ")"
<br> <br>
% } % }
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $grp_datas->{trt} %= hidden_field 'trt' => $grp_datas->{trt}
% end % end
</div> </div>

View File

@@ -1,63 +1,63 @@
<div id='grp_del'> <div id='grp_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/groups2' => (method => 'POST') => begin %= form_for '/groups2' => ( method => 'POST' ) => begin
<p><h2> <p><h2>
%=l 'REMOVE_USER_GROUP' %= l 'REMOVE_USER_GROUP'
</h2> </h2>
<p> <p>
%=l('grp_DELETE_DESCRIPTION', $grp_datas->{group}) %= l( 'grp_DELETE_DESCRIPTION', $grp_datas->{group} )
</p> </p>
<p> <p>
% my $size = keys %$members; % my $size = keys %$members;
% if ( ! $size ){ % if ( ! $size ){
%=l 'ACCOUNT_GROUP_NONE' %= l 'ACCOUNT_GROUP_NONE'
% } else { % } else {
%=l 'grp_GROUP_HAS_MEMBERS' %= l 'grp_GROUP_HAS_MEMBERS'
<br> <br>
<ul> <ul>
% foreach my $key ( keys %$members) % foreach my $key ( keys %$members )
% { % {
<li> <li>
%=$key %= $key
( (
%=$members->{$key} %= $members->{$key}
) )
</li> </li>
% } % }
</ul> </ul>
% } % }
</p> </p>
<p> <p>
% $size = keys %$ibays; % $size = keys %$ibays;
% if ( $size ) { % if ( $size ) {
%=l 'grp_IBAYS_WILL_BE_CHANGED' %= l 'grp_IBAYS_WILL_BE_CHANGED'
<br> <br>
<ul> <ul>
% foreach my $key (sort ( keys %$ibays )) % foreach my $key ( sort ( keys %$ibays ) )
% { % {
<li> <li>
%=$key %= $key
( (
%=$ibays->{$key} %= $ibays->{$key}
) )
</li> </li>
% } % }
</ul> </ul>
% } % }
</p> </p>
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => $grp_datas->{trt} <p>
%= hidden_field 'groupName' => $grp_datas->{group} <br>
%= submit_button "$btn", class => 'action'
</p>
% end %= hidden_field 'trt' => $grp_datas->{trt}
%= hidden_field 'groupName' => $grp_datas->{group}
</div> % end
</div>

View File

@@ -1,72 +1,72 @@
<div id='grp_list'> <div id='grp_list'>
% my $btn = l('GROUP_ADD'); % my $btn = l('GROUP_ADD');
%= form_for '/groups' => (method => 'POST') => begin %= form_for '/groups' => ( method => 'POST' ) => begin
%= hidden_field 'trt' => 'ADD' %= hidden_field 'trt' => 'ADD'
<p> <br> <p> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
<p> <h2> <p> <h2>
%=l 'grp_CURRENT_LIST' %= l 'grp_CURRENT_LIST'
</h2><br><br> </h2><br><br>
% my $numGroups = @$groups; % my $numGroups = @$groups;
% if ($numGroups == 0){ % if ($numGroups == 0){
%=l 'ACCOUNT_GROUP_NONE' %= l 'ACCOUNT_GROUP_NONE'
% } else { % } else {
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'GROUP'
</th>
<th class='sme-border'>
%=l 'DESCRIPTION'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $group ( @$groups )
% {
<tr> <tr>
%= t td => (class => 'sme-border') => $group->key <th class='sme-border'>
%= t td => (class => 'sme-border') => $group->prop('Description') %= l 'GROUP'
<td class='sme-border' style="min-width:15em"> </th>
%my $modify_text = l('MODIFY'); # Localized text <th class='sme-border'>
%my $csrf_token = "TOKEN"; # CSRF token for security %= l 'DESCRIPTION'
%my $group_name = $group->key; # group name extracted from the data structure </th>
%my $actionModify = qq{ <th class='sme-border'>
% <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name"> %= l 'ACTION'
% <button type='button' class='sme-modify-button' title='$modify_text' > </th>
% $modify_text </tr>
% </button> </thead><tbody>
% </a>
%}; % foreach my $group (@$groups)
%my $remove_text = l('REMOVE'); # Localized text % {
%my $csrf_token = "TOKEN"; # CSRF token for security <tr>
%my $group_name = $group->key; # group name extracted from the data structure %= t td => ( class => 'sme-border' ) => $group->key
%my $actionRemove = qq{ %= t td => ( class => 'sme-border' ) => $group->prop('Description')
% <a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name"> <td class='sme-border' style="min-width:15em">
% <button type='button' class='sme-remove-button' title='$remove_text' > % my $modify_text = l('MODIFY'); # Localized text
% $remove_text % my $csrf_token = "TOKEN"; # CSRF token for security
% </button> % my $group_name = $group->key; # group name extracted from the data structure
% </a> % my $actionModify = qq{
%}; % <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name">
<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> % <button type='button' class='sme-modify-button' title='$modify_text' >
</td> % $modify_text
</tr> % </button>
% } % </a>
</tbody> % };
</table> % my $remove_text = l('REMOVE'); # Localized text
<%} %> % my $csrf_token = "TOKEN"; # CSRF token for security
</p> % 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>
% };
<%= $c->render_to_string( inline => $actionModify ) %> <%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
</tbody>
</table>
<% } %>
</p>
</div> </div>

View File

@@ -1,69 +1,69 @@
<div id='grp_upd'> <div id='grp_upd'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/groups2' => (method => 'POST') => begin %= form_for '/groups2' => ( method => 'POST' ) => begin
<p><h2> <p><h2>
%=l 'MODIFY_USER_GROUP' %= l 'MODIFY_USER_GROUP'
</h2><br></p> </h2><br></p>
<p> <p>
<span class=label> <span class=label>
%=l 'GROUP_NAME', class => 'label' %= l 'GROUP_NAME', class => 'label'
</span><span class=data> </span><span class=data>
%= $grp_datas->{group}, class => 'data' %= $grp_datas->{group}, class => 'data'
</span> </span>
</p> </p>
<p> <p>
%=l 'grp_GROUP_DESC_EXPL' %= l 'grp_GROUP_DESC_EXPL'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'grp_GROUP_DESC', class => 'label' %= l 'grp_GROUP_DESC', class => 'label'
</span><span class=data> </span><span class=data>
% param 'groupDesc' => $grp_datas->{description} unless param 'groupDesc'; % param 'groupDesc' => $grp_datas->{description} unless param 'groupDesc';
%= text_field 'groupDesc', class => 'input' %= text_field 'groupDesc', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'GROUP_MEMBERS', class => 'label' %= l 'GROUP_MEMBERS', class => 'label'
</span> </span>
<br> <br>
<span class=data> <span class=data>
% if ( $members->{'admin'} ) { % if ( $members->{'admin'} ) {
%= check_box 'groupMembers', value => 'admin', checked => undef %= check_box 'groupMembers', value => 'admin', checked => undef
%} else { % } else {
%= check_box 'groupMembers' => 'admin' %= check_box 'groupMembers' => 'admin'
%} % }
Administrator (admin) Administrator (admin)
<br> <br>
% my $users = $c->gen_users_list(); % my $users = $c->gen_users_list();
% foreach my $key ( sort keys %$users ) % foreach my $key ( sort keys %$users )
% { % {
% if ( $members->{ $key } ) { % if ( $members->{ $key } ) {
<!-- % = check_box 'groupMembers', value => $key, checked => 'checked' --> <!-- % = check_box 'groupMembers', value => $key, checked => 'checked' -->
<input type='checkbox' name='groupMembers' checked value='<%= $key %>'> <input type='checkbox' name='groupMembers' checked value='<%= $key %>'>
%} else { % } else {
%= check_box 'groupMembers' => $key %= check_box 'groupMembers' => $key
%} % }
%=$users->{$key} . " (" . $key . ")" %= $users->{$key} . " (" . $key . ")"
<br> <br>
% } % }
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $grp_datas->{trt} %= hidden_field 'trt' => $grp_datas->{trt}
%= hidden_field 'groupName' => $grp_datas->{group} %= hidden_field 'groupName' => $grp_datas->{group}
% end % end
</div> </div>

View File

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

View File

@@ -1,29 +1,29 @@
<div id='hos_del'> <div id='hos_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/hostentriesd' => (method => 'POST') => begin %= form_for '/hostentriesd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'hos_REMOVE_TITLE' %= l 'hos_REMOVE_TITLE'
</h2> </h2>
</p> </p>
<p> <p>
%= $c->l('hos_REMOVE_PAGE_DESCRIPTION', $hos_datas->{hostname}); %= $c->l( 'hos_REMOVE_PAGE_DESCRIPTION', $hos_datas->{hostname} );
</p> </p>
<p><b>
%=l 'hos_ABOUT_TO_REMOVE'
</b></p>
<p> <p><b>
<br> %= l 'hos_ABOUT_TO_REMOVE'
%= submit_button "$btn", class => 'action' </b></p>
</p>
%= hidden_field 'trt' => $hos_datas->{trt} <p>
%= hidden_field 'Hostname' => $hos_datas->{hostname} <br>
%= submit_button "$btn", class => 'action'
</p>
% end %= hidden_field 'trt' => $hos_datas->{trt}
%= hidden_field 'Hostname' => $hos_datas->{hostname}
% end
</div> </div>

View File

@@ -1,84 +1,84 @@
<div id='hos_list'> <div id='hos_list'>
% my $btn = l('hos_ADD_HOSTNAME'); % my $btn = l('hos_ADD_HOSTNAME');
%= form_for '/hostentries' => (method => 'POST') => begin %= form_for '/hostentries' => ( method => 'POST' ) => begin
<p> <p>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
<br></p> <br></p>
%= hidden_field 'trt' => $hos_datas->{trt} %= hidden_field 'trt' => $hos_datas->{trt}
% end % end
% my %dom_hos = %{$dom_hosts}; % my %dom_hos = %{$dom_hosts};
% foreach my $domain ( sort ( keys %dom_hos ) ) { % foreach my $domain ( sort ( keys %dom_hos ) ) {
<p><br><b> <p><br><b>
%= $c->l('hos_CURRENT_HOSTNAMES_FOR_LOCAL_DOMAIN', $domain); %= $c->l( 'hos_CURRENT_HOSTNAMES_FOR_LOCAL_DOMAIN', $domain );
</b><br></p> </b><br></p>
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'hos_HOSTNAME'
</th>
<th class='sme-border'>
%=l 'hos_HOSTTYPE'
</th>
<th class='sme-border'>
%=l 'IP_ADDRESS_OR_FQDN'
</th>
<th class='sme-border'>
%=l 'hos_ETHERNET_ADDRESS'
</th>
<th class='sme-border'>
%=l 'COMMENT'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach (@{$dom_hos{$domain}{'HOSTS'}}) { <table class="sme-border TableSort"><thead>
<tr> <tr>
%= t td => (class => 'sme-border') => $_->{'HostName'}; <th class='sme-border'>
%= t td => (class => 'sme-border') => $_->{'HostType'}; %= l 'hos_HOSTNAME'
%= t td => (class => 'sme-border') => $_->{'IP'}; </th>
%= t td => (class => 'sme-border') => $_->{'MACAddress'}; <th class='sme-border'>
%= t td => (class => 'sme-border') => $_->{'Comment'}; %= l 'hos_HOSTTYPE'
<td class='sme-border' style="min-width:15em"> </th>
%my ($actionModify, $actionRemove) = '&nbsp;'; <th class='sme-border'>
%my $static = $_->{'static'} || "no"; %= l 'IP_ADDRESS_OR_FQDN'
%if ($static ne 'yes') { </th>
%my $modify_text = l('MODIFY'); # Localized text <th class='sme-border'>
%my $csrf_token = "TOKEN"; # CSRF token for security %= l 'hos_ETHERNET_ADDRESS'
%my $hostentries_name = $_->{'HostName'}; # hostentries name extracted from the data structure </th>
%$actionModify = qq{ <th class='sme-border'>
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=UPD&Hostname=$hostentries_name"> %= l 'COMMENT'
% <button type='button' class='sme-modify-button' title='$modify_text' > </th>
% $modify_text <th class='sme-border'>
% </button> %= l 'ACTION'
% </a> </th>
%}; </tr>
%my $remove_text = l('REMOVE'); # Localized text </thead><tbody>
%$csrf_token = "TOKEN"; # CSRF token for security
%#my $hostentries_name = $_->{'HostName'}; # hostentries name extracted from the data structure % foreach (@{$dom_hos{$domain}{'HOSTS'}}) {
%$actionRemove = qq{ <tr>
% <a href="hostentriesd?CsrfDef=$csrf_token&trt=DEL&Hostname=$hostentries_name"> %= t td => ( class => 'sme-border' ) => $_->{'HostName'};
% <button type='button' class='sme-remove-button' title='$remove_text' > %= t td => ( class => 'sme-border' ) => $_->{'HostType'};
% $remove_text %= t td => ( class => 'sme-border' ) => $_->{'IP'};
% </button> %= t td => ( class => 'sme-border' ) => $_->{'MACAddress'};
% </a> %= t td => ( class => 'sme-border' ) => $_->{'Comment'};
%}; <td class='sme-border' style="min-width:15em">
%} % my ( $actionModify, $actionRemove ) = '&nbsp;';
<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> % my $static = $_->{'static'} || "no";
</td> % if ($static ne 'yes') {
</tr> % my $modify_text = l('MODIFY'); # Localized text
% } % my $csrf_token = "TOKEN"; # CSRF token for security
</tbody> % my $hostentries_name = $_->{'HostName'}; # hostentries name extracted from the data structure
</table> % $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>
% };
% 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>
% };
% }
<%= $c->render_to_string( inline => $actionModify ) %> <%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
</tbody>
</table>
% }
</div> </div>

View File

@@ -1,60 +1,60 @@
<div id='hos_ulc'> <div id='hos_ulc'>
<!-- UPDATE HOST TYPE --> <!-- UPDATE HOST TYPE -->
% my $btn = l('NEXT'); % my $btn = l('NEXT');
%= form_for '/hostentriesd' => (method => 'POST') => begin %= form_for '/hostentriesd' => ( method => 'POST' ) => begin
<p><h2> <p><h2>
% if ( $hos_datas->{trt} eq "ALC" ) { % if ( $hos_datas->{trt} eq "ALC" ) {
%=l 'hos_CREATE_TYPE' %= l 'hos_CREATE_TYPE'
% } else { % } else {
%=l 'hos_MODIFY_TYPE' %= l 'hos_MODIFY_TYPE'
% $btn = l('MODIFY'); % $btn = l('MODIFY');
% } % }
</h2></p> </h2></p>
<p> <p>
%=l 'hos_LOCAL_PAGE_DESCRIPTION' %= l 'hos_LOCAL_PAGE_DESCRIPTION'
</p> </p>
<p> <p>
%=l 'hos_LOCAL_IP_DESCRIPTION' %= l 'hos_LOCAL_IP_DESCRIPTION'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'hos_LOCAL_IP', class => 'label' %= l 'hos_LOCAL_IP', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Internalip' => $hos_datas->{internalip} unless param 'Internalip'; % param 'Internalip' => $hos_datas->{internalip} unless param 'Internalip';
%= text_field 'Internalip', class => 'input' %= text_field 'Internalip', class => 'input'
</span> </span>
</p> </p>
<p> <p>
%=l 'hos_ETHERNET_ADDRESS_DESCRIPTION' %= l 'hos_ETHERNET_ADDRESS_DESCRIPTION'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'hos_ETHERNET_ADDRESS', class => 'label' %= l 'hos_ETHERNET_ADDRESS', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Macaddress' => $hos_datas->{macaddress} unless param 'Macaddress'; % param 'Macaddress' => $hos_datas->{macaddress} unless param 'Macaddress';
%= text_field 'Macaddress', class => 'input' %= text_field 'Macaddress', class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $hos_datas->{trt} %= hidden_field 'trt' => $hos_datas->{trt}
%= hidden_field 'Hostname' => $hos_datas->{hostname} %= hidden_field 'Hostname' => $hos_datas->{hostname}
%= hidden_field 'Name' => $hos_datas->{name} %= hidden_field 'Name' => $hos_datas->{name}
%= hidden_field 'Domain' => $hos_datas->{domain} %= hidden_field 'Domain' => $hos_datas->{domain}
%= hidden_field 'Comment'=> $hos_datas->{comment} %= hidden_field 'Comment' => $hos_datas->{comment}
%= hidden_field 'Hosttype'=> $hos_datas->{hosttype} %= hidden_field 'Hosttype' => $hos_datas->{hosttype}
%= hidden_field 'Externalip' => $hos_datas->{externalip} %= hidden_field 'Externalip' => $hos_datas->{externalip}
%end % end
</div> </div>

View File

@@ -1,77 +1,77 @@
<div id='hos_upd'> <div id='hos_upd'>
% my $btn = l('NEXT'); % my $btn = l('NEXT');
%= form_for '/hostentriesd' => (method => 'POST') => begin %= form_for '/hostentriesd' => ( method => 'POST' ) => begin
<p><h2> <p><h2>
% if ( $hos_datas->{trt} eq "ADD" ) { % if ( $hos_datas->{trt} eq "ADD" ) {
%=l 'hos_CREATE_TITLE' %= l 'hos_CREATE_TITLE'
% } else { % } else {
%=l 'hos_MODIFY_TITLE' %= l 'hos_MODIFY_TITLE'
% $btn = l('MODIFY'); % $btn = l('MODIFY');
% } % }
</h2></p> </h2></p>
<p> <p>
%=l 'hos_HOSTNAME_DESCRIPTION' %= l 'hos_HOSTNAME_DESCRIPTION'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'hos_HOSTNAME', class => 'label' %= l 'hos_HOSTNAME', class => 'label'
</span><span class=data> </span><span class=data>
% if ( $hos_datas->{trt} eq "ADD" ) { % if ( $hos_datas->{trt} eq "ADD" ) {
% param 'Name' => $hos_datas->{name} unless param 'Name'; % param 'Name' => $hos_datas->{name} unless param 'Name';
%= text_field 'Name', class => 'input' %= text_field 'Name', class => 'input'
% } else { % } else {
%= hidden_field 'Name' => $hos_datas->{name} %= hidden_field 'Name' => $hos_datas->{name}
%= $hos_datas->{name}, class => 'data' %= $hos_datas->{name}, class => 'data'
% } % }
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'DOMAIN', class => 'label' %= l 'DOMAIN', class => 'label'
</span><span class=data> </span><span class=data>
% if ( $hos_datas->{trt} eq "ADD" ) { % if ( $hos_datas->{trt} eq "ADD" ) {
% param 'Domain' => $hos_datas->{domain} unless param 'Domain'; % param 'Domain' => $hos_datas->{domain} unless param 'Domain';
%= select_field 'Domain', $c->domains_list(), class => 'input' %= select_field 'Domain', $c->domains_list(), class => 'input'
% } else { % } else {
%= hidden_field 'Domain' => $hos_datas->{domain} %= hidden_field 'Domain' => $hos_datas->{domain}
%= $hos_datas->{domain}, class => 'data' %= $hos_datas->{domain}, class => 'data'
% } % }
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%= $c->l('COMMENT', ''); %= $c->l( 'COMMENT', '' );
</span><span class=data> </span><span class=data>
% param 'Comment' => $hos_datas->{comment} unless param 'Comment'; % param 'Comment' => $hos_datas->{comment} unless param 'Comment';
%= text_field 'Comment', class => 'input' %= text_field 'Comment', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'LOCATION', class => 'label' %= l 'LOCATION', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Hosttype' => $hos_datas->{hosttype} unless param 'Hosttype'; % param 'Hosttype' => $hos_datas->{hosttype} unless param 'Hosttype';
%= select_field 'Hosttype', $c->hosttype_list(), class => 'input' %= select_field 'Hosttype', $c->hosttype_list(), class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $hos_datas->{trt} %= hidden_field 'trt' => $hos_datas->{trt}
%= hidden_field 'Hostname' => $hos_datas->{hostname} %= hidden_field 'Hostname' => $hos_datas->{hostname}
%= hidden_field 'Internalip' => $hos_datas->{internalip} %= hidden_field 'Internalip' => $hos_datas->{internalip}
%= hidden_field 'Externalip' => $hos_datas->{externalip} %= hidden_field 'Externalip' => $hos_datas->{externalip}
%= hidden_field 'Macaddress' => $hos_datas->{macaddress} %= hidden_field 'Macaddress' => $hos_datas->{macaddress}
%end % end
</div> </div>

View File

@@ -1,37 +1,37 @@
<div id='hos_urm'> <div id='hos_urm'>
<!-- UPDATE HOST TYPE --> <!-- UPDATE HOST TYPE -->
% my $btn = l('MODIFY'); % my $btn = l('MODIFY');
%= form_for '/hostentriesd' => (method => 'POST') => begin %= form_for '/hostentriesd' => ( method => 'POST' ) => begin
<p> <p>
%=l 'hos_REMOTE_PAGE_DESCRIPTION' %= l 'hos_REMOTE_PAGE_DESCRIPTION'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'IP_ADDRESS_OR_FQDN', class => 'label' %= l 'IP_ADDRESS_OR_FQDN', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Externalip' => $hos_datas->{externalip} unless param 'Externalip'; % param 'Externalip' => $hos_datas->{externalip} unless param 'Externalip';
%= text_field 'Externalip', class => 'input' %= text_field 'Externalip', class => 'input'
</span> </span>
</p> </p>
<p><br> <p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $hos_datas->{trt} %= hidden_field 'trt' => $hos_datas->{trt}
%= hidden_field 'Hostname' => $hos_datas->{hostname} %= hidden_field 'Hostname' => $hos_datas->{hostname}
%= hidden_field 'Name' => $hos_datas->{name} %= hidden_field 'Name' => $hos_datas->{name}
%= hidden_field 'Domain' => $hos_datas->{domain} %= hidden_field 'Domain' => $hos_datas->{domain}
%= hidden_field 'Comment'=> $hos_datas->{comment} %= hidden_field 'Comment' => $hos_datas->{comment}
%= hidden_field 'Hosttype'=> $hos_datas->{hosttype} %= hidden_field 'Hosttype' => $hos_datas->{hosttype}
%= hidden_field 'Internalip' => $hos_datas->{internalip} %= hidden_field 'Internalip' => $hos_datas->{internalip}
%= hidden_field 'Macaddress' => $hos_datas->{macaddress} %= hidden_field 'Macaddress' => $hos_datas->{macaddress}
%end % end
</div> </div>

View File

@@ -1,22 +1,22 @@
<div id='iba_del'> <div id='iba_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/ibaysd' => (method => 'POST') => begin %= form_for '/ibaysd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'iba_REMOVE_TITLE' %= l 'iba_REMOVE_TITLE'
</h2> </h2>
<br> <br>
%= $c->render_to_string(inline => l('iba_REMOVE_DESC', $iba_datas->{ibay}, $iba_datas->{description})); %= $c->render_to_string( inline => l( 'iba_REMOVE_DESC', $iba_datas->{ibay}, $iba_datas->{description} ) );
<br> <br>
</p> </p>
<p> <p>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $iba_datas->{trt} %= hidden_field 'trt' => $iba_datas->{trt}
%= hidden_field 'ibay' => $iba_datas->{ibay} %= hidden_field 'ibay' => $iba_datas->{ibay}
% end % end
</div> </div>

View File

@@ -1,111 +1,111 @@
<div id='iba_list'> <div id='iba_list'>
% my $btn = l('iba_ADD_IBAY'); % my $btn = l('iba_ADD_IBAY');
%= form_for '/ibays' => (method => 'POST') => begin %= form_for '/ibays' => ( method => 'POST' ) => begin
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => 'ADD'; %= hidden_field 'trt' => 'ADD';
% end % end
<p> <p>
%=l 'iba_FIRSTPAGE_DESC' %= l 'iba_FIRSTPAGE_DESC'
<br><br> <br><br>
</p> </p>
% my $numIbays = @$ibays; % my $numIbays = @$ibays;
% if ($numIbays == 0){ % if ($numIbays == 0){
%=l 'iba_NO_IBAYS' %= l 'iba_NO_IBAYS'
% } else { % } else {
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr> <tr>
<th class='sme-border'> <th class='sme-border'>
%=l 'NAME' %= l 'NAME'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'DESCRIPTION' %= l 'DESCRIPTION'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'ACTION' %= l 'ACTION'
</th> </th>
</tr> </tr>
</thead><tbody> </thead><tbody>
% foreach my $ibay (@$ibays) % foreach my $ibay (@$ibays)
% { % {
% my $modifiable = $ibay->prop('Modifiable') || 'yes'; % my $modifiable = $ibay->prop('Modifiable') || 'yes';
% my $passwordable = $ibay->prop('Passwordable') || 'yes'; % my $passwordable = $ibay->prop('Passwordable') || 'yes';
% my $removable = $ibay->prop('Removable') || 'yes'; % my $removable = $ibay->prop('Removable') || 'yes';
% my $needPassword = grep { $_ eq $ibay->prop('PublicAccess') } % my $needPassword = grep { $_ eq $ibay->prop('PublicAccess') }
% qw(local-pw global-pw global-pw-remote); % qw(local-pw global-pw global-pw-remote);
<tr> <tr>
%= t td => (class => 'sme-border') => $ibay->key %= t td => ( class => 'sme-border' ) => $ibay->key
%= t td => (class => 'sme-border') => $ibay->prop('Name') %= t td => ( class => 'sme-border' ) => $ibay->prop('Name')
<td class='sme-border' style="min-width:15em"> <td class='sme-border' style="min-width:15em">
%my ($actionModify, $actionResetPw, $actionRemove) = '&nbsp;'; % my ( $actionModify, $actionResetPw, $actionRemove ) = '&nbsp;';
%if ($modifiable eq 'yes') { % if ($modifiable eq 'yes') {
%my $modify_text = l('MODIFY'); # Localized text % my $modify_text = l('MODIFY'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure % my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionModify = qq{ % $actionModify = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name"> % <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name">
% <button type='button' class='sme-modify-button' title='$modify_text' > % <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text % $modify_text
% </button> % </button>
% </a> % </a>
%}; % };
%} % }
%if ($passwordable eq 'yes') {
%my $password_text = l('PASSWORD_RESET'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) {
%$actionResetPw = qq{
% <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% <button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; >
% $password_text
% </button>
% </a>
%};
%} 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>
%};
%}
%}
%if ($removable eq 'yes') { % if ($passwordable eq 'yes') {
%my $remove_text = l('REMOVE'); # Localized text % my $password_text = l('PASSWORD_RESET'); # Localized text
%my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
%my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure % my $ibays_entry_name = $ibay->key; # ibays_entry name extracted from the data structure
%$actionRemove = qq{ % if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) {
% <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibay=$ibays_entry_name"> % $actionResetPw = qq{
% <button type='button' class='sme-remove-button' title='$remove_text' > % <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
% $remove_text % <button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; >
% </button> % $password_text
% </a> % </button>
%}; % </a>
%} % };
<%= $c->render_to_string(inline => $actionModify) %> % } else {
<%= $c->render_to_string(inline => $actionResetPw)%> % $actionResetPw = qq{
<%= $c->render_to_string(inline => $actionRemove) %> % <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name">
</td> % <button type='button' class='sme-password-button' title='$password_text' >
</tr> % $password_text
% } % </button>
</tbody> % </a>
</table> % };
<%} %> % }
% }
% if ($removable eq 'yes') {
% my $remove_text = l('REMOVE'); # Localized text
% 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>
% };
% }
<%= $c->render_to_string( inline => $actionModify ) %>
<%= $c->render_to_string( inline => $actionResetPw ) %>
<%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
</tbody>
</table>
<% } %>
</div> </div>

View File

@@ -1,42 +1,42 @@
<div id='iba_net'> <div id='iba_net'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/ibaysd' => (method => 'POST') => begin %= form_for '/ibaysd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'PASSWORD_RESET' %= l 'PASSWORD_RESET'
</h2> </h2>
<br><br>
%=l 'iba_PASSWORD_DESC'
%= $iba_datas->{ibay}
</p>
<p>
<span class=label>
%=l 'PASSWORD_NEW', class => 'label'
</span><span class=data>
%= password_field 'newPass', class => 'input' , class=>'sme-password'
</span>
</p>
<p> <br><br>
<span class=label> %= l 'iba_PASSWORD_DESC'
%=l 'PASSWORD_VERIFY_NEW', class => 'label' %= $iba_datas->{ibay}
</span><span class=data> </p>
%= password_field 'newPassVerify', class => 'input', class=>'sme-password'
</span>
</p>
<p> <p>
<br><br> <span class=label>
%= submit_button "$btn", class => 'action' %= l 'PASSWORD_NEW', class => 'label'
</p> </span><span class=data>
%= password_field 'newPass', class => 'input', class => 'sme-password'
</span>
</p>
%= hidden_field 'trt' => $iba_datas->{trt} <p>
%= hidden_field 'ibay' => $iba_datas->{ibay} <span class=label>
%= l 'PASSWORD_VERIFY_NEW', class => 'label'
% end </span><span class=data>
%= password_field 'newPassVerify', class => 'input', class => 'sme-password'
</span>
</p>
</div> <p>
<br><br>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => $iba_datas->{trt}
%= hidden_field 'ibay' => $iba_datas->{ibay}
% end
</div>

View File

@@ -1,101 +1,101 @@
<div id='iba_upd'> <div id='iba_upd'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/ibaysd' => (method => 'POST') => begin %= form_for '/ibaysd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'iba_ADD_TITLE' %= l 'iba_ADD_TITLE'
</h2> </h2>
<br> <br>
%=l 'iba_NAME_FIELD_DESC' %= l 'iba_NAME_FIELD_DESC'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'iba_NAME_LABEL', class => 'label' %= l 'iba_NAME_LABEL', class => 'label'
</span><span class=data> </span><span class=data>
% if ( $iba_datas->{trt} eq 'ADD' ) { % if ( $iba_datas->{trt} eq 'ADD' ) {
% param 'ibay' => $iba_datas->{ibay} unless param 'ibay'; % param 'ibay' => $iba_datas->{ibay} unless param 'ibay';
%= text_field 'ibay', class => 'input' %= text_field 'ibay', class => 'input'
% } else { % } else {
% $btn = l('SAVE'); % $btn = l('SAVE');
%= $iba_datas->{ibay}, class => 'data' %= $iba_datas->{ibay}, class => 'data'
% } % }
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'DESCRIPTION', class => 'label' %= l 'DESCRIPTION', class => 'label'
</span><span class=data> </span><span class=data>
% param 'ibayDesc' => $iba_datas->{description} unless param 'ibayDesc'; % param 'ibayDesc' => $iba_datas->{description} unless param 'ibayDesc';
%= text_field 'ibayDesc', class => 'input' %= text_field 'ibayDesc', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'GROUP' %= l 'GROUP'
</span><span class=data> </span><span class=data>
% param 'group' => $iba_datas->{group} unless param 'group'; % param 'group' => $iba_datas->{group} unless param 'group';
%= select_field 'group' => $c->group_list_m(), class => 'input' %= select_field 'group' => $c->group_list_m(), class => 'input'
<br> <br>
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'iba_USER_ACCESS' %= l 'iba_USER_ACCESS'
</span><span class=data> </span><span class=data>
% param 'userAccess' => $iba_datas->{userAccess} unless param 'userAccess'; % param 'userAccess' => $iba_datas->{userAccess} unless param 'userAccess';
%= select_field 'userAccess' => $c->userAccess_list_m(), class => 'input' %= select_field 'userAccess' => $c->userAccess_list_m(), class => 'input'
<br>
</span>
</p>
<p> <br>
<span class=label> </span>
%=l 'iba_PUBLIC_ACCESS' </p>
</span><span class=data>
% param 'publicAccess' => $iba_datas->{publicAccess} unless param 'publicAccess';
%= select_field 'publicAccess' => $c->publicAccess_list_m(), class => 'input'
<br>
</span>
</p>
<p> <p>
<span class=label> <span class=label>
%=l 'iba_ALLOW_DYNAMIC_CONTENT' %= l 'iba_PUBLIC_ACCESS'
</span><span class=data> </span><span class=data>
% param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin'; % param 'publicAccess' => $iba_datas->{publicAccess} unless param 'publicAccess';
%= select_field 'CgiBin' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' %= select_field 'publicAccess' => $c->publicAccess_list_m(), class => 'input'
<br> <br>
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'iba_HTTPS_Only' %= l 'iba_ALLOW_DYNAMIC_CONTENT'
</span><span class=data> </span><span class=data>
% param 'SSL' => $iba_datas->{SSL} unless param 'SSL'; % param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin';
%= select_field 'SSL' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input' %= select_field 'CgiBin' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
<br> <br>
</span> </span>
</p> </p>
<p> <p>
<br><br> <span class=label>
%= submit_button $btn, class => 'action' %= l 'iba_HTTPS_Only'
</p> </span><span class=data>
% param 'SSL' => $iba_datas->{SSL} unless param 'SSL';
%= select_field 'SSL' => [ [ ( l 'DISABLED' ) => 'disabled' ], [ ( l 'ENABLED' ) => 'enabled' ] ], class => 'input';
<br>
</span>
</p>
%= hidden_field 'trt' => $iba_datas->{trt} <p>
% if ( $iba_datas->{trt} eq 'UPD' ) { <br><br>
%= hidden_field 'ibay' => $iba_datas->{ibay} %= submit_button $btn, class => 'action'
% } </p>
% end %= hidden_field 'trt' => $iba_datas->{trt}
% if ( $iba_datas->{trt} eq 'UPD' ) {
%= hidden_field 'ibay' => $iba_datas->{ibay}
% }
% end
</div> </div>

View File

@@ -1,25 +1,25 @@
<% use POSIX qw(strftime); %> <% use POSIX qw(strftime); %>
<div id="info"> <div id="info">
<% if (! $c->session->{PwdSet} ) { %> <% if (! $c->session->{PwdSet} ) { %>
<div class="sme-error module"><h5> <div class="sme-error module"><h5>
Warning: you have not yet changed the default system password.</h5></div> Warning: you have not yet changed the default system password.</h5></div>
<% } %> <% } %>
<% if ( $c->is_unsafe ) { %> <% if ( $c->is_unsafe ) { %>
<div class="sme-error module"><h5> <div class="sme-error module"><h5>
Warning: a reconfigure and reboot is required before proceeding! Failure to do so now Warning: a reconfigure and reboot is required before proceeding! Failure to do so now
may leave your system in an unknown state!</h5></div> may leave your system in an unknown state!</h5></div>
<% } %> <% } %>
<% if ( $c->session->{Access} eq 'public' && ((config->{debug} ne '0') || (config->{mode} ne 'production')) ) { %> <% if ( $c->session->{Access} eq 'public' && ((config->{debug} ne '0') || (config->{mode} ne 'production')) ) { %>
<div class="sme-error module"><h5> <div class="sme-error module"><h5>
Warning: Development or debug mode enabled AND public access is offered ! Warning: Development or debug mode enabled AND public access is offered !
</h5></div> </h5></div>
<% } %> <% } %>
<% my $curdate = strftime '%Y%m%d', localtime; %> <% my $curdate = strftime '%Y%m%d', localtime; %>
<% if ( "$curdate" >= "20290531" ) { %> <% if ( "$curdate" >= "20290531" ) { %>
<div class="sme-error"><h5> <div class="sme-error"><h5>
URGENT NOTICE: As per May 31st 2029, SME Server 11 is obsolete, and potentially INSECURE. NO support will be offered for any issue found with this installed version. URGENT NOTICE: As per May 31st 2029, SME Server 11 is obsolete, and potentially INSECURE. NO support will be offered for any issue found with this installed version.
Please migrate IMMEDIATELY to Koozali SME Server 12 or higher version. Failure to upgrade may lead to the compromise of this server. Please migrate IMMEDIATELY to Koozali SME Server 12 or higher version. Failure to upgrade may lead to the compromise of this server.
</br>Please, consult <a href="https://wiki.koozali.org/SME_Server:Download" target="_blank">https://wiki.koozali.org/SME_Server:Download</a> to get the latest version </br>Please, consult <a href="https://wiki.koozali.org/SME_Server:Download" target="_blank">https://wiki.koozali.org/SME_Server:Download</a> to get the latest version
</h5></div> </h5></div>
<% } %> <% } %>
</div> </div>

View File

@@ -4,21 +4,21 @@
% content_for 'js_togglePassword' => begin % content_for 'js_togglePassword' => begin
%= javascript begin %= javascript begin
$(document).ready(function() { $(document).ready(function() {
const togglePassword = document.querySelector('#togglePassword'); const togglePassword = document.querySelector('#togglePassword');
const password = document.querySelector('#id_password'); const password = document.querySelector('#id_password');
if (( togglePassword ) && ( password )) { if (( togglePassword ) && ( password )) {
togglePassword.addEventListener('click', function (e) { togglePassword.addEventListener('click', function (e) {
// toggle the type attribute // toggle the type attribute
const type = password.getAttribute('type') === 'password' ? 'text' : 'password'; const type = password.getAttribute('type') === 'password' ? 'text' : 'password';
password.setAttribute('type', type); password.setAttribute('type', type);
// toggle the eye slash icon // toggle the eye slash icon
// this.classList.toggle('eye-slash'); // this.classList.toggle('eye-slash');
}) })
} }
}); });
% end % end
% end % end
@@ -30,34 +30,34 @@
%= javascript begin %= javascript begin
$(document).ready(function() { $(document).ready(function() {
$('#tognav').click(function() { $('#tognav').click(function() {
//alert('click1:'+window.localStorage.getItem('menunav')); //alert('click1:'+window.localStorage.getItem('menunav'));
window.localStorage.setItem('menunav',!$('#menunav').is(':visible')); window.localStorage.setItem('menunav',!$('#menunav').is(':visible'));
//alert('click2:'+window.localStorage.getItem('menunav')); //alert('click2:'+window.localStorage.getItem('menunav'));
$('#menunav').toggle({ duration: 300 }); $('#menunav').toggle({ duration: 300 });
}); });
$('#toguser').click(function() { $('#toguser').click(function() {
window.localStorage.setItem('menuuser',!$('#menuuser').is(':visible')); window.localStorage.setItem('menuuser',!$('#menuuser').is(':visible'));
$('#menuuser').toggle({ duration: 300 }); $('#menuuser').toggle({ duration: 300 });
}); });
$('#togadm').click(function() { $('#togadm').click(function() {
window.localStorage.setItem('menuadm',!$('#menuadm').is(':visible')); window.localStorage.setItem('menuadm',!$('#menuadm').is(':visible'));
$('#menuadm').toggle({ duration: 300 }); $('#menuadm').toggle({ duration: 300 });
}); });
$('.section-title').click(function() { $('.section-title').click(function() {
var $section = $(this).parent().next('div'); var $section = $(this).parent().next('div');
if(!$section.length){ if(!$section.length){
return false; return false;
} }
let localStorageTag = "admSection-"+this.innerHTML; let localStorageTag = "admSection-"+this.innerHTML;
var jqObj = $($section); var jqObj = $($section);
window.localStorage.setItem(localStorageTag,!jqObj.is(':visible')); window.localStorage.setItem(localStorageTag,!jqObj.is(':visible'));
$section.toggle({ duration: 600 }); $section.toggle({ duration: 600 });
}) })
}); });
% end % end
@@ -67,35 +67,35 @@
% content_for 'js_swapClass' => begin % content_for 'js_swapClass' => begin
%= javascript begin %= javascript begin
(function($) { (function($) {
$.fn.swapClass = function(class1, class2) { $.fn.swapClass = function(class1, class2) {
this.each(function() { this.each(function() {
var $elem = $(this); var $elem = $(this);
if ($elem.hasClass(class1)) { if ($elem.hasClass(class1)) {
$elem.removeClass(class1).addClass(class2); $elem.removeClass(class1).addClass(class2);
} }
else if ($elem.hasClass(class2)) { else if ($elem.hasClass(class2)) {
$elem.removeClass(class2).addClass(class1); $elem.removeClass(class2).addClass(class1);
} }
}); });
}; };
})(jQuery); })(jQuery);
$(document).ready(function() { $(document).ready(function() {
$('a.item-current').swapClass('item-current','item'); $('a.item-current').swapClass('item-current','item');
var pathname = $(location).attr('pathname'); var pathname = $(location).attr('pathname');
//alert('jQuery loaded. Path searched: ' + pathname); //alert('jQuery loaded. Path searched: ' + pathname);
var menus = $('a.item'); var menus = $('a.item');
$.each(menus, function() { $.each(menus, function() {
if ( $(this).attr('href') == pathname ) { if ( $(this).attr('href') == pathname ) {
$(this).swapClass('item', 'item-current'); $(this).swapClass('item', 'item-current');
// alert('menu found! ' + $(this).attr('href') + ' ' + $(this).attr('class')); // alert('menu found! ' + $(this).attr('href') + ' ' + $(this).attr('class'));
} }
}) })
}); });
% end % end
% end % end

View File

@@ -1,67 +1,67 @@
<div id='ln_add'> <div id='ln_add'>
% my $retref= $c->stash("ret"); % my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => ""); % my %ret = $retref ? %$retref : ( ret => "" );
% my @vars = split(/,/, $ret{vars} // ''); % my @vars = split( /,/, $ret{vars} // '' );
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars; % my ( $var1, $var2, $var3, $var4, $var5, $var6, $var7 ) = @vars;
% if ($c->app->config->{debug}) { % if ($c->app->config->{debug}) {
<p> <p>
%= dumper { ret_data => \%ret } %= dumper { ret_data => \%ret }
</p> </p>
% } % }
% if ($ret{ret} eq "") { % if ($ret{ret} eq "") {
%=l "ln_FIRSTPAGE_DESC" %= l "ln_FIRSTPAGE_DESC"
% } elsif (index($ret{ret},"SUCCESS") != -1) { % } elsif (index($ret{ret},"SUCCESS") != -1) {
<br> <br>
<div class='success'> <div class='success'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } else { % } else {
<br> <br>
<div class='sme-error'> <div class='sme-error'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } % }
<br /> <br />
% my $btn = l('ADD'); % my $btn = l('ADD');
% my $network_db = esmith::NetworksDB::UTF8->open() || die "Couldn't open NetworksDB db"; % my $network_db = esmith::NetworksDB::UTF8->open() || die "Couldn't open NetworksDB db";
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $c->stash("ret") %= dumper $c->stash("ret")
</p> </p>
% } % }
%= form_for '/localnetworksb' => (method => 'POST') => begin %= form_for '/localnetworksb' => ( method => 'POST' ) => begin
<h2> <h2>
%=l "ln_ADD_TITLE" %= l "ln_ADD_TITLE"
</h2> </h2>
<p> <p>
%= $c->render_to_string(inline => l('ln_ADD_DESC')); %= $c->render_to_string( inline => l('ln_ADD_DESC') );
</p><br> </p><br>
<span class=label> <span class=label>
%=l "NETWORK" %= l "NETWORK"
</span><span class=data> </span><span class=data>
%=text_field 'networkAddress' %= text_field 'networkAddress'
</span><br><br> </span><br><br>
<span class=label> <span class=label>
%=l "ln_SUBNET_MASK" %= l "ln_SUBNET_MASK"
</span><span class=data> </span><span class=data>
%=text_field 'networkMask' %= text_field 'networkMask'
</span><br><br> </span><br><br>
<span class=label> <span class=label>
%=l "ROUTER" %= l "ROUTER"
</span> </span>
<span class=data> <span class=data>
%=text_field 'networkRouter' %= text_field 'networkRouter'
</span><br><br> </span><br><br>
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%end % end
</div> </div>

View File

@@ -1,59 +1,59 @@
<div id='ln_del'> <div id='ln_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
% my $deletehosts = $ln_datas->{deletehosts}; % my $deletehosts = $ln_datas->{deletehosts};
% my $subnet = $ln_datas->{subnet}; % my $subnet = $ln_datas->{subnet};
% my $router = $ln_datas->{router}; % my $router = $ln_datas->{router};
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $c->stash("ret") %= dumper $c->stash("ret")
%= dumper %$ln_datas %= dumper %$ln_datas
%= dumper $deletehosts %= dumper $deletehosts
</pre> </pre>
% }
%= form_for '/localnetworkse' => ( method => 'POST' ) => begin
<h2>
%= l "ln_REMOVE_TITLE"
</h2>
<p>
%= l "ln_REMOVE_DESC"
</p><br>
<span class=label>
%= l "NETWORK"
</span><span class=data>
%= $localnetwork
</span><br><br>
<span class=label>
%= l "ln_SUBNET_MASK"
</span><span class=data>
%= $subnet
</span><br><br>
<span class=label>
%= l "ROUTER"
</span>
<span class=data>
%= $router
</span><br><br>
% if($deletehosts) {
<br>
%= $c->l("ln_REMOVE_HOSTS_DESC")
<br>
<span class=label>
%= $c->l("ln_REMOVE_HOSTS_LABEL")
</span>
<span class= data>
%= check_box deletehost => 1, checked => 1
</span><br><br>
% } % }
%= hidden_field localnetwork => $localnetwork
%= form_for '/localnetworkse' => (method => 'POST') => begin <p>
<h2> <br>
%=l "ln_REMOVE_TITLE" %= submit_button "$btn", class => 'action'
</h2> </p>
<p>
%=l "ln_REMOVE_DESC"
</p><br>
<span class=label>
%=l "NETWORK"
</span><span class=data>
%=$localnetwork
</span><br><br>
<span class=label>
%=l "ln_SUBNET_MASK"
</span><span class=data>
%= $subnet
</span><br><br>
<span class=label>
%=l "ROUTER"
</span>
<span class=data>
%= $router
</span><br><br>
% if($deletehosts) {
<br>
%=$c->l("ln_REMOVE_HOSTS_DESC")
<br>
<span class=label>
%= $c->l("ln_REMOVE_HOSTS_LABEL")
</span>
<span class= data>
%=check_box deletehost=>1, checked=>1
</span><br><br>
%}
%= hidden_field localnetwork=>$localnetwork
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
%end % end
</div> </div>

View File

@@ -1,97 +1,97 @@
<div id='ln_list'> <div id='ln_list'>
% my $btn = l('ln_LOCALNETWORK_ADD'); % my $btn = l('ln_LOCALNETWORK_ADD');
%= form_for '/localnetworksa' => (method => 'POST') => begin %= form_for '/localnetworksa' => ( method => 'POST' ) => begin
% my $retref= $c->stash("ret"); % my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => ""); % my %ret = $retref ? %$retref : ( ret => "" );
% my @vars = split(/,/, $ret{vars} // ''); % my @vars = split( /,/, $ret{vars} // '' );
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars; % my ( $var1, $var2, $var3, $var4, $var5, $var6, $var7 ) = @vars;
% if ($c->app->config->{debug}) { % if ($c->app->config->{debug}) {
<pre> <pre>
%= dumper { ret_data => \%ret } %= dumper { ret_data => \%ret }
</pre> </pre>
% } % }
% if ($ret{ret} eq "") { % if ($ret{ret} eq "") {
%=l "ln_FIRSTPAGE_DESC" %= l "ln_FIRSTPAGE_DESC"
% } elsif (index($ret{ret},"SUCCESS") != -1) { % } elsif (index($ret{ret},"SUCCESS") != -1) {
<br> <br>
<div class='success'> <div class='success'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } else { % } else {
<br> <br>
<div class='sme-error'> <div class='sme-error'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } % }
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
<br> <br>
% my $numlocalnetworks = @$localnetworks; % my $numlocalnetworks = @$localnetworks;
% if ($numlocalnetworks == 0){ % if ($numlocalnetworks == 0){
%=l 'ln_LOCAL_NETWORK_NONE' %= l 'ln_LOCAL_NETWORK_NONE'
% } else { % } else {
<br> <br>
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr> <tr>
<th class='sme-border'> <th class='sme-border'>
%=l 'NETWORK' %= l 'NETWORK'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'ln_SUBNET_MASK' %= l 'ln_SUBNET_MASK'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'ln_NUMBER_OF_HOSTS' %= l 'ln_NUMBER_OF_HOSTS'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'ROUTER' %= l 'ROUTER'
</th> </th>
<th class='sme-border'> <th class='sme-border'>
%=l 'ACTION' %= l 'ACTION'
</th> </th>
</tr> </tr>
</thead><tbody> </thead><tbody>
% foreach my $localnetwork (@$localnetworks ) % foreach my $localnetwork (@$localnetworks)
% { % {
% my ($num_hosts) = esmith::util::computeHostRange( $localnetwork->key, $localnetwork->prop('Mask') ); % my ($num_hosts) = esmith::util::computeHostRange( $localnetwork->key, $localnetwork->prop('Mask') );
% my $removable = $localnetwork->prop('Removable') || "yes"; % my $removable = $localnetwork->prop('Removable') || "yes";
% my $system = $localnetwork->prop('SystemLocalNetwork') || "no"; % my $system = $localnetwork->prop('SystemLocalNetwork') || "no";
% if ( $system eq "yes" ) { $removable = "no"; } % if ( $system eq "yes" ) { $removable = "no"; }
<tr> <tr>
%= t td => (class => 'sme-border') => $localnetwork->key %= t td => ( class => 'sme-border' ) => $localnetwork->key
%= t td => (class => 'sme-border') => $localnetwork->prop('Mask') %= t td => ( class => 'sme-border' ) => $localnetwork->prop('Mask')
%= t td => (class => 'sme-border') => $num_hosts %= t td => ( class => 'sme-border' ) => $num_hosts
%= t td => (class => 'sme-border') => $localnetwork->prop('Router') %= t td => ( class => 'sme-border' ) => $localnetwork->prop('Router')
%my $actionRemove = '&nbsp;'; % my $actionRemove = '&nbsp;';
%if ($removable eq "yes") { % if ($removable eq "yes") {
%my $remove_text = l('REMOVE'); # Localized text % my $remove_text = l('REMOVE'); # Localized text
%my $local_network_entry = $localnetwork->key; % my $local_network_entry = $localnetwork->key;
%my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
%$actionRemove = qq{ % $actionRemove = qq{
% <a href="localnetworksd?CsrfDef=$csrf_token&trt=DEL&localnetwork=$local_network_entry"> % <a href="localnetworksd?CsrfDef=$csrf_token&trt=DEL&localnetwork=$local_network_entry">
% <button type='button' class='sme-remove-button' title='$remove_text' > % <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text % $remove_text
% </button> % </button>
% </a> % </a>
%}; % };
% } % }
<td class='sme-border'><%= $c->render_to_string(inline => $actionRemove) %></td> <td class='sme-border'><%= $c->render_to_string( inline => $actionRemove ) %></td>
</tr> </tr>
% } % }
</tbody> </tbody>
</table> </table>
%= hidden_field 'trt' => $ln_datas->{trt} %= hidden_field 'trt' => $ln_datas->{trt}
%} % }
</div> </div>

View File

@@ -1,54 +1,54 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
<div id="Emailsettings-ACC" class="partial Emailsettings-ACC"> <div id="Emailsettings-ACC" class="partial Emailsettings-ACC">
%# <script> %# <script>
%# window.onload = function() { %# window.onload = function() {
%# SelectInput(); %# SelectInput();
%# }; %# };
%# </script> %# </script>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $mai_data %= dumper $mai_data
</pre> </pre>
% } % }
% my $btn = l('SAVE'); % my $btn = l('SAVE');
% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table % $c->param( Selected => undef ); #This may need deleting for a params panel - only needed for a table
<h2><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></h2><br> <h2><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></h2><br>
%= form_for "emailsettingsu" => (method => 'POST') => begin %= form_for "emailsettingsu" => ( method => 'POST' ) => begin
% param 'trt' => $mai_data->{trt} unless param 'trt'; % param 'trt' => $mai_data->{trt} unless param 'trt';
%= hidden_field 'trt' => $mai_data->{trt} %= hidden_field 'trt' => $mai_data->{trt}
%# Inputs etc in here. %# Inputs etc in here.
%=l 'mai_DESC_POP_ACCESS_CONTROL' %= l 'mai_DESC_POP_ACCESS_CONTROL'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_POP_ACCESS_CONTROL' %= l 'mai_LABEL_POP_ACCESS_CONTROL'
</span><span class=input> </span><span class=input>
% param 'POPAccess' => $c->get_current_pop3_access() unless param 'POPAccess'; % param 'POPAccess' => $c->get_current_pop3_access() unless param 'POPAccess';
%= select_field 'POPAccess' => $c->get_pop_opt(), class => 'input' %= select_field 'POPAccess' => $c->get_pop_opt(), class => 'input'
</span></p> </span></p>
%=l 'mai_DESC_IMAP_ACCESS_CONTROL' %= l 'mai_DESC_IMAP_ACCESS_CONTROL'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' %= l 'mai_LABEL_IMAP_ACCESS_CONTROL'
</span><span class=input> </span><span class=input>
% param 'IMAPAccess' => $c->get_current_imap_access() unless param 'IMAPAccess'; % param 'IMAPAccess' => $c->get_current_imap_access() unless param 'IMAPAccess';
%= select_field 'IMAPAccess' => $c->get_imap_opt(), class => 'input' %= select_field 'IMAPAccess' => $c->get_imap_opt(), class => 'input'
</span></p> </span></p>
%=l 'mai_DESC_WEBMAIL' %= l 'mai_DESC_WEBMAIL'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_WEBMAIL' %= l 'mai_LABEL_WEBMAIL'
</span><span class=input> </span><span class=input>
% param 'WebMail' => $c->get_current_webmail_status() unless param 'WebMail'; % param 'WebMail' => $c->get_current_webmail_status() unless param 'WebMail';
%= select_field 'WebMail' => $c->get_webmail_opt(), class => 'input' %= select_field 'WebMail' => $c->get_webmail_opt(), class => 'input'
</span></p> </span></p>
%# .... %# ....
%# Probably finally by a submit. %# Probably finally by a submit.
%= submit_button $btn, class => 'action' %= submit_button $btn, class => 'action'
%end % end
</div> </div>

View File

@@ -1,90 +1,90 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
<div id="Emailsettings-DEL" class="partial Emailsettings-DEL"> <div id="Emailsettings-DEL" class="partial Emailsettings-DEL">
%# <script> %# <script>
%# window.onload = function() { %# window.onload = function() {
%# SelectInput(); %# SelectInput();
%# }; %# };
%# </script> %# </script>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $mai_data %= dumper $mai_data
</pre> </pre>
% } % }
% my $btn = l('SAVE'); % my $btn = l('SAVE');
% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table % $c->param( Selected => undef ); #This may need deleting for a params panel - only needed for a table
<h2><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></h2> <h2><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></h2>
%= form_for "emailsettingsu" => (method => 'POST') => begin %= form_for "emailsettingsu" => ( method => 'POST' ) => begin
% param 'trt' => $mai_data->{trt} unless param 'trt'; % param 'trt' => $mai_data->{trt} unless param 'trt';
%= hidden_field 'trt' => $mai_data->{trt} %= hidden_field 'trt' => $mai_data->{trt}
%# Inputs etc in here. %# Inputs etc in here.
<h2> <h2>
%=l 'mai_TITLE_UNKNOWN' %= l 'mai_TITLE_UNKNOWN'
</h2> </h2>
%=l 'mai_DESC_UNKNOWN' %= l 'mai_DESC_UNKNOWN'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_UNKNOWN' %= l 'mai_LABEL_UNKNOWN'
</span><span class=input> </span><span class=input>
% param 'EmailUnknownUser' => $mai_data->{emailunknownuser} unless param 'EmailUnknownUser'; % param 'EmailUnknownUser' => $mai_data->{emailunknownuser} unless param 'EmailUnknownUser';
%= select_field 'EmailUnknownUser' => $c->get_emailunknownuser_opt(), class => 'input' %= select_field 'EmailUnknownUser' => $c->get_emailunknownuser_opt(), class => 'input'
</span></p> </span></p>
<!--<hr class='menubar' />--> <!--<hr class='menubar' />-->
<h2> <h2>
%=l 'mai_TITLE_DELEGATE' %= l 'mai_TITLE_DELEGATE'
</h2> </h2>
%=l 'mai_DESC_DELEGATE' %= l 'mai_DESC_DELEGATE'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_DELEGATE' %= l 'mai_LABEL_DELEGATE'
</span><span class=input> </span><span class=input>
% param 'DelegateMailServer' => $mai_data->{delegatemailserver} unless param 'DelegateMailServer'; % param 'DelegateMailServer' => $mai_data->{delegatemailserver} unless param 'DelegateMailServer';
%= text_field 'DelegateMailServer', class => 'input' %= text_field 'DelegateMailServer', class => 'input'
</span></p> </span></p>
<!--<hr class='sectionbar' />--> <!--<hr class='sectionbar' />-->
<h2> <h2>
%=l 'mai_TITLE_SMARTHOST' %= l 'mai_TITLE_SMARTHOST'
</h2> </h2>
%=l 'mai_DESC_SMARTHOST' %= l 'mai_DESC_SMARTHOST'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SMARTHOST' %= l 'mai_LABEL_SMARTHOST'
</span><span class=input> </span><span class=input>
% param 'SMTPSmartHost' => $mai_data->{smtpsmarthost} unless param 'SMTPSmartHost'; % param 'SMTPSmartHost' => $mai_data->{smtpsmarthost} unless param 'SMTPSmartHost';
%= text_field 'SMTPSmartHost', class => 'input' %= text_field 'SMTPSmartHost', class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS' %= l 'mai_LABEL_SMARTHOST_SMTPAUTH_STATUS'
</span><span class=input> </span><span class=input>
% param 'SMTPAUTHPROXY_status' => $mai_data->{smtpauthproxystatus} unless param 'SMTPAUTHPROXY_status'; % 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> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID' %= l 'mai_LABEL_SMARTHOST_SMTPAUTH_USERID'
</span><span class=input> </span><span class=input>
% param 'SMTPAUTHPROXY_Userid' => $mai_data->{smtpauthproxyuserid} unless param 'SMTPAUTHPROXY_Userid'; % param 'SMTPAUTHPROXY_Userid' => $mai_data->{smtpauthproxyuserid} unless param 'SMTPAUTHPROXY_Userid';
%= text_field 'SMTPAUTHPROXY_Userid', class => 'input' %= text_field 'SMTPAUTHPROXY_Userid', class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD' %= l 'mai_LABEL_SMARTHOST_SMTPAUTH_PASSWD'
</span><span class=input> </span><span class=input>
% param 'SMTPAUTHPROXY_Passwd' => $mai_data->{smtpauthproxypassword} unless param 'SMTPAUTHPROXY_Passwd'; % param 'SMTPAUTHPROXY_Passwd' => $mai_data->{smtpauthproxypassword} unless param 'SMTPAUTHPROXY_Passwd';
%= password_field 'SMTPAUTHPROXY_Passwd', class => 'input' %= password_field 'SMTPAUTHPROXY_Passwd', class => 'input'
</span></p> </span></p>
%# .... %# ....
%# Probably finally by a submit. %# Probably finally by a submit.
%= submit_button $btn, class => 'action' %= submit_button $btn, class => 'action'
%end % end
</div> </div>

View File

@@ -1,98 +1,98 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
<div id="Emailsettings-FIL" class="partial Emailsettings-FIL"> <div id="Emailsettings-FIL" class="partial Emailsettings-FIL">
%# <script> %# <script>
%# window.onload = function() { %# window.onload = function() {
%# SelectInput(); %# SelectInput();
%# }; %# };
%# </script> %# </script>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $mai_data %= dumper $mai_data
</pre> </pre>
% } % }
% my $btn = l('SAVE'); % my $btn = l('SAVE');
% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table % $c->param( Selected => undef ); #This may need deleting for a params panel - only needed for a table
<h2><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></h2><br> <h2><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></h2><br>
%= form_for "emailsettingsu" => (method => 'POST') => begin %= form_for "emailsettingsu" => ( method => 'POST' ) => begin
% param 'trt' => $mai_data->{trt} unless param 'trt'; % param 'trt' => $mai_data->{trt} unless param 'trt';
%= hidden_field 'trt' => $mai_data->{trt} %= hidden_field 'trt' => $mai_data->{trt}
%# Inputs etc in here. %# Inputs etc in here.
%=l 'mai_DESC_VIRUS_SCAN' %= l 'mai_DESC_VIRUS_SCAN'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_VIRUS_SCAN' %= l 'mai_LABEL_VIRUS_SCAN'
</span><span class=input> </span><span class=input>
% param 'VirusStatus' => $mai_data->{virusstatus} unless param 'VirusStatus'; % 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> </span><br></p>
%=l 'mai_DESC_SPAM_SCAN' %= l 'mai_DESC_SPAM_SCAN'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_SCAN' %= l 'mai_LABEL_SPAM_SCAN'
</span><span class=input> </span><span class=input>
% param 'Spamstatus' => $mai_data->{spamstatus} unless param 'Spamstatus'; % 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> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_SENSITIVITY' %= l 'mai_LABEL_SPAM_SENSITIVITY'
</span><span class=input> </span><span class=input>
% param 'SpamSensitivity' => $mai_data->{spamsensitivity} unless param 'SpamSensitivity'; % param 'SpamSensitivity' => $mai_data->{spamsensitivity} unless param 'SpamSensitivity';
%= select_field 'SpamSensitivity' => $c->get_spam_sensitivity_opt(), class => 'input' %= select_field 'SpamSensitivity' => $c->get_spam_sensitivity_opt(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_TAGLEVEL' %= l 'mai_LABEL_SPAM_TAGLEVEL'
</span><span class=input> </span><span class=input>
% param 'SpamTagLevel' => $mai_data->{spamtaglevel} unless param 'SpamTagLevel'; % param 'SpamTagLevel' => $mai_data->{spamtaglevel} unless param 'SpamTagLevel';
%= select_field 'SpamTagLevel' => $c->get_spam_level_options(), class => 'input' %= select_field 'SpamTagLevel' => $c->get_spam_level_options(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_REJECTLEVEL' %= l 'mai_LABEL_SPAM_REJECTLEVEL'
</span><span class=input> </span><span class=input>
% param 'SpamRejectLevel' => $mai_data->{spamrejectlevel} unless param 'SpamRejectLevel'; % param 'SpamRejectLevel' => $mai_data->{spamrejectlevel} unless param 'SpamRejectLevel';
%= select_field 'SpamRejectLevel' => $c->get_spam_level_options(), class => 'input' %= select_field 'SpamRejectLevel' => $c->get_spam_level_options(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SORTSPAM' %= l 'mai_LABEL_SORTSPAM'
</span><span class=input> </span><span class=input>
% param 'SpamSortSpam' => $mai_data->{spamsortspam} unless param 'SpamSortSpam'; % 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> </span></p>
%=l 'mai_DESC_SPAM_SUBJECT' %= l 'mai_DESC_SPAM_SUBJECT'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_SUBJECTTAG' %= l 'mai_LABEL_SPAM_SUBJECTTAG'
</span><span class=input> </span><span class=input>
% param 'SpamSubjectTag' => $mai_data->{spamsubjecttag} unless param 'SpamSubjectTag'; % 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> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SPAM_SUBJECT' %= l 'mai_LABEL_SPAM_SUBJECT'
</span><span class=input> </span><span class=input>
% param 'SpamSubject' => $mai_data->{spamsubject} unless param 'SpamSubject'; % param 'SpamSubject' => $mai_data->{spamsubject} unless param 'SpamSubject';
%= text_field 'SpamSubject' => class => 'input' %= text_field 'SpamSubject' => class => 'input'
</span></p> </span></p>
%=l 'mai_DESC_BLOCK_EXECUTABLE_CONTENT' %= l 'mai_DESC_BLOCK_EXECUTABLE_CONTENT'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_CONTENT_TO_BLOCK' %= l 'mai_LABEL_CONTENT_TO_BLOCK'
</span><span class=input> </span><span class=input>
% param 'BlockExecutableContent' => $c->get_patterns_current_opt() unless param 'BlockExecutableContent'; % 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> </span></p>
%# .... %# ....
%# Probably finally by a submit. %# Probably finally by a submit.
%= submit_button $btn, class => 'action' %= submit_button $btn, class => 'action'
%end % end
</div> </div>

View File

@@ -1,152 +1,152 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
<div id="Emailsettings-FRONT" class="partial Emailsettings-FRONT"> <div id="Emailsettings-FRONT" class="partial Emailsettings-FRONT">
%# <script> %# <script>
%# window.onload = function() { %# window.onload = function() {
%# SelectInput(); %# SelectInput();
%# }; %# };
%# </script> %# </script>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $mai_data %= dumper $mai_data
<br> <br>
</pre> </pre>
% } % }
% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table % $c->param( Selected => undef ); #This may need deleting for a params panel - only needed for a table
% my $btn = l('Modify'); % my $btn = l('Modify');
<fieldset> <fieldset>
<legend><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></legend> <legend><%= $c->l('mai_DESC_STATE_ACCESS_BUTTON') %></legend>
%= form_for 'emailsettings' => (method => 'POST') => begin %= form_for 'emailsettings' => ( method => 'POST' ) => begin
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_POP_ACCESS_CONTROL' %= l 'mai_LABEL_POP_ACCESS_CONTROL'
</span><span class=data2> </span><span class=data2>
%= $c->get_current_pop3_access( TRUE ) %= $c->get_current_pop3_access(TRUE)
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_IMAP_ACCESS_CONTROL' %= l 'mai_LABEL_IMAP_ACCESS_CONTROL'
</span><span class=data2> </span><span class=data2>
%= $c->get_current_imap_access( TRUE ) %= $c->get_current_imap_access(TRUE)
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_WEBMAIL' %= l 'mai_LABEL_WEBMAIL'
</span><span class=data2> </span><span class=data2>
%= $c->get_current_webmail_status( TRUE ) %= $c->get_current_webmail_status(TRUE)
</span></p> </span></p>
<br> <br>
<div class='center'> <div class='center'>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</div> </div>
%= hidden_field 'trt' => 'ACC' %= hidden_field 'trt' => 'ACC'
% end % end
</fieldset> </fieldset>
<br> <br>
<fieldset>
<legend><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></legend>
%= form_for 'emailsettings' => (method => 'POST') => begin
<p><span class=label>
%=l 'mai_LABEL_VIRUS_SCAN'
</span><span class=data2>
%= $c->get_virus_status(TRUE)
</span></p>
<p><span class=label> <fieldset>
%=l 'mai_LABEL_SPAM_SCAN' <legend><%= $c->l('mai_DESC_STATE_FILTERING_BUTTON') %></legend>
</span><span class=data2> %= form_for 'emailsettings' => ( method => 'POST' ) => begin
%= $c->get_spam_status(TRUE) <p><span class=label>
</span></p> %= l 'mai_LABEL_VIRUS_SCAN'
</span><span class=data2>
%= $c->get_virus_status(TRUE)
</span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT' %= l 'mai_LABEL_SPAM_SCAN'
</span><span class=data2> </span><span class=data2>
%= $c->get_patterns_status(TRUE) %= $c->get_spam_status(TRUE)
</span></p> </span></p>
<br> <p><span class=label>
<div class='center'> %= l 'mai_LABEL_BLOCK_EXECUTABLE_CONTENT'
%= submit_button "$btn", class => 'action' </span><span class=data2>
</div> %= $c->get_patterns_status(TRUE)
</span></p>
%= hidden_field 'trt' => 'FIL' <br>
% end <div class='center'>
</fieldset> %= submit_button "$btn", class => 'action'
<br> </div>
<fieldset> %= hidden_field 'trt' => 'FIL'
<legend><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></legend> % end
%= form_for 'emailsettings' => (method => 'POST') => begin </fieldset>
<p><span class=label> <br>
%=l 'mai_LABEL_MODE'
</span><span class=data2>
%= $mai_data->{fetchmailmethod}
</span></p>
% my $smtp_mesg;
% $smtp_mesg=l('mai_SMTP_port_authenticate'); <fieldset>
<p><span class=label> <legend><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></legend>
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25)); %= form_for 'emailsettings' => ( method => 'POST' ) => begin
</span><span class=data2> <p><span class=label>
%= $c->get_current_smtp_auth( TRUE ) %= l 'mai_LABEL_MODE'
</span></p> </span><span class=data2>
%= $mai_data->{fetchmailmethod}
</span></p>
% $smtp_mesg=l('mai_SMTPS_SSL/TLS'); % my $smtp_mesg;
<p><span class=label>
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465));
</span><span class=data2>
%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE )
</span></p>
% $smtp_mesg=l 'mai_Submission_port'; % $smtp_mesg = l('mai_SMTP_port_authenticate');
<p><span class=label> <p><span class=label>
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587)); %= sprintf( $smtp_mesg, $c->get_db_prop( 'qpsmtpd', 'TCPPort', 25 ) );
</span><span class=data2> </span><span class=data2>
%= $c->get_current_smtp_ssl_auth( TRUE,'u', FALSE ) %= $c->get_current_smtp_auth(TRUE)
</span></p> </span></p>
<br />
<div class='center'> % $smtp_mesg = l('mai_SMTPS_SSL/TLS');
%= submit_button "$btn", class => 'action' <p><span class=label>
</div> %= sprintf( $smtp_mesg, $c->get_db_prop( 'sqpsmtpd', 'TCPPort', 465 ) );
</span><span class=data2>
%= $c->get_current_smtp_ssl_auth( TRUE, 's', FALSE )
</span></p>
%= hidden_field 'trt' => 'REC' % $smtp_mesg = l 'mai_Submission_port';
% end <p><span class=label>
</fieldset> %= sprintf( $smtp_mesg, $c->get_db_prop( 'uqpsmtpd', 'TCPPort', 587 ) );
<br> </span><span class=data2>
%= $c->get_current_smtp_ssl_auth( TRUE, 'u', FALSE )
</span></p>
<br />
<fieldset> <div class='center'>
<legend><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></legend> %= submit_button "$btn", class => 'action'
%= form_for 'emailsettings' => (method => 'POST') => begin </div>
<p><span class=label>
%=l 'mai_LABEL_UNKNOWN'
</span><span class=data2>
%= $c->get_emailunknownuser_status( TRUE )
</span></p>
<p><span class=label> %= hidden_field 'trt' => 'REC'
%=l 'mai_LABEL_DELEGATE' % end
</span><span class=data2> </fieldset>
%= $c->get_value('DelegateMailServer') <br>
</span></p>
<p><span class=label> <fieldset>
%=l 'mai_LABEL_SMARTHOST' <legend><%= $c->l('mai_DESC_STATE_DELIVERY_BUTTON') %></legend>
</span><span class=data2> %= form_for 'emailsettings' => ( method => 'POST' ) => begin
%= $c->get_value('SMTPSmartHost') <p><span class=label>
</span></p> %= l 'mai_LABEL_UNKNOWN'
</span><span class=data2>
%= $c->get_emailunknownuser_status(TRUE)
</span></p>
<br> <p><span class=label>
<div class='center'> %= l 'mai_LABEL_DELEGATE'
%= submit_button "$btn", class => 'action' </span><span class=data2>
</div> %= $c->get_value('DelegateMailServer')
</span></p>
%= hidden_field 'trt' => 'DEL' <p><span class=label>
% end %= l 'mai_LABEL_SMARTHOST'
</fieldset> </span><span class=data2>
</div> %= $c->get_value('SMTPSmartHost')
</span></p>
<br>
<div class='center'>
%= submit_button "$btn", class => 'action'
</div>
%= hidden_field 'trt' => 'DEL'
% end
</fieldset>
</div>

View File

@@ -1,159 +1,159 @@
%# %#
%# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20 %# Generated by SM2Gen version:0.9(20Jan2025) Chameleon version:4.5.4 On Python:3.12.3 at 2025-06-29 08:53:20
%# %#
<div id="Emailsettings-REC" class="partial Emailsettings-REC"> <div id="Emailsettings-REC" class="partial Emailsettings-REC">
%# <script> %# <script>
%# window.onload = function() { %# window.onload = function() {
%# SelectInput(); %# SelectInput();
%# }; %# };
%# </script> %# </script>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $mai_data %= dumper $mai_data
</pre> </pre>
% } % }
% my $btn = l('SAVE'); % my $btn = l('SAVE');
% $c->param(Selected => undef); #This may need deleting for a params panel - only needed for a table % $c->param( Selected => undef ); #This may need deleting for a params panel - only needed for a table
<h2><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></h2><br> <h2><%= $c->l('mai_DESC_STATE_RECEPTION_BUTTON') %></h2><br>
%= form_for "emailsettingsu" => (method => 'POST') => begin %= form_for "emailsettingsu" => ( method => 'POST' ) => begin
% param 'trt' => $mai_data->{trt} unless param 'trt'; % param 'trt' => $mai_data->{trt} unless param 'trt';
%= hidden_field 'trt' => $mai_data->{trt} %= hidden_field 'trt' => $mai_data->{trt}
%# Inputs etc in here. %# Inputs etc in here.
%=l 'mai_DESC_MODE' %= l 'mai_DESC_MODE'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_MODE' %= l 'mai_LABEL_MODE'
</span><span class=input> </span><span class=input>
% param 'FetchmailMethod' => $mai_data->{fetchmailmethod} unless param 'FetchmailMethod'; % param 'FetchmailMethod' => $mai_data->{fetchmailmethod} unless param 'FetchmailMethod';
<!-- <!--
<pre> <pre>
%= dumper $mai_data->{fetchmailmethod} %= dumper $mai_data->{fetchmailmethod}
%= dumper $c->get_retrieval_opt() %= dumper $c->get_retrieval_opt()
%= param 'FetchmailMethod' %= param 'FetchmailMethod'
</pre> </pre>
--> -->
%= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => 'input' %= select_field 'FetchmailMethod' => $c->get_retrieval_opt(), class => 'input'
</span></p> </span></p>
%#=l 'mai_DESC_SMTP_AUTH_CONTROL' %# =l 'mai_DESC_SMTP_AUTH_CONTROL'
<br /> <br />
%= l "mai_SMTP_port_(25)" %= l "mai_SMTP_port_(25)"
<br /> <br />
%= l "mai_SMTPS_port_(465)" %= l "mai_SMTPS_port_(465)"
<br /> <br />
%= l "mai_SMTP_Submission" %= l "mai_SMTP_Submission"
<br /> <br />
% my $smtp_mesg=l('mai_SMTP_port_authenticate'); % my $smtp_mesg = l('mai_SMTP_port_authenticate');
<p><span class=label> <p><span class=label>
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25)); %= sprintf( $smtp_mesg, $c->get_db_prop( 'qpsmtpd', 'TCPPort', 25 ) );
</span><span class=input> </span><span class=input>
% param 'SMTPAuth' => $c->get_current_smtp_auth( FALSE ) unless param 'SMTPAuth'; % param 'SMTPAuth' => $c->get_current_smtp_auth(FALSE) unless param 'SMTPAuth';
<!-- <!--
<pre> <pre>
%= dumper $c->get_smtp_auth_opt() %= dumper $c->get_smtp_auth_opt()
%= dumper $c->get_current_smtp_auth(FALSE) %= dumper $c->get_current_smtp_auth(FALSE)
%= dumper $c->get_db_prop("qpsmtpd","Authentication") %= dumper $c->get_db_prop("qpsmtpd","Authentication")
%= param 'SMTPAuth' %= param 'SMTPAuth'
</pre> </pre>
--> -->
%= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input' %= select_field 'SMTPAuth' => $c->get_smtp_auth_opt(), class => 'input'
</span></p> </span></p>
% my $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:'); % my $smtp_mesg = l('SMTPS SSL/TLS auth: port %u status:');
<p><span class=label> <p><span class=label>
%= sprintf($smtp_mesg,$c->get_db_prop('sqpsmtpd','TCPPort',465)); %= sprintf( $smtp_mesg, $c->get_db_prop( 'sqpsmtpd', 'TCPPort', 465 ) );
</span><span class=input> </span><span class=input>
% param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) unless param 'sSMTPAuth'; % param 'sSMTPAuth' => $c->get_current_smtp_ssl_auth( FALSE, 's', TRUE ) unless param 'sSMTPAuth';
%= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input'
</span></p>
%my $smtp_mesg=l('Submission port %u status:'); %= select_field 'sSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input'
<p><span class=label> </span></p>
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
</span><span class=input> % my $smtp_mesg = l('Submission port %u status:');
% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) unless param 'uSMTPAuth'; <p><span class=label>
<!-- %= sprintf( $smtp_mesg, $c->get_db_prop( 'uqpsmtpd', 'TCPPort', 587 ) );
<pre> </span><span class=input>
% param 'uSMTPAuth' => $c->get_current_smtp_ssl_auth( FALSE, 'u', TRUE ) unless param 'uSMTPAuth';
<!--
<pre>
%= dumper $c->get_smtp_ssl_auth_opt() %= dumper $c->get_smtp_ssl_auth_opt()
%= dumper $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE) %= dumper $c->get_current_smtp_ssl_auth(FALSE,'s', TRUE)
%= dumper $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE) %= dumper $c->get_current_smtp_ssl_auth(FALSE,'u', TRUE)
%= dumper $c->get_db_prop("uqpsmtpd","access") %= dumper $c->get_db_prop("uqpsmtpd","access")
%= param 'uSMTPAuth' %= param 'uSMTPAuth'
</pre> </pre>
--> -->
%= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input' %= select_field 'uSMTPAuth' => $c->get_smtp_ssl_auth_opt(), class => 'input'
</span></p> </span></p>
<!--<hr class="sectionbar" />--> <!--<hr class="sectionbar" />-->
<h2> <h2>
%=l 'mai_TITLE_SECONDARY' %= l 'mai_TITLE_SECONDARY'
</h2><br> </h2><br>
%=l 'mai_DESC_SECONDARY' %= l 'mai_DESC_SECONDARY'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SECONDARY' %= l 'mai_LABEL_SECONDARY'
</span><span class=input> </span><span class=input>
% param 'SecondaryMailServer' => $mai_data->{secondarymailserver} unless param 'SecondaryMailServer'; % param 'SecondaryMailServer' => $mai_data->{secondarymailserver} unless param 'SecondaryMailServer';
%= text_field 'SecondaryMailServer', class => 'input' %= text_field 'SecondaryMailServer', class => 'input'
</span></p> </span></p>
%=l 'mai_DESC_FETCH_PERIOD' %= l 'mai_DESC_FETCH_PERIOD'
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_FETCH_PERIOD' %= l 'mai_LABEL_FETCH_PERIOD'
</span><span class=input> </span><span class=input>
% param 'FreqOffice' => $mai_data->{freqoffice} unless param 'FreqOffice'; % param 'FreqOffice' => $mai_data->{freqoffice} unless param 'FreqOffice';
%= select_field 'FreqOffice' => $c->fetchmail_freq(), class => 'input' %= select_field 'FreqOffice' => $c->fetchmail_freq(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_FETCH_PERIOD_NIGHTS' %= l 'mai_LABEL_FETCH_PERIOD_NIGHTS'
</span><span class=input> </span><span class=input>
% param 'FreqOutside' => $mai_data->{freqoutside} unless param 'FreqOutside'; % param 'FreqOutside' => $mai_data->{freqoutside} unless param 'FreqOutside';
%= select_field 'FreqOutside' => $c->fetchmail_freq(), class => 'input' %= select_field 'FreqOutside' => $c->fetchmail_freq(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_FETCH_PERIOD_WEEKENDS' %= l 'mai_LABEL_FETCH_PERIOD_WEEKENDS'
</span><span class=input> </span><span class=input>
% param 'FreqWeekend' => $mai_data->{freqweekend} unless param 'FreqWeekend'; % param 'FreqWeekend' => $mai_data->{freqweekend} unless param 'FreqWeekend';
%= select_field 'FreqWeekend' => $c->fetchmail_freq(), class => 'input' %= select_field 'FreqWeekend' => $c->fetchmail_freq(), class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_POP_ACCOUNT' %= l 'mai_LABEL_POP_ACCOUNT'
</span><span class=input> </span><span class=input>
% param 'SecondaryMailAccount' => $mai_data->{secondarymailaccount} unless param 'SecondaryMailAccount'; % param 'SecondaryMailAccount' => $mai_data->{secondarymailaccount} unless param 'SecondaryMailAccount';
%= text_field 'SecondaryMailAccount', class => 'input' %= text_field 'SecondaryMailAccount', class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_POP_PASS' %= l 'mai_LABEL_POP_PASS'
</span><span class=input> </span><span class=input>
% param 'SecondaryMailPassword' => $mai_data->{secondarymailpassword} unless param 'SecondaryMailPassword'; % param 'SecondaryMailPassword' => $mai_data->{secondarymailpassword} unless param 'SecondaryMailPassword';
%= password_field 'SecondaryMailPassword', class => 'input' %= password_field 'SecondaryMailPassword', class => 'input'
</span></p> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SORT_METHOD' %= l 'mai_LABEL_SORT_METHOD'
</span><span class=input> </span><span class=input>
% param 'SpecifyHeader' => $mai_data->{specifyheader} unless param 'SpecifyHeader'; % 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> </span></p>
<p><span class=label> <p><span class=label>
%=l 'mai_LABEL_SORT_HEADER' %= l 'mai_LABEL_SORT_HEADER'
</span><span class=input> </span><span class=input>
% param 'SecondaryMailEnvelope' => $mai_data->{secondarymailenvelope} unless param 'SecondaryMailEnvelope'; % param 'SecondaryMailEnvelope' => $mai_data->{secondarymailenvelope} unless param 'SecondaryMailEnvelope';
%= text_field 'SecondaryMailEnvelope', class => 'input' %= text_field 'SecondaryMailEnvelope', class => 'input'
</span></p> </span></p>
%# .... %# ....
%# Probably finally by a submit. %# Probably finally by a submit.
%= submit_button $btn, class => 'action' %= submit_button $btn, class => 'action'
%end % end
</div> </div>

View File

@@ -1,42 +1,42 @@
% layout 'default', title => 'Sme server 2 - Support'; % layout 'default', title => 'Sme server 2 - Support';
% content_for 'head' => begin % content_for 'head' => begin
%= include 'partials/_head' %= include 'partials/_head'
% end % end
% content_for 'header' => begin % content_for 'header' => begin
%= include 'partials/_header' %= include 'partials/_header'
% end % end
% content_for 'info' => begin % content_for 'info' => begin
%= include 'partials/_info' %= include 'partials/_info'
% end % end
% content_for 'navigation' => begin % content_for 'navigation' => begin
< %= $navigation % > < %= $navigation % >
%= include 'partials/_navig' %= include 'partials/_navig'
% end % end
% content_for 'footer' => begin % content_for 'footer' => begin
%= include 'partials/_footer' %= include 'partials/_footer'
% end % end
% content_for 'end' => begin % content_for 'end' => begin
<div id="end" class="sme-copyrightbar"> <div id="end" class="sme-copyrightbar">
content_end content_end
</div> </div>
% end % end
<div id="module"> <div id="module">
<p> < %= $title % ></p><br> <p> < %= $title % ></p><br>
<%= $modul %><br> <%= $modul %><br>
Et eu humo modo paratus quadrum turpis validus. Abico appellatio augue qui refero valetudo vereor. Augue diam eu genitus ille letalis nobis typicus veniam. Et eu humo modo paratus quadrum turpis validus. Abico appellatio augue qui refero valetudo vereor. Augue diam eu genitus ille letalis nobis typicus veniam.
Dignissim dolus loquor lucidus probo proprius tation torqueo. Abluo luptatum quidem. Acsi aliquip eu ex iaceo natu populus quae scisco si. Dignissim dolus loquor lucidus probo proprius tation torqueo. Abluo luptatum quidem. Acsi aliquip eu ex iaceo natu populus quae scisco si.
Aliquam autem blandit decet in jus loquor quidne saluto te. Eu meus voco wisi. Abico defui euismod huic jumentum lobortis mos vulpes. Causa eros feugiat hendrerit illum luctus nimis quidem valetudo. Elit ex obruo tation usitas vero. Abigo dolus hendrerit huic iriure jumentum letalis lobortis melior nulla. Blandit causa immitto iriure metuo nutus pagus ut voco. Aliquam autem blandit decet in jus loquor quidne saluto te. Eu meus voco wisi. Abico defui euismod huic jumentum lobortis mos vulpes. Causa eros feugiat hendrerit illum luctus nimis quidem valetudo. Elit ex obruo tation usitas vero. Abigo dolus hendrerit huic iriure jumentum letalis lobortis melior nulla. Blandit causa immitto iriure metuo nutus pagus ut voco.
<br> <br>
<p> <p>
%= link_to Welcome => '/' %= link_to Welcome => '/'
</p> </p>
</div> </div>

View File

@@ -1,36 +1,36 @@
% use SrvMngr qw( getNavigation ); % use SrvMngr qw( getNavigation );
% my %nav = %{SrvMngr->getNavigation( $c->languages(), 'N' )}; % my %nav = %{ SrvMngr->getNavigation( $c->languages(), 'N' ) };
<div id='navmenu'> <div id='navmenu'>
<!-- <a href='#' id='tognav' class='menu-title'>NAVIGATION</a> --> <!-- <a href='#' id='tognav' class='menu-title'>NAVIGATION</a> -->
<div id='menunav'> <div id='menunav'>
% my $cc = 200; % my $cc = 200;
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'}) % foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) { % <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
% %
<!-- div class='section section-title'><%= $h %></div --> <!-- div class='section section-title'><%= $h %></div -->
<div><a href='#' class='section section-title'><%= $h %></a></div> <div><a href='#' class='section section-title'><%= $h %></a></div>
<div class='togms'> <div class='togms'>
% my ($classNew, $target, $href) = ''; % my ( $classNew, $target, $href ) = '';
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) { % foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
% next if ($_->{'MENUCAT'} ne 'N' ); # menu Navigation % next if ( $_->{'MENUCAT'} ne 'N' ); # menu Navigation
% if ( $_->{'FILENAME'} =~ m/^2\// ) { % if ( $_->{'FILENAME'} =~ m/^2\// ) {
% $target = '_self'; % $target = '_self';
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||; % ( my $file2 = $_->{'FILENAME'} ) =~ s|^2/||;
% $href = '/smanager/' . $file2; % $href = '/smanager/' . $file2;
% } else { % } else {
% $target = 'main'; % $target = 'main';
% $href = '/server-manager' . $_->{'FILENAME'}; % $href = '/server-manager' . $_->{'FILENAME'};
% } % }
<div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>' <div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>'
id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div> id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div>
% $cc++; % $cc++;
% } % }
</div> </div>
% } % }
</div> </div>
</div> </div>

View File

@@ -1,38 +1,38 @@
% use SrvMngr qw( getNavigation ); % use SrvMngr qw( getNavigation );
% my %nav = %{SrvMngr->getNavigation( $c->languages(), 'A' )}; % my %nav = %{ SrvMngr->getNavigation( $c->languages(), 'A' ) };
<div id='navigat2'> <div id='navigat2'>
<!-- ><div><a href='#' id='togadm' class='menu-title'>ADMINISTRATION</a></div> --> <!-- ><div><a href='#' id='togadm' class='menu-title'>ADMINISTRATION</a></div> -->
<div id='menuadm'> <div id='menuadm'>
% my $cc = 100; % my $cc = 100;
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'}) % foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) { % <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
<div><a href='#' class='section section-title'><%= $h %></a></div> <div><a href='#' class='section section-title'><%= $h %></a></div>
<div class='togms'> <div class='togms'>
% my ($classNew, $target, $href) = ''; % my ( $classNew, $target, $href ) = '';
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) { % foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
% next if ($_->{'MENUCAT'} ne 'A' ); # menu Admin % next if ( $_->{'MENUCAT'} ne 'A' ); # menu Admin
% if ( $_->{'FILENAME'} =~ m/^2\// ) { % if ( $_->{'FILENAME'} =~ m/^2\// ) {
% $target = '_self'; % $target = '_self';
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||; % ( my $file2 = $_->{'FILENAME'} ) =~ s|^2/||;
% $href = '/smanager/' . $file2; % $href = '/smanager/' . $file2;
% } else { % } else {
% $target = 'main'; % $target = 'main';
%# $href = '/server-manager' . $_->{'FILENAME'}; %# $href = '/server-manager' . $_->{'FILENAME'};
%# $href = $c->getlegacyurl($c,'/server-manager' . $_->{'FILENAME'}); %# $href = $c->getlegacyurl($c,'/server-manager' . $_->{'FILENAME'});
% my $host = $c->req->url->to_abs->host; % my $host = $c->req->url->to_abs->host;
% $href = "/smanager/legacypanel?url=https://$host/server-manager" . $_->{'FILENAME'}; % $href = "/smanager/legacypanel?url=https://$host/server-manager" . $_->{'FILENAME'};
% %
% } % }
<div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>' <div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>'
id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div> id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div>
% $cc++; % $cc++;
% } % }
</div> </div>
% } % }
</div> </div>
</div> </div>

View File

@@ -1,85 +1,85 @@
<div id='pf_add'> <div id='pf_add'>
% my $retref= $c->stash("ret"); % my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => ""); % my %ret = $retref ? %$retref : ( ret => "" );
% my @vars = split(/,/, $ret{vars} // ''); % my @vars = split( /,/, $ret{vars} // '' );
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars; % my ( $var1, $var2, $var3, $var4, $var5, $var6, $var7 ) = @vars;
% if ($c->app->config->{debug}) { % if ($c->app->config->{debug}) {
<pre> <pre>
%= dumper { ret_data => \%ret } %= dumper { ret_data => \%ret }
</pre> </pre>
% } % }
% if ($ret{ret} eq "") { % if ($ret{ret} eq "") {
% } elsif (index($ret{ret},"SUCCESS") != -1) { % } elsif (index($ret{ret},"SUCCESS") != -1) {
<br> <br>
<div class='success'> <div class='success'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } else { % } else {
<br> <br>
<div class='sme-error'> <div class='sme-error'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } % }
<br /> <br />
% my $btn = l('ADD'); % my $btn = l('ADD');
% if (config->{debug} == 1) {
</pre>
%= dumper $c->current_route
%= dumper $c->stash("ret")
</pre>
% }
%= form_for '/portforwardingb' => (method => 'POST') => begin
<h2>
%=l "pf_CREATE_RULE"
</h2>
<p>
%=l "pf_SUMMARY_ADD_DESC"
</p><br>
<span class=label>
%=l "pf_LABEL_PROTOCOL"
</span><span class=data>
%=select_field 'proto'=>["TCP","UDP"]
</span><br><br>
<span class=label>
%=l "pf_LABEL_SOURCE_PORT"
</span><span class=data>
%=text_field 'sport'
</span><br><br>
<span class=label>
%=l "pf_LABEL_DESTINATION_PORT"
</span>
<span class=data>
%=text_field 'dport'
</span><br><br>
<span class=label>
%=l "pf_LABEL_DESTINATION_HOST"
</span>
<span class=data>
%=text_field 'dhost'
</span><br><br>
<span class=label>
%=l "pf_ALLOW_HOSTS"
</span>
<span class=data>
%=text_field 'allow'
</span><br><br>
<span class=label>
%=l "pf_RULE_COMMENT"
</span>
<span class=data>
%=text_field 'cmmnt'
</span><br><br>
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
%end % if (config->{debug} == 1) {
</pre>
%= dumper $c->current_route
%= dumper $c->stash("ret")
</pre>
% }
</div> %= form_for '/portforwardingb' => ( method => 'POST' ) => begin
<h2>
%= l "pf_CREATE_RULE"
</h2>
<p>
%= l "pf_SUMMARY_ADD_DESC"
</p><br>
<span class=label>
%= l "pf_LABEL_PROTOCOL"
</span><span class=data>
%= select_field 'proto' => [ "TCP", "UDP" ]
</span><br><br>
<span class=label>
%= l "pf_LABEL_SOURCE_PORT"
</span><span class=data>
%= text_field 'sport'
</span><br><br>
<span class=label>
%= l "pf_LABEL_DESTINATION_PORT"
</span>
<span class=data>
%= text_field 'dport'
</span><br><br>
<span class=label>
%= l "pf_LABEL_DESTINATION_HOST"
</span>
<span class=data>
%= text_field 'dhost'
</span><br><br>
<span class=label>
%= l "pf_ALLOW_HOSTS"
</span>
<span class=data>
%= text_field 'allow'
</span><br><br>
<span class=label>
%= l "pf_RULE_COMMENT"
</span>
<span class=data>
%= text_field 'cmmnt'
</span><br><br>
<p>
<br>
%= submit_button "$btn", class => 'action'
</p>
% end
</div>

View File

@@ -1,66 +1,66 @@
<div id='ln_del'> <div id='ln_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
% my $proto = $pf_datas->{proto}; % my $proto = $pf_datas->{proto};
% my $sport = $pf_datas->{sport}; % my $sport = $pf_datas->{sport};
% my $dport = $pf_datas->{dport}; % my $dport = $pf_datas->{dport};
% my $dhost = $pf_datas->{dhost}; % my $dhost = $pf_datas->{dhost};
% my $cmmnt = $pf_datas->{cmmnt}; % my $cmmnt = $pf_datas->{cmmnt};
% my $allow = $pf_datas->{allow}; % my $allow = $pf_datas->{allow};
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<pre> <pre>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $c->stash("ret") %= dumper $c->stash("ret")
%= dumper %$pf_datas %= dumper %$pf_datas
</pre> </pre>
% } % }
%= form_for '/portforwardinge' => (method => 'POST') => begin
<br>
%= l "pf_SUMMARY_REMOVE_DESC"
</p><br>
<span class=label>
%=l "pf_LABEL_PROTOCOL"
</span><span class=data>
%=$proto
</span><br><br>
<span class=label>
%=l "pf_LABEL_SOURCE_PORT"
</span><span class=data>
%=$sport
</span><br><br>
<span class=label>
%=l "pf_LABEL_DESTINATION_HOST"
</span>
<span class=data>
%=$dport
</span><br><br>
<span class=label>
%=l "pf_LABEL_DESTINATION_PORT"
</span>
<span class=data>
%=$dhost
</span><br><br>
<span class=label>
%=l "pf_RULE_COMMENT"
</span>
<span class=data>
%=$cmmnt
</span><br><br>
<span class=label>
%=l "pf_ALLOW_HOSTS"
</span>
<span class=data>
%=$allow
</span><br><br>
%#}
%= hidden_field sport=>$sport
%= hidden_field proto=>$proto
<br>
%= submit_button "$btn", class => 'action'
</p>
%end %= form_for '/portforwardinge' => ( method => 'POST' ) => begin
<br>
%= l "pf_SUMMARY_REMOVE_DESC"
</p><br>
<span class=label>
%= l "pf_LABEL_PROTOCOL"
</span><span class=data>
%= $proto
</span><br><br>
<span class=label>
%= l "pf_LABEL_SOURCE_PORT"
</span><span class=data>
%= $sport
</span><br><br>
<span class=label>
%= l "pf_LABEL_DESTINATION_HOST"
</span>
<span class=data>
%= $dport
</span><br><br>
<span class=label>
%= l "pf_LABEL_DESTINATION_PORT"
</span>
<span class=data>
%= $dhost
</span><br><br>
<span class=label>
%= l "pf_RULE_COMMENT"
</span>
<span class=data>
%= $cmmnt
</span><br><br>
<span class=label>
%= l "pf_ALLOW_HOSTS"
</span>
<span class=data>
%= $allow
</span><br><br>
%# }
%= hidden_field sport => $sport
%= hidden_field proto => $proto
<br>
%= submit_button "$btn", class => 'action'
</p>
</div> % end
</div>

View File

@@ -1,116 +1,116 @@
<div id='pf_list'> <div id='pf_list'>
% my $btn = l('pf_CREATE_RULE'); % my $btn = l('pf_CREATE_RULE');
%= form_for '/portforwardinga' => (method => 'POST') => begin %= form_for '/portforwardinga' => ( method => 'POST' ) => begin
% my $numtcpforwards = @$tcpforwards; % my $numtcpforwards = @$tcpforwards;
% my $numudpforwards = @$udpforwards; % my $numudpforwards = @$udpforwards;
% my $retref= $c->stash("ret"); % my $retref = $c->stash("ret");
% my %ret = $retref ? %$retref : (ret => ""); % my %ret = $retref ? %$retref : ( ret => "" );
% my @vars = split(/,/, $ret{vars} // ''); % my @vars = split( /,/, $ret{vars} // '' );
% my ($var1, $var2, $var3, $var4, $var5, $var6, $var7) = @vars; % my ( $var1, $var2, $var3, $var4, $var5, $var6, $var7 ) = @vars;
% if ($c->app->config->{debug}) { % if ($c->app->config->{debug}) {
<pre> <pre>
%= dumper { ret_data => \%ret } %= dumper { ret_data => \%ret }
</pre> </pre>
% } % }
% if ($ret{ret} eq "") { % if ($ret{ret} eq "") {
%=l "pf_FIRST_PAGE_DESCRIPTION" %= l "pf_FIRST_PAGE_DESCRIPTION"
% } elsif (index($ret{ret},"SUCCESS") != -1) { % } elsif (index($ret{ret},"SUCCESS") != -1) {
<br> <br>
<div class='success'> <div class='success'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } else { % } else {
<br> <br>
<div class='sme-error'> <div class='sme-error'>
%= $c->render_to_string(inline => l($ret{ret}, @vars[0..6])) %= $c->render_to_string( inline => l( $ret{ret}, @vars[ 0 .. 6 ] ) )
</div> </div>
% } % }
<br /> <br />
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
% if ($empty){
<br>
%=l 'pf_NO_FORWARDS'
% } else {
<br>
%=l 'pf_SHOW_FORWARDS'
<br><br />
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'pf_LABEL_PROTOCOL'
</th>
<th class='sme-border'>
%=l 'pf_LABEL_SOURCE_PORT'
</th>
<th class='sme-border'>
%=l 'pf_LABEL_DESTINATION_HOST'
</th>
<th class='sme-border'>
%=l 'pf_LABEL_DESTINATION_PORT'
</th>
<th class='sme-border'>
%=l 'pf_ALLOW_HOSTS'
</th>
<th class='sme-border'>
%=l 'pf_RULE_COMMENT'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% my %forwards = ();
% $forwards{TCP} = $tcpforwards;
% $forwards{UDP} = $udpforwards;
% foreach my $proto (sort keys %forwards) { % if ($empty){
<br>
%= l 'pf_NO_FORWARDS'
% } else {
<br>
%= l 'pf_SHOW_FORWARDS'
<br><br />
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%= l 'pf_LABEL_PROTOCOL'
</th>
<th class='sme-border'>
%= l 'pf_LABEL_SOURCE_PORT'
</th>
<th class='sme-border'>
%= l 'pf_LABEL_DESTINATION_HOST'
</th>
<th class='sme-border'>
%= l 'pf_LABEL_DESTINATION_PORT'
</th>
<th class='sme-border'>
%= l 'pf_ALLOW_HOSTS'
</th>
<th class='sme-border'>
%= l 'pf_RULE_COMMENT'
</th>
<th class='sme-border'>
%= l 'ACTION'
</th>
</tr>
</thead><tbody>
% my %forwards = ();
% $forwards{TCP} = $tcpforwards;
% $forwards{UDP} = $udpforwards;
% if (@{ $forwards{$proto} }) { % foreach my $proto (sort keys %forwards) {
% foreach my $entry (@{ $forwards{$proto} }) {
<tr> % if (@{ $forwards{$proto} }) {
% my $sport = $entry->key; % foreach my $entry (@{ $forwards{$proto} }) {
% my $dhost = $entry->prop('DestHost'); <tr>
% my $dport = $entry->prop('DestPort') || ''; % my $sport = $entry->key;
% my $cmmnt = $entry->prop('Comment') || ''; % my $dhost = $entry->prop('DestHost');
% my $allow = $entry->prop('AllowHosts') || ''; % my $dport = $entry->prop('DestPort') || '';
%= t td => (class => 'sme-border') => $proto % my $cmmnt = $entry->prop('Comment') || '';
%= t td => (class => 'sme-border') => $sport % my $allow = $entry->prop('AllowHosts') || '';
%= t td => (class => 'sme-border') => $dhost %= t td => ( class => 'sme-border' ) => $proto
%= t td => (class => 'sme-border') => $dport %= t td => ( class => 'sme-border' ) => $sport
%= t td => (class => 'sme-border') => $allow %= t td => ( class => 'sme-border' ) => $dhost
%= t td => (class => 'sme-border') => $cmmnt %= t td => ( class => 'sme-border' ) => $dport
<td class='sme-border'> %= t td => ( class => 'sme-border' ) => $allow
%my $remove_text = l('REMOVE'); # Localized text %= t td => ( class => 'sme-border' ) => $cmmnt
%my $csrf_token = "TOKEN"; # CSRF token for security <td class='sme-border'>
%my $actionRemove = qq{ % my $remove_text = l('REMOVE'); # Localized text
% <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto"> % my $csrf_token = "TOKEN"; # CSRF token for security
% <button type='button' class='sme-remove-button' title='$remove_text' > % my $actionRemove = qq{
% $remove_text % <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto">
% </button> % <button type='button' class='sme-remove-button' title='$remove_text' >
% </a> % $remove_text
%}; % </button>
<%= $c->render_to_string(inline => $actionRemove) %> % </a>
</td> % };
</tr> <%= $c->render_to_string( inline => $actionRemove ) %>
% } </td>
% } </tr>
%} % }
%} % }
</tbody> % }
</table> % }
%= hidden_field 'trt' => $pf_datas->{trt} </tbody>
</table>
</div> %= hidden_field 'trt' => $pf_datas->{trt}
</div>

View File

@@ -1,46 +1,46 @@
<div id='prt_add'> <div id='prt_add'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/printers2' => (method => 'POST') => begin %= form_for '/printers2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'prt_CREATE_NEW_PRINTER' %= l 'prt_CREATE_NEW_PRINTER'
</h2><br> </h2><br>
%=l 'prt_CREATE_NEW_DESC' %= l 'prt_CREATE_NEW_DESC'
</p><br> </p><br>
<p> <p>
<span class=label> <span class=label>
%=l 'prt_PRINTER_NAME', class => 'label' %= l 'prt_PRINTER_NAME', class => 'label'
</span><span class=data> </span><span class=data>
%= text_field 'Name', class => 'input' %= text_field 'Name', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'DESCRIPTION_BRIEF', class => 'label' %= l 'DESCRIPTION_BRIEF', class => 'label'
</span><span class=data> </span><span class=data>
%= text_field 'Description', class => 'input' %= text_field 'Description', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'LOCATION', class => 'label' %= l 'LOCATION', class => 'label'
</span><span class=data> </span><span class=data>
%= select_field 'Location' => $c->printerLocation_list(), class => 'input' %= select_field 'Location' => $c->printerLocation_list(), class => 'input'
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $prt_datas->{trt} %= hidden_field 'trt' => $prt_datas->{trt}
% end % end
</div> </div>

View File

@@ -1,81 +1,81 @@
<div id='prt_list'> <div id='prt_list'>
% my $btn = l('prt_INITIAL_BTN'); % my $btn = l('prt_INITIAL_BTN');
%= form_for '/printers' => (method => 'POST') => begin %= form_for '/printers' => ( method => 'POST' ) => begin
%= hidden_field 'trt' => 'ADD' %= hidden_field 'trt' => 'ADD'
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
<p> <p>
<h2> <h2>
%=l 'prt_CURRENT_LIST' %= l 'prt_CURRENT_LIST'
</h2> </h2>
<br><br> <br><br>
% my $numPrinters = @$printerDrivers; % my $numPrinters = @$printerDrivers;
% if ($numPrinters == 0){ % if ($numPrinters == 0){
%=l 'prt_NO_PRINTERS' %= l 'prt_NO_PRINTERS'
% } else { % } else {
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'NAME'
</th>
<th class='sme-border'>
%=l 'DESCRIPTION'
</th>
<th class='sme-border'>
%=l 'LOCATION'
</th>
<th class='sme-border'>
%=l 'prt_REMOTE_ADDRESS'
</th>
<th class='sme-border'>
%=l 'prt_REMOTE_NAME'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $printer (@$printerDrivers)
% {
% my $address = ($printer->prop('Location') eq 'remote')
% ? $printer->prop('Address') : 'N/A';
% my $remoteName = ($printer->prop('Location') eq 'remote')
% ? $printer->prop('RemoteName') : 'N/A';
% $remoteName = 'raw' unless ($remoteName);
<tr> <tr>
%= t td => (class => 'sme-border') => $printer->key <th class='sme-border'>
%= t td => (class => 'sme-border') => $printer->prop('Description') %= l 'NAME'
%= t td => (class => 'sme-border') => $printer->prop('Location') </th>
%= t td => (class => 'sme-border') => $address <th class='sme-border'>
%= t td => (class => 'sme-border') => $remoteName %= l 'DESCRIPTION'
<td class='sme-border'> </th>
%my $remove_text = l('REMOVE'); # Localized text <th class='sme-border'>
%my $csrf_token = "TOKEN"; # CSRF token for security %= l 'LOCATION'
%my $printer_name = $printer->key; </th>
%my $actionRemove = qq{ <th class='sme-border'>
% <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name"> %= l 'prt_REMOTE_ADDRESS'
% <button type='button' class='sme-remove-button' title='$remove_text' > </th>
% $remove_text <th class='sme-border'>
% </button> %= l 'prt_REMOTE_NAME'
% </a> </th>
%}; <th class='sme-border'>
<%= $c->render_to_string(inline => $actionRemove) %> %= l 'ACTION'
</td> </th>
</tr> </tr>
% } </thead><tbody>
</tbody> % foreach my $printer (@$printerDrivers)
</table> % {
<%} %> % my $address = ( $printer->prop('Location') eq 'remote' )
</p> % ? $printer->prop('Address') : 'N/A';
% my $remoteName = ( $printer->prop('Location') eq 'remote' )
% ? $printer->prop('RemoteName') : 'N/A';
% $remoteName = 'raw' unless ($remoteName);
<tr>
%= t td => ( class => 'sme-border' ) => $printer->key
%= t td => ( class => 'sme-border' ) => $printer->prop('Description')
%= t td => ( class => 'sme-border' ) => $printer->prop('Location')
%= t td => ( class => 'sme-border' ) => $address
%= t td => ( class => 'sme-border' ) => $remoteName
<td class='sme-border'>
% my $remove_text = l('REMOVE'); # Localized text
% 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>
% };
<%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
</tbody>
</table>
<% } %>
</p>
</div> </div>

View File

@@ -1,43 +1,43 @@
<div id='prt_net'> <div id='prt_net'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/printers2' => (method => 'POST') => begin %= form_for '/printers2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'prt_CREATE_NETWORK_PRINTER' %= l 'prt_CREATE_NETWORK_PRINTER'
</h2> </h2>
<br><br>
%=l 'prt_CREATE_NETWORK_DESC'
</p>
<p>
<span class=label>
%=l 'prt_HOSTNAME_OR_IP', class => 'label'
</span><span class=data>
%= text_field 'Address', class => 'input'
</span>
</p>
<p> <br><br>
<span class=label> %= l 'prt_CREATE_NETWORK_DESC'
%=l 'prt_REMOTE_NAME_DESC', class => 'label' </p>
</span><span class=data>
%= text_field 'RemoteName' => 'raw', class => 'input'
</span>
</p>
<p> <p>
<br><br> <span class=label>
%= submit_button "$btn", class => 'action' %= l 'prt_HOSTNAME_OR_IP', class => 'label'
</p> </span><span class=data>
%= text_field 'Address', class => 'input'
</span>
</p>
%= hidden_field 'trt' => $prt_datas->{trt} <p>
%= hidden_field 'Name' => $prt_datas->{name} <span class=label>
%= hidden_field 'Description' => $prt_datas->{description} %= l 'prt_REMOTE_NAME_DESC', class => 'label'
%= hidden_field 'Location' => $prt_datas->{location} </span><span class=data>
%= text_field 'RemoteName' => 'raw', class => 'input'
% end </span>
</p>
<p>
<br><br>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => $prt_datas->{trt}
%= hidden_field 'Name' => $prt_datas->{name}
%= hidden_field 'Description' => $prt_datas->{description}
%= hidden_field 'Location' => $prt_datas->{location}
% end
</div> </div>

View File

@@ -1,39 +1,39 @@
<div id='pse_add'> <div id='pse_add'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/pseudonyms2' => (method => 'POST') => begin %= form_for '/pseudonyms2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'pse_TITLE_CREATE' %= l 'pse_TITLE_CREATE'
</h2> </h2>
<br> <br>
%= $c->render_to_string(inline => l('pse_VALID_PSEUDONYM_NAMES')); %= $c->render_to_string( inline => l('pse_VALID_PSEUDONYM_NAMES') );
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'pse_PSEUDONYM_NAME', class => 'label' %= l 'pse_PSEUDONYM_NAME', class => 'label'
</span><span class=data> </span><span class=data>
%= text_field 'Pseudonym', class => 'input' %= text_field 'Pseudonym', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'pse_SELECT_ACCOUNT', class => 'label' %= l 'pse_SELECT_ACCOUNT', class => 'label'
</span><span class=data> </span><span class=data>
%= select_field 'Account' => $c->existing_accounts_list(), class => 'input' %= select_field 'Account' => $c->existing_accounts_list(), class => 'input'
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $pse_datas->{trt} %= hidden_field 'trt' => $pse_datas->{trt}
% end % end
</div> </div>

View File

@@ -1,25 +1,25 @@
<div id='pse_del'> <div id='pse_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/pseudonyms2' => (method => 'POST') => begin %= form_for '/pseudonyms2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'pse_REMOVE_PSEUDONYM' %= l 'pse_REMOVE_PSEUDONYM'
</h2> </h2>
<p> <p>
%= $c->render_to_string(inline => l('pse_ABOUT_TO_REMOVE', $pse_datas->{pseudonym})); %= $c->render_to_string( inline => l( 'pse_ABOUT_TO_REMOVE', $pse_datas->{pseudonym} ) );
</p> </p>
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $pse_datas->{trt} %= hidden_field 'trt' => $pse_datas->{trt}
%= hidden_field 'Pseudonym' => $pse_datas->{pseudonym} %= hidden_field 'Pseudonym' => $pse_datas->{pseudonym}
% end % end
</div> </div>

View File

@@ -1,95 +1,95 @@
<div id='pse_list'> <div id='pse_list'>
% my $btn = l('pse_CLICK_TO_CREATE'); % my $btn = l('pse_CLICK_TO_CREATE');
%= $c->render_to_string(inline => l('pse_DESCRIPTION')); %= $c->render_to_string( inline => l('pse_DESCRIPTION') );
%= form_for '/pseudonyms' => (method => 'POST') => begin %= form_for '/pseudonyms' => ( method => 'POST' ) => begin
%= hidden_field 'trt' => 'ADD' %= hidden_field 'trt' => 'ADD'
<p><br> <p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
<p><h2> <p><h2>
%=l 'pse_CURRENT_PSEUDONYMS' %= l 'pse_CURRENT_PSEUDONYMS'
</h2><br> </h2><br>
% my $numPseudonyms = @$pseudonyms; % my $numPseudonyms = @$pseudonyms;
% if ($numPseudonyms == 0){ % if ($numPseudonyms == 0){
%=l 'pse_ACCOUNT_PSEUDONYM_NONE' %= l 'pse_ACCOUNT_PSEUDONYM_NONE'
% } else { % } else {
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'pse_PSEUDONYM'
</th>
<th class='sme-border'>
%=l 'pse_USER_OR_GROUP'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
<!-- <th class='sme-border' style="display: normal;"></th> -->
</tr></thead>
<tbody>
% foreach my $pseudonym ( @$pseudonyms )
% {
% my $modifiable = $pseudonym->prop('Changeable') || 'yes';
% my $removable = $pseudonym->prop('Removable') || 'yes';
% my $account = $pseudonym->prop('Account');
% $account = "Administrator" if ($account eq "admin");
% $account = $c->l("pse_EVERYONE") if ($account eq "shared");
% my $visible = $pseudonym->prop('Visible');
% $account .= $c->l("pse_LOCAL_ONLY")
% if (defined $visible && $visible eq "internal");
<tr> <tr>
%= t td => (class => 'sme-border') => $pseudonym->key <th class='sme-border'>
%= t td => (class => 'sme-border') => $account %= l 'pse_PSEUDONYM'
</th>
<th class='sme-border'>
%= l 'pse_USER_OR_GROUP'
</th>
<th class='sme-border'>
%= l 'ACTION'
</th>
<!-- <th class='sme-border' style="display: normal;"></th> -->
</tr></thead>
<tbody>
<td class='sme-border'> % foreach my $pseudonym (@$pseudonyms)
%my ($actionModify, $actionRemove) = '&nbsp;'; % {
%if ($modifiable eq 'yes') { % my $modifiable = $pseudonym->prop('Changeable') || 'yes';
%my $modify_text = l('MODIFY'); # Localized text % my $removable = $pseudonym->prop('Removable') || 'yes';
%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>
%};
%}
%if ($removable eq 'yes') { % my $account = $pseudonym->prop('Account');
%my $remove_text = l('REMOVE'); # Localized text % $account = "Administrator" if ( $account eq "admin" );
%my $csrf_token = "TOKEN"; # CSRF token for security % $account = $c->l("pse_EVERYONE") if ( $account eq "shared" );
%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>
%};
%}
<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %>
</td> % my $visible = $pseudonym->prop('Visible');
</tr> % $account .= $c->l("pse_LOCAL_ONLY")
% } % if ( defined $visible && $visible eq "internal" );
</tbody>
</table> <tr>
<%} %> %= t td => ( class => 'sme-border' ) => $pseudonym->key
</p> %= t td => ( class => 'sme-border' ) => $account
<td class='sme-border'>
% my ( $actionModify, $actionRemove ) = '&nbsp;';
% if ($modifiable eq 'yes') {
% my $modify_text = l('MODIFY'); # Localized text
% 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>
% };
% }
% if ($removable eq 'yes') {
% my $remove_text = l('REMOVE'); # Localized text
% 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>
% };
% }
<%= $c->render_to_string( inline => $actionModify ) %> <%= $c->render_to_string( inline => $actionRemove ) %>
</td>
</tr>
% }
</tbody>
</table>
<% } %>
</p>

View File

@@ -1,53 +1,53 @@
<div id='pse_upd'> <div id='pse_upd'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/pseudonyms2' => (method => 'POST') => begin %= form_for '/pseudonyms2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'pse_MODIFY_PSEUDONYM' %= l 'pse_MODIFY_PSEUDONYM'
</h2> </h2>
<br> <br>
%=l 'pse_DESC_PSEUDONYM_NAME' %= l 'pse_DESC_PSEUDONYM_NAME'
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'pse_PSEUDONYM_NAME', class => 'label' %= l 'pse_PSEUDONYM_NAME', class => 'label'
</span><span class=data> </span><span class=data>
%= $pse_datas->{pseudonym}, class => 'data' %= $pse_datas->{pseudonym}, class => 'data'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'pse_SELECT_ACCOUNT', class => 'label' %= l 'pse_SELECT_ACCOUNT', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Account' => $pse_datas->{account} unless param 'Account'; % param 'Account' => $pse_datas->{account} unless param 'Account';
%= select_field 'Account' => $c->existing_accounts_list(), class => 'input' %= select_field 'Account' => $c->existing_accounts_list(), class => 'input'
</span> </span>
</p> </p>
%if ( $c->is_pseudonym_not_removable( $pse_datas->{pseudonym} ) ) { % if ( $c->is_pseudonym_not_removable( $pse_datas->{pseudonym} ) ) {
<p> <p>
<span class=label> <span class=label>
%=l 'pse_SELECT_INTERNAL', class => 'label' %= l 'pse_SELECT_INTERNAL', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Internal' => $pse_datas->{internal} unless param 'Internal'; % 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> </span>
</p> </p>
%} % }
<p>
%= submit_button "$btn", class => 'action'
</p>
%= hidden_field 'trt' => $pse_datas->{trt} <p>
%= hidden_field 'Pseudonym' => $pse_datas->{pseudonym} %= submit_button "$btn", class => 'action'
</p>
%end
%= hidden_field 'trt' => $pse_datas->{trt}
%= hidden_field 'Pseudonym' => $pse_datas->{pseudonym}
% end
</div> </div>

View File

@@ -1,82 +1,82 @@
<div id='quo_list'> <div id='quo_list'>
<p> <p>
% my $modul = $c->render_to_string(inline => $c->l('quo_QUOTA_DESC')); % my $modul = $c->render_to_string( inline => $c->l('quo_QUOTA_DESC') );
%= $modul %= $modul
<h3>
%=l 'quo_CURRENT_USAGE_AND_SETTINGS'
</h3>
<br> <h3>
% my $numUsers = @$userAccounts; %= l 'quo_CURRENT_USAGE_AND_SETTINGS'
% if ($numUsers == 0){ </h3>
%=l 'ACCOUNT_USER_NONE'
% } else {
% my $limit = l('quo_LIMIT_WITH_GRACE_MB'); $limit =~ s#(graceX)#<br>$1#; <br>
% my $absolute = l('quo_ABS_LIMIT_MB'); $absolute =~ s#(limitX)#<br>$1#; % my $numUsers = @$userAccounts;
% my $current = l('quo_CURRENT_USAGE'); $current =~ s#(usageX)#<br>$1#; % if ($numUsers == 0){
%= l 'ACCOUNT_USER_NONE'
% } else {
<table class="sme-border TableSort"><thead> % my $limit = l('quo_LIMIT_WITH_GRACE_MB'); $limit =~ s#(graceX)#<br>$1#;
<tr> % my $absolute = l('quo_ABS_LIMIT_MB'); $absolute =~ s#(limitX)#<br>$1#;
<th class='sme-border'> % my $current = l('quo_CURRENT_USAGE'); $current =~ s#(usageX)#<br>$1#;
%=l 'ACCOUNT'
</th>
<th class='sme-border'>
%=l 'USER_NAME'
</th>
<th class='sme-border'>
%= $limit
</th>
<th class='sme-border'>
%= $absolute
</th>
<th class='sme-border'>
%= $current
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $user (@$userAccounts) <table class="sme-border TableSort"><thead>
% {
% my $uid = getpwnam($user->key);
% unless ($uid) {
% warn($self->localise('COULD_NOT_GET_UID'),$user->key);
% next;
% }
% my $name = $user->prop("FirstName")." ".$user->prop("LastName");
% my $dev = Quota::getqcarg('/home/e-smith/files');
% my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid);
<tr> <tr>
%= t td => (class => 'sme-border') => $user->key <th class='sme-border'>
%= t td => (class => 'sme-border') => $name %= l 'ACCOUNT'
%= t td => (class => 'sme-border') => sprintf("%.2f", $bs / 1024 ) </th>
%= t td => (class => 'sme-border') => sprintf("%.2f", $bh / 1024 ) <th class='sme-border'>
%= t td => (class => 'sme-border') => sprintf("%.2f", $bc / 1024 ) %= l 'USER_NAME'
<td class='sme-border'> </th>
%my $modify_text = l('MODIFY'); # Localized text <th class='sme-border'>
%my $csrf_token = "TOKEN"; # CSRF token for security %= $limit
%my $quota_user_name = $user->key; # quotas_entry name extracted from the data structure </th>
%my $actionModify = qq{ <th class='sme-border'>
% <a href="quotad?CsrfDef=$csrf_token&trt=UPD&user=$quota_user_name"> %= $absolute
% <button type='button' class='sme-modify-button' title='$modify_text' > </th>
% $modify_text <th class='sme-border'>
% </button> %= $current
% </a> </th>
%}; <th class='sme-border'>
<%= $c->render_to_string(inline => $actionModify) %> %= l 'ACTION'
</td> </th>
</tr> </tr>
% } </thead><tbody>
</tbody>
</table>
<%} %>
</p>
%= hidden_field 'trt' => $quo_datas->{trt} % foreach my $user (@$userAccounts)
% {
% my $uid = getpwnam( $user->key );
% unless ($uid) {
% warn( $self->localise('COULD_NOT_GET_UID'), $user->key );
% next;
% }
% my $name = $user->prop("FirstName") . " " . $user->prop("LastName");
% my $dev = Quota::getqcarg('/home/e-smith/files');
% my ( $bc, $bs, $bh, $bt, $ic, $is, $ih, $it ) = Quota::query( $dev, $uid );
<tr>
%= t td => ( class => 'sme-border' ) => $user->key
%= t td => ( class => 'sme-border' ) => $name
%= t td => ( class => 'sme-border' ) => sprintf( "%.2f", $bs / 1024 )
%= t td => ( class => 'sme-border' ) => sprintf( "%.2f", $bh / 1024 )
%= t td => ( class => 'sme-border' ) => sprintf( "%.2f", $bc / 1024 )
<td class='sme-border'>
% my $modify_text = l('MODIFY'); # Localized text
% 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>
% };
<%= $c->render_to_string( inline => $actionModify ) %>
</td>
</tr>
% }
</tbody>
</table>
<% } %>
</p>
%= hidden_field 'trt' => $quo_datas->{trt}
</div> </div>

View File

@@ -1,84 +1,84 @@
<div id='quo_upd'> <div id='quo_upd'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/quota2' => (method => 'POST') => begin %= form_for '/quota2' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'quo_MODIFY_USER_TITLE' %= l 'quo_MODIFY_USER_TITLE'
</h2> </h2>
</p> </p>
% my $userid = $quo_datas->{user}; % my $userid = $quo_datas->{user};
% my $user = $quo_datas->{userRec}; % my $user = $quo_datas->{userRec};
<!-- <!--
for my $user @$userAccounts for my $user @$userAccounts
{ {
unless ( $user->key eq $userid) { unless ( $user->key eq $userid) {
warn(l('USER_DIFFERENT'),$user->key); warn(l('USER_DIFFERENT'),$user->key);
next; next;
} }
} }
--> -->
% my $uid = getpwnam($user->key); % my $uid = getpwnam( $user->key );
% unless ($uid) { % unless ($uid) {
% warn(l('COULD_NOT_GET_UID'),$user->key); % warn( l('COULD_NOT_GET_UID'), $user->key );
% next; % next;
% } % }
% my $name = $user->prop("FirstName") . " " . $user->prop("LastName"); % my $name = $user->prop("FirstName") . " " . $user->prop("LastName");
% my $dev = Quota::getqcarg('/home/e-smith/files'); % my $dev = Quota::getqcarg('/home/e-smith/files');
% my ($bc, $bs, $bh, $bt, $ic, $is, $ih, $it) = Quota::query($dev, $uid); % my ( $bc, $bs, $bh, $bt, $ic, $is, $ih, $it ) = Quota::query( $dev, $uid );
<p> <p>
%=l 'quo_USER' %= l 'quo_USER'
%= "$name (\"$userid\")" %= "$name (\"$userid\")"
%=l 'quo_CURRENTLY_HAS' %= l 'quo_CURRENTLY_HAS'
%= $ic %= $ic
%=l 'quo_FILES' %= l 'quo_FILES'
%=l 'quo_OCCUPYING' %= l 'quo_OCCUPYING'
%= $c->toMB($bc) %= $c->toMB($bc)
%=l 'quo_MEGABYTES' %= l 'quo_MEGABYTES'
</p> </p>
<p>
%=l 'quo_INSTRUCTIONS'
</p>
<p> <p>
<span class=label> %= l 'quo_INSTRUCTIONS'
%=l 'quo_USER', class => 'label' </p>
</span><span class=data>
%= $name, class => 'input'
</span>
</p>
<p> <p>
<span class=label> <span class=label>
%=l 'quo_LIMIT_WITH_GRACE', class => 'label' %= l 'quo_USER', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Soft' => $quo_datas->{softlim} unless param 'Soft'; %= $name, class => 'input'
%= text_field 'Soft', class => 'input' </span>
</span> </p>
</p>
<p> <p>
<span class=label> <span class=label>
%=l 'quo_ABS_LIMIT', class => 'label' %= l 'quo_LIMIT_WITH_GRACE', class => 'label'
</span><span class=data> </span><span class=data>
% param 'Hard' => $quo_datas->{hardlim} unless param 'Hard'; % param 'Soft' => $quo_datas->{softlim} unless param 'Soft';
%= text_field 'Hard', class => 'input' %= text_field 'Soft', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<br><br> <span class=label>
%= submit_button "$btn", class => 'action' %= l 'quo_ABS_LIMIT', class => 'label'
</p> </span><span class=data>
% param 'Hard' => $quo_datas->{hardlim} unless param 'Hard';
%= text_field 'Hard', class => 'input'
</span>
</p>
%= hidden_field 'trt' => $quo_datas->{trt} <p>
%= hidden_field 'user' => $quo_datas->{user} <br><br>
%= submit_button "$btn", class => 'action'
% end </p>
</div> %= hidden_field 'trt' => $quo_datas->{trt}
%= hidden_field 'user' => $quo_datas->{user}
% end
</div>

View File

@@ -1,14 +1,14 @@
<p><h2> <p><h2>
%=l 'rma_TITLE_PPTP' %= l 'rma_TITLE_PPTP'
</h2><br> </h2><br>
%=l 'rma_DESC_PPTP' %= l 'rma_DESC_PPTP'
<br> <br>
<span class=label> <span class=label>
%=l 'rma_LABEL_PPTP' %= l 'rma_LABEL_PPTP'
</span><span class=data> </span><span class=data>
% param 'PptpSessions' => $c->get_pptp_sessions unless param 'PptpSessions'; % param 'PptpSessions' => $c->get_pptp_sessions unless param 'PptpSessions';
%= text_field 'PptpSessions' => $c->get_pptp_sessions(), class => 'input' %= text_field 'PptpSessions' => $c->get_pptp_sessions(), class => 'input'
</span> </span>
</p> </p>
<!--<hr class='sectionbar' />--> <!--<hr class='sectionbar' />-->

View File

@@ -1,14 +1,14 @@
<div id='swt_theme'> <div id='swt_theme'>
<font class="sme-copyright"> <font class="sme-copyright">
% my $btn = l('swt_THEME'); % my $btn = l('swt_THEME');
%= form_for $c->url_for('swttheme') => (method => 'POST') => begin %= form_for $c->url_for('swttheme') => ( method => 'POST' ) => begin
% my $value = $c->session->{'CurrentTheme'}; % my $value = $c->session->{'CurrentTheme'};
% $value = session 'CurrentTheme'; % $value = session 'CurrentTheme';
% param 'Theme' => $value unless param 'Theme'; % param 'Theme' => $value unless param 'Theme';
%= select_field 'Theme' => $c->theme_list(), class => 'input' %= select_field 'Theme' => $c->theme_list(), class => 'input'
%= hidden_field 'From' => $c->tx->req->url %= hidden_field 'From' => $c->tx->req->url
%= submit_button "$btn" %= submit_button "$btn"
% end % end
</font> </font>
</div> </div>

View File

@@ -1,32 +1,32 @@
% use SrvMngr qw( getNavigation simpleNavMerge ); % use SrvMngr qw( getNavigation simpleNavMerge );
% my %nav1 = %{SrvMngr->getNavigation( $c->languages(), 'U' )}; % my %nav1 = %{ SrvMngr->getNavigation( $c->languages(), 'U' ) };
% my %nav2 = %{SrvMngr->getNavigation( $c->languages(), 'A', session('username') )}; % my %nav2 = %{ SrvMngr->getNavigation( $c->languages(), 'A', session('username') ) };
% my %nav = $c->session->{is_admin} ? %nav1 : %{SrvMngr->simpleNavMerge(\%nav1, \%nav2)}; % my %nav = $c->session->{is_admin} ? %nav1 : %{ SrvMngr->simpleNavMerge( \%nav1, \%nav2 ) };
<div id='usermenu'> <div id='usermenu'>
<a href='#' id='toguser' class='section section-title'>Current User (<%= session 'username' %>)</a> <a href='#' id='toguser' class='section section-title'>Current User (<%= session 'username' %>)</a>
<div id='menuuser'> <div id='menuuser'>
% my $cc = 300; % my $cc = 300;
% foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'}) % foreach my $h (sort { ($nav{$a}{'WEIGHT'}/$nav{$a}{'COUNT'})
% <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) { % <=> ($nav{$b}{'WEIGHT'}/$nav{$b}{'COUNT'}) } keys %nav) {
<!-- div class='section'><%= $h %></div --> <!-- div class='section'><%= $h %></div -->
% my ($classNew, $target, $href) = ''; % my ( $classNew, $target, $href ) = '';
% foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) { % foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav{$h}{'DESCRIPTIONS'}}) {
% next if ($_->{'MENUCAT'} ne 'A' && $_->{'MENUCAT'} ne 'U' ); # menu User % next if ( $_->{'MENUCAT'} ne 'A' && $_->{'MENUCAT'} ne 'U' ); # menu User
% if ( $_->{'FILENAME'} =~ m/^2\// ) { % if ( $_->{'FILENAME'} =~ m/^2\// ) {
% $target = '_self'; % $target = '_self';
% (my $file2 = $_->{'FILENAME'}) =~ s|^2/||; % ( my $file2 = $_->{'FILENAME'} ) =~ s|^2/||;
% $href = '/smanager/' . $file2; % $href = '/smanager/' . $file2;
% } else { % } else {
% $target = 'main'; % $target = 'main';
% $href = '/server-manager' . $_->{'FILENAME'}; % $href = '/server-manager' . $_->{'FILENAME'};
% } % }
<div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>' <div class='menu-cell'><a class='item<%= $classNew %>' target='<%= $target %>'
id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div> id='sme<%= $cc %>' href='<%= $href %>'><%= $_->{'DESCRIPTION'} %></a></div>
% $cc++; % $cc++;
% } % }
% } % }
</div> </div>
</div> </div>

View File

@@ -1,28 +1,28 @@
<div id='usr_del'> <div id='usr_del'>
% my $btn = l('REMOVE'); % my $btn = l('REMOVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'usr_REMOVE_ACCOUNT_TITLE' %= l 'usr_REMOVE_ACCOUNT_TITLE'
</h2> </h2>
<br>
%= $c->l('usr_REMOVE_DESC', $usr_datas->{user}, $usr_datas->{name} );
<br>
%= $c->render_to_string(inline => $c->l('usr_REMOVE_DESC2'))
</p>
<p> <br>
<br> %= $c->l( 'usr_REMOVE_DESC', $usr_datas->{user}, $usr_datas->{name} );
%= submit_button "$btn", class => 'action' <br>
</p> %= $c->render_to_string( inline => $c->l('usr_REMOVE_DESC2') )
</p>
%= hidden_field 'trt' => $usr_datas->{trt} <p>
%= hidden_field 'user' => $usr_datas->{user} <br>
%= hidden_field 'name' => $usr_datas->{name} %= submit_button "$btn", class => 'action'
</p>
% end
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
%= hidden_field 'name' => $usr_datas->{name}
% end
</div> </div>

View File

@@ -1,158 +1,158 @@
<div id='usr_list'> <div id='usr_list'>
% my $btn = l('usr_ADD_USER'); % my $btn = l('usr_ADD_USER');
%= form_for '/useraccounts' => (method => 'POST') => begin %= form_for '/useraccounts' => ( method => 'POST' ) => begin
<p> <p>
<br> <br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
% end % end
<p> <p>
%= $c->render_to_string(inline => $c->l('usr_FIRSTPAGE_DESC')) %= $c->render_to_string( inline => $c->l('usr_FIRSTPAGE_DESC') )
<br> <br>
</p> </p>
% my $numUsers = @$users;
% if ($numUsers == 0){
%=l 'usr_NO_USER_ACCOUNTS'
% } else {
<table class="sme-border TableSort"><thead>
<tr>
<th class='sme-border'>
%=l 'ACCOUNT'
</th>
<th class='sme-border'>
%=l 'USER_NAME'
</th>
<th class='sme-border'>
%=l 'usr_VPN_CLIENT_ACCESS'
</th>
<th class='sme-border'>
%=l 'usr_FORWARDING_ADDRESS'
</th>
<th class='sme-border'>
%=l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $user (@$users) {
% my $username = $user->key(); % my $numUsers = @$users;
% my $first = $user->prop('FirstName'); % if ($numUsers == 0){
% my $last = $user->prop('LastName'); %= l 'usr_NO_USER_ACCOUNTS'
% my $lockable = $user->prop('Lockable') || 'yes'; % } else {
% my $removable = $user->prop('Removable') || 'yes'; <table class="sme-border TableSort"><thead>
% my $fwd = (($user->prop('EmailForward') || 'local') =~ m/^forward|both$/) ? <tr>
% $user->prop('ForwardAddress') : ''; <th class='sme-border'>
% my $vpnaccess = $user->prop('VPNClientAccess') || 'no'; %= l 'ACCOUNT'
% $vpnaccess = $vpnaccess eq 'yes' ? $c->l('YES') : $c->l('NO'); </th>
% my $password_set = $user->prop('PasswordSet'); <th class='sme-border'>
%= l 'USER_NAME'
</th>
<th class='sme-border'>
%= l 'usr_VPN_CLIENT_ACCESS'
</th>
<th class='sme-border'>
%= l 'usr_FORWARDING_ADDRESS'
</th>
<th class='sme-border'>
%= l 'ACTION'
</th>
</tr>
</thead><tbody>
% foreach my $user (@$users) {
% my $username = $user->key();
% my $first = $user->prop('FirstName');
% my $last = $user->prop('LastName');
% my $lockable = $user->prop('Lockable') || 'yes';
% my $removable = $user->prop('Removable') || 'yes';
% my $fwd = (($user->prop('EmailForward') || 'local') =~ m/^forward|both$/) ?
% $user->prop('ForwardAddress') : '';
% my $vpnaccess = $user->prop('VPNClientAccess') || 'no';
% $vpnaccess = $vpnaccess eq 'yes' ? $c->l('YES') : $c->l('NO');
% my $password_set = $user->prop('PasswordSet');
<tr> <tr>
%= t td => (class => 'sme-border') => $username %= t td => ( class => 'sme-border' ) => $username
%= t td => (class => 'sme-border') => "$first $last" %= t td => ( class => 'sme-border' ) => "$first $last"
%= t td => (class => 'sme-border') => $vpnaccess %= t td => ( class => 'sme-border' ) => $vpnaccess
%= t td => (class => 'sme-border') => $fwd %= t td => ( class => 'sme-border' ) => $fwd
% my ($actionModify, $actionLock, $actionResetPw, $actionRemove,$actionroundcube) = '&nbsp;'; % my ( $actionModify, $actionLock, $actionResetPw, $actionRemove, $actionroundcube ) = '&nbsp;';
% my $modify_text = l('MODIFY'); # Localized text % my $modify_text = l('MODIFY'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure % my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
% my $password_text = l("PASSWORD_RESET"); % my $password_text = l("PASSWORD_RESET");
%if ($useraccounts_user_name eq 'admin') { % if ($useraccounts_user_name eq 'admin') {
%$actionModify = qq{ % $actionModify = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name">
% <button type='button' class='sme-modify-button' title='$modify_text'> % <button type='button' class='sme-modify-button' title='$modify_text'>
% $modify_text % $modify_text
% </button> % </button>
%</a> % </a>
%}; % };
%$actionResetPw = qq{ % $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWS&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWS&user=$useraccounts_user_name">
% <button type='button' class='sme-password-button' title='$password_text' > % <button type='button' class='sme-password-button' title='$password_text' >
% $password_text % $password_text
% </button> % </button>
%</a> % </a>
%}; % };
%} else { % } else {
%$actionModify = qq{ % $actionModify = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name">
% <button type='button' class='sme-modify-button' title='$modify_text' > % <button type='button' class='sme-modify-button' title='$modify_text' >
% $modify_text % $modify_text
% </button> % </button>
%</a> % </a>
%}; % };
%} % }
%if ($password_set ne 'yes') { % if ($password_set ne 'yes') {
%$actionLock = l('ACCOUNT_LOCKED'); % $actionLock = l('ACCOUNT_LOCKED');
%$actionResetPw = qq{ % $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"> % <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; > % <button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; >
% $password_text % $password_text
% </button> % </button>
%</a> % </a>
%}; % };
%} elsif ($useraccounts_user_name ne 'admin') { % } elsif ($useraccounts_user_name ne 'admin') {
% my $lock_text = l('ACCOUNT LOCKED'); # Localized text % my $lock_text = l('ACCOUNT LOCKED'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
% my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure % my $useraccounts_user_name = $user->key; # useraccountss_entry name extracted from the data structure
%$actionLock = qq{ % $actionLock = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name">
% <button type='button' class='sme-lock-button' title='$lock_text' > % <button type='button' class='sme-lock-button' title='$lock_text' >
% $lock_text % $lock_text
% </button> % </button>
%</a> % </a>
%}; % };
%$actionResetPw = qq{ % $actionResetPw = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name">
% <button type='button' class='sme-password-button' title='$password_text' > % <button type='button' class='sme-password-button' title='$password_text' >
% $password_text % $password_text
% </button> % </button>
%</a> % </a>
%}; % };
%} % }
%if ( $removable eq 'yes' ) { % if ( $removable eq 'yes' ) {
% my $remove_text = l('REMOVE'); # Localized text % my $remove_text = l('REMOVE'); # Localized text
% my $csrf_token = "TOKEN"; # CSRF token for security % my $csrf_token = "TOKEN"; # CSRF token for security
%$actionRemove = qq{ % $actionRemove = qq{
%<a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name"> % <a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name">
% <button type='button' class='sme-remove-button' title='$remove_text' > % <button type='button' class='sme-remove-button' title='$remove_text' >
% $remove_text % $remove_text
% </button> % </button>
%</a> % </a>
%}; % };
%} % }
% my $thisdomain = $c->req->url->to_abs->host;
% my $roundcube_text = l('Webmail'); # Localized text
% $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>
%};
<td class='sme-border' style="min-width:35em">
<%= $c->render_to_string(inline => $actionModify) %>
<%= $c->render_to_string(inline => $actionResetPw) %>
<%= $c->render_to_string(inline => $actionLock) %>
<%= $c->render_to_string(inline => $actionRemove) %>
<%= $c->render_to_string(inline => $actionroundcube) %>
</td>
</tr>
% }
</tbody>
</table>
<%} %> % my $thisdomain = $c->req->url->to_abs->host;
% my $roundcube_text = l('Webmail'); # Localized text
% $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>
% };
<td class='sme-border' style="min-width:35em">
<%= $c->render_to_string( inline => $actionModify ) %>
<%= $c->render_to_string( inline => $actionResetPw ) %>
<%= $c->render_to_string( inline => $actionLock ) %>
<%= $c->render_to_string( inline => $actionRemove ) %>
<%= $c->render_to_string( inline => $actionroundcube ) %>
</td>
</tr>
% }
</tbody>
</table>
%= hidden_field 'trt' => $usr_datas->{trt} <% } %>
%= hidden_field 'trt' => $usr_datas->{trt}
</div> </div>

View File

@@ -1,28 +1,28 @@
<div id='usr_lock'> <div id='usr_lock'>
% my $btn = l('usr_LOCK'); % my $btn = l('usr_LOCK');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'usr_LOCK_ACCOUNT_TITLE' %= l 'usr_LOCK_ACCOUNT_TITLE'
</h2> </h2>
<br>
%= $c->l('usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} );
<br>
%= $c->render_to_string(inline => $c->l('usr_LOCK_DESC2'))
</p>
<p> <br>
<br> %= $c->l( 'usr_LOCK_DESC', $usr_datas->{user}, $usr_datas->{name} );
%= submit_button "$btn", class => 'action' <br>
</p> %= $c->render_to_string( inline => $c->l('usr_LOCK_DESC2') )
</p>
%= hidden_field 'trt' => $usr_datas->{trt} <p>
%= hidden_field 'user' => $usr_datas->{user} <br>
%= hidden_field 'name' => $usr_datas->{name} %= submit_button "$btn", class => 'action'
</p>
% end
%= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user}
%= hidden_field 'name' => $usr_datas->{name}
% end
</div> </div>

View File

@@ -1,52 +1,52 @@
<div id='usr_pwd'> <div id='usr_pwd'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'RESET_PASSWORD_TITLE' %= l 'RESET_PASSWORD_TITLE'
</h2> </h2>
<br> <br>
%= $c->l('usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} ); %= $c->l( 'usr_RESET_DESC', $usr_datas->{user}, $usr_datas->{name} );
<br> <br>
%= l 'usr_RESET_DESC2' %= l 'usr_RESET_DESC2'
</p> </p>
<p> <p>
% my $strength = uc($usr_datas->{passwdstrength}); % 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 /> <br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %> <%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI') ) %>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'PASSWORD_NEW', class => 'label' %= l 'PASSWORD_NEW', class => 'label'
</span><span class=data> </span><span class=data>
%= password_field 'newPass', class => 'input', class=>'sme-password' %= password_field 'newPass', class => 'input', class => 'sme-password'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'PASSWORD_VERIFY_NEW', class => 'label' %= l 'PASSWORD_VERIFY_NEW', class => 'label'
</span><span class=data> </span><span class=data>
%= password_field 'newPassVerify', class => 'input', class=>'sme-password' %= password_field 'newPassVerify', class => 'input', class => 'sme-password'
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user} %= hidden_field 'user' => $usr_datas->{user}
%= hidden_field 'name' => $usr_datas->{name} %= hidden_field 'name' => $usr_datas->{name}
% end
</div> % end
</div>

View File

@@ -1,53 +1,53 @@
<div id='usr_pwds'> <div id='usr_pwds'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION' %= l 'usr_SYSTEM_PASSWORD_DESCRIPTION'
</p> </p>
<p> <p>
% my $strength = uc($usr_datas->{passwdstrength}); % 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 /> <br /><br />
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %> <%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI') ) %>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_CURRENT_SYSTEM_PASSWORD', class => 'label' %= l 'usr_CURRENT_SYSTEM_PASSWORD', class => 'label'
</span><span class=data> </span><span class=data>
%= password_field 'CurPass', class => 'input', class=>'sme-password' %= password_field 'CurPass', class => 'input', class => 'sme-password'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_NEW_SYSTEM_PASSWORD', class => 'label' %= l 'usr_NEW_SYSTEM_PASSWORD', class => 'label'
</span><span class=data> </span><span class=data>
%= password_field 'Pass', class => 'input', class=>'sme-password' %= password_field 'Pass', class => 'input', class => 'sme-password'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => 'label' %= l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => 'label'
</span><span class=data> </span><span class=data>
%= password_field 'PassVerify', class => 'input', class=>'sme-password' %= password_field 'PassVerify', class => 'input', class => 'sme-password'
</span> </span>
</p> </p>
<p> <p>
<br><br> <br><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
</p> </p>
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user} %= hidden_field 'user' => $usr_datas->{user}
%= hidden_field 'name' => $usr_datas->{name} %= hidden_field 'name' => $usr_datas->{name}
% end
</div> % end
</div>

View File

@@ -1,185 +1,185 @@
<div id='usr_upd'> <div id='usr_upd'>
% my $btn = l('ADD'); % my $btn = l('ADD');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'usr_P2_TITLE' %= l 'usr_P2_TITLE'
</h2> </h2>
<br> <br>
%= $c->render_to_string(inline => l ('usr_CREATE_MODIFY_DESC')) %= $c->render_to_string( inline => l('usr_CREATE_MODIFY_DESC') )
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_ACCOUNT_NAME' %= l 'usr_ACCOUNT_NAME'
</span><span class=data> </span><span class=data>
% if ( $usr_datas->{trt} eq 'ADD' ) { % if ( $usr_datas->{trt} eq 'ADD' ) {
% param 'user' => $usr_datas->{user} unless param 'user'; % param 'user' => $usr_datas->{user} unless param 'user';
%= text_field 'user', class => 'input' %= text_field 'user', class => 'input'
% } else { % } else {
% $btn = l('SAVE'); % $btn = l('SAVE');
%= $usr_datas->{user}, class => 'data' %= $usr_datas->{user}, class => 'data'
% } % }
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_FIRSTNAME' %= l 'usr_FIRSTNAME'
</span><span class=data> </span><span class=data>
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName'; % param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
%= text_field 'FirstName', class => 'input' %= text_field 'FirstName', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_LASTNAME' %= l 'usr_LASTNAME'
</span><span class=data> </span><span class=data>
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName'; % param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
%= text_field 'LastName', class => 'input' %= text_field 'LastName', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_DEPARTMENT' %= l 'usr_DEPARTMENT'
</span><span class=data> </span><span class=data>
% param 'Dept' => $usr_datas->{dept} unless param 'Dept'; % param 'Dept' => $usr_datas->{dept} unless param 'Dept';
%= text_field 'Dept', class => 'input' %= text_field 'Dept', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_COMPANY' %= l 'usr_COMPANY'
</span><span class=data> </span><span class=data>
% param 'Company' => $usr_datas->{company} unless param 'Company'; % param 'Company' => $usr_datas->{company} unless param 'Company';
%= text_field 'Company', class => 'input' %= text_field 'Company', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_STREET_ADDRESS' %= l 'usr_STREET_ADDRESS'
</span><span class=data> </span><span class=data>
% param 'Street' => $usr_datas->{street} unless param 'Street'; % param 'Street' => $usr_datas->{street} unless param 'Street';
%= text_field 'Street', class => 'input' %= text_field 'Street', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_CITY' %= l 'usr_CITY'
</span><span class=data> </span><span class=data>
% param 'City' => $usr_datas->{city} unless param 'City'; % param 'City' => $usr_datas->{city} unless param 'City';
%= text_field 'City', class => 'input' %= text_field 'City', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_PHONE_NUMBER' %= l 'usr_PHONE_NUMBER'
</span><span class=data> </span><span class=data>
% param 'Phone' => $usr_datas->{phone} unless param 'Phone'; % param 'Phone' => $usr_datas->{phone} unless param 'Phone';
%= text_field 'Phone', class => 'input' %= text_field 'Phone', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_EMAIL_DELIVERY' %= l 'usr_EMAIL_DELIVERY'
</span><span class=data> </span><span class=data>
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward'; % param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
%= select_field 'EmailForward' => $c->emailForward_list(), class => 'input' %= select_field 'EmailForward' => $c->emailForward_list(), class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_FORWARDING_ADDRESS' %= l 'usr_FORWARDING_ADDRESS'
</span><span class=data> </span><span class=data>
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress'; % param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
%= text_field 'ForwardAddress', class => 'input' %= text_field 'ForwardAddress', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_VPN_CLIENT_ACCESS' %= l 'usr_VPN_CLIENT_ACCESS'
</span><span class=data> </span><span class=data>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess'; % 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> </span>
</p> </p>
% if ( $usr_datas->{trt} eq 'UPD' and $c->ipsec_for_acct eq 'OK' ) { % if ( $usr_datas->{trt} eq 'UPD' and $c->ipsec_for_acct eq 'OK' ) {
% my $btn2 = $c->l('DOWNLOAD'); % my $btn2 = $c->l('DOWNLOAD');
%= form_for '/useraccountso' => (method => 'POST') => begin %= form_for '/useraccountso' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'usr_LABEL_IPSECRW_DOWNLOAD' %= l 'usr_LABEL_IPSECRW_DOWNLOAD'
</span><span class=data> </span><span class=data>
%= submit_button $btn2, class => 'action' %= submit_button $btn2, class => 'action'
</span> </span>
</p> </p>
%= hidden_field 'trt' => 'CRT' %= hidden_field 'trt' => 'CRT'
%= hidden_field 'user' => $usr_datas->{user} %= hidden_field 'user' => $usr_datas->{user}
%end
% }
% my @groups = @{$c->get_groups()};
% if ( @groups ) {
<p>
<span class=label>
%=l 'usr_GROUP_MEMBERSHIPS'
</span>
<span class=data>
<table class="sme-border "><thead>
<tr><th class='sme-border'>
%=l 'usr_MEMBER'
</th><th class='sme-border'>
%=l 'GROUP'
</th><th class='sme-border'>
%=l 'DESCRIPTION'
</th></tr>
</thead><tbody>
% foreach my $g ( @groups) {
% my $user = $usr_datas->{user};
% my $groupname = $g->key();
% my $description = $g->prop('Description');
% my $checked = '';
% if ( $user and $c->is_user_in_group($user, $groupname) ) {
% $checked = 'checked';
% }
<tr>
<td>
% if ( $checked eq 'checked' ) {
<!-- % = check_box 'groupMemberships', value => $groupname, checked => $checked -->
<input type='checkbox' name='groupMemberships' checked value='<%= $groupname %>'>
%} else {
%= check_box 'groupMemberships' => $groupname
%}
</td>
<!-- t td => (class => 'sme-border') => (check_box ' groupMemberships' => $groupname $checked) -->
%= t td => (class => 'sme-border') => $groupname
%= t td => (class => 'sme-border') => "$description"
</tr>
% }
</tbody>
</table>
</span>
</p>
% }
<p>
<br><br>
%= submit_button $btn, class => 'action'
</p>
%= hidden_field 'trt' => $usr_datas->{trt}
% if ( $usr_datas->{trt} eq 'UPD' ) {
%= hidden_field 'user' => $usr_datas->{user}
% }
% end % end
% }
% my @groups = @{ $c->get_groups() };
% if ( @groups ) {
<p>
<span class=label>
%= l 'usr_GROUP_MEMBERSHIPS'
</span>
<span class=data>
<table class="sme-border "><thead>
<tr><th class='sme-border'>
%= l 'usr_MEMBER'
</th><th class='sme-border'>
%= l 'GROUP'
</th><th class='sme-border'>
%= l 'DESCRIPTION'
</th></tr>
</thead><tbody>
% foreach my $g ( @groups) {
% my $user = $usr_datas->{user};
% my $groupname = $g->key();
% my $description = $g->prop('Description');
% my $checked = '';
% if ( $user and $c->is_user_in_group($user, $groupname) ) {
% $checked = 'checked';
% }
<tr>
<td>
% if ( $checked eq 'checked' ) {
<!-- % = check_box 'groupMemberships', value => $groupname, checked => $checked -->
<input type='checkbox' name='groupMemberships' checked value='<%= $groupname %>'>
% } else {
%= check_box 'groupMemberships' => $groupname
% }
</td>
<!-- t td => (class => 'sme-border') => (check_box ' groupMemberships' => $groupname $checked) -->
%= t td => ( class => 'sme-border' ) => $groupname
%= t td => ( class => 'sme-border' ) => "$description"
</tr>
% }
</tbody>
</table>
</span>
</p>
% }
<p>
<br><br>
%= submit_button $btn, class => 'action'
</p>
%= hidden_field 'trt' => $usr_datas->{trt}
% if ( $usr_datas->{trt} eq 'UPD' ) {
%= hidden_field 'user' => $usr_datas->{user}
% }
% end
</div> </div>

View File

@@ -1,89 +1,89 @@
<div id='usr_upds'> <div id='usr_upds'>
% my $btn = l('SAVE'); % my $btn = l('SAVE');
%= form_for '/useraccountsd' => (method => 'POST') => begin %= form_for '/useraccountsd' => ( method => 'POST' ) => begin
<p> <p>
<h2> <h2>
%=l 'usr_MODIFY_ADMIN_TITLE' %= l 'usr_MODIFY_ADMIN_TITLE'
</h2><br> </h2><br>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_ACCOUNT_NAME' %= l 'usr_ACCOUNT_NAME'
</span><span class=data> </span><span class=data>
% $btn = l('SAVE'); % $btn = l('SAVE');
%= $usr_datas->{user}, class => 'data' %= $usr_datas->{user}, class => 'data'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_FIRSTNAME' %= l 'usr_FIRSTNAME'
</span><span class=data> </span><span class=data>
% param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName'; % param 'FirstName' => $usr_datas->{firstname} unless param 'FirstName';
%= text_field 'FirstName', class => 'input' %= text_field 'FirstName', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_LASTNAME' %= l 'usr_LASTNAME'
</span><span class=data> </span><span class=data>
% param 'LastName' => $usr_datas->{lastname} unless param 'LastName'; % param 'LastName' => $usr_datas->{lastname} unless param 'LastName';
%= text_field 'LastName', class => 'input' %= text_field 'LastName', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_EMAIL_DELIVERY' %= l 'usr_EMAIL_DELIVERY'
</span><span class=data> </span><span class=data>
% param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward'; % param 'EmailForward' => $usr_datas->{emailforward} unless param 'EmailForward';
%= select_field 'EmailForward' => $c->emailForward_list(), class => 'input' %= select_field 'EmailForward' => $c->emailForward_list(), class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_FORWARDING_ADDRESS' %= l 'usr_FORWARDING_ADDRESS'
</span><span class=data> </span><span class=data>
% param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress'; % param 'ForwardAddress' => $usr_datas->{forwardaddress} unless param 'ForwardAddress';
%= text_field 'ForwardAddress', class => 'input' %= text_field 'ForwardAddress', class => 'input'
</span> </span>
</p> </p>
<p> <p>
<span class=label> <span class=label>
%=l 'usr_VPN_CLIENT_ACCESS' %= l 'usr_VPN_CLIENT_ACCESS'
</span><span class=data> </span><span class=data>
% param 'VPNClientAccess' => $usr_datas->{vpnclientaccess} unless param 'VPNClientAccess'; % 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> </span>
</p> </p>
% if ( $c->ipsec_for_acct eq 'OK' ) { % if ( $c->ipsec_for_acct eq 'OK' ) {
% my $btn2 = $c->l('DOWNLOAD'); % my $btn2 = $c->l('DOWNLOAD');
%= form_for '/useraccountso' => (method => 'POST') => begin %= form_for '/useraccountso' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'usr_LABEL_IPSECRW_DOWNLOAD' %= l 'usr_LABEL_IPSECRW_DOWNLOAD'
</span><span class=data> </span><span class=data>
%= submit_button $btn2, class => 'action' %= submit_button $btn2, class => 'action'
</span> </span>
</p> </p>
%= hidden_field 'trt' => 'CRT' %= hidden_field 'trt' => 'CRT'
%= hidden_field 'user' => $usr_datas->{user} %= hidden_field 'user' => $usr_datas->{user}
%end % end
% } % }
<p> <p>
<br> <br>
%= submit_button $btn, class => 'action' %= submit_button $btn, class => 'action'
</p> </p>
%= hidden_field 'trt' => $usr_datas->{trt} %= hidden_field 'trt' => $usr_datas->{trt}
%= hidden_field 'user' => $usr_datas->{user} %= hidden_field 'user' => $usr_datas->{user}
% end % end
</div> </div>

View File

@@ -1,32 +1,32 @@
% layout 'default', title => "Sme server 2 - Port Forwards"; % layout 'default', title => "Sme server 2 - Port Forwards";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module portforwarding-panel'> <div id='module' class='module portforwarding-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper "<pf>".$c->current_route %= dumper "<pf>" . $c->current_route
%= dumper $c->stash("ret") %= dumper $c->stash("ret")
%= dumper $c->stash("portforwarding") %= dumper $c->stash("portforwarding")
% my $ref = $pf_datas->{portforwarding}; % my $ref = $pf_datas->{portforwarding};
%= dumper $ref->{TCP}->[0]."</pf>" %= dumper $ref->{TCP}->[0] . "</pf>"
</p> </p>
% } % }
<h1><%= $title%></h1>
%= $modul
% if ($pf_datas->{trt} eq 'ADD') { <h1><%= $title %></h1>
%= include 'partials/_pf_add' %= $modul
%} elsif ($pf_datas->{trt} eq 'ADD1') {
%= include 'partials/_pf_add' % if ($pf_datas->{trt} eq 'ADD') {
%} elsif ($pf_datas->{trt} eq 'DEL') { %= include 'partials/_pf_add'
%= include 'partials/_pf_del' % } elsif ($pf_datas->{trt} eq 'ADD1') {
%} elsif ($pf_datas->{trt} eq 'DEL1'){ %= include 'partials/_pf_add'
%= include 'partials/_pf_list' % } elsif ($pf_datas->{trt} eq 'DEL') {
%} else { %= include 'partials/_pf_del'
%= include 'partials/_pf_list' % } elsif ($pf_datas->{trt} eq 'DEL1'){
%} %= include 'partials/_pf_list'
% } else {
%= include 'partials/_pf_list'
% }
</div> </div>
%end % end

View File

@@ -1,32 +1,32 @@
% layout 'default', title => "Sme server 2 - printers"; % layout 'default', title => "Sme server 2 - printers";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module printers-panel'> <div id='module' class='module printers-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $prt_datas %= dumper $prt_datas
</p> </p>
%} % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
% if ($prt_datas->{trt} eq 'ADD') { % if ($prt_datas->{trt} eq 'ADD') {
%= include 'partials/_prt_add' %= include 'partials/_prt_add'
%} elsif ($prt_datas->{trt} eq 'DEL') { % } elsif ($prt_datas->{trt} eq 'DEL') {
%= include 'partials/_prt_del' %= include 'partials/_prt_del'
%} elsif ($prt_datas->{trt} eq 'NET') { % } elsif ($prt_datas->{trt} eq 'NET') {
%= include 'partials/_prt_net' %= include 'partials/_prt_net'
%} else { % } else {
%= include 'partials/_prt_list' %= include 'partials/_prt_list'
%} % }
</div> </div>
%end % end

View File

@@ -1,43 +1,43 @@
% layout 'default', title => "Sme server 2 - proxy"; % layout 'default', title => "Sme server 2 - proxy";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module proxy-panel'> <div id='module' class='module proxy-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p>(DBG)route: <%= $c->current_route %><br> <p>(DBG)route: <%= $c->current_route %><br>
(DBG)ht stat: <%= $prx_datas->{http_proxy_status}%> <br> (DBG)ht stat: <%= $prx_datas->{http_proxy_status} %> <br>
(DBG)sm stat: <%=$prx_datas->{smtp_proxy_status} %> (DBG)sm stat: <%= $prx_datas->{smtp_proxy_status} %>
</p> </p>
%} % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br> <br>
<%= $modul %> <%= $modul %>
<% my $btn = l('SAVE'); %> <% my $btn = l('SAVE'); %>
%= form_for 'proxy' => (method => 'POST') => begin %= form_for 'proxy' => ( method => 'POST' ) => begin
<p> <p>
%=l 'prx_HTTP_PROXY_STATUS_DESCRIPTION' %= l 'prx_HTTP_PROXY_STATUS_DESCRIPTION'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'prx_HTTP_PROXY_STATUS_LABEL' %= l 'prx_HTTP_PROXY_STATUS_LABEL'
</span><span class=data> </span><span class=data>
% param 'http_proxy_status' => $prx_datas->{http_proxy_status} unless param 'http_proxy_status'; % 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> </span>
</p> </p>
%if ( $prx_datas->{smtp_proxy_status} ) { % if ( $prx_datas->{smtp_proxy_status} ) {
<p> <p>
%=l 'prx_SMTP_PROXY_STATUS_DESCRIPTION' %= l 'prx_SMTP_PROXY_STATUS_DESCRIPTION'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'prx_SMTP_PROXY_STATUS_LABEL' %= l 'prx_SMTP_PROXY_STATUS_LABEL'
</span><span class=data> </span><span class=data>
% param 'smtp_proxy_status' => $prx_datas->{smtp_proxy_status} unless param 'smtp_proxy_status'; % 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> <br><br>
</span> </span>
</p> </p>
%} % }
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
% end % end
</div> </div>
%end % end

View File

@@ -1,32 +1,32 @@
% layout 'default', title => "Sme server 2 - pseudonyms"; % layout 'default', title => "Sme server 2 - pseudonyms";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module pseudonyms-panel'> <div id='module' class='module pseudonyms-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $pse_datas %= dumper $pse_datas
</p> </p>
% } % }
% if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error')
</div>
%}
<h1><%= $title%></h1> % if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string( inline => stash 'error' )
</div>
% }
% if ($pse_datas->{trt} eq 'ADD') { <h1><%= $title %></h1>
%= include 'partials/_pse_add'
%} elsif ($pse_datas->{trt} eq 'DEL') { % if ($pse_datas->{trt} eq 'ADD') {
%= include 'partials/_pse_del' %= include 'partials/_pse_add'
%} elsif ($pse_datas->{trt} eq 'UPD') { % } elsif ($pse_datas->{trt} eq 'DEL') {
%= include 'partials/_pse_upd' %= include 'partials/_pse_del'
%} else { % } elsif ($pse_datas->{trt} eq 'UPD') {
%= include 'partials/_pse_list' %= include 'partials/_pse_upd'
%} % } else {
%= include 'partials/_pse_list'
% }
</div> </div>
%end % end

View File

@@ -1,43 +1,43 @@
% layout 'default', title => "Sme server 2 - qmailanalog"; % layout 'default', title => "Sme server 2 - qmailanalog";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module qmailanalog-panel'> <div id='module' class='module qmailanalog-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
(DBG)route: <%= $c->current_route %><br> (DBG)route: <%= $c->current_route %><br>
</p> </p>
%} % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br> <br>
<%= $modul %> <%= $modul %>
<% my $btn = l('qma_GENERATE_REPORT'); %> <% my $btn = l('qma_GENERATE_REPORT'); %>
%= form_for 'qmailanalog' => (method => 'POST') => begin %= form_for 'qmailanalog' => ( method => 'POST' ) => begin
<p> <p>
<span class=label> <span class=label>
%=l 'qma_REPORT_TYPE' %= l 'qma_REPORT_TYPE'
</span><span class=data> </span><span class=data>
<!-- (to be sorted) --> <!-- (to be sorted) -->
%= select_field 'report_type' => $c->reportType_list(), id => 'analysis_type' %= select_field 'report_type' => $c->reportType_list(), id => 'analysis_type'
</span> </span>
</p> </p>
<!--And optional parameters, depending on the choice.--> <!--And optional parameters, depending on the choice.-->
<div id="message_id_group"> <div id="message_id_group">
<span class=label> <span class=label>
%= label_for message_id => 'Message ID:' %= label_for message_id => 'Message ID:'
</span><span class=data> </span><span class=data>
%= text_field 'message_id', placeholder => 'Enter Postfix Message ID', id => 'message_id_group' %= text_field 'message_id', placeholder => 'Enter Postfix Message ID', id => 'message_id_group'
</span> </span>
</div> </div>
<div id="email_address_group"> <div id="email_address_group">
<span class=label> <span class=label>
%= label_for email_address => 'Email Address:' %= label_for email_address => 'Email Address:'
</span><span class=data> </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> </span>
</div> </div>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
% end % end
</div> </div>
%end % end

View File

@@ -1,29 +1,29 @@
% layout 'default', title => "Sme server 2 - quota"; % layout 'default', title => "Sme server 2 - quota";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module quota-panel'> <div id='module' class='module quota-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $quo_datas %= dumper $quo_datas
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
% if ($quo_datas->{trt} eq 'UPD') { % if ($quo_datas->{trt} eq 'UPD') {
%= include 'partials/_quo_upd' %= include 'partials/_quo_upd'
%} else { % } else {
%= include 'partials/_quo_list' %= include 'partials/_quo_list'
%} % }
</div> </div>
%end % end

View File

@@ -2,39 +2,39 @@
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module reboot-panel'> <div id='module' class='module reboot-panel'>
%if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
(DBG)route: <%= $c->current_route %><br> (DBG)route: <%= $c->current_route %><br>
</p> </p>
%} % }
<h1><%= $title %></h1> <h1><%= $title %></h1>
<br> <br>
%= $modul %= $modul
<% my $btn = l('PERFORM'); %> <% my $btn = l('PERFORM'); %>
%= form_for 'reboot' => (method => 'POST') => begin %= form_for 'reboot' => ( method => 'POST' ) => begin
<p> <p>
%= $c->render_to_string(inline => $c->l('rbo_DESCRIPTION')) %= $c->render_to_string( inline => $c->l('rbo_DESCRIPTION') )
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'rbo_LABEL_REBOOT' %= l 'rbo_LABEL_REBOOT'
</span> </span>
<span class=data> <span class=data>
%= select_field 'function' => $c->rebootFunction_list() %= select_field 'function' => $c->rebootFunction_list()
</span> </span>
</p><br> </p><br>
%= submit_button "$btn", class => 'action' %= submit_button "$btn", class => 'action'
% end % end
%= hidden_field 'debug' => '0' %= hidden_field 'debug' => '1'
</div> </div>
%end % end

View File

@@ -1,214 +1,214 @@
% layout 'default', title => "Sme server 2 - remoteaccess"; % layout 'default', title => "Sme server 2 - remoteaccess";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module remoteaccess-panel'> <div id='module' class='module remoteaccess-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $rma_datas %= dumper $rma_datas
</p> </p>
% } % }
<h1><%= $title%></h1> <h1><%= $title %></h1>
% if ( $notif ) { % if ( $notif ) {
<br> <br>
<span class=sme-error> <span class=sme-error>
<%= $c->render_to_string(inline => $notif) %> <%= $c->render_to_string( inline => $notif ) %>
</span> </span>
%} % }
<!--<hr class='sectionbar' />--> <!--<hr class='sectionbar' />-->
<% my $btn = l('SAVE'); %> <% my $btn = l('SAVE'); %>
%= form_for 'remoteaccess' => (method => 'POST') => begin %= form_for 'remoteaccess' => ( method => 'POST' ) => begin
% my $ipsec = $c->get_ipsecrw_status(); % my $ipsec = $c->get_ipsecrw_status();
% if ( $ipsec ) { % if ( $ipsec ) {
<p> <p>
<h2> <h2>
%=l 'rma_TITLE_IPSECRW' %= l 'rma_TITLE_IPSECRW'
</h2><br> </h2><br>
%=l 'rma_DESC_IPSECRW' %= l 'rma_DESC_IPSECRW'
<br> <br>
<span class=label> <span class=label>
%=l 'rma_LABEL_IPSECRW_SESS' %= l 'rma_LABEL_IPSECRW_SESS'
</span><span class=data> </span><span class=data>
% param 'IpsecrwSess' => $c->get_ipsecrw_sessions unless param 'IpsecrwSess'; % param 'IpsecrwSess' => $c->get_ipsecrw_sessions unless param 'IpsecrwSess';
%= text_field 'IpsecrwSess', class => 'input' %= text_field 'IpsecrwSess', class => 'input'
</span> </span>
<br> <br>
%= $c->render_to_string(inline => $c->l('rma_DESC_IPSECRW_RESET')); %= $c->render_to_string( inline => $c->l('rma_DESC_IPSECRW_RESET') );
<br> <br>
<span class=label> <span class=label>
%=l 'rma_LABEL_IPSECRW_RESET' %= l 'rma_LABEL_IPSECRW_RESET'
</span><span class=data> </span><span class=data>
%= check_box 'IpsecrwReset',class => 'input' %= check_box 'IpsecrwReset', class => 'input'
</span> </span>
<br><br> <br><br>
<!--<hr class='sectionbar' />--> <!--<hr class='sectionbar' />-->
%} % }
<!-- percequ include 'partials/_rma_pptp' --> <!-- percequ include 'partials/_rma_pptp' -->
<h2> <h2>
%= $c->l('rma_VALIDFROM_TITLE', $c->l('rma_REMOTE_MANAGEMENT')); %= $c->l( 'rma_VALIDFROM_TITLE', $c->l('rma_REMOTE_MANAGEMENT') );
</h2><br> </h2><br>
%=l 'rma_VALIDFROM_DESC' %= l 'rma_VALIDFROM_DESC'
<br><br> <br><br>
% my @vals = $self->_get_valid_from(); % my @vals = $self->_get_valid_from();
% if (@vals) { % if (@vals) {
<table class="sme-border TableSort"><thead> <table class="sme-border TableSort"><thead>
<tr><th class='sme-border'> <tr><th class='sme-border'>
%=l 'NETWORK' %= l 'NETWORK'
</th><th class='sme-border'> </th><th class='sme-border'>
%=l 'SUBNET_MASK' %= l 'SUBNET_MASK'
</th><th class='sme-border'> </th><th class='sme-border'>
%=l 'NUM_OF_HOSTS' %= l 'NUM_OF_HOSTS'
</th><th class='sme-border'> </th><th class='sme-border'>
%=l 'REMOVE' %= l 'REMOVE'
</th></tr> </th></tr>
</thead></tbody> </thead></tbody>
% foreach my $val ( @vals ) % foreach my $val (@vals)
% { % {
% my ($net, $mask) = split '/', $val; % my ( $net, $mask ) = split '/', $val;
% $mask = '255.255.255.255' unless ($mask); % $mask = '255.255.255.255' unless ($mask);
% my ($numhosts,$a,$b) = esmith::util::computeHostRange($net,$mask); % my ( $numhosts, $a, $b ) = esmith::util::computeHostRange( $net, $mask );
<tr> <tr>
%= t td => (class => 'sme-border') => $net %= t td => ( class => 'sme-border' ) => $net
%= t td => (class => 'sme-border') => $mask %= t td => ( class => 'sme-border' ) => $mask
%= t td => (class => 'sme-border') => $numhosts %= t td => ( class => 'sme-border' ) => $numhosts
<td class='sme-border'><input type='checkbox' name='Remove_nets' value='<%= $net.'/'.$mask %>'> </td> <td class='sme-border'><input type='checkbox' name='Remove_nets' value='<%= $net . '/' . $mask %>'> </td>
</tr> </tr>
% } % }
</tbody> </tbody>
</table> </table>
<!-- my @cbGroup = $q->checkbox_group(-name => 'validFromRemove', <!-- my @cbGroup = $q->checkbox_group(-name => 'validFromRemove',
-values => [@vals], -labels => { map {$_ => ''} @vals }); -values => [@vals], -labels => { map {$_ => ''} @vals });
foreach my $val (@vals) foreach my $val (@vals)
{ esmith::cgi::genSmallCell($q, shift(@cbGroup), } --> { esmith::cgi::genSmallCell($q, shift(@cbGroup), } -->
% } else { % } else {
<br><b> <br><b>
%= l('rma_NO_ENTRIES_YET'); %= l('rma_NO_ENTRIES_YET');
</b> </b>
%} % }
%=l 'rma_DESC_VALID_FROM_ENTRIES' %= l 'rma_DESC_VALID_FROM_ENTRIES'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'NETWORK' %= l 'NETWORK'
</span><span class=data> </span><span class=data>
%= text_field 'ValidFromNetwork', class => 'input' %= text_field 'ValidFromNetwork', class => 'input'
</span> </span>
<br> <br>
<span class=label> <span class=label>
%=l 'rma_SUBNET_MASK' %= l 'rma_SUBNET_MASK'
</span><span class=data> </span><span class=data>
%= text_field 'ValidFromMask', class => 'input' %= text_field 'ValidFromMask', class => 'input'
</span> </span>
<!--<hr class='sectionbar' />--> <!--<hr class='sectionbar' />-->
<h2> <h2>
%=l 'rma_TITLE_SSH' %= l 'rma_TITLE_SSH'
</h2><br> </h2><br>
%=l 'rma_DESC_SSH' %= l 'rma_DESC_SSH'
<br><br> <br><br>
<span class=label> <span class=label>
%=l 'rma_LABEL_SSH' %= l 'rma_LABEL_SSH'
</span><span class=data> </span><span class=data>
% param 'SshAccess' => $c->get_ssh_access() unless param 'SshAccess'; % param 'SshAccess' => $c->get_ssh_access() unless param 'SshAccess';
%= select_field 'SshAccess' => $c->networkAccess_list(), class => 'input' %= select_field 'SshAccess' => $c->networkAccess_list(), class => 'input'
</span> </span>
<br> <br>
<span class=label>
%=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'
</span>
<br>
<span class=label> <span class=label>
%=l 'rma_LABEL_SSH_PASSWORD_ACCESS' %= l 'rma_LABEL_SSH_ADMIN'
</span><span class=data> </span><span class=data>
% param 'SshPasswordAuthentication' => $c->get_ssh_password_auth() unless param 'SshPasswordAuthentication'; % param 'SshPermitRootLogin' => $rma_datas->{sshPermitRootLogin} unless param 'SshPermitRootLogin';
%= select_field 'SshPasswordAuthentication' => [[(l 'NO'), 'no'], [(l 'YES'), 'yes']], class => 'input' %= select_field 'SshPermitRootLogin' => [ [ ( l 'NO' ), 'no' ], [ ( l 'YES' ), 'yes' ] ], class => 'input';
</span> </span>
<br> <br>
<span class=label> <span class=label>
%=l 'rma_LABEL_SSH_PORT' %= l 'rma_LABEL_SSH_PASSWORD_ACCESS'
</span><span class=data> </span><span class=data>
% param 'SshTCPPort' => $c->get_ssh_port() unless param 'SshTCPPort'; % param 'SshPasswordAuthentication' => $c->get_ssh_password_auth() unless param 'SshPasswordAuthentication';
%= text_field 'SshTCPPort', class => 'input' %= select_field 'SshPasswordAuthentication' => [ [ ( l 'NO' ), 'no' ], [ ( l 'YES' ), 'yes' ] ], class => 'input';
</span> </span>
<br> <br>
<!--<hr class='sectionbar' />--> <span class=label>
%= l 'rma_LABEL_SSH_PORT'
</span><span class=data>
% param 'SshTCPPort' => $c->get_ssh_port() unless param 'SshTCPPort';
%= text_field 'SshTCPPort', class => 'input'
</span>
<br>
<h2> <!--<hr class='sectionbar' />-->
%=l 'rma_TITLE_FTP_ACCESS'
</h2><br>
%= $c->render_to_string(inline => $c->l('rma_DESC_FTP_ACCESS'));
<br> <h2>
<span class=label> %= l 'rma_TITLE_FTP_ACCESS'
%=l 'rma_LABEL_FTP_ACCESS' </h2><br>
</span><span class=data> %= $c->render_to_string( inline => $c->l('rma_DESC_FTP_ACCESS') );
% param 'FtpAccess' => $c->get_ftp_access() unless param 'FtpAccess';
%= select_field 'FtpAccess' => $c->networkAccess_list(), class => 'input'
</span>
<br>
<br> <br>
%= $c->render_to_string(inline => $c->l('rma_DESC_FTP_LOGIN')); <span class=label>
<br> %= l 'rma_LABEL_FTP_ACCESS'
<span class=label> </span><span class=data>
%=l 'rma_LABEL_FTP_LOGIN' % param 'FtpAccess' => $c->get_ftp_access() unless param 'FtpAccess';
</span><span class=data> %= select_field 'FtpAccess' => $c->networkAccess_list(), class => 'input'
% param 'FtpPasswordAccess' => $c->get_ftp_password_login_access() unless param 'FtpPasswordAccess'; </span>
%= select_field 'FtpPasswordAccess' => $c->passwordLogin_list(), class => 'input' <br>
</span>
<br>
% my $mode = $c->get_telnet_mode(); <br>
% if ( $mode ne 'off') { %= $c->render_to_string( inline => $c->l('rma_DESC_FTP_LOGIN') );
<!--<hr class='sectionbar' />--> <br>
<span class=label>
%= l 'rma_LABEL_FTP_LOGIN'
</span><span class=data>
% param 'FtpPasswordAccess' => $c->get_ftp_password_login_access() unless param 'FtpPasswordAccess';
%= select_field 'FtpPasswordAccess' => $c->passwordLogin_list(), class => 'input'
</span>
<br>
<h2> % my $mode = $c->get_telnet_mode();
%=l 'rma_TITLE_TELNET_ACCESS' % if ( $mode ne 'off') {
</h2><br> <!--<hr class='sectionbar' />-->
<span class=sme-error> <h2>
%=l 'rma_DESC_TELNET_ACCESS' %= l 'rma_TITLE_TELNET_ACCESS'
</span> </h2><br>
<br><br>
<span class=label> <span class=sme-error>
%=l 'rma_LABEL_TELNET_ACCESS' %= l 'rma_DESC_TELNET_ACCESS'
</span><span class=data> </span>
% param 'TelnetAccess' => $mode unless param 'TelnetAccess'; <br><br>
%= select_field 'TelnetAccess' => $c->networkAccess_list(), class => 'input'
</span>
<br>
%} <span class=label>
%= l 'rma_LABEL_TELNET_ACCESS'
</span><span class=data>
% param 'TelnetAccess' => $mode unless param 'TelnetAccess';
%= select_field 'TelnetAccess' => $c->networkAccess_list(), class => 'input'
</span>
<br>
<br> % }
%= submit_button "$btn", class => 'action'
% end <br>
%= submit_button "$btn", class => 'action'
% end
</div> </div>
% end % end

View File

@@ -1,137 +1,137 @@
% layout 'default', title => 'Sme server 2 - Review'; % layout 'default', title => 'Sme server 2 - Review';
% content_for 'module' => begin % content_for 'module' => begin
<div id='central' class='central review-panel module'> <div id='central' class='central review-panel module'>
<h1> <%= $title %> </h1> <h1> <%= $title %> </h1>
<%= $modul %><br><br> <%= $modul %><br><br>
%= form_for 'review' => begin %= form_for 'review' => begin
<b> <b>
%=l 'rvw_NETWORKING_PARAMS' %= l 'rvw_NETWORKING_PARAMS'
</b><br> </b><br>
<p><span class=label>
%=l 'rvw_SERVER_MODE'
</span>
%= $rvw_datas->{servermode}
</p>
<p><span class=label>
%=l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK'
</span>
%= $rvw_datas->{localip}
</p>
% if ( $rvw_datas->{publicip} ) {
<p><span class=label>
%=l 'rvw_INTERNET_VISIBLE_ADDRESS'
</span>
%= $rvw_datas->{publicip}
</p>
% }
<p><span class=label>
%=l 'rvw_GATEWAY'
</span>
%= $rvw_datas->{gateway}
%= $rvw_datas->{serveronly}
</p>
<p><table width='100%'><tr><td class=label><!--span class=label-->
%=l 'rvw_ADDITIONAL_LOCAL_NETWORKS'
<!--/span--></td><td>
%= $c->render_to_string( inline => $rvw_datas->{addlocalnetworks} );
</td></tr></table>
</p>
<p><table width='100%'><tr><td class=label>
<!--<p><span class=label>-->
%=l 'rvw_DHCP_SERVER'
<!--</span>-->
</td><td>
%= $rvw_datas->{dhcpserver}
<!--</p>-->
</td></tr></table></p>
<br><br><b> <p><span class=label>
%=l 'rvw_SERVER_NAMES' %= l 'rvw_SERVER_MODE'
</b><br> </span>
%= $rvw_datas->{servermode}
<p><span class=label> </p>
%=l 'rvw_DNS_SERVER'
</span>
%= $rvw_datas->{dnsserver}
</p>
<p><span class=label>
%=l 'rvw_WEB_SERVER'
</span>
%= $rvw_datas->{webserver}
</p>
<p><span class=label>
%=l 'rvw_PROXY_SERVER'
</span>
%= $rvw_datas->{proxyserver}
</p>
<p><span class=label>
%=l 'rvw_FTP_SERVER'
</span>
%= $rvw_datas->{ftpserver}
</p>
<p><span class=label> <p><span class=label>
%=l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' %= l 'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK'
</span> </span>
%= $rvw_datas->{smtpserver} %= $rvw_datas->{localip}
</p> </p>
<br><br><b> % if ( $rvw_datas->{publicip} ) {
%=l 'rvw_DOMAIN_INFORMATION' <p><span class=label>
</b><br> %= l 'rvw_INTERNET_VISIBLE_ADDRESS'
</span>
<p><span class=label> %= $rvw_datas->{publicip}
%=l 'rvw_PRIMARY_DOMAIN' </p>
</span> % }
%= $rvw_datas->{domainname}
</p>
<!---<p><span class=label>-->
<p><table width='100%'><tr><td class=label>
%=l 'rvw_VIRTUAL_DOMAINS'
</td><td>
<!--</span>-->
%= $rvw_datas->{virtualdomains}
</td></tr></table></p>
<!--</p>-->
<p><span class=label>
%=l 'rvw_PRIMARY_WEB_SITE'
</span>
%= $rvw_datas->{primarywebsite}
</p>
<p><span class=label>
%=l 'rvw_SERVER_MANAGER'
</span>
%= $rvw_datas->{servermanager}
</p>
<p><span class=label>
%=l 'rvw_USER_PASSWORD_PANEL'
</span>
%= $rvw_datas->{usermanager}
</p>
<p><table width='100%'><tr><td class=label>
%=l 'rvw_EMAIL_ADDRESSES'
</td><td>
%= $rvw_datas->{emailaddresses}
</td></tr></table></p>
% end <p><span class=label>
%= l 'rvw_GATEWAY'
</span>
%= $rvw_datas->{gateway}
%= $rvw_datas->{serveronly}
</p>
<p><table width='100%'><tr><td class=label><!--span class=label-->
%= l 'rvw_ADDITIONAL_LOCAL_NETWORKS'
<!--/span--></td><td>
%= $c->render_to_string( inline => $rvw_datas->{addlocalnetworks} );
</td></tr></table>
</p>
<p><table width='100%'><tr><td class=label>
<!--<p><span class=label>-->
%= l 'rvw_DHCP_SERVER'
<!--</span>-->
</td><td>
%= $rvw_datas->{dhcpserver}
<!--</p>-->
</td></tr></table></p>
<br><br><b>
%= l 'rvw_SERVER_NAMES'
</b><br>
<p><span class=label>
%= l 'rvw_DNS_SERVER'
</span>
%= $rvw_datas->{dnsserver}
</p>
<p><span class=label>
%= l 'rvw_WEB_SERVER'
</span>
%= $rvw_datas->{webserver}
</p>
<p><span class=label>
%= l 'rvw_PROXY_SERVER'
</span>
%= $rvw_datas->{proxyserver}
</p>
<p><span class=label>
%= l 'rvw_FTP_SERVER'
</span>
%= $rvw_datas->{ftpserver}
</p>
<p><span class=label>
%= l 'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS'
</span>
%= $rvw_datas->{smtpserver}
</p>
<br><br><b>
%= l 'rvw_DOMAIN_INFORMATION'
</b><br>
<p><span class=label>
%= l 'rvw_PRIMARY_DOMAIN'
</span>
%= $rvw_datas->{domainname}
</p>
<!---<p><span class=label>-->
<p><table width='100%'><tr><td class=label>
%= l 'rvw_VIRTUAL_DOMAINS'
</td><td>
<!--</span>-->
%= $rvw_datas->{virtualdomains}
</td></tr></table></p>
<!--</p>-->
<p><span class=label>
%= l 'rvw_PRIMARY_WEB_SITE'
</span>
%= $rvw_datas->{primarywebsite}
</p>
<p><span class=label>
%= l 'rvw_SERVER_MANAGER'
</span>
%= $rvw_datas->{servermanager}
</p>
<p><span class=label>
%= l 'rvw_USER_PASSWORD_PANEL'
</span>
%= $rvw_datas->{usermanager}
</p>
<p><table width='100%'><tr><td class=label>
%= l 'rvw_EMAIL_ADDRESSES'
</td><td>
%= $rvw_datas->{emailaddresses}
</td></tr></table></p>
% end
</div> </div>
% end % end

View File

@@ -1,40 +1,40 @@
% layout 'default', title => "Sme server 2 - roundcube"; % layout 'default', title => "Sme server 2 - roundcube";
% content_for 'module' => begin % content_for 'module' => begin
<div id='roundcube' class='roundcube roundcube-panel module'> <div id='roundcube' class='roundcube roundcube-panel module'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
</p> </p>
% } % }
% if ( stash 'error' ) { % if ( stash 'error' ) {
<br><div class=sme-error> <br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error') %= $c->render_to_string( inline => stash 'error' )
</div> </div>
%} % }
<h1><%=$title %></h1><br> <h1><%= $title %></h1><br>
<p>If the Webmail panel does not appear after logging in, then please check your password.</p><br /> <p>If the Webmail panel does not appear after logging in, then please check your password.</p><br />
% my $thisdomain = $c->req->url->to_abs->host; % my $thisdomain = $c->req->url->to_abs->host;
% my $url = $c->stash('modul'); % my $url = $c->stash('modul');
% if (!$url) { % if (!$url) {
% $url = $thisdomain."/roundcube"; % $url = $thisdomain . "/roundcube";
%} % }
% my $username = 'admin'; % my $username = 'admin';
% if ($url =~ /[?&]_user=([^&]+)/) { % if ($url =~ /[?&]_user=([^&]+)/) {
% $username = $1; % $username = $1;
%} % }
% if (!($url =~ /https:/)) { % if (!($url =~ /https:/)) {
% $url = 'https://' . $url; % $url = 'https://' . $url;
%} % }
<div class='roundcube'> <div class='roundcube'>
<a href="<%= "https://".$thisdomain."/" %>roundcube?_user=<%= $username %>"><button class="sme-fullwindow1-button" width=20em title="<%= l('Full Window') %>"><%= l('Full Window') %></button></a> <a href="<%= "https://" . $thisdomain . "/" %>roundcube?_user=<%= $username %>"><button class="sme-fullwindow1-button" width=20em title="<%= l('Full Window') %>"><%= l('Full Window') %></button></a>
<object id="roundcube" data="<%=$url %>" title="<%= $c->stash('title') %>" type="text/html" ><%= $c->stash('title') %> not found</object> <object id="roundcube" data="<%= $url %>" title="<%= $c->stash('title') %>" type="text/html" ><%= $c->stash('title') %> not found</object>
</div> </div>
</div> </div>
%end % end

View File

@@ -1,10 +1,10 @@
% layout 'default', title => 'Sme server 2 - Support'; % layout 'default', title => 'Sme server 2 - Support';
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module support-panel'> <div id='module' class='module support-panel'>
<p> < %= $title % ></p> <p> < %= $title % ></p>
<br> <br>
<%= $modul %> <%= $modul %>
<br> <br>
</div> </div>
%end % end

View File

@@ -1,40 +1,40 @@
% layout 'default', title => "Sme server 2 - useraccounts"; % layout 'default', title => "Sme server 2 - useraccounts";
% content_for 'module' => begin % content_for 'module' => begin
<div id='module' class='module useraccounts-panel'> <div id='module' class='module useraccounts-panel'>
% if (config->{debug} == 1) { % if (config->{debug} == 1) {
<p> <p>
%= dumper $c->current_route %= dumper $c->current_route
%= dumper $usr_datas %= dumper $usr_datas
</p> </p>
% } % }
<h1><%= $title%></h1>
% if ( $notif ) { <h1><%= $title %></h1>
<br>
<span class=sme-error>
<%= $c->render_to_string(inline => $notif) %>
</span>
%}
% if ($usr_datas->{trt} eq 'ADD' or $usr_datas->{trt} eq 'UPD') { % if ( $notif ) {
%= include 'partials/_usr_upd' <br>
%} elsif ($usr_datas->{trt} eq 'DEL') { <span class=sme-error>
%= include 'partials/_usr_del' <%= $c->render_to_string( inline => $notif ) %>
%} elsif ($usr_datas->{trt} eq 'LCK') { </span>
%= include 'partials/_usr_lock' % }
%} elsif ($usr_datas->{trt} eq 'PWD') {
%= include 'partials/_usr_pwd' % if ($usr_datas->{trt} eq 'ADD' or $usr_datas->{trt} eq 'UPD') {
%} elsif ($usr_datas->{trt} eq 'PWS') { %= include 'partials/_usr_upd'
%= include 'partials/_usr_pwds' % } elsif ($usr_datas->{trt} eq 'DEL') {
%} elsif ($usr_datas->{trt} eq 'UPS') { %= include 'partials/_usr_del'
%= include 'partials/_usr_upds' % } elsif ($usr_datas->{trt} eq 'LCK') {
%} else { %= include 'partials/_usr_lock'
%= include 'partials/_usr_list' % } elsif ($usr_datas->{trt} eq 'PWD') {
%} %= include 'partials/_usr_pwd'
% } elsif ($usr_datas->{trt} eq 'PWS') {
%= include 'partials/_usr_pwds'
% } elsif ($usr_datas->{trt} eq 'UPS') {
%= include 'partials/_usr_upds'
% } else {
%= include 'partials/_usr_list'
% }
</div> </div>
%end % end

Some files were not shown because too many files have changed in this diff Show More