Compare commits
9 Commits
11_0_0-102
...
master
Author | SHA1 | Date | |
---|---|---|---|
a3fda90a85 | |||
837b855101 | |||
237f2f21ab | |||
1708fbe3fa | |||
9f6e45d98c | |||
5ba77e4526 | |||
1d00f2aeb2 | |||
b0c6bea0a2 | |||
5a57ffaa34 |
@@ -25,6 +25,8 @@ use esmith::AccountsDB::UTF8;
|
||||
use esmith::util;
|
||||
use File::Basename;
|
||||
use File::Find;
|
||||
# Set to avoid using link counts as it may not work for cifs shares.
|
||||
$File::Find::dont_use_nlink = 1;
|
||||
use File::Path qw(make_path remove_tree);
|
||||
use esmith::Backup;
|
||||
use esmith::BackupHistoryDB; #no UTF8 and not in use
|
||||
@@ -1670,7 +1672,7 @@ sub get_Backupset_options () {
|
||||
my $err;
|
||||
$mntdir = "/$smbshare" if ($VFSType eq 'usb');
|
||||
my $setbackuplist = sub {
|
||||
|
||||
$c->app->log->info("File presented: $_");
|
||||
if ($_ =~ /\.dar/) {
|
||||
my $dir = $File::Find::dir;
|
||||
my $backupref;
|
||||
@@ -1696,6 +1698,7 @@ sub get_Backupset_options () {
|
||||
}
|
||||
|
||||
# Finding existing backups
|
||||
|
||||
find { wanted => \&$setbackuplist, untaint => 1, untaint_pattern => qr|^([-+@\w\s./]+)$| }, $mntbkdir;
|
||||
my %blabels = ();
|
||||
my @list;
|
||||
@@ -1703,6 +1706,7 @@ sub get_Backupset_options () {
|
||||
foreach $key (sort keys %backupfiles) {
|
||||
my $labkey = $mntbkdir . '/' . $backupfiles{$key}[0] . '/' . $backupfiles{$key}[1];
|
||||
$blabels{$labkey} = $backupfiles{$key}[1] . " (" . $backupfiles{$key}[0] . ")";
|
||||
$c->app->log->info("Pushing $blabels{$labkey} to $labkey");
|
||||
push @list, [ "$blabels{$labkey}" => "$labkey" ];
|
||||
} ## end foreach $key (sort keys %backupfiles)
|
||||
$error_message .= $c->bunmount($mntdir, $VFSType);
|
||||
|
@@ -255,7 +255,7 @@ sub validate_change_datetime {
|
||||
}
|
||||
|
||||
if (($minute < 0) || ($minute > 59)) {
|
||||
return $c->l('datINVALID_MINUTE') . " $minute. " . $c->l('dat_BETWEEN_0_AND_59');
|
||||
return $c->l('dat_INVALID_MINUTE') . " $minute. " . $c->l('dat_BETWEEN_0_AND_59');
|
||||
}
|
||||
my $second = $c->param('second');
|
||||
|
||||
|
@@ -132,7 +132,7 @@ sub do_update {
|
||||
# Untaint groupName before use in system()
|
||||
($groupName) = ($groupName =~ /^([a-z][\-\_\.a-z0-9]*)$/);
|
||||
system("/sbin/e-smith/signal-event", "group-create", "$groupName") == 0
|
||||
or $result .= $c->l('qgp_CREATE_ERROR') . "\n";
|
||||
or $result .= $c->l('grp_CREATE_ERROR') . "\n";
|
||||
} ## end if (!$result)
|
||||
|
||||
if (!$result) {
|
||||
@@ -161,7 +161,7 @@ sub do_update {
|
||||
# Untaint groupName before use in system()
|
||||
($groupName) = ($groupName =~ /^([a-z][\-\_\.a-z0-9]*)$/);
|
||||
system("/sbin/e-smith/signal-event", "group-modify", "$groupName") == 0
|
||||
or $result .= $c->l('qgp_MODIFY_ERROR') . "\n";
|
||||
or $result .= $c->l('grp_MODIFY_ERROR') . "\n";
|
||||
} ## end if (!$result)
|
||||
|
||||
if (!$result) {
|
||||
|
@@ -102,7 +102,7 @@ sub do_display {
|
||||
%ret = $c->remove_network($localnetwork, $delete_hosts);
|
||||
} else {
|
||||
$c->app->log->info("Local network: delete failed to find network in db: $localnetwork");
|
||||
%ret = ();
|
||||
%ret = (ret => "");
|
||||
}
|
||||
#$network_db = esmith::NetworksDB::UTF8->open() || die("Failed to open Networkdb-2"); #Refresh the network DB
|
||||
my @localnetworks;
|
||||
|
@@ -120,6 +120,20 @@ sub do_display {
|
||||
}
|
||||
$c->stash(useraccounts => \@useraccounts);
|
||||
} ## end if ($trt eq 'LIST')
|
||||
|
||||
my $cdb = esmith::ConfigDB::UTF8->open_ro || die "Couldn't open configuration db";
|
||||
my $rec = $cdb->get('passwordstrength');
|
||||
$usr_datas{passwdlength} = ($rec ? ($rec->prop('length') || 12) : 12);
|
||||
if ($trt eq 'PWS'){
|
||||
$usr_datas{passwdstrength} = ($rec ? ($rec->prop('Admin') || 'none') : 'none');
|
||||
} else {
|
||||
$usr_datas{passwdstrength} = ($rec ? ($rec->prop('Users') || 'none') : 'none');
|
||||
}
|
||||
|
||||
if ( !(defined $usr_datas{passwdstrength} && $usr_datas{passwdstrength} =~ /^(none|normal|intermediate|strong)$/)) {
|
||||
$usr_datas{passwdstrength} = 'strong';
|
||||
}
|
||||
|
||||
$c->stash(title => $title, notif => $notif, usr_datas => \%usr_datas);
|
||||
$c->render(template => 'useraccounts');
|
||||
} ## end sub do_display
|
||||
@@ -176,7 +190,7 @@ sub do_update {
|
||||
$result .= $res unless $res eq 'OK';
|
||||
|
||||
if (!$result) {
|
||||
$result = $c->l('usrUSER_CREATED') . ' ' . $user;
|
||||
$result = $c->l('usr_USER_CREATED') . ' ' . $user;
|
||||
$usr_datas{trt} = 'SUC';
|
||||
}
|
||||
} ## end if (!$result)
|
||||
@@ -361,7 +375,7 @@ sub lock_account {
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
return 'OK';
|
||||
} else {
|
||||
return $c->l('NO_SUCH_USER', $user);
|
||||
return $c->l('usr_NO_SUCH_USER', $user);
|
||||
}
|
||||
} ## end sub lock_account
|
||||
|
||||
@@ -380,13 +394,13 @@ sub remove_account {
|
||||
|
||||
if (system("/sbin/e-smith/signal-event", "user-delete", $user)) {
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
return $c->l("ERR_OCCURRED_DELETING");
|
||||
return $c->l("usr_ERR_OCCURRED_DELETING");
|
||||
}
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
$adb->get($user)->delete;
|
||||
return 'OK';
|
||||
} else {
|
||||
return $c->l('NO_SUCH_USER', $user);
|
||||
return $c->l('usr_NO_SUCH_USER', $user);
|
||||
}
|
||||
} ## end sub remove_account
|
||||
|
||||
@@ -413,7 +427,7 @@ sub reset_password {
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
return 'OK';
|
||||
} else {
|
||||
return $c->l('NO_SUCH_USER', $user);
|
||||
return $c->l('usr_NO_SUCH_USER', $user);
|
||||
}
|
||||
} ## end sub reset_password
|
||||
|
||||
@@ -788,7 +802,7 @@ sub system_change_password {
|
||||
if ($result == 0) {
|
||||
return 'OK';
|
||||
} else {
|
||||
return $c->l("Error occurred while modifying password for admin.", 'First');
|
||||
return $c->l("Error occurred while modifying password for admin.");
|
||||
}
|
||||
} ## end sub system_change_password
|
||||
1
|
@@ -21,6 +21,7 @@ use SrvMngr qw( theme_list init_session validate_password );
|
||||
sub main {
|
||||
my $c = shift;
|
||||
my %pwd_datas = ();
|
||||
my $title = $c->l("pwd_ACCOUNT_PASSWORD_CHANGE");
|
||||
|
||||
if ($c->is_logged_in) {
|
||||
$pwd_datas{Account} = $c->session->{username};
|
||||
@@ -34,7 +35,7 @@ sub main {
|
||||
|
||||
# request already treated or outdated
|
||||
if ($c->pwdrst->{$name}{confirmed} != 1 or $c->pwdrst->{$name}{date} < time()) {
|
||||
$mess = $c->l('use_INVALID_REQUEST') . ' -step 1-';
|
||||
$mess = $c->l('pwd_INVALID_REQUEST') . ' -step 1-';
|
||||
}
|
||||
|
||||
if ($mess) {
|
||||
@@ -47,8 +48,20 @@ sub main {
|
||||
$pwd_datas{Account} = $name;
|
||||
$pwd_datas{trt} = 'RESET';
|
||||
$pwd_datas{jwt} = $jwt;
|
||||
$c->flash(success => $c->l('use_OK_FOR_RESET'));
|
||||
$c->flash(success => $c->l('pwd_OK_FOR_RESET'));
|
||||
} ## end else [ if ($c->is_logged_in) ]
|
||||
|
||||
my $cdb = esmith::ConfigDB::UTF8->open_ro || die "Couldn't open configuration db";
|
||||
my $rec = $cdb->get('passwordstrength');
|
||||
$pwd_datas{passwdlength} = ($rec ? ($rec->prop('length') || 12) : 12);
|
||||
if ($c->is_admin){
|
||||
$pwd_datas{passwdstrength} = ($rec ? ($rec->prop('Admin') || 'none') : 'none');
|
||||
} else {
|
||||
$pwd_datas{passwdstrength} = ($rec ? ($rec->prop('Users') || 'none') : 'none');
|
||||
}
|
||||
if ( !(defined $pwd_datas{passwdstrength} && $pwd_datas{passwdstrength} =~ /^(none|normal|intermediate|strong)$/)) {
|
||||
$pwd_datas{passwdstrength} = 'strong';
|
||||
}
|
||||
$c->stash(pwd_datas => \%pwd_datas);
|
||||
$c->render('userpassword');
|
||||
} ## end sub main
|
||||
@@ -74,7 +87,7 @@ sub change_password {
|
||||
|
||||
# request already treated or outdated
|
||||
if ($c->pwdrst->{$name}{confirmed} != 2 or $c->pwdrst->{$name}{date} < time()) {
|
||||
$mess = $c->l('use_INVALID_REQUEST') . ' -step 2-';
|
||||
$mess = $c->l('pwd_INVALID_REQUEST') . ' -step 2-';
|
||||
}
|
||||
|
||||
if (!$name or $c->is_logged_in or $name ne $acctName) {
|
||||
@@ -158,7 +171,7 @@ sub change_password {
|
||||
sub reset_password {
|
||||
my ($c, $trt, $user, $password, $oldpassword) = @_;
|
||||
my $ret;
|
||||
return $c->l('usr_TAINTED_USER') unless (($user) = ($user =~ /^(\w[\-\w_\.]*)$/));
|
||||
return $c->l('pwd_TAINTED_USER') unless (($user) = ($user =~ /^(\w[\-\w_\.]*)$/));
|
||||
$user = $1;
|
||||
my $adb = esmith::AccountsDB::UTF8->open();
|
||||
my $acct = $adb->get($user);
|
||||
@@ -171,7 +184,7 @@ sub reset_password {
|
||||
|
||||
if (system("/sbin/e-smith/signal-event", "password-modify", $user)) {
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
return $c->l("usr_ERR_OCCURRED_MODIFYING_PASSWORD");
|
||||
return $c->l("pwd_ERR_OCCURRED_MODIFYING_PASSWORD");
|
||||
}
|
||||
$adb = esmith::AccountsDB::UTF8->open();
|
||||
return 'OK';
|
||||
|
@@ -34,6 +34,7 @@ sub main {
|
||||
sub do_update {
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
$db = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
|
||||
my $result = "";
|
||||
my $workgroup = ($c->param('Workgroup') || 'no');
|
||||
my $servername = ($c->param('ServerName') || 'WS');
|
||||
|
@@ -4,6 +4,12 @@ package SrvMngr::Controller::Yum;
|
||||
# heading : System
|
||||
# description : Software installer
|
||||
# navigation : 4000 500
|
||||
|
||||
#$if_admin->get('/yum')->to('yum#main')->name('yum');
|
||||
#$if_admin->post('/yum')->to('yum#do_display')->name('yumd1');
|
||||
#$if_admin->get('/yumd')->to('yum#do_display')->name('yumd');
|
||||
#$if_admin->post('/yumd')->to('yum#do_update')->name('yumu');
|
||||
|
||||
#
|
||||
# routes : end
|
||||
#----------------------------------------------------------------------
|
||||
@@ -23,20 +29,20 @@ my $dnf_status_file = '/var/cache/dnf/dnf.status';
|
||||
#use File::stat;
|
||||
our %dbs;
|
||||
|
||||
for (qw(available installed updates)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open_ro("dnf_$_")
|
||||
or die "Couldn't open dnf_$_ DB\n";
|
||||
}
|
||||
|
||||
for (qw(repositories)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open("yum_$_")
|
||||
or die "Couldn't open yum_$_ DB\n";
|
||||
}
|
||||
|
||||
sub main {
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
$cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
|
||||
for (qw(available installed updates)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open_ro("dnf_$_")
|
||||
or die "Couldn't open dnf_$_ DB\n";
|
||||
}
|
||||
|
||||
for (qw(repositories)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open("yum_$_")
|
||||
or die "Couldn't open yum_$_ DB\n";
|
||||
}
|
||||
my %yum_datas = ();
|
||||
my $title = $c->l('yum_FORM_TITLE');
|
||||
my $dest = 'yum';
|
||||
@@ -63,6 +69,15 @@ sub do_display {
|
||||
my $rt = $c->current_route;
|
||||
my $trt = ($c->param('trt') || 'STAT');
|
||||
$cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
|
||||
for (qw(available installed updates)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open_ro("dnf_$_")
|
||||
or die "Couldn't open dnf_$_ DB\n";
|
||||
}
|
||||
|
||||
for (qw(repositories)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open("yum_$_")
|
||||
or die "Couldn't open yum_$_ DB\n";
|
||||
}
|
||||
my %yum_datas = ();
|
||||
my $title = $c->l('yum_FORM_TITLE');
|
||||
my ($notif, $dest) = '';
|
||||
@@ -113,6 +128,16 @@ sub do_update {
|
||||
$c->app->log->info($c->log_req);
|
||||
my $rt = $c->current_route;
|
||||
my $trt = $c->param('trt');
|
||||
$cdb = esmith::ConfigDB::UTF8->open || die "Couldn't open config db";
|
||||
for (qw(available installed updates)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open_ro("dnf_$_")
|
||||
or die "Couldn't open dnf_$_ DB\n";
|
||||
}
|
||||
|
||||
for (qw(repositories)) {
|
||||
$dbs{$_} = esmith::ConfigDB::UTF8->open("yum_$_")
|
||||
or die "Couldn't open yum_$_ DB\n";
|
||||
}
|
||||
my %yum_datas = ();
|
||||
$yum_datas{trt} = $trt;
|
||||
my $title = $c->l('yum_FORM_TITLE');
|
||||
|
@@ -154,3 +154,10 @@ enabled.',
|
||||
'mai_DEL_panel_action_was_successful' => 'Email delivery settings saved sucessfully',
|
||||
'mai_FIL_panel_action_was_successful' => 'Email filtering settings saved sucessfully',
|
||||
'mai_REC_panel_action_was_successful' => 'Email receive settings saved sucessfully',
|
||||
|
||||
'mai_SMTP_port_authenticate' => 'Smtp port %u allow client to authenticate:',
|
||||
'mai_SMTP_port_(25)' => 'Smtp port (25) main purpose is to receive emails from another server, starttls is always offered, but auth if offered is only if starttls is also used by client.',
|
||||
'mai_SMTP_Submission' => 'Smtp submission port (587) will require starttls, then authenticate to send.',
|
||||
'mai_SMTPS_port_(465)' => 'Smtps port (465) will require implicit ssl/tls then authenticate to send.',
|
||||
'mai_SMTPS_SSL/TLS' => 'Smtps ssl/tls auth: port %u status:',
|
||||
'mai_Submission_port' => 'Submission port %u status:'
|
@@ -28,3 +28,4 @@
|
||||
'ln_REMOVE_HOSTS_LABEL' => 'Remove hosts on network',
|
||||
'ln_extra' => '[_1]/[_2] via router $networkRouter}.',
|
||||
'ln_SUCCESS_NONSTANDARD_RANGE' =>'<p>Successfully added network [_1]/[_2] via router [_3].</p><p> Your server will grant local access privileges to [_4] IP addresses in the range [_5] to [_6].</p><p> Warning: the ProFTPd FTP server cannot handle this nonstandard subnet mask. The simpler specification <b>[_7]</b> will be used instead.</p>',
|
||||
'ln_Failed to find network in Db' => 'Failed to find network in Db',
|
@@ -0,0 +1 @@
|
||||
|
@@ -60,3 +60,8 @@
|
||||
'usr_NEW_SYSTEM_PASSWORD_VERIFY' => 'New system password (verify)',
|
||||
'usr_LABEL_IPSECRW_DOWNLOAD' => 'Download digital certificate to IPSec client',
|
||||
'usr_ERR_OCCURRED_DELETING' => 'An error occurred while trying to delete the user.',
|
||||
'usr_NONE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters.',
|
||||
'usr_NORMAL_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters.',
|
||||
'usr_INTERMEDIATE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters and must pass a dictionary check.',
|
||||
'usr_STRONG_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters, numbers and special characters and must pass a dictionary check.',
|
||||
'usr_PASSWORD_WIKI' => "If you want to know more about passwords, then please refer to the <a href='https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter9#Changing_User_Passwords'>Wiki</a>",
|
@@ -19,3 +19,8 @@
|
||||
'pwd_PASSWORD_CHANGE_SUCCESS' => 'Your password has been successfully changed.',
|
||||
'pwd_DESCRIPTION' => '<P>To change your account password, please fill out the following form. You will need to provide the name of your account, your old password, and your desired new password. (You must type the new password twice.)</P><P>If you cannot change your password because you have forgotten the old one, your local system administrator can reset your password using the <EM>server manager</EM>.</P>',
|
||||
'pwd_DESCRIPTION_RESET' => '<P>To reset your account password, please fill out the following form. You will need to provide your desired new password. (You must type it twice.)</P><P>In cas of problem, your local system administrator can reset your password using the <EM>server manager</EM>.</P>',
|
||||
'pwd_NONE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters.',
|
||||
'pwd_NORMAL_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters.',
|
||||
'pwd_INTERMEDIATE_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters and must pass a dictionary check.',
|
||||
'pwd_STRONG_PASSWORD_DESCRIPTION' => 'The password must be composed of at least [_1] characters with uppercase and lowercase letters, numbers and special characters and must pass a dictionary check.',
|
||||
'pwd_PASSWORD_WIKI' => "If you want to know more about passwords, then please refer to the <a href='https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter9#Changing_User_Passwords'>Wiki</a>",
|
@@ -89,21 +89,21 @@
|
||||
|
||||
% my $smtp_mesg;
|
||||
|
||||
% $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
% $smtp_mesg=l('mai_SMTP_port_authenticate');
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class=data2>
|
||||
%= $c->get_current_smtp_auth( TRUE )
|
||||
</span></p>
|
||||
|
||||
% $smtp_mesg=l('SMTPS SSL/TLS auth: port %u status:');
|
||||
% $smtp_mesg=l('mai_SMTPS_SSL/TLS');
|
||||
<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 'Submission port %u status:';
|
||||
% $smtp_mesg=l 'mai_Submission_port';
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('uqpsmtpd','TCPPort',587));
|
||||
</span><span class=data2>
|
||||
|
@@ -38,14 +38,14 @@
|
||||
|
||||
%#=l 'mai_DESC_SMTP_AUTH_CONTROL'
|
||||
<br />
|
||||
%= l "SMTP port (25) main purpose is to receive emails from another server, STARTTLS is always offered, but auth if offered is only if STARTTLS is also used by client."
|
||||
%= l "mai_SMTP_port_(25)"
|
||||
<br />
|
||||
%= l "SMTPS port (465) will require implicit SSL/TLS then authenticate to send."
|
||||
%= l "mai_SMTPS_port_(465)"
|
||||
<br />
|
||||
%= l "SMTP Submission port (587) will require STARTTLS, then authenticate to send."
|
||||
%= l "mai_SMTP_Submission"
|
||||
<br />
|
||||
|
||||
% my $smtp_mesg=l('SMTP port %u allow client to authenticate:');
|
||||
% my $smtp_mesg=l('mai_SMTP_port_authenticate');
|
||||
<p><span class=label>
|
||||
%= sprintf($smtp_mesg,$c->get_db_prop('qpsmtpd','TCPPort',25));
|
||||
</span><span class=input>
|
||||
|
@@ -14,6 +14,14 @@
|
||||
%= l 'usr_RESET_DESC2'
|
||||
</p>
|
||||
|
||||
<p>
|
||||
% my $strength = uc($usr_datas->{passwdstrength});
|
||||
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
|
||||
<br /><br />
|
||||
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %>
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<span class=label>
|
||||
%=l 'PASSWORD_NEW', class => 'label'
|
||||
|
@@ -7,6 +7,14 @@
|
||||
%= l 'usr_SYSTEM_PASSWORD_DESCRIPTION'
|
||||
</p>
|
||||
|
||||
<p>
|
||||
% my $strength = uc($usr_datas->{passwdstrength});
|
||||
<%= $c->render_to_string( inline => l('usr_'.$strength.'_PASSWORD_DESCRIPTION',$usr_datas->{passwdlength})) %>
|
||||
<br /><br />
|
||||
<%= $c->render_to_string( inline => l('usr_PASSWORD_WIKI')) %>
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<span class=label>
|
||||
%=l 'usr_CURRENT_SYSTEM_PASSWORD', class => 'label'
|
||||
|
@@ -25,6 +25,14 @@
|
||||
% my $btn = l('pwd_PASSWORD_CHANGE');
|
||||
% my $url = '/userpassword';
|
||||
%= $c->render_to_string( inline => l('pwd_DESCRIPTION'));
|
||||
|
||||
<p>
|
||||
% my $strength = uc($pwd_datas->{passwdstrength});
|
||||
<%= $c->render_to_string( inline => l('pwd_'.$strength.'_PASSWORD_DESCRIPTION',$pwd_datas->{passwdlength})) %>
|
||||
<br /><br />
|
||||
<%= $c->render_to_string( inline => l('pwd_PASSWORD_WIKI')) %>
|
||||
</p>
|
||||
|
||||
% if ( $pwd_datas->{trt} eq 'RESET' ) {
|
||||
% $btn = l('pwd_PASSWORD_RESET');
|
||||
% $url = '/userpasswordr';
|
||||
|
@@ -2,7 +2,7 @@ Summary: Sme server navigation module : manager 2
|
||||
%define name smeserver-manager
|
||||
Name: %{name}
|
||||
%define version 11.0.0
|
||||
%define release 102
|
||||
%define release 111
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
License: GPL
|
||||
@@ -146,6 +146,36 @@ true
|
||||
%defattr(-,root,root)
|
||||
|
||||
%changelog
|
||||
* Mon Jul 28 2025 Brian Read <brianr@koozali.org> 11.0.0-111.sme
|
||||
- Add password strength details to passowrd panels [SME: 13081]
|
||||
|
||||
* Sat Jul 26 2025 Brian Read <brianr@koozali.org> 11.0.0-110.sme
|
||||
- Get cifs workstation backup restore to show backup sets [SME: 12645]
|
||||
Add lex file for roundcubepanel to provide lex environment for lex strings
|
||||
|
||||
* Wed Jul 16 2025 Brian Read <brianr@koozali.org> 11.0.0-109.sme
|
||||
- A few more error message corrections [SME: 13078]
|
||||
|
||||
* Wed Jul 16 2025 Brian Read <brianr@koozali.org> 11.0.0-108.sme
|
||||
- Password change panel - add extra descriptive text [SME: 13081]
|
||||
|
||||
* Tue Jul 15 2025 Brian Read <brianr@koozali.org> 11.0.0-107.sme
|
||||
- Email Settings panel: Fix lex strings with long names and no prefix [SME: 13080]
|
||||
|
||||
* Mon Jul 14 2025 Brian Read <brianr@koozali.org> 11.0.0-106.sme
|
||||
- Datetime panel: Typo in error message - missing _ [SME: 13078]
|
||||
- ditto user accounts panel [SME: 13078]
|
||||
- ditto groups panel [SME: 13078]
|
||||
|
||||
* Mon Jul 14 2025 Brian Read <brianr@koozali.org> 11.0.0-105.sme
|
||||
- Adjust db opening in Software install panel [SME: 13077]
|
||||
|
||||
* Mon Jul 07 2025 Brian Read <brianr@koozali.org> 11.0.0-104.sme
|
||||
- Fix DB not open in Workgrouyp panel sometimes. [SME: 13070]
|
||||
|
||||
* Thu Jul 03 2025 Brian Read <brianr@koozali.org> 11.0.0-103.sme
|
||||
- Fix a couple of typos [SME: 13065]
|
||||
|
||||
* Thu Jul 03 2025 Brian Read <brianr@koozali.org> 11.0.0-102.sme
|
||||
- Local Network panel: Make DEL and ADD robust even if called more than once by browser [SME: 13065]
|
||||
|
||||
|
Reference in New Issue
Block a user