!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/usermin/mailbox/   drwxr-xr-x
Free 26 GB of 117.98 GB (22.04%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     auto.pl (1.94 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# Scan through all folders, and apply the scheduled deletion policy for each
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';

our $no_acl_check++;
$ENV{'REMOTE_USER'} = getpwuid($<);
require './mailbox-lib.pl';
my @folders = &list_folders();

&open_read_hash();        # hack to force correct DBM mode

foreach my $f (@folders) {
    # Skip folders for which clearing isn't active
    next if ($f->{'nowrite'});
    my $auto = &get_auto_schedule($f);
    next if (!$auto || !$auto->{'enabled'});

    my @delmails;
    my $headersonly = $auto->{'all'} == 2 ? 0 : 1;
    if ($auto->{'mode'} == 0) {
        # Find messages that are too old
        my @mails = &mailbox_list_mails(undef, undef, $f, $headersonly);
        my $cutoff = time() - $auto->{'days'}*24*60*60;
        my $future = time() + 7*24*60*60;
        foreach my $m (@mails) {
            my $time = &parse_mail_date($m->{'header'}->{'date'});
            $time ||= $m->{'time'};
            if ($time && $time < $cutoff ||
                !$time && $auto->{'invalid'} ||
                $time > $future && $auto->{'invalid'}) {
                push(@delmails, $m);
                }
            }
        }
    else {
        # Cut folder down to size, by deleting oldest first
        my $size = &folder_size($f);
        my @mails = &mailbox_list_mails(undef, undef, $f, $headersonly);
        while($size > $auto->{'size'}) {
            last if (!@mails);    # empty!
            my $oldmail = shift(@mails);
            push(@delmails, $oldmail);
            $size -= $oldmail->{'size'};
            }
        }

    my $dest;
    if (@delmails) {
        if ($auto->{'all'} == 1) {
            # Clear the whole folder
            &mailbox_empty_folder($f);
            }
        elsif ($auto->{'all'} == 0) {
            # Just delete mails that are over the limit
            &mailbox_delete_mail($f, reverse(@delmails));
            }
        elsif ($auto->{'all'} == 2) {
            # Move to another folder
            ($dest) = grep { &folder_name($_) eq $auto->{'dest'} }
                       @folders;
            if (!$dest) {
                print STDERR "destination folder ".
                        "$auto->{'dest'} does not exist!\n";
                next;
                }
            &mailbox_move_mail($f, $dest, reverse(@delmails));
            }
        }
    }

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]--