| Server IP : 104.21.93.65 / Your IP : 104.23.197.32 Web Server : Apache System : Linux server.localhost.com 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 User : pahana ( 1029) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/usermin/mailbox/ |
Upload File : |
#!/usr/bin/perl
# save_comp.cgi
# Create, modify or delete a composite folder
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %config);
require './mailbox-lib.pl';
&ReadParse();
my @folders = &list_folders();
my ($folder, $old);
if (!$in{'new'}) {
$folder = $folders[$in{'idx'}];
$old = { %$folder };
}
&error_setup($text{'save_err'});
if ($in{'delete'}) {
# Just delete this folder file
&delete_folder($old);
}
else {
# Validate inputs
$in{'name'} =~ /\S/ || &error($text{'save_ename'});
my %done;
my @subfolders;
for(my $i=0; defined(my $n = $in{"comp_$i"}); $i++) {
if ($n) {
$done{$n}++ && &error($text{'save_ecompsame'});
push(@subfolders, &find_named_folder($n, \@folders));
}
}
&parse_folder_options($folder, 0, \%in);
# Save the folder
$folder->{'type'} = 5;
$folder->{'name'} = $in{'name'};
$folder->{'subfolders'} = \@subfolders;
$folder->{'perpage'} = $in{'perpage_def'} ? undef : $in{'perpage'};
$folder->{'fromaddr'} = $in{'fromaddr_def'} ? undef : $in{'fromaddr'};
$folder->{'sent'} = $in{'sent'};
&save_folder($folder, $old);
}
&redirect(($config{'mail_system'} == 4 ? "list_ifolders.cgi"
: "list_folders.cgi").
"?refresh=".&urlize($folder->{'name'}));