/[smeserver]/rpms/smeserver-manager/sme10/smeserver-manager-0.1.0-reboot_ibays_theme.patch
ViewVC logotype

Contents of /rpms/smeserver-manager/sme10/smeserver-manager-0.1.0-reboot_ibays_theme.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Sat Nov 21 08:43:49 2020 UTC (3 years, 6 months ago) by michel
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
* Fri Nov 20 2020 Michel Begue <mab974@gmail.com> 0.1.2-2.sme
- Fix smanager-update event name
- Move smanager service to /usr/lib/systemd
- Fix Bugreport file download
- Fix translations missing in 'viewlogfiles'
- Remove Admin auth in httpd configuration
- Add an optional alias for admin sign in.
- Remove systemctl from .spec file

1 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf
2 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf 2019-12-31 17:50:50.000000000 +0400
3 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/conf/srvmngr.conf 2020-01-12 23:24:34.930000000 +0400
4 @@ -1,12 +1,12 @@
5 {
6 secrets => ['new sessionsLeYTmFPhw3q', 'for validation QrPTZhWJmqCjyGZmguK'],
7 - theme => 'default',
8 -# theme => 'perso',
9 +# theme => 'default',
10 + theme => 'AdminLTE',
11 # navigation_script_file => "js/navigation.js",
12 # navigation_div_file => "themes/default/templates/partials/_navig.html.ep",
13 navigation_script_file => "themes/default/public/js/navigation.js",
14 navigation_div_file => "themes/default/templates/partials/_navig.html.ep",
15 navigation_has_changed => 1,
16 modules_dir => "lib/SrvMngr/Controller",
17 - debug => 1,
18 + debug => 0,
19 }
20 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm
21 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm 2020-01-01 17:35:59.000000000 +0400
22 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Groups.pm 2020-01-01 22:19:41.000000000 +0400
23 @@ -136,10 +136,12 @@
24
25 if ( $trt eq 'ADD' ) {
26
27 - my $groupName = ($c->param('groupName') || '');
28 - my $groupDesc = ($c->param('groupDesc') || '');
29 - my @members = ($c->param('groupMembers') || '');
30 + my $groupName = $c->param('groupName');
31 + my $groupDesc = $c->param('groupDesc');
32 + my @members = $c->param('groupMembers');
33 +
34 my $members = join ( ",", @members );
35 + $c->app->log->info("members: " . $c->dumper($groupName) . " " .$c->dumper($groupDesc) . " " .$c->dumper(@members) . " " . $c->dumper($members));
36
37 # controls (validate ?????)
38 my $res = validate_group( $c, $groupName );
39 @@ -162,6 +164,8 @@
40 $groupDesc, 'Members', $members
41 );
42
43 + $c->app->log->info("props: " . $c->dumper(%props));
44 +
45 if ( ! $result ) {
46
47 $adb->new_record( $groupName, \%props );
48 @@ -172,7 +176,7 @@
49 #???$c->clear_params();
50
51 system("/sbin/e-smith/signal-event", "group-create", "$groupName") ==0
52 - or $result .= $c->l('grp_CREATE_ERROR')."\n";
53 + or $result .= $c->l('qgp_CREATE_ERROR')."\n";
54
55 }
56
57 @@ -183,9 +187,9 @@
58
59 if ( $trt eq 'UPD' ) {
60
61 - my $groupName = $c->param('group');
62 - my $groupDesc = ($c->param('groupDesc') || '');
63 - my @members = ($c->param('groupMembers') || '');
64 + my $groupName = $c->param('groupName');
65 + my $groupDesc = $c->param('groupDesc');
66 + my @members = $c->param('groupMembers');
67 my $members = join ( ",", @members );
68
69 # controls
70 @@ -197,11 +201,24 @@
71 $result .= $res unless $res eq 'OK';
72
73 if ( ! $result ) {
74 - # $res = new_group( $c, $name, $description, $location, $remoteName, $address );
75 - # $result .= $res unless $res eq 'OK';
76 - # if ( ! $result ) {
77 +
78 + $c->app->log->info("groupName: " . $c->dumper($groupName) . " , " . $c->dumper($members). " << " . $c->dumper(@members));
79 +
80 + $adb->get($groupName)->set_prop( 'Members', $members );
81 + $adb->get($groupName)->set_prop( 'Description', $groupDesc );
82 +
83 + # Untaint groupName before use in system()
84 + ($groupName) = ($groupName =~ /^([a-z][\-\_\.a-z0-9]*)$/);
85 +
86 + #???$c->clear_params();
87 +
88 + system("/sbin/e-smith/signal-event", "group-modify", "$groupName") ==0
89 + or $result .= $c->l('qgp_MODIFY_ERROR')."\n";
90 +
91 + }
92 +
93 + if ( ! $result ) {
94 $result = $c->l('grp_MODIFIED_GROUP') . ' ' . $groupName;
95 - # }
96 }
97 }
98
99 @@ -212,11 +229,11 @@
100 if ($group =~ /^([a-z][\-\_\.a-z0-9]*)$/) {
101 $group = $1;
102 } else {
103 - $result .= $c->l('grp_GROUP_NAMING') . ':' . $group;
104 + $result .= $c->l('grp_ERR_INTERNAL_FAILURE') . ':' . $group;
105 }
106
107 my $rec = $adb->get($group);
108 - $result .= $c->l('grp_NOT_A_GROUP') . ':' . $group unless ($rec);
109 + $result .= $c->l('grp_ERR_INTERNAL_FAILURE') . ':' . $group unless ($rec);
110
111 if ( ! $result ) {
112 my $res = delete_group( $c, $group );
113 @@ -247,7 +264,7 @@
114
115 return (system ("/sbin/e-smith/signal-event", "group-delete", "$groupName") ||
116 !$adb->get($groupName)->delete()) ?
117 - $c->l('grp_DELETE_ERROR') : 'OK';
118 + $c->l('DELETE_ERROR') : 'OK';
119
120 }
121
122 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Ibays.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Ibays.pm
123 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Ibays.pm 1970-01-01 04:00:00.000000000 +0400
124 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Ibays.pm 2020-01-12 22:57:45.000000000 +0400
125 @@ -0,0 +1,567 @@
126 +package SrvMngr::Controller::Ibays;
127 +
128 +use strict;
129 +use warnings;
130 +use Mojo::Base 'Mojolicious::Controller';
131 +
132 +use Locale::gettext;
133 +use SrvMngr::I18N;
134 +
135 +#use esmith::FormMagick qw( validate_password );
136 +use CGI::FormMagick::Validator qw( call_fm_validation );
137 +use esmith::AccountsDB;
138 +use esmith::ConfigDB;
139 +use esmith::DomainsDB;
140 +
141 +#use esmith::FormMagick::Panel::ibays;
142 +
143 +our $adb = esmith::AccountsDB->open || die "Couldn't open accounts db";
144 +our $cdb = esmith::ConfigDB->open() || die "Couldn't open config db";
145 +
146 +sub main {
147 +
148 + my $c = shift;
149 + $c->app->log->info($c->log_req);
150 +
151 + my %iba_datas = ();
152 + my $title = $c->l('iba_FORM_TITLE');
153 + my $modul = '';
154 +
155 + $iba_datas{'trt'} = 'LIST';
156 +
157 + my @ibays;
158 + if ($adb)
159 + {
160 + @ibays = $adb->ibays();
161 + }
162 +
163 + $c->stash( title => $title, modul => $modul, iba_datas => \%iba_datas, ibays => \@ibays );
164 + $c->render(template => 'ibays');
165 +
166 +};
167 +
168 +
169 +sub do_display {
170 +
171 + my $c = shift;
172 +
173 + my $rt = $c->current_route;
174 + my $trt = ($c->param('trt') || 'ADD');
175 + my $ibay = $c->param('ibay') || '';
176 +
177 + #$trt = 'DEL' if ( $ibay );
178 + #$trt = 'ADD' if ( $rt eq 'ibayadd' );
179 +
180 + my %iba_datas = ();
181 + my $title = $c->l('iba_FORM_TITLE');
182 + my $modul = '';
183 +
184 + $iba_datas{'trt'} = $trt;
185 +
186 + if ( $trt eq 'ADD' ) {
187 +
188 + $iba_datas{ibay} = '';
189 + $iba_datas{description} = '';
190 + $iba_datas{group} = '';
191 + $iba_datas{userAccess} = '';
192 + $iba_datas{publicAccess} = '';
193 + $iba_datas{CgiBin} = '';
194 + $iba_datas{SSL} = '';
195 +
196 + }
197 +
198 + if ( $trt eq 'UPD' ) {
199 +
200 + my $rec = $adb->get($ibay);
201 + if ($rec and $rec->prop('type') eq 'ibay') {
202 + $iba_datas{ibay} = $ibay;
203 + $iba_datas{description} = $rec->prop('Name') || '';
204 + $iba_datas{group} = $rec->prop('Group') || '';
205 + $iba_datas{userAccess} = $rec->prop('UserAccess') || '';
206 + $iba_datas{publicAccess} = $rec->prop('PublicAccess') || '';
207 + $iba_datas{CgiBin} = $rec->prop('CgiBin') || 'disabled';
208 + $iba_datas{SSL} = $rec->prop('SSL') || 'disabled';
209 +
210 + }
211 + }
212 +
213 + if ( $trt eq 'DEL' ) {
214 +
215 + my $rec = $adb->get($ibay);
216 + if ($rec and $rec->prop('type') eq 'ibay') {
217 + $iba_datas{ibay} = $ibay;
218 + $iba_datas{description} = $rec->prop('Name') || '';
219 + $modul .= print_vhost_message( $c, $ibay );
220 + }
221 +
222 + }
223 +
224 + if ( $trt eq 'PWD' ) {
225 +
226 + my $rec = $adb->get($ibay);
227 + if ($rec and $rec->prop('type') eq 'ibay') {
228 + $iba_datas{ibay} = $ibay;
229 + $iba_datas{description} = $rec->prop('Name') || '';
230 + }
231 +
232 + }
233 +
234 + if ( $trt eq 'LIST' ) {
235 + my @ibays;
236 + if ($adb)
237 + {
238 + @ibays = $adb->ibays();
239 + }
240 + $c->stash( ibays => \@ibays );
241 +
242 + }
243 +
244 + $c->stash( title => $title, modul => $modul, iba_datas => \%iba_datas );
245 + $c->render( template => 'ibays' );
246 +
247 +};
248 +
249 +
250 +sub do_update {
251 +
252 + my $c = shift;
253 + $c->app->log->info($c->log_req);
254 +
255 + my $rt = $c->current_route;
256 + my $trt = ($c->param('trt') || 'LIST');
257 +
258 + my %iba_datas = ();
259 + my $title = $c->l('iba_FORM_TITLE');
260 +
261 + $iba_datas{'trt'} = $trt;
262 +
263 + my $result = '';
264 +
265 + if ( $trt eq 'ADD' ) {
266 +
267 + my $name = ($c->param('ibay') || '');
268 +
269 + # controls
270 + my $res = validate_ibay( $c, $name );
271 + $result .= $res unless $res eq 'OK';
272 +
273 + if ( ! $result ) {
274 + $res = create_ibay( $c, $name );
275 + $result .= $res unless $res eq 'OK';
276 + if ( ! $result ) {
277 + $result = $c->l('iba_SUCCESSFULLY_CREATED_IBAY') . ' ' . $name;
278 + $iba_datas{trt} = 'LST';
279 + }
280 + }
281 + }
282 +
283 + if ( $trt eq 'UPD' ) {
284 +
285 + my $name = ($c->param('ibay') || '');
286 +
287 + # controls
288 + my $res = '';
289 +
290 + if ( ! $result ) {
291 + $res = modify_ibay( $c, $name );
292 + $result .= $res unless $res eq 'OK';
293 + if ( ! $result ) {
294 + $result = $c->l('iba_SUCCESSFULLY_MODIFIED_IBAY') . ' ' . $name;
295 + $iba_datas{trt} = 'LST';
296 + }
297 + }
298 + }
299 +
300 + if ( $trt eq 'PWD' ) {
301 +
302 + my $ibay = ($c->param('ibay') || '');
303 + my $pass1 = ($c->param('newPass') || '');
304 + my $pass2 = ($c->param('newPassVerify') || '');
305 +
306 + # controls
307 + unless ($pass1 eq $pass2) {
308 + $result .= $c->l('iba_IBAY_PASSWD_VERIFY_ERROR') . ' - ';
309 + }
310 +
311 + my $res = check_password( $c, $pass1 );
312 + $result .= $res unless $res eq 'OK';
313 +
314 + if ( ! $result ) {
315 + my $res = reset_password( $c, $ibay, $pass1 );
316 + $result .= $res unless $res eq 'OK';
317 + if ( ! $result ) {
318 + $result = $c->l('iba_SUCCESSFULLY_RESET_PASSWORD') . ' ' . $ibay;
319 + $iba_datas{trt} = 'LST';
320 + }
321 + }
322 + }
323 +
324 + if ( $trt eq 'DEL' ) {
325 +
326 + my $ibay = $c->param ('ibay');
327 +
328 + if ($ibay =~ /^([a-z][a-z0-9]*)$/) {
329 + $ibay = $1;
330 + } else {
331 + $result .= $c->l('iba_ERR_INTERNAL_FAILURE') . ':' . $ibay;
332 + }
333 +
334 + if ( ! $result ) {
335 + my $res = remove_ibay( $c, $ibay );
336 + $result .= $res unless $res eq 'OK';
337 + if ( ! $result ) {
338 + $result = $c->l('iba_SUCCESSFULLY_DELETED_IBAY') . ' ' . $ibay;
339 + $iba_datas{trt} = 'LST';
340 + }
341 + }
342 + }
343 +
344 + my $title = $c->l('iba_FORM_TITLE');
345 +
346 + $c->stash( title => $title, modul => $result, iba_datas => \%iba_datas );
347 + $c->render(template => 'module');
348 +
349 +};
350 +
351 +
352 +sub validate_ibay {
353 +
354 + my ($c, $name) = @_;
355 +
356 + my $msg = validate_name($c, $name);
357 + unless ($msg eq "OK")
358 + {
359 + return ($msg);
360 + }
361 +
362 + $msg = max_ibay_name_length($c, $name);
363 + unless ($msg eq "OK")
364 + {
365 + return ($msg);
366 + }
367 +
368 + $msg = conflict_check($c, $name);
369 + unless ($msg eq "OK")
370 + {
371 + return ($msg);
372 + }
373 +
374 + return ('OK');
375 +}
376 +
377 +
378 +sub create_ibay {
379 +
380 + my ($c, $name) = @_;
381 +
382 + my $msg;
383 + my $uid = $adb->get_next_uid();
384 + if (my $acct = $adb->new_record($name, {
385 + Name => $c->param('ibayDesc'),
386 + CgiBin => $c->param('CgiBin'),
387 + Group => $c->param('group'),
388 + PublicAccess => $c->param('publicAccess'),
389 + SSL => $c->param('SSL'),
390 + UserAccess => $c->param('userAccess'),
391 + Uid => $uid,
392 + Gid => $uid,
393 + PasswordSet => 'no',
394 + type => 'ibay',
395 + }) )
396 + {
397 + # Untaint $name before use in system()
398 + $name =~ /(.+)/; $name = $1;
399 + if (system ("/sbin/e-smith/signal-event", "ibay-create", $name) == 0) {
400 + $msg = 'OK';
401 + } else {
402 + $msg = $c->l('iba_ERROR_WHILE_CREATING_IBAY');
403 + }
404 + } else {
405 + $msg = $c->l('iba_CANT_CREATE_IBAY');
406 + }
407 + return $msg;
408 +
409 +}
410 +
411 +
412 +sub modify_ibay {
413 + my ($c, $name) = @_;
414 +
415 + my $msg;
416 + if (my $acct = $adb->get($name)) {
417 + if ($acct->prop('type') eq 'ibay') {
418 + $acct->merge_props(
419 + Name => $c->param('ibayDesc'),
420 + CgiBin => $c->param('CgiBin'),
421 + Group => $c->param('group'),
422 + PublicAccess => $c->param('publicAccess'),
423 + SSL => $c->param('SSL'),
424 + UserAccess => $c->param('userAccess'),
425 + );
426 +
427 + # Untaint $name before use in system()
428 + $name =~ /(.+)/; $name = $1;
429 + if (system ("/sbin/e-smith/signal-event", "ibay-modify",
430 + $name) == 0)
431 + {
432 + $msg = 'OK';
433 + } else {
434 + $msg = $c->l('iba_ERROR_WHILE_MODIFYING_IBAY');
435 + }
436 + } else {
437 + $msg = $c->l('iba_CANT_FIND_IBAY');
438 + }
439 + } else {
440 + $msg = $c->l('iba_CANT_FIND_IBAY');
441 + }
442 +
443 + return $msg;
444 +
445 +}
446 +
447 +
448 +sub print_vhost_message {
449 + my $c = shift;
450 + my $name = $c->param('ibay');
451 +
452 + my $result = '';
453 +
454 + my $domaindb = esmith::DomainsDB->open();
455 + my @domains = $domaindb->get_all_by_prop(Content => $name);
456 + my $vhostListItems = join "\n",
457 + (map ($_->key." ".$_->prop('Description'), @domains));
458 + if ($vhostListItems)
459 + {
460 + $result = $c->l('iba_VHOST_MESSAGE') . "<br><ul>";
461 + foreach ( $vhostListItems ) {
462 + $result .= "<li> $_ </li>";
463 + }
464 + $result .= '</ul>'
465 + }
466 + return $result;
467 +}
468 +
469 +
470 +sub remove_ibay {
471 + my ($c, $name) = @_;
472 +
473 + my $msg = '';
474 + if (my $acct = $adb->get($name)) {
475 + if ($acct->prop('type') eq 'ibay') {
476 + $acct->set_prop('type', 'ibay-deleted');
477 +
478 + my $domains_db = esmith::DomainsDB->open();
479 + my @domains = $domains_db->get_all_by_prop(Content=>$name);
480 + foreach my $d (@domains) {
481 + $d->set_prop(Content => 'Primary');
482 + }
483 +
484 + # Untaint $name before use in system()
485 + $name =~ /(.+)/; $name = $1;
486 + if (system ("/sbin/e-smith/signal-event", "ibay-delete",
487 + $name) == 0)
488 + {
489 + $msg = 'OK';
490 + $acct->delete();
491 + } else {
492 + $msg = $c->l('iba_ERROR_WHILE_DELETING_IBAY');
493 + }
494 + } else {
495 + $msg = $c->l('iba_CANT_FIND_IBAY');
496 + }
497 +
498 + } else {
499 + $msg = $c->l('iba_CANT_FIND_IBAY');
500 + }
501 + return $msg;
502 +}
503 +
504 +
505 +sub reset_password {
506 + my ($c, $name, $newPass) = @_;
507 +
508 + my ($msg, $acct);
509 +
510 + if (($acct = $adb->get($name)) && ($acct->prop('type') eq 'ibay')) {
511 + esmith::util::setIbayPassword ($acct->key, $newPass);
512 + $acct->set_prop('PasswordSet', 'yes');
513 + # Untaint $name before use in system()
514 + $name =~ /(.+)/; $name = $1;
515 + if (system ("/sbin/e-smith/signal-event", "password-modify",
516 + $name) == 0)
517 + {
518 + $msg = 'OK';
519 + } else {
520 + $msg = $c->l('iba_ERROR_WHILE_RESETTING_PASSWORD');
521 + }
522 + } else {
523 + $msg = $c->l('iba_CANT_FIND_IBAY');
524 + }
525 + return $msg;
526 +}
527 +
528 +
529 +sub check_password {
530 + my ($c, $pass1) = @_;
531 +
532 + my $check_type;
533 +
534 + my $rec = $cdb->get('passwordstrength');
535 + $check_type = ($rec ? ($rec->prop('Ibays') || 'none') : 'none');
536 +
537 + return validate_password($check_type, $pass1);
538 +}
539 +
540 +
541 +sub validate_password
542 +{
543 + my ($c, $strength, $pass) = @_;
544 +
545 + use Crypt::Cracklib;
546 +
547 + my $reason;
548 +
549 + if ($strength eq "none") {
550 + return $c->l("Passwords must be at least 7 characters long") unless (length($pass) > 6);
551 + return "OK";
552 + }
553 +
554 +# $reason = CGI::FormMagick::validator->call_fm_validation('password', $pass, undef);
555 +#??? $reason = call_fm_validation('password', $pass, undef);
556 +
557 + return $reason unless ($reason eq "OK");
558 + return "OK" unless ($strength eq "strong");
559 +
560 + if ( -f '/usr/lib64/cracklib_dict.pwd' ) {
561 + $reason = fascist_check($pass, '/usr/lib64/cracklib_dict');
562 + } else {
563 + $reason = fascist_check($pass, '/usr/lib/cracklib_dict');
564 + }
565 + $reason ||= "Software error: password check failed";
566 +
567 + return "OK" if ($reason eq "ok");
568 +
569 + return $c->l("Bad Password Choice") . ": "
570 + . $c->l("The password you have chosen is not a good choice, because")
571 + . " " . $c->($reason) . ".";
572 +}
573 +
574 +
575 +=head2 group_list()
576 +
577 +Returns a hash of groups for the Create/Modify screen's group field's
578 +drop down list.
579 +
580 +=cut
581 +
582 +sub group_list_m {
583 +
584 + my @groups = $adb->groups();
585 +
586 + my @grps = ( ['Admin' => 'admin'], ['Everyone' => 'shared']);
587 +
588 + foreach my $g (@groups) {
589 + push @grps, [ $g->prop('Description')." (". $g->key.")", $g->key() ];
590 + }
591 +
592 + return \@grps;
593 +}
594 +
595 +
596 +=head2 userAccess_list
597 +
598 +Returns the hash of user access settings for showing in the user access
599 +drop down list.
600 +
601 +=cut
602 +
603 +sub userAccess_list_m {
604 +
605 + my $c = shift;
606 + return [[ $c->l('WARG') => 'wr-admin-rd-group'],
607 + [ $c->l('WGRE') => 'wr-group-rd-everyone'],
608 + [ $c->l('WGRG') => 'wr-group-rd-group']];
609 +
610 +}
611 +
612 +=head2 publicAccess_list
613 +
614 +Returns the hash of public access settings for showing in the public
615 +access drop down list.
616 +
617 +=cut
618 +
619 +sub publicAccess_list_m {
620 +
621 + my $c = shift;
622 + return [[ $c->l('NONE') => 'none'],
623 + [ $c->l('LOCAL_NETWORK_NO_PASSWORD') => 'local'],
624 + [ $c->l('LOCAL_NETWORK_PASSWORD') => 'local-pw'],
625 + [ $c->l('ENTIRE_INTERNET_NO_PASSWORD') => 'global'],
626 + [ $c->l('ENTIRE_INTERNET_PASSWORD') => 'global-pw'],
627 + [ $c->l('ENTIRE_INTERNET_PASSWORD_REMOTE') => 'global-pw-remote']];
628 +}
629 +
630 +
631 +sub max_ibay_name_length {
632 +
633 + my ($c, $data) = @_;
634 + $cdb->reload();
635 + my $max = $cdb->get('maxIbayNameLength')->value;
636 +
637 + if (length($data) <= $max) {
638 + return "OK";
639 + } else {
640 + return $c->l("iba_MAX_IBAY_NAME_LENGTH_ERROR") . " " . $data . " " . $max;
641 + # {acctName => $data,
642 + # maxIbayNameLength => $max,
643 + # maxLength => $max});
644 + }
645 +}
646 +
647 +
648 +sub conflict_check {
649 +
650 + my ($c, $name) = @_;
651 + my $rec = $adb->get($name);
652 +
653 + my $type;
654 + if (defined $rec)
655 + {
656 + my $type = $rec->prop('type');
657 + if ($type eq "pseudonym")
658 + {
659 + my $acct = $rec->prop("Account");
660 + my $acct_type = $adb->get($acct)->prop('type');
661 +
662 + return $c->l('iba_ACCT_CLASHES_WITH_PSEUDONYM') ." ". $name ." ". $acct_type ." ". $acct;
663 + # {acctName => $name, acctType => $acct_type, acct => $acct});
664 + }
665 + }
666 + elsif (defined getpwnam($name) || defined getgrnam($name))
667 + {
668 + $type = 'system';
669 + }
670 + else
671 + {
672 + # No account record and no account
673 + return 'OK';
674 + }
675 + return $c->l('iba_ACCOUNT_EXISTS') ." ". $name ." ". $type;
676 + # {acctName => $name, acctType => $type});
677 +}
678 +
679 +sub validate_name {
680 +
681 + my ($c, $acctName) = @_;
682 +
683 + unless ($acctName =~ /^([a-z][\_\.\-a-z0-9]*)$/)
684 + {
685 + return $c->l('iba_ACCT_NAME_HAS_INVALID_CHARS') . " ". $acctName;
686 + # {acctName => $acctName});
687 + }
688 + return "OK";
689 +}
690 +
691 +
692 +1
693 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm
694 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm 2019-12-31 10:59:44.000000000 +0400
695 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Quota.pm 2020-01-05 18:35:29.000000000 +0400
696 @@ -65,7 +65,7 @@
697 $quo_datas{userRec} = $rec;
698 my $max = esmith::FormMagick::Panel::quota->toBestUnit($rec->prop('MaxBlocks'));
699 $quo_datas{hardlim} = $max;
700 - my $max = esmith::FormMagick::Panel::quota->toBestUnit($rec->prop('MaxBlocksSoftLim'));
701 + $max = esmith::FormMagick::Panel::quota->toBestUnit($rec->prop('MaxBlocksSoftLim'));
702 $quo_datas{softlim} = $max;
703 }
704
705 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm
706 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm 1970-01-01 04:00:00.000000000 +0400
707 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Controller/Reboot.pm 2020-01-05 18:46:04.000000000 +0400
708 @@ -0,0 +1,73 @@
709 +package SrvMngr::Controller::Reboot;
710 +
711 +use strict;
712 +use warnings;
713 +use Mojo::Base 'Mojolicious::Controller';
714 +
715 +#use esmith::util;
716 +#use File::Basename;
717 +#use Exporter;
718 +#use Carp;
719 +
720 +#our @EXPORT = qw( change_settings
721 +#);
722 +
723 +use Locale::gettext;
724 +use SrvMngr::I18N;
725 +
726 +
727 +sub main {
728 +
729 + my $c = shift;
730 + $c->app->log->info($c->log_req);
731 +
732 + my $title = $c->l('rbo_FORM_TITLE');
733 + my $modul = '';
734 +
735 + $c->stash( title => $title, modul => $modul );
736 + $c->render(template => 'reboot');
737 +
738 +};
739 +
740 +
741 +sub do_action {
742 +
743 + my $c = shift;
744 + $c->app->log->info($c->log_req);
745 +
746 + my $title = $c->l('rbo_FORM_TITLE');
747 + my $result = "";
748 +
749 + my $function = $c->param ('function');
750 +
751 + my $debug = $c->param('debug');
752 +
753 + if ($function eq "reboot") {
754 + $result = $c->l('rbo_REBOOT_SUCCEEDED') . $c->l('rbo_DESC_REBOOT');
755 + unless ($debug) {
756 + system( "/sbin/e-smith/signal-event", "reboot" ) == 0
757 + or die ("Error occurred while rebooting.\n");
758 + }
759 + } elsif ($function eq 'shutdown') {
760 + $result = $c->l('rbo_SHUTDOWN_SUCCEEDED') . $c->l('rbo_DESC_SHUTDOWN');
761 + unless ($debug) {
762 + system( "/sbin/e-smith/signal-event", "halt" ) == 0
763 + or die ("Error occurred while halting.\n");
764 + }
765 + } elsif ($function eq 'reconfigure') {
766 + $result = $c->l('rbo_RECONFIGURE_SUCCEEDED') . $c->l('rbo_DESC_RECONFIGURE');
767 + unless ($debug) {
768 + system( "/sbin/e-smith/signal-event", "post-upgrade" ) == 0
769 + or die ("Error occurred while running post-upgrade.\n");
770 + system( "/sbin/e-smith/signal-event", "reboot" ) == 0
771 + or die ("Error occurred while rebooting.\n");
772 + }
773 + }
774 +
775 + $c->stash( title => $title, modul => $result );
776 + $c->render(template => 'module');
777 +
778 +};
779 +
780 +
781 +1;
782 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm
783 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 2019-12-26 23:18:10.000000000 +0400
784 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/I18N/en.pm 2020-01-12 23:01:03.000000000 +0400
785 @@ -82,253 +82,69 @@
786 'PASSWORD_NEW' => 'New password:',
787 'OFF' => 'Off',
788 'OK' => 'Ok',
789 -'PASSWORD_OLD' =>
790 -'
791 -Old password:
792 -',
793 -'ON' =>
794 -'
795 -On
796 -',
797 -'PASSWORD' =>
798 -'
799 -Password
800 -',
801 -'PERFORM' =>
802 -'
803 -Perform
804 -',
805 -'RECONFIGURE' =>
806 -'
807 -Reconfigure
808 -',
809 -'REMOVE_USER_GROUP' =>
810 -'
811 -Remove user group
812 -',
813 -'PASSWORD_RESET' =>
814 -'
815 -Reset password
816 -',
817 -'RESTORE' =>
818 -'
819 -Restore
820 -',
821 -'SHUTDOWN' =>
822 -'
823 -Shutdown
824 -',
825 -'SUCCESS' =>
826 -'
827 -Success
828 -',
829 -'ACCOUNT_NAME_INVALID' =>
830 -'
831 -The account name entered is invalid.
832 -',
833 -'ACCOUNT_NAME_INVALID_CHARS' =>
834 -'
835 -The account name you entered contained invalid characters.
836 -',
837 -'PASSWORD_OLD_INVALID_CHARS' =>
838 -'
839 -The old password you entered contained invalid characters.
840 -',
841 -'PASSWORD_INVALID_CHARS' =>
842 -'
843 -The password you entered contained invalid characters.
844 -',
845 -'PASSWORD_VERIFY_ERROR' =>
846 -'
847 -The passwords you entered did not match.
848 -',
849 -'ACCOUNT_USER_NONE' =>
850 -'
851 -There are no user accounts in the system.
852 -',
853 -'ACCOUNT_GROUP_NONE' =>
854 -'
855 -There are no user groups in the system.
856 -',
857 -'ERROR_INVALID_CHARS' =>
858 -'
859 -Unexpected characters in description.
860 -',
861 -'USER_NAME' =>
862 -'
863 -User Name
864 -',
865 -'YOUR_ACCOUNT' =>
866 -'
867 -Your account:
868 -',
869 -'YOUR_ACCOUNT_INVALID' =>
870 -'The account name entered is invalid.',
871 -'PASSWORD_CHANGE_SUCCESS' =>
872 -'
873 -Your password has been successfully changed.
874 -',
875 -'FM_NONBLANK' =>
876 -'
877 -This field must not be left blank
878 -',
879 -'FM_INTEGER' =>
880 -'
881 -This field must contain a positive integer
882 -',
883 -'FM_NUMBER' =>
884 -'
885 -This field must contain a number
886 -',
887 -'FM_WORD' =>
888 -'
889 -This field must look like a single word.
890 -',
891 -'FM_DATE' =>
892 -'
893 -The data entered could not be parsed as a date
894 -',
895 -'FM_CREDIT_CARD_NUMBER1' =>
896 -'
897 -You must enter a credit card number
898 -',
899 -'FM_CREDIT_CARD_NUMBER2' =>
900 -'
901 -Credit card numbers shouldn\'t have anything but numbers, spaces or dashes
902 -',
903 -'FM_CREDIT_CARD_NUMBER3' =>
904 -'
905 -Must be at least 14 characters in length
906 -',
907 -'FM_CREDIT_CARD_NUMBER4' =>
908 -'
909 -Doesn\'t appear to be a valid credit card number
910 -',
911 -'FM_CREDIT_CARD_EXPIRY1' =>
912 -'
913 -No expiry date entered.
914 -',
915 -'FM_CREDIT_CARD_EXPIRY2' =>
916 -'
917 -Expiry date must be in the format MM/YY or MM/YYYY
918 -',
919 -'FM_CREDIT_CARD_EXPIRY3' =>
920 -'
921 -This expiry date appears to have already passed
922 -',
923 -'FM_CREDIT_CARD_EXPIRY4' =>
924 -'
925 -This expiry date appears to be too far in the future
926 -',
927 -'FM_ISO_COUNTRY_CODE1' =>
928 -'
929 -You must provide a country code
930 -',
931 -'FM_ISO_COUNTRY_CODE2' =>
932 -'
933 -This field does not contain an ISO country code
934 -',
935 -'FM_US_STATE' =>
936 -'
937 -This doesn\'t appear to be a valid 2-letter US state abbreviation
938 -',
939 -'FM_US_ZIPCODE' =>
940 -'
941 -US zip codes must contain 5 or 9 numbers
942 -',
943 -'FM_MINLENGTH1' =>
944 -'
945 -Minimum length has been specified meaninglessly as {$minlength}
946 -',
947 -'FM_MINLENGTH2' =>
948 -'
949 -This field must be at least {$minlength} characters
950 -',
951 -'FM_MAXLENGTH1' =>
952 -'
953 -Maximum length has been specified meaninglessly as {$maxlength}
954 -',
955 -'FM_MAXLENGTH2' =>
956 -'
957 -This field must be no more than {$maxlength} characters
958 -',
959 -'FM_EXACTLENGTH1' =>
960 -'
961 -You must specify the length for the field.
962 -',
963 -'FM_EXACTLENGTH2' =>
964 -'
965 -You must specify the exactlength of the field with an integer
966 -',
967 -'FM_EXACTLENGTH3' =>
968 -'
969 -This field must be exactly {$exactlength} characters
970 -',
971 -'FM_LENGTHRANGE1' =>
972 -'
973 -You must specify the maximum and minimum length for the field.
974 -',
975 -'FM_LENGTHRANGE2' =>
976 -'
977 -You must specify the maximum and minimum lengths of the field with an integer
978 -',
979 -'FM_LENGTHRANGE3' =>
980 -'
981 -This field must be between {$minlength} and {$maxlength} characters
982 -',
983 -'FM_URL' =>
984 -'
985 -This field must contain a URL starting with http:// or ftp://
986 -',
987 -'FM_EMAIL_SIMPLE1' =>
988 -'
989 -You must enter an email address.
990 -',
991 -'FM_EMAIL_SIMPLE2' =>
992 -'
993 -This field doesn\'t look like an RFC822-compliant email address
994 -',
995 -'FM_DOMAIN_NAME' =>
996 -'
997 -This field doesn\'t look like a valid Internet domain name or hostname.
998 -',
999 -'FM_IP_NUMBER1' =>
1000 -'
1001 -This field must contain a valid IP number and can not be left blank.
1002 -',
1003 -'FM_IP_NUMBER2' =>
1004 -'
1005 -Invalid IP address format (expected X.X.X.X)
1006 -',
1007 -'FM_IP_NUMBER3' =>
1008 -'
1009 -{$octet} is more than 255
1010 -',
1011 -'FM_USERNAME' =>
1012 -'
1013 -This field must look like a valid username (3 to 8 letters and numbers)
1014 -',
1015 -'FM_PASSWORD1' =>
1016 -'
1017 -You must provide a password.
1018 -',
1019 -'FM_PASSWORD2' =>
1020 -'
1021 -The password you provided was not a good password.A good password must
1022 -contain all of the following: upper case letter, lower case letter, number,
1023 -non-alphanumeric character, be at least 7 characters long.
1024 -',
1025 -'FM_MAC_ADDRESS1' =>
1026 -'
1027 -You must provide a MAC address.
1028 -',
1029 -'FM_MAC_ADDRESS2' =>
1030 -'
1031 -The MAC address you provided was not valid.
1032 -',
1033 -'FM_ERR_UNEXPECTED_DESC' =>
1034 -'Error: unexpected or missing characters in description',
1035 -
1036 +'PASSWORD_OLD' => 'Old password:',
1037 +'ON' => 'On',
1038 +'PASSWORD' => 'Password',
1039 +'PERFORM' => 'Perform',
1040 +'RECONFIGURE' => 'Reconfigure',
1041 +'REMOVE_USER_GROUP' => 'Remove user group',
1042 +'PASSWORD_RESET' => 'Reset password',
1043 +'RESTORE' => 'Restore',
1044 +'SHUTDOWN' => 'Shutdown',
1045 +'SUCCESS' => 'Success',
1046 +'ACCOUNT_NAME_INVALID' => 'The account name entered is invalid.',
1047 +'ACCOUNT_NAME_INVALID_CHARS' => 'The account name you entered contained invalid characters.',
1048 +'PASSWORD_OLD_INVALID_CHARS' => 'The old password you entered contained invalid characters.',
1049 +'PASSWORD_INVALID_CHARS' => 'The password you entered contained invalid characters.',
1050 +'PASSWORD_VERIFY_ERROR' => 'The passwords you entered did not match.',
1051 +'ACCOUNT_USER_NONE' => 'There are no user accounts in the system.',
1052 +'ACCOUNT_GROUP_NONE' => 'There are no user groups in the system.',
1053 +'ERROR_INVALID_CHARS' => 'Unexpected characters in description.',
1054 +'USER_NAME' => 'User Name',
1055 +'YOUR_ACCOUNT' => 'Your account:',
1056 +'YOUR_ACCOUNT_INVALID' => 'The account name entered is invalid.',
1057 +'PASSWORD_CHANGE_SUCCESS' => 'Your password has been successfully changed.',
1058 +'FM_NONBLANK' => 'This field must not be left blank',
1059 +'FM_INTEGER' => 'This field must contain a positive integer',
1060 +'FM_NUMBER' => 'This field must contain a number',
1061 +'FM_WORD' => 'This field must look like a single word.',
1062 +'FM_DATE' => 'The data entered could not be parsed as a date',
1063 +'FM_CREDIT_CARD_NUMBER1' => 'You must enter a credit card number',
1064 +'FM_CREDIT_CARD_NUMBER2' => 'Credit card numbers shouldn\'t have anything but numbers, spaces or dashes',
1065 +'FM_CREDIT_CARD_NUMBER3' => 'Must be at least 14 characters in length',
1066 +'FM_CREDIT_CARD_NUMBER4' => 'Doesn\'t appear to be a valid credit card number',
1067 +'FM_CREDIT_CARD_EXPIRY1' => 'No expiry date entered.',
1068 +'FM_CREDIT_CARD_EXPIRY2' => 'Expiry date must be in the format MM/YY or MM/YYYY',
1069 +'FM_CREDIT_CARD_EXPIRY3' => 'This expiry date appears to have already passed',
1070 +'FM_CREDIT_CARD_EXPIRY4' => 'This expiry date appears to be too far in the future',
1071 +'FM_ISO_COUNTRY_CODE1' => 'You must provide a country code',
1072 +'FM_ISO_COUNTRY_CODE2' => 'This field does not contain an ISO country code',
1073 +'FM_US_STATE' => 'This doesn\'t appear to be a valid 2-letter US state abbreviation',
1074 +'FM_US_ZIPCODE' => 'US zip codes must contain 5 or 9 numbers',
1075 +'FM_MINLENGTH1' => 'Minimum length has been specified meaninglessly as {$minlength}',
1076 +'FM_MINLENGTH2' => 'This field must be at least {$minlength} characters',
1077 +'FM_MAXLENGTH1' => 'Maximum length has been specified meaninglessly as {$maxlength}',
1078 +'FM_MAXLENGTH2' => 'This field must be no more than {$maxlength} characters',
1079 +'FM_EXACTLENGTH1' => 'You must specify the length for the field.',
1080 +'FM_EXACTLENGTH2' => 'You must specify the exactlength of the field with an integer',
1081 +'FM_EXACTLENGTH3' => 'This field must be exactly {$exactlength} characters',
1082 +'FM_LENGTHRANGE1' => 'You must specify the maximum and minimum length for the field.',
1083 +'FM_LENGTHRANGE2' => 'You must specify the maximum and minimum lengths of the field with an integer',
1084 +'FM_LENGTHRANGE3' => 'This field must be between {$minlength} and {$maxlength} characters',
1085 +'FM_URL' => 'This field must contain a URL starting with http:// or ftp://',
1086 +'FM_EMAIL_SIMPLE1' => 'You must enter an email address.',
1087 +'FM_EMAIL_SIMPLE2' => 'This field doesn\'t look like an RFC822-compliant email address',
1088 +'FM_DOMAIN_NAME' => 'This field doesn\'t look like a valid Internet domain name or hostname.',
1089 +'FM_IP_NUMBER1' => 'This field must contain a valid IP number and can not be left blank.',
1090 +'FM_IP_NUMBER2' => 'Invalid IP address format (expected X.X.X.X)',
1091 +'FM_IP_NUMBER3' => '{$octet} is more than 255',
1092 +'FM_USERNAME' => 'This field must look like a valid username (3 to 8 letters and numbers)',
1093 +'FM_PASSWORD1' => 'You must provide a password.',
1094 +'FM_PASSWORD2' => 'The password you provided was not a good password.A good password must contain all of the following: upper case letter, lower case letter, number,
1095 +non-alphanumeric character, be at least 7 characters long.',
1096 +'FM_MAC_ADDRESS1' => 'You must provide a MAC address.',
1097 +'FM_MAC_ADDRESS2' => 'The MAC address you provided was not valid.',
1098 +'FM_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description',
1099
1100 initial_FORM_TITLE => 'Welcome to the server manager',
1101 initial_FRAMES_BODY => '<p>
1102 @@ -402,11 +218,9 @@
1103 ',
1104
1105 'sws_FORM_TITLE' => 'Create a starter website',
1106 -'sws_SUCCESS' =>
1107 -'Successfully created starter web site (wrote file index.htm).
1108 +'sws_SUCCESS' => 'Successfully created starter web site (wrote file index.htm).
1109 You can visit your new website at the address below:',
1110 -'sws_DESCRIPTION' =>
1111 -'<p>
1112 +'sws_DESCRIPTION' => '<p>
1113 To create a simple web page for your company, fill
1114 in the fields below and click on <b>Create</b>.
1115 </p>
1116 @@ -429,10 +243,8 @@
1117 overwrite the "index.htm" file in your web site directory.
1118 </p>
1119 ',
1120 -'sws_LABEL_COMPANYNAME' =>
1121 -'Company name',
1122 -'sws_DESC_HEADER1' =>
1123 -'
1124 +'sws_LABEL_COMPANYNAME' => 'Company name',
1125 +'sws_DESC_HEADER1' => '
1126 First header, typically used for short phrases such
1127 as "Leader in the field of textile manufacturing"
1128 ',
1129 @@ -475,182 +287,105 @@
1130 'The report will contain the following information',
1131 'bugr_SME_VERSION' =>
1132 'Koozali SME Server version',
1133 -'bugr_SERVER_MODE' =>
1134 -'Server mode',
1135 -'bugr_KERNEL_AND_ARCH' =>
1136 -'Current running kernel version and architecture',
1137 -'bugr_INSTALLED_RPMS' =>
1138 -'A list of additional RPMs installed on your server',
1139 -'bugr_ALTERED_TEMPLATES' =>
1140 -'A list of SME templates that have been altered on your server from a base install',
1141 -'bugr_ALTERED_EVENTS' =>
1142 -'A list of SME events that have been altered on your server from a base install',
1143 -'bugr_YUM_REPOS' =>
1144 -'A list of additional software repositories configured on your server',
1145 -'bugr_PRIVACY' =>
1146 -'No privacy related data (ie. users, passwords, IP addresses) will be included in the report.',
1147 -'bugr_CREATE_REPORT' =>
1148 -'Create configuration report',
1149 -'bugr_DONATING' =>
1150 -'Have you considered donating?',
1151 -'bugr_AWARE_SME' =>
1152 -'You are probaly aware that SME server is developed and supported by a collaborative community of volunteers from all over the world. While SME server is free to download and use, maintaining the infrastructure behind the project (eg. hosting the forums and wiki, providing repositories and build servers etc.) costs real money in the real world.',
1153 -'bugr_YOUR_HELP' =>
1154 -'In very much the same way you need us to address your current issue, we need YOUR help to keep this project alive!',
1155 -'bugr_CONSIDER_DONATING' =>
1156 -'Please consider donating to the project by clicking on the image link below:',
1157 -'bugr_THANK_YOU' =>
1158 -'Thank you for your support!',
1159 -'bugr_Download this report' =>
1160 -'Download this report !',
1161 -'bugr_Report a bug' =>
1162 -'Report a bug',
1163 -
1164 -'rvw_FORM_TITLE' =>
1165 -'Review configuration',
1166 -'rvw_DESCRIPTION' =>
1167 -'This report summarizes the networking, server, and domain
1168 +'bugr_SERVER_MODE' => 'Server mode',
1169 +'bugr_KERNEL_AND_ARCH' => 'Current running kernel version and architecture',
1170 +'bugr_INSTALLED_RPMS' => 'A list of additional RPMs installed on your server',
1171 +'bugr_ALTERED_TEMPLATES' => 'A list of SME templates that have been altered on your server from a base install',
1172 +'bugr_ALTERED_EVENTS' => 'A list of SME events that have been altered on your server from a base install',
1173 +'bugr_YUM_REPOS' => 'A list of additional software repositories configured on your server',
1174 +'bugr_PRIVACY' => 'No privacy related data (ie. users, passwords, IP addresses) will be included in the report.',
1175 +'bugr_CREATE_REPORT' => 'Create configuration report',
1176 +'bugr_DONATING' => 'Have you considered donating?',
1177 +'bugr_AWARE_SME' => 'You are probaly aware that SME server is developed and supported by a collaborative community of volunteers from all over the world. While SME server is free to download and use, maintaining the infrastructure behind the project (eg. hosting the forums and wiki, providing repositories and build servers etc.) costs real money in the real world.',
1178 +'bugr_YOUR_HELP' => 'In very much the same way you need us to address your current issue, we need YOUR help to keep this project alive!',
1179 +'bugr_CONSIDER_DONATING' => 'Please consider donating to the project by clicking on the image link below:',
1180 +'bugr_THANK_YOU' => 'Thank you for your support!',
1181 +'bugr_Download this report' => 'Download this report !',
1182 +'bugr_Report a bug' => 'Report a bug',
1183 +
1184 +'rvw_FORM_TITLE' => 'Review configuration',
1185 +'rvw_DESCRIPTION' => 'This report summarizes the networking, server, and domain
1186 parameters on this server relevant to configuring
1187 the client computers on your network.You may wish to print this
1188 -page and use it as a reference.
1189 -',
1190 -'rvw_NETWORKING_PARAMS' =>
1191 -'Networking Parameters',
1192 -'rvw_SERVER_MODE' =>
1193 -'Server Mode',
1194 -'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' =>
1195 -'Local IP address / subnet mask',
1196 -'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' =>
1197 -'External IP address / subnet mask',
1198 -'rvw_GATEWAY' =>
1199 -'Gateway',
1200 -'rvw_ADDITIONAL_LOCAL_NETWORKS' =>
1201 -'Additional local networks',
1202 -'rvw_DHCP_SERVER' =>
1203 -'DHCP server',
1204 -'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' =>
1205 -'Beginning of DHCP address range',
1206 -'rvw_END_OF_DHCP_ADDRESS_RANGE' =>
1207 -'End of DHCP address range',
1208 -'rvw_SERVER_NAMES' =>
1209 -'Server names',
1210 -'rvw_DNS_SERVER' =>
1211 -'DNS server',
1212 -'rvw_WEB_SERVER' =>
1213 -'Web server',
1214 -'rvw_PROXY_SERVER' =>
1215 -'Proxy server',
1216 -'rvw_FTP_SERVER' =>
1217 -'FTP server',
1218 -'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' =>
1219 -'SMTP, POP, and IMAP mail servers',
1220 -'rvw_HOSTS' =>
1221 -'Hosts',
1222 -'rvw_DOMAIN_INFORMATION' =>
1223 -'Domain information',
1224 -'rvw_PRIMARY_DOMAIN' =>
1225 -'Primary domain',
1226 -'rvw_VIRTUAL_DOMAINS' =>
1227 -'Virtual domains',
1228 -'rvw_PRIMARY_WEB_SITE' =>
1229 -'Primary web site',
1230 -'rvw_SERVER_MANAGER' =>
1231 -'Server manager',
1232 -'rvw_USER_PASSWORD_PANEL' =>
1233 -'User password panel',
1234 -'rvw_EMAIL_ADDRESSES' =>
1235 -'Email Addresses',
1236 -'rvw_EMAIL_USERACCOUNT' =>
1237 -'useraccount',
1238 -'rvw_EMAIL_FIRSTNAME' =>
1239 -'firstname',
1240 -'rvw_EMAIL_LASTNAME' =>
1241 -'lastname',
1242 -'rvw_NO_VIRTUAL_DOMAINS' =>
1243 -'No virtual domains defined',
1244 -'rvw_NO_NETWORKS' =>
1245 -'No additional networks defined',
1246 -'rvw_INTERNET_VISIBLE_ADDRESS' =>
1247 -'Internet Visible IP Address',
1248 -
1249 -'dir_FORM_TITLE' =>
1250 -'Change LDAP directory settings',
1251 -'dir_LABEL_ROOT' =>
1252 -'Server root',
1253 -'dir_DESCRIPTION' =>
1254 -'
1255 -The LDAP server provides a network-available listing of the user accounts
1256 +page and use it as a reference.',
1257 +'rvw_NETWORKING_PARAMS' => 'Networking Parameters',
1258 +'rvw_SERVER_MODE' => 'Server Mode',
1259 +'rvw_LOCAL_IP_ADDRESS_SUBNET_MASK' => 'Local IP address / subnet mask',
1260 +'rvw_EXTERNAL_IP_ADDRESS_SUBNET_MASK' => 'External IP address / subnet mask',
1261 +'rvw_GATEWAY' => 'Gateway',
1262 +'rvw_ADDITIONAL_LOCAL_NETWORKS' => 'Additional local networks',
1263 +'rvw_DHCP_SERVER' => 'DHCP server',
1264 +'rvw_BEGINNING_OF_DHCP_ADDRESS_RANGE' => 'Beginning of DHCP address range',
1265 +'rvw_END_OF_DHCP_ADDRESS_RANGE' => 'End of DHCP address range',
1266 +'rvw_SERVER_NAMES' => 'Server names',
1267 +'rvw_DNS_SERVER' => 'DNS server',
1268 +'rvw_WEB_SERVER' => 'Web server',
1269 +'rvw_PROXY_SERVER' => 'Proxy server',
1270 +'rvw_FTP_SERVER' => 'FTP server',
1271 +'rvw_SMTP_POP_AND_IMAP_MAIL_SERVERS' => 'SMTP, POP, and IMAP mail servers',
1272 +'rvw_HOSTS' => 'Hosts',
1273 +'rvw_DOMAIN_INFORMATION' => 'Domain information',
1274 +'rvw_PRIMARY_DOMAIN' => 'Primary domain',
1275 +'rvw_VIRTUAL_DOMAINS' => 'Virtual domains',
1276 +'rvw_PRIMARY_WEB_SITE' => 'Primary web site',
1277 +'rvw_SERVER_MANAGER' => 'Server manager',
1278 +'rvw_USER_PASSWORD_PANEL' => 'User password panel',
1279 +'rvw_EMAIL_ADDRESSES' => 'Email Addresses',
1280 +'rvw_EMAIL_USERACCOUNT' => 'useraccount',
1281 +'rvw_EMAIL_FIRSTNAME' => 'firstname',
1282 +'rvw_EMAIL_LASTNAME' => 'lastname',
1283 +'rvw_NO_VIRTUAL_DOMAINS' => 'No virtual domains defined',
1284 +'rvw_NO_NETWORKS' => 'No additional networks defined',
1285 +'rvw_INTERNET_VISIBLE_ADDRESS' => 'Internet Visible IP Address',
1286 +
1287 +'dir_FORM_TITLE' => 'Change LDAP directory settings',
1288 +'dir_LABEL_ROOT' => 'Server root',
1289 +'dir_DESCRIPTION' => 'The LDAP server provides a network-available listing of the user accounts
1290 and groups on your server, and can be accessed using an LDAP client such as the Address Book feature in Netscape Communicator. Configure your LDAP client with the local IP address of your server, port number 389, and the server root parameter shown below.
1291 ',
1292 -'dir_DESC_DIRECTORY_ACCESS' =>
1293 -' You can control access to your LDAP directory: the private setting allows access only from your local network, and the public setting allows access from anywhere on the Internet. ',
1294 -'dir_DIRECTORY_ACCESS' =>
1295 -'LDAP directory access',
1296 -'dir_DESC_DEPARTMENT' =>
1297 -'
1298 -These fields are the LDAP defaults for your organization.
1299 +'dir_DESC_DIRECTORY_ACCESS' => ' You can control access to your LDAP directory: the private setting allows access only from your local network, and the public setting allows access from anywhere on the Internet. ',
1300 +'dir_DIRECTORY_ACCESS' => 'LDAP directory access',
1301 +'dir_DESC_DEPARTMENT' => 'These fields are the LDAP defaults for your organization.
1302 Whenever you create a new user account, you will be prompted
1303 to enter all of these fields (they can be different for each
1304 user) but the values you set here
1305 will show up as defaults. This is a convenience to make it
1306 -faster to create user accounts.
1307 -',
1308 -'dir_DEPARTMENT' =>
1309 -'Default department',
1310 -'dir_COMPANY' =>
1311 -'Default company',
1312 -'dir_STREET' =>
1313 -'Default Street address',
1314 -'dir_CITY' =>
1315 -'Default City',
1316 -'dir_PHONENUMBER' =>
1317 -'Default Phone Number',
1318 -'dir_DESC_EXISTING' =>
1319 -'
1320 -You can either leave existing user accounts as they are, using the above defaults only for
1321 -new users, or you can apply the above defaults to all existing users as well.
1322 -',
1323 -'dir_EXISTING' =>
1324 -'Existing users',
1325 -'dir_SUCCESS' =>
1326 -'The new LDAP default settings have been saved.',
1327 -'dir_LEAVE' =>
1328 -'Leave as they are',
1329 -'dir_UPDATE' =>
1330 -'Update with new defaults',
1331 -'dir_Directory' =>
1332 -'Directory',
1333 +faster to create user accounts.',
1334 +'dir_DEPARTMENT' => 'Default department',
1335 +'dir_COMPANY' => 'Default company',
1336 +'dir_STREET' => 'Default Street address',
1337 +'dir_CITY' => 'Default City',
1338 +'dir_PHONENUMBER' => 'Default Phone Number',
1339 +'dir_DESC_EXISTING' => 'You can either leave existing user accounts as they are, using the above defaults only for
1340 +new users, or you can apply the above defaults to all existing users as well.',
1341 +'dir_EXISTING' => 'Existing users',
1342 +'dir_SUCCESS' => 'The new LDAP default settings have been saved.',
1343 +'dir_LEAVE' => 'Leave as they are',
1344 +'dir_UPDATE' => 'Update with new defaults',
1345 +'dir_Directory' => 'Directory',
1346
1347 'prx_TITLE' => 'Proxy settings',
1348 -'prx_FIRST_PAGE_DESCRIPTION' => '
1349 -This page allows configuration of the server\'s
1350 +'prx_FIRST_PAGE_DESCRIPTION' => 'This page allows configuration of the server\'s
1351 proxy settings.
1352 The server includes a transparent proxy and cache for
1353 HTTP traffic. This is enabled by default, but not enforced
1354 if the server is in &quot;serveronly&quot; mode.
1355 If this server is acting as an e-mail server, connections
1356 from local network clients to external SMTP servers
1357 -will default to being redirected to the local e-mail server.
1358 -',
1359 -'prx_HTTP_PROXY_STATUS_DESCRIPTION' =>
1360 -'
1361 -The server\'s HTTP proxy works to reduce overall uplink usage by
1362 +will default to being redirected to the local e-mail server.',
1363 +'prx_HTTP_PROXY_STATUS_DESCRIPTION' => 'The server\'s HTTP proxy works to reduce overall uplink usage by
1364 caching recently-visited pages. It is transparent to web browsers
1365 using this server as their gateway. Enable or disable this proxy
1366 -with the following toggle.
1367 -',
1368 +with the following toggle.',
1369 'prx_HTTP_PROXY_STATUS_LABEL' => 'HTTP proxy status',
1370 -'prx_SMTP_PROXY_STATUS_DESCRIPTION' =>
1371 -'
1372 -The server\'s transparent SMTP proxy works to reduce virus traffic
1373 +'prx_SMTP_PROXY_STATUS_DESCRIPTION' => 'The server\'s transparent SMTP proxy works to reduce virus traffic
1374 from infected client hosts by forcing all outgoing SMTP traffic
1375 through this server if set to "enabled".
1376 If you wish to use an alternate SMTP server, and this server is
1377 your gateway to it, set this proxy to "disabled". Setting the
1378 proxy to "blocked" prevents all SMTP traffic to other servers,
1379 this is the default. The proxy only intercepts/blocks normal smtp
1380 -(port 25) traffic.
1381 -',
1382 +(port 25) traffic.',
1383 'prx_SMTP_PROXY_STATUS_LABEL' => 'SMTP proxy status',
1384 'prx_ERR_PROXY_UPDATE_FAILED' => 'ERROR: The proxy-update event returned an error.',
1385 'prx_ERR_NO_SQUID_REC' => 'ERROR: There is no squid record in the configuration database.',
1386 @@ -658,8 +393,7 @@
1387 'prx_BLOCKED' => 'Blocked',
1388
1389 'qma_FORM_TITLE' => 'Mail Log File Analysis',
1390 -'qma_INITIAL_DESC' => '
1391 -<P>Analysing the mail system log files can aid both in
1392 +'qma_INITIAL_DESC' => '<P>Analysing the mail system log files can aid both in
1393 understanding how your system is performing and in
1394 diagnosing delivery problems. Several different
1395 reports are available.</P>
1396 @@ -687,8 +421,7 @@
1397
1398 'clm_FORM_TITLE' => 'Antivirus settings',
1399 'clm_LABEL_FILESYSTEM_SCAN_PERIOD' => 'Scan filesystem',
1400 -'clm_DESC_FILESYSTEM_SCAN_PERIOD' => '
1401 -<h2>General Settings</h2>
1402 +'clm_DESC_FILESYSTEM_SCAN_PERIOD' => '<h2>General Settings</h2>
1403 If this option is enabled then the filesystem will be
1404 scanned for viruses.A report of any found viruses will be
1405 emailed to the administrator.',
1406 @@ -700,56 +433,35 @@
1407 'clm_SUCCESS' => 'The new clamav antivirus settings have been saved.',
1408
1409 'wkg_FORM_TITLE' => 'Change workgroup settings',
1410 -'wkg_DESC_WORKGROUP' =>
1411 -'
1412 -Enter the name of the Windows workgroup that this server should appear in.
1413 -',
1414 +'wkg_DESC_WORKGROUP' => 'Enter the name of the Windows workgroup that this server should appear in.',
1415 'wkg_LABEL_WORKGROUP' => 'Windows workgroup',
1416 -'wkg_DESC_SERVERNAME' =>
1417 -'Enter the name that this server should use for
1418 +'wkg_DESC_SERVERNAME' => 'Enter the name that this server should use for
1419 Windows and Macintosh file sharing.',
1420 'wkg_LABEL_SERVERNAME' => 'Server Name',
1421 -'wkg_DESC_PDC' =>
1422 -'Should this server act as the workgroup
1423 +'wkg_DESC_PDC' => 'Should this server act as the workgroup
1424 and domain controller on your Windows network? You should leave
1425 this set to <b>No</b> if another server is already performing this
1426 -role on your network.
1427 -',
1428 +role on your network.',
1429 'wkg_LABEL_PDC' => 'Workgroup and Domain Controller',
1430 -'wkg_DESC_ROAM' =>
1431 -'
1432 -Should this server support roaming profiles?
1433 +'wkg_DESC_ROAM' => 'Should this server support roaming profiles?
1434 You should leave this set to the default of <b>No</b> unless you have
1435 experience administering server-based Windows roaming profiles and
1436 -know that this feature is required.
1437 -',
1438 +know that this feature is required.',
1439 'wkg_LABEL_ROAM' => 'Roaming profiles',
1440 -'wkg_SUCCESS' => '
1441 -The new workgroup settings have been saved
1442 -',
1443 -'wkg_INVALID_WORKGROUP' =>
1444 -'The workgroup name must begin with a letter (upper or lower
1445 +'wkg_SUCCESS' => 'The new workgroup settings have been saved',
1446 +'wkg_INVALID_WORKGROUP' => 'The workgroup name must begin with a letter (upper or lower
1447 case), followed by any combination of letters, numbers,
1448 -underscores, periods and hyphens.
1449 -',
1450 -'wkg_INVALID_SERVERNAME' =>
1451 -'The server name must begin with a letter (upper or lower case),
1452 +underscores, periods and hyphens.',
1453 +'wkg_INVALID_SERVERNAME' => 'The server name must begin with a letter (upper or lower case),
1454 followed by any combination of letters, numbers, underscores and
1455 -hyphens.
1456 -',
1457 -'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' =>
1458 -'The server and workgroup names match, when compared in lower case.
1459 -These values must be different in order for filesharing to be turned on.
1460 -',
1461 +hyphens.',
1462 +'wkg_INVALID_WORKGROUP_MATCHES_SERVERNAME' => 'The server and workgroup names match, when compared in lower case.
1463 +These values must be different in order for filesharing to be turned on. ',
1464 'wkg_Workgroup' => 'Workgroup',
1465
1466 -'dat_FORM_TITLE' =>
1467 -'Date and time configuration',
1468 -'dat_INITIAL_DESC' =>
1469 -'
1470 -This is where you configure the date and time of this server. You may use an existing network time server or
1471 -manually set the date and time for your time zone.
1472 -',
1473 +'dat_FORM_TITLE' => 'Date and time configuration',
1474 +'dat_INITIAL_DESC' => 'This is where you configure the date and time of this server. You may use an existing network time server or
1475 +manually set the date and time for your time zone.',
1476 'dat_SET_DATE_TITLE' => 'Set Date and Time',
1477 'dat_COULD_NOT_OPEN_TZ_FILE' => 'Error: Could not open timezone file for reading: ',
1478 'dat_JANUARY' => 'January',
1479 @@ -769,11 +481,9 @@
1480 'dat_AM/PM_AND_TZ' => 'AM/PM and time zone:',
1481 'dat_NTP_ENABLE_DESC' => 'The server can periodically synchronize the system clock to a network time protocol (NTP) server. If you select this option, enter the hostname or IP address of the NTP server below.',
1482 'dat_NTP_CONFIGURE_DESC' => 'The server is periodically synchronizing the system clock to the network time protocol (NTP) server specified below. To synchronize to a different NTP server, enter a different hostname or IP address in the field below.',
1483 -'dat_NTP_DISABLE_DESC' => '
1484 -Choose this option to stop syncronizing the system clock to the NTP
1485 +'dat_NTP_DISABLE_DESC' => 'Choose this option to stop syncronizing the system clock to the NTP
1486 server.When the NTP service is disabled, you can set the system date
1487 -and time manually from this page.
1488 -',
1489 +and time manually from this page.',
1490 'dat_NTP_SERVER' => 'NTP Server',
1491 'dat_VERIFY_DATE_AND_TIME' => 'Verify date and time',
1492 'dat_NEW_DATE_AND_TIME' => 'New date and time setting:',
1493 @@ -787,28 +497,19 @@
1494 'dat_INVALID_MINUTE' => 'Error: invalid minute: ',
1495 'dat_BETWEEN_0_AND_59' => 'Please choose a minute between 0 and 59.',
1496 'dat_INVALID_SECOND' => 'Error: invalid second',
1497 -'dat_UPDATING_CLOCK' =>
1498 -'
1499 -System clock is being updated. Please wait for a few seconds,
1500 +'dat_UPDATING_CLOCK' => 'System clock is being updated. Please wait for a few seconds,
1501 then click <A HREF="datetime?page=1&wherenext=Verify" TARGET="main">here</A>
1502 -to verify changes.
1503 -',
1504 +to verify changes.',
1505 'dat_ERR_SETTING_CLOCK' => 'Error occurred while setting system time and hardware clock.',
1506 'dat_SERVER_DISABLED' => 'Network time server disabled successfully',
1507 -'dat_SERVER_DISABLED_DESC' => '
1508 -You have disabled this service: The server will rely on its internal
1509 -clock, and <b>will not</b> try to synchronize from a time server.
1510 -',
1511 +'dat_SERVER_DISABLED_DESC' => 'You have disabled this service: The server will rely on its internal
1512 +clock, and <b>will not</b> try to synchronize from a time server.',
1513 'dat_ERR_CHANGING_TS' => 'Error while changing network time server setting',
1514 'dat_INVALID_NTP_ADDR' => 'Invalid NTP server address: ',
1515 'dat_SETTINGS_CHANGED' => 'Network time server setting changed successfully',
1516 'dat_SYNC_WITH' => 'This server is now configured to synchronize periodically
1517 -(via the Internet) with:
1518 -',
1519 -'dat_INVALID_NTP_SERVER' => '
1520 -Invalid NTP server, the server <b>will not</b> try to synchronize
1521 -from a time server.
1522 -',
1523 +(via the Internet) with:',
1524 +'dat_INVALID_NTP_SERVER' => 'Invalid NTP server, the server <b>will not</b> try to synchronize from a time server.',
1525 'dat_NETWORK_TIME_SERVER' => 'Network Time Server',
1526 'dat_NTP_CONFIGURE_TITLE' => 'Configure Network Time Server',
1527 'dat_NTP_ENABLE_TITLE' => 'Enable Network Time Server',
1528 @@ -820,8 +521,7 @@
1529 'wbl_PERFORM' => 'Perform',
1530 'wbl_FORM_TITLE' => 'E-mail WBL',
1531 'wbl_OPERATION_STATUS_REPORT' => 'Operation status report',
1532 -'wbl_WBL_DESCRIPTION' =>
1533 -'E-mail traffic is scanned and may be blocked due to the various screening methods enabled.
1534 +'wbl_WBL_DESCRIPTION' => 'E-mail traffic is scanned and may be blocked due to the various screening methods enabled.
1535 You may use this panel to define e-mail white/black lists.',
1536 'wbl_RBL_LIST_DESCRIPTION' => 'RBL\'s List is used to adjust DNSBL and RHSBL.',
1537 'wbl_RBL_LIST' => 'RBL\'s List',
1538 @@ -829,51 +529,31 @@
1539 'wbl_BLACK_LIST' => 'Black List',
1540 'wbl_WHITE_LIST_DESCRIPTION' => 'White lists are used for accepting e-mail traffic.',
1541 'wbl_WHITE_LIST' => 'White List',
1542 -'wbl_BLACK_TITLE' => '
1543 -This server includes built-in support for using the admin defined black lists, badhelo and
1544 - badmailfrom.
1545 -',
1546 -'wbl_DNSBL_DESCRIPTION' => '
1547 -DNSBL is an abbreviation for "DNS blacklist".
1548 -',
1549 +'wbl_BLACK_TITLE' => 'This server includes built-in support for using the admin defined black lists, badhelo and
1550 + badmailfrom.',
1551 +'wbl_DNSBL_DESCRIPTION' => 'DNSBL is an abbreviation for "DNS blacklist".',
1552 'wbl_DNSBL_LABEL' => 'DNSBL status',
1553 -'wbl_RHSBL_DESCRIPTION' => '
1554 -RHSBL is an abbreviation for "Right Hand Side Blacklist".
1555 -',
1556 +'wbl_RHSBL_DESCRIPTION' => 'RHSBL is an abbreviation for "Right Hand Side Blacklist". ',
1557 'wbl_RHSBL_LABEL' => 'RHSBL status',
1558 -'wbl_BADHELO_DESCRIPTION' => '
1559 -Check a HELO message delivered from a connecting host.Reject any
1560 -that appear in badhelo during the \'helo\' stage.
1561 -',
1562 +'wbl_BADHELO_DESCRIPTION' => 'Check a HELO message delivered from a connecting host.Reject any
1563 +that appear in badhelo during the \'helo\' stage.',
1564 'wbl_BADHELO_LABEL' => 'qpsmtpd badhelo',
1565 -'wbl_BADMAILFROM_DESCRIPTION' => '
1566 -Check envelope sender addresses. Reject any
1567 -that appear (@host or user@host) in badmailfrom during the \'mail\' stage.
1568 -',
1569 +'wbl_BADMAILFROM_DESCRIPTION' => 'Check envelope sender addresses. Reject any
1570 +that appear (@host or user@host) in badmailfrom during the \'mail\' stage.',
1571 'wbl_BADMAILFROM_LABEL' => 'qmail badmailfrom',
1572 'wbl_WHITE_TITLE' => 'Use this panel to modify your servers White List settings. All entries will be enabled by default',
1573 'wbl_RRFH_LABEL' => 'Whitelists status',
1574 -'wbl_WHITELISTHOSTS_DESCRIPTION' => '
1575 -Any IP address listed in whitelisthosts will be exempted
1576 -from any further validation during the \'connect\' stage.
1577 -',
1578 +'wbl_WHITELISTHOSTS_DESCRIPTION' => 'Any IP address listed in whitelisthosts will be exempted
1579 +from any further validation during the \'connect\' stage.',
1580 'wbl_WHITELISTHOSTS_LABEL' => 'qpsmtpd whitelisthosts',
1581 -'wbl_WHITELISTHELO_DESCRIPTION' => '
1582 -be exempted from further validation during the \'helo\' stage.
1583 -',
1584 +'wbl_WHITELISTHELO_DESCRIPTION' => 'be exempted from further validation during the \'helo\' stage.',
1585 'wbl_WHITELISTHELO_LABEL' => 'qpsmtpd whitelisthelo',
1586 -'wbl_WHITELISTSENDERS_DESCRIPTION' => '
1587 -will be exempted from further validation during the \'mail\' stage.
1588 -',
1589 +'wbl_WHITELISTSENDERS_DESCRIPTION' => 'will be exempted from further validation during the \'mail\' stage.',
1590 'wbl_WHITELISTSENDERS_LABEL' => 'qpsmtpd whitelistsenders',
1591 -'wbl_WHITELISTFROM_DESCRIPTION' => '
1592 -will be exempted from spamassassin rejection.
1593 -',
1594 +'wbl_WHITELISTFROM_DESCRIPTION' => 'will be exempted from spamassassin rejection.',
1595 'wbl_WHITELISTFROM_LABEL' => 'spamassassin whitelist_from',
1596 'wbl_BLACKLISTFROM_LABEL' => 'spamassassin blacklist_from',
1597 -'wbl_BLACKLISTFROM_DESCRIPTION' => '
1598 -will be rejected by spamassassin.
1599 -',
1600 +'wbl_BLACKLISTFROM_DESCRIPTION' => 'will be rejected by spamassassin.',
1601 'wbl_SBLLIST_LABEL' => 'RHSBL (qpsmtpd SBLList)',
1602 'wbl_SBLLIST_DESCRIPTION' => 'RHS block list - \'right hand side\' of senders host/domain will be checked against the following servers',
1603 'wbl_RBLLIST_LABEL' => 'DNSBL Zones (qpsmtpd RBLList)',
1604 @@ -897,8 +577,7 @@
1605 "HP JetDirect Printer" are not.
1606 Avoid names and descriptions that contain these terms,
1607 "offline", "disabled", "down", "off", "waiting", "jam",
1608 -"paper", "error" and "responding".
1609 -',
1610 +"paper", "error" and "responding". ',
1611 'prt_PRINTER_NAME' => 'Printer name',
1612 'prt_LOCAL_PRINTER_0' => 'Local printer port 0 (LPT1)',
1613 'prt_LOCAL_PRINTER_1' => 'Local printer port 1 (LPT2)',
1614 @@ -910,11 +589,9 @@
1615 <P>The printer name should contain only lower-case
1616 letters and numbers, and should start with a lower-case
1617 letter. For example "hplaser", "epsonlp", and
1618 -"canonbj" are valid names.</P>
1619 -',
1620 +"canonbj" are valid names.</P>',
1621 'prt_ERR_UNEXPECTED_DESC' => 'Error: unexpected or missing characters in description.
1622 -Did not create new printer.
1623 -',
1624 +Did not create new printer.',
1625 'prt_ERR_EXISTS' => 'Error: An account with the same name exists with type: ',
1626 'prt_ERR_INVALID_ADDRESS' => 'Error: invalid network address. Did not create new printer.',
1627 'prt_ERR_INVALID_REMOTE_NAME' => 'Error: invalid network printer name. Did not create new printer.',
1628 @@ -1003,7 +680,101 @@
1629 something else afterward):',
1630 'grp_CONFIRM_DELETE_GROUP' => 'Are you sure you wish to remove this group?',
1631 'grp_CURRENT_LIST' => 'Current list of User Groups',
1632 -'grp_DELETE_DESCRIPTION' => 'You are about to remove the user group "{$group}."',
1633 +'grp_DELETE_DESCRIPTION' => 'You are about to remove the user group "{$group}."',
1634 +
1635 +'rbo_FORM_TITLE' => 'Shutdown or reboot',
1636 +'rbo_REBOOT' => 'Reboot',
1637 +'rbo_REBOOT_SUCCEEDED' => 'Reboot request initiated successfully.',
1638 +'rbo_DESC_REBOOT' => 'Your server has initiated the reboot process.',
1639 +'rbo_RECONFIGURE_SUCCEEDED' => 'Reconfiguration request initiated successfully.',
1640 +'rbo_DESC_RECONFIGURE' => 'Your server has initiated a full system reconfiguration and reboot.',
1641 +'rbo_SHUTDOWN_SUCCEEDED' => 'Shutdown request initiated successfully.',
1642 +'rbo_DESC_SHUTDOWN' => 'Your server has initiated the shutdown process.
1643 +The process will take several minutes to complete, after which
1644 +you can switch off the power.',
1645 +'rbo_LABEL_REBOOT' => 'Select Shutdown, Reboot or Reconfigure',
1646 +'rbo_DESCRIPTION' => 'You can reboot, shut down your server or perform a full system
1647 +reconfiguration from this screen. You must perform a shutdown
1648 +before switching the power off. All of these functions take
1649 +several minutes to complete.
1650 +When you click <b>perform</b> the operation will be initiated immediately, so be ready!',
1651 +'rbo_Reboot or shutdown' => 'Reboot or shutdown',
1652 +
1653 +'iba_FORM_TITLE' => 'Create, modify, or remove i-bays',
1654 +'iba_ADD_IBAY' => 'Add ibay',
1655 +'iba_FIRSTPAGE_DESC' => 'You can remove any information bay or reset its password by
1656 +clicking on the corresponding command
1657 +next to the information bay. If the information bay shows up
1658 +in red, that means that the password has not
1659 +yet been changed from the default, and should be changed
1660 +soon.',
1661 +'iba_ADD_TITLE' => 'Create or modify an i-bay',
1662 +'iba_NAME_FIELD_DESC' => 'The information bay name should contain only lower-case
1663 +letters, numbers, periods, hyphens and underscores, and
1664 +should start with a lower-case letter. For example
1665 +"johnson", "intra", and "cust3.prj12" are all valid
1666 +names, but "3associates", "John Smith" and
1667 +"Bus!Partner" are not. The name is limited to
1668 +{$maxLength} characters.',
1669 +'iba_NAME_LABEL' => 'Information bay name',
1670 +'iba_USER_ACCESS' => 'User access via file sharing or user ftp',
1671 +'iba_PUBLIC_ACCESS' => 'Public access via web or anonymous ftp',
1672 +'iba_PUBLIC_ACCESS_DESCRIPTION' => 'The public access mode "password required outside local
1673 +network" is not supported by the FTP server component. If
1674 +you select this mode, the FTP server will require a
1675 +password both inside and outside the local network for this
1676 +i-bay.',
1677 +'iba_ALLOW_DYNAMIC_CONTENT' => 'Execution of dynamic content (CGI, PHP, SSI)',
1678 +'iba_HTTPS_Only' => 'Force secure connections',
1679 +'iba_REMOVE_TITLE' => 'Remove information bay',
1680 +'iba_REMOVE_DESC' => '<p>
1681 +You are about to remove the information bay "{$name}"
1682 +({$description}).
1683 +</p><p>
1684 +All files belonging to this information bay will be deleted.
1685 +</p><p>
1686 +Are you sure you wish to remove this information bay?
1687 +</p>',
1688 +'iba_ERROR_WHILE_CREATING_IBAY' => 'An error occurred while creating the i-bay.',
1689 +'iba_SUCCESSFULLY_CREATED_IBAY' => 'Successfully created i-bay.',
1690 +'iba_NO_IBAYS' => 'There are no i-bays currently configured.',
1691 +'iba_CANT_FIND_IBAY' => 'Can\'t find account for {$name} (does it exist?)',
1692 +'iba_CANT_CREATE_IBAY' => 'Can\'t create new account for {$name} (does it already exist?)',
1693 +'iba_ERROR_WHILE_MODIFYING_IBAY' => 'An error occurred while modifying the i-bay.',
1694 +'iba_SUCCESSFULLY_MODIFIED_IBAY' => 'Successfully modified i-bay.',
1695 +'iba_VIRTUAL_HOST_MESSAGE' => 'The following virtual domains were using this information
1696 +bay as their content and will be changed to the primary web
1697 +site (you can change them to something else afterward).',
1698 +'iba_SUCCESSFULLY_DELETED_IBAY' => 'Successfully deleted i-bay.',
1699 +'iba_ERROR_WHILE_DELETING_IBAY' => 'An error occurred while deleting the i-bay.',
1700 +'iba_PASSWORD_DESC' => 'You are about to change the password for the i-bay {$name}.',
1701 +'iba_IBAY_PASSWD_VALIDATION_ERROR' => 'The password may contain only letters and numbers.',
1702 +'iba_IBAY_PASSWD_VERIFY_ERROR' => 'The passwords do not match.',
1703 +'iba_SUCCESSFULLY_RESET_PASSWORD' => 'Successfully reset password.',
1704 +'iba_ERROR_WHILE_RESETTING_PASSWORD' => 'Error while resetting password.',
1705 +'iba_VHOST_MESSAGE' => '<P>The following virtual domains were using this information bay
1706 +as their content and will be changed to the primary web site
1707 +(you can change them to something else afterward):</P>',
1708 +'iba_Information bays' => 'Information bays',
1709 +'WGRG' => 'Write = group, Read = group',
1710 +'WGRE' => 'Write = group, Read = everyone',
1711 +'WARG' => 'Write = admin, Read = group',
1712 +'NONE' => 'No access',
1713 +'LOCAL_NETWORK_NO_PASSWORD' => 'Local network (no password required)',
1714 +'LOCAL_NETWORK_PASSWORD' => 'Local network (password required)',
1715 +'ENTIRE_INTERNET_NO_PASSWORD' => 'Entire Internet (no password required)',
1716 +'ENTIRE_INTERNET_PASSWORD' => 'Entire Internet (password required)',
1717 +'ENTIRE_INTERNET_PASSWORD_REMOTE' => 'Entire Internet (password required outside local network)',
1718 +'INVALID_IBAY_DESCRIPTION' => 'Error: unexpected or missing characters in i-bay description',
1719 +'iba__ACCT_NAME_HAS_INVALID_CHARS' => 'The i-bay name "{$acctName}" contains invalid characters.
1720 +I-bay names must start with a lower case letter and contain
1721 +only lower case letters, numbers, and hyphens.',
1722 +'iba_MAX_IBAY_NAME_LENGTH_ERROR' => 'The i-bay name "{$name}" is too long. The maximum is
1723 +{$maxIbayNameLength} characters.',
1724 +'iba_ACCT_CLASHES_WITH_PSEUDONYM' => 'The account "{$acctName}" clashes with pseudonym
1725 +details for {$acctType} account "{$acct}".
1726 +<p>{$acctName} is a pseudonym for {$acct}.</p>',
1727 +'iba_ACCOUNT_EXISTS' => 'The account "{$acctName}" is an existing {$acctType} account.',
1728
1729 );
1730
1731 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm
1732 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm 2019-12-31 08:55:14.000000000 +0400
1733 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/lib/SrvMngr/Navigation.pm 2020-01-07 23:57:48.000000000 +0400
1734 @@ -242,6 +242,7 @@
1735 }else if(tA[i].className==arg[2]){tA[i].className=arg[3];}}}}}
1736 ';
1737 printf SCR "
1738 + // language $language
1739 //This swap the class of the selected item.
1740 function swapClasses() {
1741 var arg=swapClasses.arguments;
1742 @@ -309,7 +310,7 @@
1743 foreach (sort { $a->{'WEIGHT'} <=> $b->{'WEIGHT'} } @{$nav {$h}{'DESCRIPTIONS'}})
1744 {
1745 my ($target, $classNew) = ( $_->{'FILENAME'} =~ m/^2\// ) ?
1746 - ('_self',' class=\' accent\'') :
1747 + ('_self',' accent') :
1748 ('main','') ;
1749
1750 my $href = '/server-manager' . $_->{'FILENAME'};
1751 @@ -319,7 +320,7 @@
1752 }
1753 else
1754 {
1755 - printf DIV "\n <div class='menu-cell'><a class='item' $classNew target='$target' " .
1756 + printf DIV "\n <div class='menu-cell'><a class='item$classNew' target='$target' " .
1757 "onclick=\"swapClasses('sme$c')\" id='sme$c' href='$href'>" .
1758 "$_->{'DESCRIPTION'}</a></div>";
1759 # printf DIV "\n<div class='menu-cell'><a class='item' target='main' " .
1760 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl
1761 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 2019-12-29 23:45:41.000000000 +0400
1762 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/script/srvmngr.pl 2020-01-06 18:04:47.000000000 +0400
1763 @@ -93,6 +93,11 @@
1764 $r->get('/groupdel')->to('groups#do_display')->name('groupdel1');
1765 $r->post('/groupdel')->to('groups#do_update')->name('groupdel2');
1766
1767 +$r->get('/ibays')->to('ibays#main')->name('ibays');
1768 +$r->post('/ibays')->to('ibays#do_display')->name('ibayadd');
1769 +$r->get('/ibayd')->to('ibays#do_display')->name('ibaydis');
1770 +$r->post('/ibayd')->to('ibays#do_update')->name('ibayupd');
1771 +
1772 $r->get('/logout')->to('main#logout')->name('logout');
1773 $r->get('/manual')->to('manual#main')->name('manual');
1774
1775 @@ -114,6 +119,9 @@
1776 $r->post('/quotaupd')->to('quota#do_update')->name('quotaupd');
1777 $r->post('/quota2')->to('quota#do_update')->name('quotaval');
1778
1779 +$r->get('/reboot')->to('reboot#main')->name('reboot');
1780 +$r->post('/reboot')->to('reboot#do_action')->name('rebootact');
1781 +
1782 $r->get('/review')->to('review#main')->name('review');
1783 $r->get('/starterwebsite')->to('starterwebsite#main')->name('starterwebsite');
1784 $r->post('/starterwebsite')->to('starterwebsite#do_site')->name('starterwebsite2');
1785 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css
1786 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css 2019-12-31 08:55:14.000000000 +0400
1787 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/public/css/styles.css 2020-01-07 23:58:29.000000000 +0400
1788 @@ -24,6 +24,14 @@
1789 padding: 10px;
1790 }
1791
1792 +label.field-with-error {
1793 + color: #dd7e5e
1794 +}
1795 +
1796 +input.field-with-error {
1797 + background-color: #fd9e7e
1798 +}
1799 +
1800 #central{
1801 margin-left: 0px;
1802 padding: 5px;
1803 @@ -58,7 +66,7 @@
1804 }
1805
1806 a.accent {
1807 - color: brown;
1808 + color: blue;
1809 }
1810
1811 #footer img {
1812 @@ -75,7 +83,7 @@
1813 span.data {
1814 padding: 2px;
1815 font-weight: bold;
1816 - margin-left: 25%;
1817 + margin-left: 0%;
1818 background-color: lightblue;
1819 }
1820
1821 @@ -86,7 +94,7 @@
1822 }
1823
1824 input.action {
1825 - margin-left: 450px;
1826 + margin-left: 0px;
1827 color: green;
1828 background-color: lightgreen;
1829 }
1830 @@ -96,7 +104,7 @@
1831 }
1832 /* #modul form .input */
1833 [type = 'text'] {
1834 - margin-left: 5px;
1835 + margin-left: 0px;
1836 background-color: lightblue;
1837 }
1838
1839 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/ibays.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/ibays.html.ep
1840 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/ibays.html.ep 1970-01-01 04:00:00.000000000 +0400
1841 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/ibays.html.ep 2020-01-12 21:54:48.000000000 +0400
1842 @@ -0,0 +1,31 @@
1843 +% layout 'default', title => "Sme server 2 - ibays", share_dir => './';
1844 +
1845 +% content_for 'module' => begin
1846 +<div id="module">
1847 +
1848 + % if ($config->{debug} == 1) {
1849 + <p>
1850 + %= dumper $c->current_route
1851 + %= dumper $iba_datas
1852 + </p>
1853 + % }
1854 +
1855 + <h1><%= $title%></h1>
1856 +
1857 + %= $c->render_to_string(inline => $modul );
1858 +
1859 + % if ($iba_datas->{trt} eq 'ADD') {
1860 + %= include 'partials/_iba_upd'
1861 + %} elsif ($iba_datas->{trt} eq 'DEL') {
1862 + %= include 'partials/_iba_del'
1863 + %} elsif ($iba_datas->{trt} eq 'UPD') {
1864 + %= include 'partials/_iba_upd'
1865 + %} elsif ($iba_datas->{trt} eq 'PWD') {
1866 + %= include 'partials/_iba_pwd'
1867 + %} else {
1868 + %= include 'partials/_iba_list'
1869 + %}
1870 +
1871 +</div>
1872 +%end
1873 +
1874 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_add.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_add.html.ep
1875 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_add.html.ep 2020-01-04 11:12:11.000000000 +0400
1876 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_add.html.ep 2020-01-01 23:11:23.000000000 +0400
1877 @@ -39,7 +39,7 @@
1878 %= check_box 'groupMembers' => 'admin'
1879 Administrator (admin)
1880 <br>
1881 - % foreach my $key ( keys %$users )
1882 + % foreach my $key ( sort keys %$users )
1883 % {
1884 %= check_box 'groupMembers' => $key
1885 %=$users->{$key}
1886 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_list.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_list.html.ep
1887 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_list.html.ep 2019-12-31 17:10:14.000000000 +0400
1888 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_list.html.ep 2020-01-11 15:53:39.000000000 +0400
1889 @@ -33,7 +33,7 @@
1890 </th>
1891 </tr>
1892
1893 - % foreach my $group ( @$groups)
1894 + % foreach my $group ( @$groups )
1895 % {
1896 <tr>
1897 %= t td => (class => 'sme-border') => $group->key
1898 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_upd.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_upd.html.ep
1899 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_upd.html.ep 2020-01-04 11:18:15.000000000 +0400
1900 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_grp_upd.html.ep 2020-01-01 23:14:19.000000000 +0400
1901 @@ -1,13 +1,14 @@
1902 <div id='grp_upd'>
1903
1904 - <!-- % dumper $members -->
1905 -
1906 + <!-- % = dumper $members -->
1907 +
1908 +
1909 % my $btn = l('SAVE');
1910
1911 %= form_for '/groupupd' => (method => 'POST') => begin
1912 <p>
1913 <h2>
1914 - %=l 'MODIFY_USER_GROUP'
1915 + %=l 'MODIFY_GROUP'
1916 </h2>
1917 <br>
1918 </p>
1919 @@ -38,18 +39,18 @@
1920 <br>
1921
1922 % if ( $members->{'admin'} ) {
1923 - %= check_box 'groupMembers', value => 'admin', checked => 'checked'
1924 + %= check_box 'groupMembers', value => 'admin', checked => undef
1925 %} else {
1926 - %= check_box 'groupMembers' => 'admin'
1927 + %= check_box 'groupMembers[]' => 'admin'
1928 %}
1929 Administrator (admin)
1930 <br>
1931
1932 - % foreach my $key ( keys %$users )
1933 + % foreach my $key ( sort keys %$users )
1934 % {
1935 % if ( $members->{ $key } ) {
1936 <!-- % = check_box 'groupMembers', value => $key, checked => 'checked' -->
1937 - <input type='checkbox' name='groupMembers' checked value='<%= $key %>'>
1938 + <input type='checkbox' name='groupMembers[]' checked value='<%= $key %>'>
1939 %} else {
1940 %= check_box 'groupMembers' => $key
1941 %}
1942 @@ -64,6 +65,7 @@
1943 </p>
1944
1945 %= hidden_field 'trt' => $grp_datas->{trt}
1946 + %= hidden_field 'groupName' => $grp_datas->{group}
1947
1948 % end
1949
1950 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_del.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_del.html.ep
1951 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_del.html.ep 1970-01-01 04:00:00.000000000 +0400
1952 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_del.html.ep 2020-01-12 21:52:14.000000000 +0400
1953 @@ -0,0 +1,28 @@
1954 +<div id='iba_del'>
1955 +
1956 + % my $btn = l('REMOVE');
1957 + %= form_for '/ibayd' => (method => 'POST') => begin
1958 + <p>
1959 + <h2>
1960 + %=l 'iba_REMOVE_TITLE'
1961 + </h2>
1962 + <br>
1963 +
1964 + %= $c->render_to_string(inline => l('iba_REMOVE_DESC'));
1965 +
1966 + <br>
1967 + %= $iba_datas->{ibay}
1968 + (<%= $iba_datas->{description} %>)
1969 +
1970 + <br>
1971 + </p>
1972 + <p>
1973 + %= submit_button "$btn", class => 'action'
1974 + </p>
1975 +
1976 + %= hidden_field 'trt' => $iba_datas->{trt}
1977 + %= hidden_field 'ibay' => $iba_datas->{ibay}
1978 +
1979 + % end
1980 +
1981 +</div>
1982 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_list.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_list.html.ep
1983 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_list.html.ep 1970-01-01 04:00:00.000000000 +0400
1984 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_list.html.ep 2020-01-12 00:54:02.000000000 +0400
1985 @@ -0,0 +1,77 @@
1986 +<div id='iba_list'>
1987 +
1988 + <!-- %= dumper @$ibays -->
1989 +
1990 + % my $btn = l('iba_ADD_IBAY');
1991 +
1992 + %= form_for '/ibays' => (method => 'POST') => begin
1993 +
1994 + <p>
1995 + <br>
1996 + %= submit_button "$btn", class => 'action'
1997 + </p>
1998 +
1999 + % end
2000 +
2001 + <p>
2002 + %=l 'iba_FIRSTPAGE_DESC'
2003 + <br><br>
2004 + </p>
2005 +
2006 + % my $numIbays = @$ibays;
2007 + % if ($numIbays == 0){
2008 + %=l 'iba_NO_IBAYS'
2009 + % } else {
2010 + <table class="sme-border"><tbody>
2011 + <tr>
2012 + <th class='sme-border'>
2013 + %=l 'NAME'
2014 + </th>
2015 + <th class='sme-border'>
2016 + %=l 'DESCRIPTION'
2017 + </th>
2018 + <th class='sme-border' colspan='3'>
2019 +
2020 + %=l 'ACTION'
2021 + </th>
2022 + </tr>
2023 + % foreach my $ibay (sort @$ibays)
2024 + % {
2025 + % my $modifiable = $ibay->prop('Modifiable') || 'yes';
2026 + % my $passwordable = $ibay->prop('Passwordable') || 'yes';
2027 + % my $removable = $ibay->prop('Removable') || 'yes';
2028 + % my $needPassword = grep { $_ eq $ibay->prop('PublicAccess') }
2029 + % qw(local-pw global-pw global-pw-remote);
2030 +
2031 + <tr>
2032 + %= t td => (class => 'sme-border') => $ibay->key
2033 + %= t td => (class => 'sme-border') => $ibay->prop('Name')
2034 + % my ($actionModify, $actionResetPw, $actionRemove) = '&nbsp;';
2035 + % if ($modifiable eq 'yes') {
2036 + % $actionModify = "<a href='ibayd?trt=UPD&ibay=" . $ibay->key . "'>" . l('MODIFY') . "</a>";
2037 + % }
2038 + % if ($passwordable eq 'yes') {
2039 + % if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) {
2040 + % $actionResetPw .= "<a href='ibayd?trt=PWD&ibay=" . $ibay->key . "' class='error'>" . l('PASSWORD_RESET') . "</a>";
2041 + % } else {
2042 + % $actionResetPw .= "<a href='ibayd?trt=PWD&ibay=" . $ibay->key . "'>" . l('PASSWORD_RESET') . "</a>";
2043 + % }
2044 + % $actionResetPw .= '&nbsp';
2045 + % }
2046 + % if ($removable eq 'yes') {
2047 + % $actionRemove = "<a href='ibayd?trt=DEL&ibay=" . $ibay->key . "'>" . l('REMOVE') . "</a>";
2048 + % }
2049 + <td class='sme-border'><%= $c->render_to_string(inline => $actionModify) %></td>
2050 + <td class='sme-border'><%= $c->render_to_string(inline => $actionResetPw) %></td>
2051 + <td class='sme-border'><%= $c->render_to_string(inline => $actionRemove) %></td>
2052 +
2053 + </tr>
2054 + % }
2055 + </tbody>
2056 + </table>
2057 +
2058 + <%} %>
2059 +
2060 + %= hidden_field 'trt' => $iba_datas->{trt}
2061 +
2062 +</div>
2063 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_pwd.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_pwd.html.ep
2064 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_pwd.html.ep 1970-01-01 04:00:00.000000000 +0400
2065 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_pwd.html.ep 2020-01-06 23:24:48.000000000 +0400
2066 @@ -0,0 +1,54 @@
2067 +<div id='iba_net'>
2068 +
2069 + % my $btn = l('SAVE');
2070 +
2071 + %= form_for '/ibayd' => (method => 'POST') => begin
2072 + <p>
2073 + <h2>
2074 + %=l 'PASSWORD_RESET'
2075 + </h2>
2076 +
2077 + <br><br>
2078 + %=l 'iba_PASSWORD_DESC'
2079 + %= $iba_datas->{ibay}
2080 + </p>
2081 +
2082 + <p>
2083 + <span class=label>
2084 + %=l 'PASSWORD_NEW', class => 'label'
2085 + </span><span class=data>
2086 + %= password_field 'newPass', class => 'input'
2087 + </span>
2088 + </p>
2089 +
2090 + <p>
2091 + <span class=label>
2092 + %=l 'PASSWORD_VERIFY_NEW', class => 'label'
2093 + </span><span class=data>
2094 + %= password_field 'newPassVerify', class => 'input'
2095 + </span>
2096 + </p>
2097 +
2098 + <p>
2099 + <br><br>
2100 + %= submit_button "$btn", class => 'action'
2101 + </p>
2102 +
2103 + %= hidden_field 'trt' => $iba_datas->{trt}
2104 + %= hidden_field 'ibay' => $iba_datas->{ibay}
2105 +
2106 + % end
2107 +
2108 +</div>
2109 +<!--
2110 + <page name="Password" pre-event="turn_off_buttons()" post-event="reset_password()">
2111 + <title>PASSWORD_RESET</title>
2112 + <description>PASSWORD_DESC</description>
2113 + <field type="password" id="newPass" validation="nonblank, check_password">
2114 + <label>PASSWORD_NEW</label>
2115 + </field>
2116 + <field type="password" id="newPassVerify" validation="verifyPasswords">
2117 + <label>PASSWORD_VERIFY_NEW</label>
2118 + </field>
2119 + <subroutine src="print_button('SAVE')"/>
2120 +-->
2121 \ Pas de fin de ligne à la fin du fichier
2122 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_upd.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_upd.html.ep
2123 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_upd.html.ep 1970-01-01 04:00:00.000000000 +0400
2124 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_iba_upd.html.ep 2020-01-12 00:29:03.000000000 +0400
2125 @@ -0,0 +1,102 @@
2126 +<div id='iba_upd'>
2127 +
2128 + <!-- % = dumper $c->userAccess_list_m() -->
2129 +
2130 + % my $btn = l('ADD');
2131 +
2132 + %= form_for '/ibayd' => (method => 'POST') => begin
2133 + <p>
2134 + <h2>
2135 + %=l 'iba_ADD_TITLE'
2136 + </h2>
2137 + <br>
2138 + %=l 'iba_NAME_FIELD_DESC'
2139 + </p>
2140 +
2141 + <p>
2142 + <span class=label>
2143 + %=l 'iba_NAME_LABEL', class => 'label'
2144 + </span><span class=data>
2145 + % if ( $iba_datas->{trt} eq 'ADD' ) {
2146 + % param 'ibay' => $iba_datas->{ibay} unless param 'ibay';
2147 + %= text_field 'ibay', class => 'input'
2148 + % } else {
2149 + % $btn = l('SAVE');
2150 + %= $iba_datas->{ibay}, class => 'data'
2151 + % }
2152 + </span>
2153 + </p>
2154 +
2155 + <p>
2156 + <span class=label>
2157 + %=l 'DESCRIPTION', class => 'label'
2158 + </span><span class=data>
2159 + % param 'ibayDesc' => $iba_datas->{description} unless param 'ibayDesc';
2160 + %= text_field 'ibayDesc', class => 'input'
2161 + </span>
2162 + </p>
2163 +
2164 + <p>
2165 + <span class=label>
2166 + %=l 'GROUP'
2167 + </span><span class=data>
2168 + % param 'group' => $iba_datas->{group} unless param 'group';
2169 + %= select_field 'group' => $c->group_list_m(), class => 'input'
2170 + <br>
2171 + </span>
2172 + </p>
2173 +
2174 + <p>
2175 + <span class=label>
2176 + %=l 'iba_USER_ACCESS'
2177 + </span><span class=data>
2178 + % param 'userAccess' => $iba_datas->{userAccess} unless param 'userAccess';
2179 + %= select_field 'userAccess' => $c->userAccess_list_m(), class => 'input'
2180 +
2181 + <br>
2182 + </span>
2183 + </p>
2184 +
2185 + <p>
2186 + <span class=label>
2187 + %=l 'iba_PUBLIC_ACCESS'
2188 + </span><span class=data>
2189 + % param 'publicAccess' => $iba_datas->{publicAccess} unless param 'publicAccess';
2190 + %= select_field 'publicAccess' => $c->publicAccess_list_m(), class => 'input'
2191 + <br>
2192 + </span>
2193 + </p>
2194 +
2195 + <p>
2196 + <span class=label>
2197 + %=l 'iba_ALLOW_DYNAMIC_CONTENT'
2198 + </span><span class=data>
2199 + % param 'CgiBin' => $iba_datas->{CgiBin} unless param 'CgiBin';
2200 + %= select_field 'CgiBin' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
2201 + <br>
2202 + </span>
2203 + </p>
2204 +
2205 + <p>
2206 + <span class=label>
2207 + %=l 'iba_HTTPS_Only'
2208 + </span><span class=data>
2209 + % param 'SSL' => $iba_datas->{SSL} unless param 'SSL';
2210 + %= select_field 'SSL' => [[ (l 'ENABLED') => 'enabled'], [ (l 'DISABLED') => 'disabled']], class => 'input'
2211 + <br>
2212 + </span>
2213 + </p>
2214 +
2215 + <p>
2216 + <br><br>
2217 + %= submit_button $btn, class => 'action'
2218 + </p>
2219 +
2220 + %= hidden_field 'trt' => $iba_datas->{trt}
2221 + % if ( $iba_datas->{trt} eq 'UPD' ) {
2222 + %= hidden_field 'ibay' => $iba_datas->{ibay}
2223 + % }
2224 +
2225 + % end
2226 +
2227 +</div>
2228 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep
2229 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep 2019-12-31 17:17:43.000000000 +0400
2230 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_navig.html.ep 2020-01-12 23:05:49.000000000 +0400
2231 @@ -4,37 +4,36 @@
2232 <div id="navigat">
2233
2234 <div class='section'> Collaboration </div>
2235 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme1')" id='sme1' href='/server-manager/cgi-bin/useraccounts'>Users</a></div>
2236 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme2')" id='sme2' href='/server-manager2/groups'>Groups</a></div>
2237 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme3')" id='sme3' href='/server-manager2/quota'>Quotas</a></div>
2238 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme4')" id='sme4' href='/server-manager/cgi-bin/pseudonyms'>Pseudonyms</a></div>
2239 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme5')" id='sme5' href='/server-manager/cgi-bin/ibays'>Information bays</a></div>
2240 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme1')" id='sme1' href='/server-manager/cgi-bin/useraccounts'>Users</a></div>
2241 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme2')" id='sme2' href='/server-manager2/groups'>Groups</a></div>
2242 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme3')" id='sme3' href='/server-manager2/quota'>Quotas</a></div>
2243 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme4')" id='sme4' href='/server-manager/cgi-bin/pseudonyms'>Pseudonyms</a></div>
2244 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme5')" id='sme5' href='/server-manager2/ibays'>Information bays</a></div>
2245 <div class='section'> Administration </div>
2246 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme6')" id='sme6' href='/server-manager/cgi-bin/backup'>Backup or restore</a></div>
2247 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme7')" id='sme7' href='/server-manager/cgi-bin/viewlogfiles'>View log files</a></div>
2248 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme8')" id='sme8' href='/server-manager2/qmailanalog'>Mail log file analysis</a></div>
2249 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme9')" id='sme9' href='/server-manager/cgi-bin/reboot'>Reboot or shutdown</a></div>
2250 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme10')" id='sme10' href='/server-manager/cgi-bin/xt_geoip'>GeoIP IP filtering</a></div>
2251 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme6')" id='sme6' href='/server-manager/cgi-bin/backup'>Backup or restore</a></div>
2252 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme7')" id='sme7' href='/server-manager/cgi-bin/viewlogfiles'>View log files</a></div>
2253 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme8')" id='sme8' href='/server-manager2/qmailanalog'>Mail log file analysis</a></div>
2254 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme9')" id='sme9' href='/server-manager2/reboot'>Reboot or shutdown</a></div>
2255 <div class='section'> Security </div>
2256 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme11')" id='sme11' href='/server-manager/cgi-bin/remoteaccess'>Remote access</a></div>
2257 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme12')" id='sme12' href='/server-manager/cgi-bin/localnetworks'>Local networks</a></div>
2258 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme13')" id='sme13' href='/server-manager/cgi-bin/portforwarding'>Port forwarding</a></div>
2259 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme14')" id='sme14' href='/server-manager2/proxy'>Proxy settings</a></div>
2260 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme10')" id='sme10' href='/server-manager/cgi-bin/remoteaccess'>Remote access</a></div>
2261 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme11')" id='sme11' href='/server-manager/cgi-bin/localnetworks'>Local networks</a></div>
2262 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme12')" id='sme12' href='/server-manager/cgi-bin/portforwarding'>Port forwarding</a></div>
2263 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme13')" id='sme13' href='/server-manager2/proxy'>Proxy settings</a></div>
2264 <div class='section'> Configuration </div>
2265 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme15')" id='sme15' href='/server-manager/cgi-bin/yum'>Software installer</a></div>
2266 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme16')" id='sme16' href='/server-manager2/datetime'>Date and time</a></div>
2267 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme17')" id='sme17' href='/server-manager2/workgroup'>Workgroup</a></div>
2268 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme18')" id='sme18' href='/server-manager2/directory'>Directory</a></div>
2269 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme19')" id='sme19' href='/server-manager2/printers'>Printers</a></div>
2270 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme20')" id='sme20' href='/server-manager/cgi-bin/hostentries'>Hostnames and addresses</a></div>
2271 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme21')" id='sme21' href='/server-manager/cgi-bin/domains'>Domains</a></div>
2272 - <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme22')" id='sme22' href='/server-manager/cgi-bin/emailsettings'>E-mail</a></div>
2273 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme23')" id='sme23' href='/server-manager2/clamav'>Antivirus (ClamAV)</a></div>
2274 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme24')" id='sme24' href='/server-manager2/review'>Review configuration</a></div>
2275 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme14')" id='sme14' href='/server-manager/cgi-bin/yum'>Software installer</a></div>
2276 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme15')" id='sme15' href='/server-manager2/datetime'>Date and time</a></div>
2277 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme16')" id='sme16' href='/server-manager2/workgroup'>Workgroup</a></div>
2278 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme17')" id='sme17' href='/server-manager2/directory'>Directory</a></div>
2279 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme18')" id='sme18' href='/server-manager2/printers'>Printers</a></div>
2280 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme19')" id='sme19' href='/server-manager/cgi-bin/hostentries'>Hostnames and addresses</a></div>
2281 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme20')" id='sme20' href='/server-manager/cgi-bin/domains'>Domains</a></div>
2282 + <div class='menu-cell'><a class='item' target='main' onclick="swapClasses('sme21')" id='sme21' href='/server-manager/cgi-bin/emailsettings'>E-mail</a></div>
2283 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme22')" id='sme22' href='/server-manager2/clamav'>Antivirus (ClamAV)</a></div>
2284 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme23')" id='sme23' href='/server-manager2/review'>Review configuration</a></div>
2285 <div class='section'> Miscellaneous </div>
2286 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme25')" id='sme25' href='/server-manager2/support'>Support and licensing</a></div>
2287 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme26')" id='sme26' href='/server-manager2/starterwebsite'>Create starter web site</a></div>
2288 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme27')" id='sme27' href='/server-manager2/bugreport'>Report a bug</a></div>
2289 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme24')" id='sme24' href='/server-manager2/support'>Support and licensing</a></div>
2290 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme25')" id='sme25' href='/server-manager2/starterwebsite'>Create starter web site</a></div>
2291 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme26')" id='sme26' href='/server-manager2/bugreport'>Report a bug</a></div>
2292 <div class='section'> Unknown </div>
2293 - <div class='menu-cell'><a class='item' class=' accent' target='_self' onclick="swapClasses('sme28')" id='sme28' href='/server-manager2/wbl'>wbl</a></div>
2294 + <div class='menu-cell'><a class='item accent' target='_self' onclick="swapClasses('sme27')" id='sme27' href='/server-manager2/wbl'>wbl</a></div>
2295 </div>
2296 \ Pas de fin de ligne à la fin du fichier
2297 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep
2298 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep 2019-12-31 08:55:14.000000000 +0400
2299 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/partials/_prt_add.html.ep 2020-01-08 16:15:12.000000000 +0400
2300 @@ -35,7 +35,7 @@
2301 <!-- param 'location' => $prt_datas->{location} unless param 'location';
2302 -->
2303 </span><span class=data>
2304 - select_field 'location2' => %$loclist, class => 'input'
2305 + <!-- % = select_field 'location2' => %$loclist, class => 'input'-->
2306 </span>
2307 </p>
2308
2309 diff -urN smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep
2310 --- smeserver-manager-0.1.0.old/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep 1970-01-01 04:00:00.000000000 +0400
2311 +++ smeserver-manager-0.1.0/root/etc/e-smith/web/panels/manager2/cgi-bin/srvmngr/themes/default/templates/reboot.html.ep 2020-01-12 23:44:46.000000000 +0400
2312 @@ -0,0 +1,40 @@
2313 +% layout 'default', title => "Sme server 2 - reboot", share_dir => './';
2314 +
2315 +% content_for 'module' => begin
2316 +
2317 +<div id="module">
2318 +
2319 + %if ($config->{debug} == 1) {
2320 + <p>
2321 + (DBG)route: <%= $c->current_route %><br>
2322 + </p>
2323 + %}
2324 +
2325 + <h1><%= $title %></h1>
2326 + <br>
2327 +
2328 + %= $modul
2329 +
2330 + <% my $btn = l('PERFORM'); %>
2331 +
2332 + % $modul = $c->render_to_string(inline => $c->l('rbo_DESCRIPTION'));
2333 + %= $modul
2334 + <br>
2335 +
2336 + %= form_for 'reboot' => (method => 'POST') => begin
2337 + <p>
2338 + <span class=label>
2339 + %=l 'rbo_LABEL_REBOOT'
2340 + </span><span class=data>
2341 + %= select_field 'function' => [[ (l 'SHUTDOWN') => 'shutdown' ],[ (l 'rbo_REBOOT') => 'reboot' ],[ (l 'RECONFIGURE') => 'reconfigure' ]]
2342 + </span>
2343 + </p>
2344 +
2345 + %= submit_button "$btn", class => 'action'
2346 +
2347 + % end
2348 +
2349 + %= hidden_field 'debug' => '1'
2350 +
2351 +</div>
2352 +%end

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed