!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/libexec/webmin/authentic-theme/extensions/mail/   drwxr-xr-x
Free 3.68 GB of 27.03 GB (13.61%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     mail.cgi (7.25 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl

#
# Authentic Theme (https://github.com/authentic-theme/authentic-theme)
# Copyright Ilia Rostovtsev <programming@rostovtsev.ru>
# Licensed under MIT (https://github.com/authentic-theme/authentic-theme/blob/master/LICENSE)
#
use strict;
use warnings;
use File::Basename;
use lib (dirname(__FILE__) . '/../../lib');

our (%text, %in, %userconfig, %config, $special_folder_id);

require(dirname(__FILE__) . '/mail-lib.pm');

my %mails;

open_dsn_hash();

# Get all available folders
my @folders = list_folders_sorted();

# Get current folder
if (defined($in{'id'})) {
    my $id = find_named_folder($in{'id'}, \@folders);
    if ($id) {
        $in{'folder'} = $id->{'index'};
    }
} elsif (!defined($in{'folder'}) && $userconfig{'default_folder'}) {
    my $df = find_named_folder($userconfig{'default_folder'}, \@folders);
    if ($df) {
        $in{'folder'} = $df->{'index'};
    }

}
my ($folder) = grep {$_->{'index'} == $in{'folder'}} @folders;

# Check mail quota
my ($qtotal, $qcount, $totalquota, $countquota) = get_user_quota();
if ($totalquota) {
    $mails{'quota'} = text('mail_quota', nice_size($qtotal), nice_size($totalquota));
}

# Work out start from jump page
my $perpage = $folder->{'perpage'} || $userconfig{'perpage'} || 20;
$mails{'perpage'} = $perpage;

if ($in{'jump'} =~ /^\d+$/ && $in{'jump'} > 0) {
    $in{'start'} = ($in{'jump'} - 1) * $perpage;
}

# Get email to show, in order
my @error;
my @mail = mailbox_list_mails_sorted(int($in{'start'}), int($in{'start'}) + $perpage - 1,
                                     $folder, !$userconfig{'show_body'}, \@error);
if ($in{'start'} >= @mail && $in{'jump'}) {
    $in{'start'} = @mail - $perpage;
    @mail = mailbox_list_mails_sorted(int($in{'start'}), int($in{'start'}) + $perpage - 1,
                                      $folder, !$userconfig{'show_body'}, \@error);
}

# Refresh timeout
$mails{'refresh'} = $userconfig{'refresh'} || 5;

#Folder id
$mails{'folder_id'} = ($folder->{'id'} || $folder->{'file'});

# Folder breadcrumb
my @folders_breadcrumb = split(/\./, $mails{'folder_id'});
$mails{'folder_breadcrumb'} = \@folders_breadcrumb;

# Folder title
$mails{'folder_title'} = $folder->{'name'};

# Folder name
$mails{'folder_name'} = $folders_breadcrumb[-1];

# Folders select
my $folders_select = folders_select(\@folders, $folder);
$mails{'folders_select'} = $folders_select;

# Pagination arrows
my $link    = "index.cgi?folder=" . $in{'folder'};
my $initial = @mail - $in{'start'} - $perpage + 1;

$mails{'pagination_arrow_left'} = $in{'start'} ? $link . "&start=" . ($in{'start'} - $perpage) : undef;
$mails{'pagination_arrow_right'} = $in{'start'} + $perpage < @mail ? $link . "&start=" . ($in{'start'} + $perpage) : undef;
$mails{'pagination_arrow_first'} = $in{'start'} ? $link . "&start=0" : undef;
$mails{'pagination_arrow_last'} =
  $in{'start'} + $perpage < @mail ? $link . "&start=" . (int((scalar(@mail) - $perpage - 1) / $perpage + 1) * $perpage) :
  undef;
$mails{'pagination_message'} =
  @mail ?
  text('extensions_mail_current_position',
       $initial < 1 ? 1 : $initial,
       (@mail - $in{'start'}),
       scalar(@mail), $folders_select) :
  text('mail_none', $folders_select);

# Work out displayed range
my $start = int($in{'start'});
my $end   = $in{'start'} + $perpage - 1;
if ($end >= scalar(@mail)) {
    $end = scalar(@mail) - 1;
}

$mails{'pagination_start'} = $start;
$mails{'pagination_end'}   = $end;

# Buttons for managing mail
my $form_list_buttons;
if (@mail) {
    my $folders_count   = scalar(@folders);
    my $can_report_spam = (can_report_spam($folder) && $userconfig{'spam_buttons'} =~ /list/ || $folder->{'spam'} ? 1 : 0);
    my $can_report_ham  = (can_report_ham($folder) && $userconfig{'ham_buttons'} =~ /list/ || $folder->{'spam'} ? 1 : 0);

    $form_list_buttons = {
                 'submit' => {
                     'new'     => [$text{'mail_compose'}, $userconfig{'open_mode'}],
                     'forward' => [$text{'mail_forward'}, $userconfig{'open_mode'}],
                     'unread'  => [$text{'view_markas0'}],
                     'read'    => [$text{'view_markas1'}],
                     'special' => [$text{'view_markas2'}],
                     'delete'  => [$text{'mail_delete'}],
                     'copy1'   => [$text{'mail_copy'},    $folders_count],
                     'move1'   => [$text{'mail_move'},    $folders_count],
                     'black'   => [$text{'mail_black'},   $can_report_spam],
                     'razor' => [$userconfig{'spam_del'} ? $text{'view_razordel'} : $text{'view_razor'}, $can_report_spam],
                     'white' => [$userconfig{'white_move'} ? $text{'mail_whitemove'} : $text{'mail_white'}, $can_report_ham],
                     'ham'   => [$userconfig{'ham_move'}   ? $text{'view_hammove'}   : $text{'view_ham'},   $can_report_ham],
                     'new' => [$text{'mail_black'}, $can_report_spam],
                 },
                 'select' => {
                         'all'     => select_all_link("d", 1),
                         'invert'  => select_invert_link("d", 1),
                         'read'    => select_status_link("d", 1, $folder, \@mail, $start, $end, 1, $text{'mail_selread'}),
                         'unread'  => select_status_link("d", 1, $folder, \@mail, $start, $end, 0, $text{'mail_selunread'}),
                         'special' => select_status_link("d", 1, $folder, \@mail, $start, $end, 2, $text{'mail_selspecial'}),
                 } };
}

# Form for managing mail
$mails{'form_list'} = {
              'target' => 'delete_mail.cgi',
              ('hidden' => { 'folder' => $folder->{'index'}, 'mod' => modification_time($folder), 'start' => $in{'start'} }),
              'buttons' => $form_list_buttons };

# Assign errors
if (@error) {
    $mails{'error'} = text('mail_err', $error[0] == 0 ? $error[1] : text('save_elogin', $error[1]));
}

# Mail list sorter
my ($sorted) = get_sort_field($folder);
my $showfrom = $folder->{'show_from'};
my $list_sort_from;
if ($showfrom) {
    $list_sort_from = field_sort_link($text{'extensions_mail_sort_by_sender'}, "from", $folder, $in{'start'});
}
my $showto = $folder->{'show_to'};
my $list_sort_to;
if ($showto) {
    $list_sort_to = field_sort_link($text{'extensions_mail_sort_by_recipient'}, "to", $folder, $in{'start'});
}
my $list_sort_spam;
if ($folder->{'spam'}) {
    $list_sort_spam = field_sort_link($text{'extensions_mail_sort_by_spam'}, "x-spam-status", $folder, $in{'start'});
}

# Mail list content
my $list_mails;
if (@mail) {
    my $type = 0;
    $list_mails = messages_list($start, $end, $showfrom, $showto, $folder, $type, @mail);
}

$mails{'list'} = {
    'sort' => {
        'from'    => $list_sort_from,
        'to'      => $list_sort_to,
        'date'    => field_sort_link($text{'extensions_mail_sort_by_date'}, "date", $folder, $in{'start'}),
        'size'    => field_sort_link($text{'extensions_mail_sort_by_size'}, "size", $folder, $in{'start'}),
        'spam'    => $list_sort_spam,
        'subject' => field_sort_link($text{'extensions_mail_sort_by_subject'}, "subject", $folder, $in{'start'}),

    },
    'mails'  => $list_mails,
    'sorted' => ($sorted ? "<a href='sort.cgi?folder=$folder->{'index'}&start=$start'>$text{'mail_nosort'}</a>" :
                   "$text{'mail_nosort'}"
    ) };

save_last_folder_id($folder);
pop3_logout();

get_json(\%mails);

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0033 ]--