| Server IP : 104.21.93.65 / Your IP : 104.23.243.51 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
# For each message in each folder that has been marked as special, add it to
# the Special folder
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './mailbox-lib.pl';
my $special = &get_special_folder();
$special || &error("Special folder not found!?");
my %mems = map { &folder_name($_->[0])."/".$_->[1], 1 } @{$special->{'members'}};
# For each message in each folder which is marked as special, check if it is
# already in the special folder
my @add;
foreach my $folder (&list_folders()) {
next if ($folder eq $special);
my @mails;
eval {
no warnings "once";
$main::error_must_die = 1;
use warnings "once";
@mails = &mailbox_list_mails(undef, undef, $folder, 0);
};
next if ($@);
foreach my $mail (@mails) {
my $read = &get_mail_read($folder, $mail);
if ($read & 2) {
my ($realfolder, $realid) = &get_underlying_folder(
$folder, $mail);
my $key = &folder_name($realfolder)."/".$realid;
if (!$mems{$key}) {
push(@add, [ $realfolder, $realid ]);
}
}
}
}
# Add any that are missing
if (@add) {
push(@{$special->{'members'}}, @add);
&save_folder($special, $special);
}
&redirect("index.cgi?id=".&urlize($special->{'id'}));