/[smecontribs]/rpms/smeserver-webhosting/contribs10/smeserver-webhosting-0.0.9-bz11786_bz11787.patch
ViewVC logotype

Annotation of /rpms/smeserver-webhosting/contribs10/smeserver-webhosting-0.0.9-bz11786_bz11787.patch

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


Revision 1.1 - (hide annotations) (download)
Thu Dec 2 15:09:43 2021 UTC (3 years ago) by michel
Branch: MAIN
CVS Tags: smeserver-webhosting-0_0_9-15_el7_sme, smeserver-webhosting-0_0_9-19_el7_sme, smeserver-webhosting-0_0_9-14_el7_sme, smeserver-webhosting-0_0_9-17_el7_sme, smeserver-webhosting-0_0_9-18_el7_sme, smeserver-webhosting-0_0_9-16_el7_sme, HEAD
make: « clog » est à jour.

1 michel 1.1 diff -urN smeserver-webhosting-0.0.9.old/createlinks smeserver-webhosting-0.0.9/createlinks
2     --- smeserver-webhosting-0.0.9.old/createlinks 2021-12-01 22:52:01.000000000 +0400
3     +++ smeserver-webhosting-0.0.9/createlinks 2021-12-02 18:34:30.986000000 +0400
4     @@ -16,4 +16,8 @@
5     }
6     $event="smeserver-webhosting-update";
7     event_link("navigation-conf", $event, "70");
8     -
9     +# for smeserver-manager
10     +safe_symlink('restart', "root/etc/e-smith/events/$event/services2adjust/smanager");
11     +event_link('navigation2-conf', "$event", '80');
12     +event_link('routes2-conf', "$event", '80');
13     +event_link('locales2-conf', "$event", '80');
14     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/webhosting.pm smeserver-webhosting-0.0.9/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/webhosting.pm
15     --- smeserver-webhosting-0.0.9.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/webhosting.pm 2021-12-01 22:52:01.000000000 +0400
16     +++ smeserver-webhosting-0.0.9/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/webhosting.pm 2021-12-02 18:36:29.629000000 +0400
17     @@ -396,7 +396,7 @@
18     FileUpload => 'fileupload',
19     UploadMaxFilesize => 'uploadmaxfilesize',
20     PostMaxSize => 'postmaxsize',
21     - MaxExecTime => 'maxexecutiontime',
22     + MaxExecutionTime => 'maxexecutiontime',
23     MaxInputTime => 'maxinputtime',
24     AllowPHTML => 'allowphtml',
25     MailForceSender => 'mailforcesender',
26     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/smanager/lib/SrvMngr/Controller/Webhosting.pm smeserver-webhosting-0.0.9/root/usr/share/smanager/lib/SrvMngr/Controller/Webhosting.pm
27     --- smeserver-webhosting-0.0.9.old/root/usr/share/smanager/lib/SrvMngr/Controller/Webhosting.pm 1970-01-01 04:00:00.000000000 +0400
28     +++ smeserver-webhosting-0.0.9/root/usr/share/smanager/lib/SrvMngr/Controller/Webhosting.pm 2021-12-01 21:52:12.000000000 +0400
29     @@ -0,0 +1,407 @@
30     +package SrvMngr::Controller::Webhosting;
31     +
32     +#----------------------------------------------------------------------
33     +# heading : Collaboration
34     +# description : Webhosting
35     +# navigation : 2000 2500
36     +#
37     +# name : webhosting, method : get, url : /webhosting, ctlact : webhosting#main
38     +# name : webhostingu, method : post, url : /webhosting, ctlact : webhosting#do_action
39     +# name : webhostingr, method : get, url : /webhosting2, ctlact : webhosting#do_display
40     +#
41     +# routes : end
42     +#----------------------------------------------------------------------
43     +use strict;
44     +use warnings;
45     +use Mojo::Base 'Mojolicious::Controller';
46     +
47     +use Locale::gettext;
48     +use SrvMngr::I18N;
49     +use SrvMngr qw( theme_list init_session is_normal_password );
50     +
51     +use esmith::AccountsDB;
52     +use esmith::ConfigDB;
53     +use esmith::DomainsDB;
54     +use esmith::php;
55     +
56     +our $adb = esmith::AccountsDB->open() || die "Couldn't open accounts db";
57     +our $cdb = esmith::ConfigDB->open() || die "Couldn't open config db";
58     +
59     +#TODO those 3 variables should be exported from esmith::php
60     +our $defaultdisabledfunc='system,show_source,' .
61     + 'symlink,exec,dl,shell_exec,' .
62     + 'passthru,phpinfo,' .
63     + 'escapeshellarg,escapeshellcmd';
64     +
65     +our $BASEPHP = 54;
66     +
67     +our %defaultproperties = (
68     + MemoryLimit => '128M',
69     + MaxExecutionTime => '30',
70     + MaxInputTime => '60',
71     + AllowUrlFopen => 'disabled',
72     + PostMaxSize => '20M',
73     + UploadMaxFilesize => '10M',
74     + FileUpload => 'enabled',
75     + PHPBaseDir => '/home/e-smith/files/ibays/$key:/var/lib/php/$key',
76     + DisabledFunctions => $defaultdisabledfunc,
77     + MailForceSender => "admin@".$cdb->get_value('DomainName'),
78     + AllowPHTML => 'disabled',
79     +
80     + ModDav => "disabled",
81     + AllowOverride => "None",
82     + FollowSymLinks => "disabled",
83     + Indexes => "enabled",
84     + );
85     +
86     +# those are ok to be defined here and not in core.
87     +our %sizehash = ('20M' => 'S0020MB', '30M' => 'S0030MB', '40M' => 'S0040MB', '50M' => 'S0050MB',
88     + '75M' => 'S0075MB', '100M' => 'S0100MB', '125M' => 'S0125MB', '150M' => 'S0150MB', '175M' => 'S0175MB',
89     + '200M' => 'S0200MB', '300M' => 'S0300MB','400M' => 'S0400MB', '500M' => 'S0500MB', '600M' => 'S0600MB',
90     + '700M' => 'S0700MB', '800M' => 'S0800MB', '900M' => 'S0900MB', '1000M' => 'S1000MB', '1250M' => 'S1250MB',
91     + '1500M' => 'S1500MB', '1750M' => 'S1750MB', '1999M' => 'S2000MB');
92     +
93     +our %binary = ('disabled' => 'DISABLED', 'enabled' => 'ENABLED');
94     +
95     +our %timehash = ( '60' => 'T001m', '120' => 'T002m', '180' => 'T003m', '240' => 'T004m', '300' => 'T005m',
96     + '360' => 'T006m', '420' => 'T007m', '480' => 'T008m', '540' => 'T009m', '600' => 'T010m', '900' => 'T015m',
97     + '1800' => 'T030m', '2700' => 'T045m', '3600' => 'T060m', '7200' => 'T120m', '0' => 'UNLIMITED');
98     +
99     +our %optionsproperties =(
100     + MemoryLimit => {'64M' => 'M0064MB', '128M' => 'M0128MB',
101     + '256M' => 'M0256MB', '512M' => 'M0512MB', '768M' => 'M0768MB','1024M' => 'M1024MB'},
102     + MaxExecutionTime => {%timehash},
103     + MaxInputTime => {%timehash},
104     + AllowUrlFopen => {%binary},
105     + PostMaxSize => {%sizehash},
106     + UploadMaxFilesize => {%sizehash},
107     + FileUpload => {%binary},
108     + DisabledFunctions => $defaultdisabledfunc,
109     + AllowPHTML => {%binary},
110     + ModDav => {%binary},
111     + AllowOverride => { None =>'None' ,
112     + All => 'All',
113     + AuthConfig => 'AuthConfig',
114     + FileInfo => 'FileInfo',
115     + Indexes => 'Indexes',
116     + Limit => 'Limit',
117     + 'FileInfo Indexes' => 'FileInfo Indexes',
118     + },
119     + FollowSymLinks => {%binary},
120     + Indexes => {%binary},
121     +);
122     +
123     +sub main {
124     +
125     + my $c = shift;
126     + $c->app->log->info($c->log_req);
127     +
128     + my %wh_datas = ();
129     + my $title = $c->l('wh_FORM_TITLE');
130     +
131     + $wh_datas{'trt'} = 'LIST';
132     +
133     + my @ibays = $adb->ibays();
134     +
135     + $c->stash( title => $title, wh_datas => \%wh_datas, ibays => \@ibays );
136     + $c->render(template => 'webhosting');
137     +
138     +};
139     +
140     +
141     +sub do_display {
142     +
143     + my $c = shift;
144     + $c->app->log->info($c->log_req);
145     +
146     + my $rt = $c->current_route;
147     + my $trt = ($c->param('trt') || '');
148     + my $ibay = $c->param('ibay') || '';
149     +
150     + my %wh_datas = ();
151     + my $title = $c->l('wh_FORM_TITLE');
152     + my $modul = '';
153     +
154     + $wh_datas{'trt'} = $trt;
155     +
156     + if ( $trt eq 'UPD' ) {
157     +
158     + my $rec = $adb->get($ibay);
159     + if ($rec and $rec->prop('type') eq 'ibay') {
160     + $wh_datas{ibay} = $ibay;
161     + $wh_datas{description} = $rec->prop('Name');
162     + $wh_datas{indexes} = get_current_value($c, $ibay, 'Indexes');
163     + $wh_datas{followsymLinks} = get_current_value($c, $ibay, 'FollowSymLinks');
164     + $wh_datas{allowoverride} = get_current_value($c, $ibay, 'AllowOverride');
165     + $wh_datas{allowurlfopen} = get_current_value($c, $ibay, 'AllowUrlFopen');
166     + $wh_datas{memorylimit} = get_current_value($c, $ibay, 'MemoryLimit');
167     + $wh_datas{uploadmaxfilesize} = get_current_value($c, $ibay, 'UploadMaxFilesize');
168     + $wh_datas{postmaxsize} = get_current_value($c, $ibay, 'PostMaxSize');
169     + $wh_datas{maxexecutiontime} = get_current_value($c, $ibay, 'MaxExecutionTime');
170     + $wh_datas{maxinputtime} = get_current_value($c, $ibay, 'MaxInputTime');
171     + $wh_datas{fileupload} = get_current_value($c, $ibay, 'FileUpload');
172     + $wh_datas{allowphtml} = get_current_value($c, $ibay, 'AllowPHTML');
173     + $wh_datas{mailforcesender} = $rec->prop('MailForceSender');
174     + my $df = ($rec->prop('DisabledFunctions'))? $rec->prop('DisabledFunctions') : $defaultdisabledfunc;
175     + $wh_datas{disabledfunctions} = $df; # yes we want todo this one this way.
176     + $wh_datas{phpbasedir} = $rec->prop('PHPBaseDir'); # yes we keep this one simple
177     + $wh_datas{moddav} = get_current_value($c, $ibay, 'ModDav');
178     + $wh_datas{phpversion} = get_current_php_value($c, $ibay, 'PHPVersion');
179     + # we set phpversion using function called by cgi file
180     + }
181     +
182     + }
183     +
184     + if ( $trt eq 'LIST' ) {
185     + my @ibays = $adb->ibays();
186     + $c->stash( ibays => \@ibays );
187     + }
188     +
189     + $c->stash( title => $title, modul => $modul, wh_datas => \%wh_datas );
190     + $c->render( template => 'webhosting' );
191     +
192     +};
193     +
194     +
195     +sub do_action {
196     +
197     + my $c = shift;
198     + $c->app->log->info($c->log_req);
199     +
200     + my $rt = $c->current_route;
201     + my $trt = ($c->param('trt') || '');
202     +
203     + my %wh_datas = ();
204     + my $title = $c->l('wh_FORM_TITLE');
205     +
206     + $wh_datas{'trt'} = $trt;
207     +
208     + my $result = '';
209     + my $res;
210     +
211     +
212     + if ( $trt eq 'UPD' ) {
213     +
214     + my $name = ($c->param('ibay') || '');
215     +
216     + # controls
217     + $res = validate_up_post( $c );
218     + $result .= $res unless $res eq 'OK';
219     +
220     + if ( ! $result ) {
221     + $res = modify_ibay( $c, $name );
222     + $result .= $res unless $res eq 'OK';
223     + if ( ! $result ) {
224     + $result = $c->l('wh_SUCCESSFULLY_MODIFIED_IBAY') . ' ' . $name;
225     + $wh_datas{trt} = 'LST';
226     + }
227     + }
228     + }
229     +
230     +
231     + # common parts
232     +
233     + if ($res ne 'OK') {
234     + $c->stash( error => $result );
235     + $c->stash( title => $title, wh_datas => \%wh_datas );
236     + return $c->render('webhosting');
237     + }
238     +
239     + my $message = "'Ibays' updates ($trt) DONE";
240     + $c->app->log->info($message);
241     + $c->flash( success => $result );
242     +
243     + $c->redirect_to('/webhosting');
244     +};
245     +
246     +
247     +sub modify_ibay {
248     +
249     + my ($c, $name) = @_;
250     +
251     + my $msg;
252     + my $acct = $adb->get($name);
253     + if ( ! $acct or $acct->prop('type') ne 'ibay') {
254     + return $c->l('wh_CANT_FIND_IBAY') if $msg ne 'OK';
255     + }
256     +
257     + # real & current ibay
258     + my %doing=( Indexes => 'indexes',
259     + FollowSymLinks => 'followSymLinks',
260     + AllowOverride => 'allowOverride',
261     + ModDav => 'modDav',
262     + PHPVersion => 'phpVersion',
263     + AllowUrlFopen => 'allowUrlFopen',
264     + MemoryLimit => 'memorylimit',
265     + FileUpload => 'fileupload',
266     + UploadMaxFilesize => 'uploadmaxfilesize',
267     + PostMaxSize => 'postmaxsize',
268     + MaxExecutionTime => 'maxexecutiontime',
269     + MaxInputTime => 'maxinputtime',
270     + AllowPHTML => 'allowphtml',
271     + MailForceSender => 'mailforcesender',
272     + DisabledFunctions => 'disabledfunctions',
273     + PHPBaseDir => 'phpbasedir',
274     + );
275     + foreach my $prop (keys %doing) {
276     + my $value = $c->param($doing{$prop});
277     + $value = "" if ( $value eq "$BASEPHP" && $prop eq 'PHPVersion');
278     + my $default = $defaultproperties{$prop} || "";
279     + # exceptions to handle
280     + # DisabledFunctions if equal def delprop
281     + if ($prop eq 'DisabledFunctions' && $value eq $default) {
282     + $acct->delete_prop($prop) ;
283     + next;
284     + }
285     + # MailForceSender if empty delprop
286     + if ($prop eq 'MailForceSender' && $value eq "" ) {
287     + $acct->delete_prop($prop) ;
288     + next
289     + }
290     + # PHPBaseDir if empty delprop
291     + if ($prop eq 'PHPBaseDir' && $value eq "" ) {
292     + $acct->delete_prop($prop) ;
293     + next
294     + }
295     + # others if == default delprop
296     + if ($value eq "default") {
297     + $acct->delete_prop($prop) ;
298     + next;
299     + }
300     + $acct->merge_props($prop => $value);
301     + #TODO store them in a hash and call merge_props once
302     + }
303     +
304     + # Untaint $name before use in system()
305     + $name =~ /(.+)/; $name = $1;
306     + if (system ("/sbin/e-smith/signal-event", "webhosting-modify",
307     + $name) == 0)
308     + {
309     + $msg = 'OK';
310     + } else {
311     + $msg = $c->l('wh_ERROR_WHILE_MODIFYING_IBAY');
312     + }
313     +
314     + return $msg;
315     +
316     +}
317     +
318     +
319     +sub get_current_value{
320     + my ($c, $name, $property) = @_;
321     + my $ibay = $adb->get($name);
322     + my $key = $ibay->key;
323     + my $default = $defaultproperties{$property} || "";
324     + $default =~ s/\$key/$key/g if $property eq "PHPBaseDir";
325     + my $value = ($ibay->prop($property))? $ibay->prop($property) : "default" ;
326     + return $value;
327     +
328     +}
329     +
330     +
331     +=head2 validate_up_post
332     +
333     +verify that the upload_max_filesize value is not greater than the post_max_size value. If yes then display an error message.
334     +
335     +=cut
336     +
337     +sub validate_up_post{
338     +
339     + my $c = shift;
340     + my $upmaxfilesize = $c->param('uploadmaxfilesize');
341     + my $postmaxsizeform = $c->param('postmaxsize');
342     +##set value to "0M" if disabled in order to compare uploadmaxfilesize and postmaxsize
343     + $upmaxfilesize = "0M" if $upmaxfilesize eq 'disabled';
344     + $upmaxfilesize = $defaultproperties{'UploadMaxFilesize'} if $upmaxfilesize eq 'default';
345     + $postmaxsizeform = "0M" if $postmaxsizeform eq 'disabled';
346     + $postmaxsizeform =$defaultproperties{'PostMaxSize'} if $postmaxsizeform eq 'default';
347     +##remove the 'M' unit
348     + my $upmaxfilesizechop = chop($upmaxfilesize);
349     + my $postmaxsizeformchop = chop($postmaxsizeform);
350     +##test the condition
351     + if ( $upmaxfilesize > $postmaxsizeform ) {
352     + return $c->l('wh_UPLOADMAXFILESIZE_IS_GREATER_THAN_POSTMAXSIZE');
353     + } else {
354     + return "OK";
355     + }
356     +}
357     +
358     +
359     +sub get_current_php_value {
360     +
361     + my ($c, $name) = @_;
362     + my $ibay= $adb->get($name);
363     + return "default" unless defined $ibay->prop('PHPVersion');
364     + return VersionToUse($adb->get($name));
365     +
366     +}
367     +
368     +
369     +sub get_php_options {
370     +
371     + my ($c) = @_;
372     + my $translate = $c->l('wh_DEFAULT');
373     + my %opts= listPHPVersionHash();
374     + # transform options list
375     + my @opts = [ "$translate: ".PHPdefault(), 'default' ];
376     + foreach my $key ( sort keys %opts ) {
377     + push @opts, [ $opts{$key}, $key ];
378     + }
379     +# push @opts, [ "$translate: ".PHPdefault(), 'default' ];
380     +
381     + return \@opts;
382     +
383     +}
384     +
385     +
386     +sub print_options {
387     +
388     + my ($c, $property) = @_;
389     +
390     + my $translate = $c->l('wh_DEFAULT');
391     + my $name = $c->param('ibay');
392     + my $ibay = $adb->get($name);
393     + my $key = $ibay->key;
394     + my $default = $defaultproperties{$property} || "";
395     + $default =~ s/\$key/$key/g if $property eq "PHPBaseDir";
396     + $default=$c->l(uc("$default")) unless ($property eq 'AllowOverride');
397     +
398     + # transform options list
399     + my @opts;
400     + foreach my $key ( sort keys %{$optionsproperties{$property}} ) {
401     + push @opts, [ $c->l($optionsproperties{$property}{$key}), $key ];
402     + }
403     + push @opts, ["$translate: ".$default => 'default'];
404     +
405     + return \@opts
406     +
407     +}
408     +
409     +
410     +sub print_disabledfunctions {
411     +
412     + my ($c) = @_;
413     + my $translate = $c->l('wh_DESC_DISABLEDFUNCTIONS');
414     + my $name = $c->param('ibay');
415     + my $ibay= $adb->get($name); # ??
416     + return "$translate : ". $defaultdisabledfunc ;
417     +
418     +}
419     +
420     +
421     +sub print_phpbasedir {
422     +
423     + my ($c) = @_;
424     + my $translate = $c->l('wh_DESC_PHPBASEDIR');
425     + my $name = $c->param('ibay');
426     + my $ibay= $adb->get($name);
427     + my $key = $ibay->key;
428     + my $default = $defaultproperties{'PHPBaseDir'} ||'';
429     + $default =~ s/\$key/$key/g;
430     + my $basedir = ($ibay->prop('PHPBaseDir')) ? $ibay->prop('PHPBaseDir') : $defaultproperties{'PHPBaseDir'};
431     + return "$translate : ". $default ;
432     +
433     +}
434     +
435     +
436     +1
437     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Webhosting/webhosting_en.lex smeserver-webhosting-0.0.9/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Webhosting/webhosting_en.lex
438     --- smeserver-webhosting-0.0.9.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Webhosting/webhosting_en.lex 1970-01-01 04:00:00.000000000 +0400
439     +++ smeserver-webhosting-0.0.9/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Webhosting/webhosting_en.lex 2021-11-29 21:26:55.000000000 +0400
440     @@ -0,0 +1,80 @@
441     +'wh_FORM_TITLE' => 'Web Hosting Contrib',
442     +'wh_webhosting' => 'I-bays - Web Hosting',
443     +'wh_FIRSTPAGE_DESC' => 'Manage Apache and PHP settings',
444     +'wh_ADD_TITLE' => 'Modify Apache and PHP Settings.',
445     +'wh_NAME_FIELD_DESC' => 'These parameters will be effective only if the access from the web is allowed for the concerned I-bay in the informations bays panel.',
446     +'wh_NAME_LABEL' => 'Information bay name',
447     +'wh_NO_IBAYS' => 'There are no I-bays currently configured.',
448     +'wh_CANT_FIND_IBAY' => 'Can\'t find account for {$name} (does it exist?)',
449     +'wh_ERROR_WHILE_MODIFYING_IBAY' => 'An error occurred while modifying the I-bay.',
450     +'wh_SUCCESSFULLY_MODIFIED_IBAY' => 'Successfully modified I-bay.',
451     +'wh_VIRTUAL_HOST_MESSAGE' => 'The following virtual domains were using this information bay as their content and will be changed to the primary web site (you can change them to something else afterward).',
452     +'wh_VHOST_MESSAGE' => '<P>The following virtual domains were using this information bay as their content and will be changed to the primary web site (you can change them to something else afterward):</P><ul>{$vhostList}</ul>',
453     +'wh_Information bays' => 'Information bays',
454     +'wh_DESC_HTTP_SETTINGS' => 'The following settings control the access of this I-bay using the HTTP/HTTPS protocol.',
455     +'wh_DESC_PHP_SETTINGS' => 'The following settings control the PHP values of this I-bay.',
456     +'wh_INDEXES' => 'Allow directory listing (+Indexes)',
457     +'wh_FOLLOWSYMLINKS' => 'Follow symbolic links (FollowSymLinks)',
458     +'wh_ALLOWOVERRIDE' => 'Allow .htaccess policy (AllowOverride)',
459     +'wh_ALLOWURLFOPEN' => 'Allow access to remote files (Allow_url_fopen)',
460     +'wh_DEFAULT' => 'Default value',
461     +'M0064MB' => '64MB',
462     +'M0128MB' => '128MB',
463     +'M0256MB' => '256MB',
464     +'M0512MB' => '512MB',
465     +'M0768MB' => '768MB',
466     +'M1024MB' => '1024MB',
467     +'T001m' => '1 minute',
468     +'T002m' => '2 minutes',
469     +'T003m' => '3 minutes',
470     +'T004m' => '4 minutes',
471     +'T005m' => '5 minutes',
472     +'T006m' => '6 minutes',
473     +'T007m' => '7 minutes',
474     +'T008m' => '8 minutes',
475     +'T009m' => '9 minutes',
476     +'T010m' => '10 minutes',
477     +'T015m' => '15 minutes ',
478     +'T030m' => '30 minutes',
479     +'T045m' => '45 minutes',
480     +'T060m' => 'One hour',
481     +'T120m' => 'Two hours',
482     +'wh_UNLIMITED' => 'Unlimited',
483     +'S0020MB' => '20MB',
484     +'S0030MB' => '30MB',
485     +'S0040MB' => '40MB',
486     +'S0050MB' => '50MB',
487     +'S0075MB' => '75MB',
488     +'S0100MB' => '100MB',
489     +'S0125MB' => '125MB',
490     +'S0150MB' => '150MB',
491     +'S0175MB' => '175MB',
492     +'S0200MB' => '200MB',
493     +'S0300MB' => '300MB',
494     +'S0400MB' => '400MB',
495     +'S0500MB' => '500MB',
496     +'S0600MB' => '600MB',
497     +'S0700MB' => '700MB',
498     +'S0800MB' => '800MB',
499     +'S0900MB' => '900MB',
500     +'S1000MB' => '1000MB',
501     +'S1250MB' => '1250MB',
502     +'S1500MB' => '1500MB ',
503     +'S1750MB' => '1750MB',
504     +'S2000MB' => '2000MB',
505     +'wh_MEMORYLIMIT' => 'Php memory limit (memory_limit)',
506     +'wh_UPLOADMAXFILESIZE' => 'Maximum upload size (upload_max_filesize)',
507     +'wh_POSTMAXSIZE' => 'Maximum post size (post_max_size)',
508     +'wh_MAXEXECUTIONTIME' => 'Maximum execution time (max_execution_time)',
509     +'wh_UPLOADMAXFILESIZE_IS_GREATER_THAN_POSTMAXSIZE' => ' The maximum upload file size is greater than the maximum post size form ',
510     +'wh_PHPBASEDIR' => 'Enter Path(s) for PHP Scripts (PHPBasedir) ',
511     +'wh_DESC_PHPBASEDIR' => 'You must specify the full path to the I-bay or remove the content to get back to default value ',
512     +'wh_DESC_DAV_SETTINGS' => 'The following settings control the WebDav files transfer protocol of this I-bay.',
513     +'wh_ENABLE_MOD_DAV' => 'Allow WebDav',
514     +'wh_PHPVERSION' => 'Select the php-fpm version you want to use with this I-bay',
515     +'wh_FILEUPLOAD' => 'Whether or not to allow HTTP file uploads (file_upload)',
516     +'wh_MAXINPUTTIME' => 'Maximum time in seconds a script is allowed to parse input data (max_input_time)',
517     +'wh_ALLOWPHTML' => 'Allow parsing php code inside html, phtml, htm and xml files.',
518     +'wh_MAILFORCESENDER' => 'Force an email sender address for the script in this I-bay.',
519     +'wh_DISABLEDFUNCTIONS' => 'List of php disabled functions (disable_functions)',
520     +'wh_DESC_DISABLEDFUNCTIONS' => 'Leave empty or with a random string to disable. Copy and paste the following default list to reset to default',
521     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/partials/_wh_list.html.ep smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/partials/_wh_list.html.ep
522     --- smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/partials/_wh_list.html.ep 1970-01-01 04:00:00.000000000 +0400
523     +++ smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/partials/_wh_list.html.ep 2021-11-28 22:05:34.000000000 +0400
524     @@ -0,0 +1,45 @@
525     +<div id='wh_list'>
526     +
527     + <p>
528     + %=l 'wh_FIRSTPAGE_DESC'
529     + <br><br>
530     + </p>
531     +
532     + % my $numIbays = @$ibays;
533     + % if ($numIbays == 0){
534     + %=l 'wh_NO_IBAYS'
535     + % } else {
536     + <table class="sme-border"><tbody>
537     + <tr>
538     + <th class='sme-border'>
539     + %=l 'NAME'
540     + </th>
541     + <th class='sme-border'>
542     + %=l 'DESCRIPTION'
543     + </th>
544     + <th class='sme-border'>
545     + %=l 'ACTION'
546     + </th>
547     + </tr>
548     + % foreach my $ibay (@$ibays)
549     + % {
550     + % my $modifiable = $ibay->prop('Modifiable') || 'yes';
551     + <tr>
552     + %= t td => (class => 'sme-border') => $ibay->key
553     + %= t td => (class => 'sme-border') => $ibay->prop('Name')
554     + % my $actionModify = '&nbsp;';
555     + % if ($modifiable eq 'yes') {
556     + % $actionModify = "<a href='webhosting2?CsrfDef=TOKEN&trt=UPD&ibay=" . $ibay->key . "'>" . l('MODIFY') . "</a>";
557     + % }
558     + <td class='sme-border'><%= $c->render_to_string(inline => $actionModify) %></td>
559     +
560     + </tr>
561     + % }
562     + </tbody>
563     + </table>
564     +
565     + <%} %>
566     +
567     + %= hidden_field 'trt' => $wh_datas->{trt}
568     +
569     +</div>
570     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/partials/_wh_upd.html.ep smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/partials/_wh_upd.html.ep
571     --- smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/partials/_wh_upd.html.ep 1970-01-01 04:00:00.000000000 +0400
572     +++ smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/partials/_wh_upd.html.ep 2021-12-01 21:50:47.000000000 +0400
573     @@ -0,0 +1,149 @@
574     +<div id='wh_upd'>
575     +
576     + %= form_for '/webhosting' => (method => 'POST') => begin
577     + <p>
578     + <h2>
579     + %=l 'wh_ADD_TITLE'
580     + </h2>
581     + <br>
582     + %=l 'wh_NAME_FIELD_DESC'
583     + </p>
584     +
585     + <p>
586     + <span class=label>
587     + %=l 'wh_NAME_LABEL', class => 'label'
588     + </span><span class=data>
589     + %= $wh_datas->{ibay}, class => 'data'
590     + </span>
591     + </p>
592     +
593     + <p><span class=label>
594     + %=l 'wh_INDEXES'
595     + </span><span class=data>
596     + % param 'indexes' => $wh_datas->{indexes} unless param 'indexes';
597     + %= select_field 'indexes' => $c->print_options('Indexes'), class => 'input'
598     + <br></span></p>
599     +
600     + <p><span class=label>
601     + %=l 'wh_FOLLOWSYMLINKS'
602     + </span><span class=data>
603     + % param 'followSymLinks' => $wh_datas->{followsymLinks} unless param 'followSymLinks';
604     + %= select_field 'followSymLinks' => $c->print_options('FollowSymLinks'), class => 'input'
605     + <br></span></p>
606     +
607     + <p><span class=label>
608     + %=l 'wh_ALLOWOVERRIDE'
609     + </span><span class=data>
610     + % param 'allowOverride' => $wh_datas->{allowoverride} unless param 'allowOverride';
611     + %= select_field 'allowOverride' => $c->print_options('AllowOverride'), class => 'input'
612     + <br></span></p>
613     +
614     + <p><%=l 'wh_DESC_DAV_SETTINGS', class => 'label'%></p>
615     +
616     + <p><span class=label>
617     + %=l 'wh_ENABLE_MOD_DAV'
618     + </span><span class=data>
619     + % param 'modDav' => $wh_datas->{moddav} unless param 'modDav';
620     + %= select_field 'modDav' => $c->print_options('ModDav'), class => 'input'
621     + <br></span></p>
622     +
623     + <p><%=l 'wh_DESC_PHP_SETTINGS', class => 'label'%></p>
624     +
625     + <p><span class=label>
626     + %=l 'wh_PHPVERSION'
627     + </span><span class=data>
628     + % param 'phpVersion' => $wh_datas->{phpversion} unless param 'phpVersion';
629     + %= select_field 'phpVersion' => $c->get_php_options(), class => 'input'
630     + <br></span></p>
631     +
632     + <p><span class=label>
633     + %=l 'wh_ALLOWURLFOPEN'
634     + </span><span class=data>
635     + % param 'allowUrlFopen' => $wh_datas->{allowurlfopen} unless param 'allowUrlFopen';
636     + %= select_field 'allowUrlFopen' => $c->print_options('AllowUrlFopen'), class => 'input'
637     + <br></span></p>
638     +
639     + <p><span class=label>
640     + %=l 'wh_MEMORYLIMIT'
641     + </span><span class=data>
642     + % param 'memorylimit' => $wh_datas->{memorylimit} unless param 'memorylimit';
643     + %= select_field 'memorylimit' => $c->print_options('MemoryLimit'), class => 'input'
644     + <br></span></p>
645     +
646     + <p><span class=label>
647     + %=l 'wh_FILEUPLOAD'
648     + </span><span class=data>
649     + % param 'fileupload' => $wh_datas->{fileupload} unless param 'fileupload';
650     + %= select_field 'fileupload' => $c->print_options('FileUpload'), class => 'input'
651     + <br></span></p>
652     +
653     + <p><span class=label>
654     + %=l 'wh_UPLOADMAXFILESIZE'
655     + </span><span class=data>
656     + % param 'uploadmaxfilesize' => $wh_datas->{uploadmaxfilesize} unless param 'uploadmaxfilesize';
657     + %= select_field 'uploadmaxfilesize' => $c->print_options('UploadMaxFilesize'), class => 'input'
658     + <br></span></p>
659     +
660     + <p><span class=label>
661     + %=l 'wh_POSTMAXSIZE'
662     + </span><span class=data>
663     + % param 'postmaxsize' => $wh_datas->{postmaxsize} unless param 'postmaxsize';
664     + %= select_field 'postmaxsize' => $c->print_options('PostMaxSize'), class => 'input'
665     + <br></span></p>
666     +
667     + <p><span class=label>
668     + %=l 'wh_MAXEXECUTIONTIME'
669     + </span><span class=data>
670     + % param 'maxexecutiontime' => $wh_datas->{maxexecutiontime} unless param 'maxexecutiontime';
671     + %= select_field 'maxexecutiontime' => $c->print_options('MaxExecutionTime'), class => 'input'
672     + <br></span></p>
673     +
674     + <p><span class=label>
675     + %=l 'wh_MAXINPUTTIME'
676     + </span><span class=data>
677     + % param 'maxinputtime' => $wh_datas->{maxinputtime} unless param 'maxinputtime';
678     + %= select_field 'maxinputtime' => $c->print_options('MaxInputTime'), class => 'input'
679     + <br></span></p>
680     +
681     + <p><span class=label>
682     + %=l 'wh_ALLOWPHTML'
683     + </span><span class=data>
684     + % param 'allowphtml' => $wh_datas->{allowphtml} unless param 'allowphtml';
685     + %= select_field 'allowphtml' => $c->print_options('AllowPHTML'), class => 'input'
686     + <br></span></p>
687     +
688     + <p><span class=label>
689     + %=l 'wh_MAILFORCESENDER'
690     + </span><span class=data>
691     + % param 'mailforcesender' => $wh_datas->{mailforcesender} unless param 'mailforcesender';
692     + %=text_field 'mailforcesender' => size => '60', class => 'input'
693     + <br></span></p>
694     +
695     + <p><span class=label>
696     + %=l 'wh_DISABLEDFUNCTIONS'
697     + </span><span class=data>
698     + % param 'disabledfunctions' => $wh_datas->{disabledfunctions} unless param 'disabledfunctions';
699     + %=text_field 'disabledfunctions' => size => '60', class => 'input'
700     + <br></span></p>
701     +
702     + <p><%= $c->print_disabledfunctions() %></p>
703     +
704     + <p><span class=label>
705     + %=l 'wh_PHPBASEDIR'
706     + </span><span class=data>
707     + % param 'phpbasedir' => $wh_datas->{phpbasedir} unless param 'phpbasedir';
708     + %=text_field 'phpbasedir' => size => '60', class => 'input'
709     + <br></span></p>
710     +
711     + <p><%= $c->print_phpbasedir() %></p>
712     +
713     + <div class='center'>
714     + %= submit_button l('SAVE'), class => 'action'
715     + </div>
716     +
717     + %= hidden_field 'trt' => $wh_datas->{trt}
718     + %= hidden_field 'ibay' => $wh_datas->{ibay}
719     +
720     + % end
721     +
722     +</div>
723     diff -urN smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/webhosting.html.ep smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/webhosting.html.ep
724     --- smeserver-webhosting-0.0.9.old/root/usr/share/smanager/themes/default/templates/webhosting.html.ep 1970-01-01 04:00:00.000000000 +0400
725     +++ smeserver-webhosting-0.0.9/root/usr/share/smanager/themes/default/templates/webhosting.html.ep 2021-11-28 22:14:28.000000000 +0400
726     @@ -0,0 +1,33 @@
727     +% layout 'default', title => "Sme server 2 - webhosting";
728     +
729     +% content_for 'module' => begin
730     +<div id="module">
731     +
732     + % if ($config->{debug} == 1) {
733     + <p>
734     + %= dumper $c->current_route
735     + %= dumper $wh_datas
736     + </p>
737     + % }
738     +
739     + % if ( stash 'error' ) {
740     + <br><div class=sme-error>
741     + %= $c->render_to_string(inline => stash 'error')
742     + </div>
743     + %}
744     +
745     + <h1><%= $title%></h1>
746     +
747     + % if ( stash 'modul' ) {
748     + %= $c->render_to_string(inline => stash 'modul' );
749     + % }
750     +
751     + % if ($wh_datas->{trt} eq 'UPD') {
752     + %= include 'partials/_wh_upd'
753     + %} else {
754     + %= include 'partials/_wh_list'
755     + %}
756     +
757     +</div>
758     +%end
759     +

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