!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/OLD_WP/wp-content/plugins/wordfence/lib/   drwxr-xr-x
Free 180.68 GB of 490.84 GB (36.81%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     wfAdminNoticeQueue.php (4.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class wfAdminNoticeQueue {
    protected static function 
_notices() {
        return 
wfConfig::get_ser('adminNoticeQueue', array());
    }
    
    protected static function 
_setNotices($notices) {
        
wfConfig::set_ser('adminNoticeQueue'$notices);
    }
    
    
/**
     * Adds an admin notice to the display queue.
     * 
     * @param string $severity
     * @param string $messageHTML
     * @param bool|string $category If not false, notices with the same category will be removed prior to adding this one.
     * @param bool|array $users If not false, an array of user IDs the notice should show for.
     */
    
public static function addAdminNotice($severity$messageHTML$category false$users false) {
        
$notices self::_notices();
        foreach (
$notices as $id => $n) {
            
$usersMatches false;
            if (isset(
$n['users'])) {
                
$usersMatches wfUtils::sets_equal($n['users'], $users);
            }
            else if (
$users === false) {
                
$usersMatches true;
            }
            
            
$categoryMatches false;
            if (
$category !== false && isset($n['category']) && $n['category'] == $category) {
                
$categoryMatches true;
            }
            
            if (
$usersMatches && $categoryMatches) {
                unset(
$notices[$id]);
            }
        }
        
        
$id wfUtils::uuid();
        
$notices[$id] = array(
            
'severity' => $severity,
            
'messageHTML' => $messageHTML,
        );
        
        if (
$category !== false) {
            
$notices[$id]['category'] = $category;
        }
        
        if (
$users !== false) {
            
$notices[$id]['users'] = $users;
        }
        
        
self::_setNotices($notices);
    }
    
    
/**
     * Removes an admin notice using one of three possible search methods:
     * 
     *     1. If $id matches. $category and $users are ignored
     *     2. If $category matches. $users must be false for this.
     *     3. If $category matches and the notice's user IDs matches $users.
     * 
     * @param bool|int $id
     * @param bool|string $category
     * @param bool|int[] $users
     */
    
public static function removeAdminNotice($id false$category false$users false) {
        if (
$id === false && $category === false && $users === false) {
            return;
        }
        else if (
$id !== false) {
            
$category false;
            
$users false;
        }
        
        
$notices self::_notices();
        foreach (
$notices as $nid => $n) {
            if (
$id == $nid) { //ID match
                
unset($notices[$nid]);
                break;
            }
            else if (
$id !== false) {
                continue;
            }
            
            if (
$category !== false && isset($n['category']) && $category == $n['category']) {
                if (
$users !== false) {
                    if (isset(
$n['users']) && wfUtils::sets_equal($users$n['users'])) {
                        unset(
$notices[$nid]);
                    }
                }
                else {
                    unset(
$notices[$nid]);
                }
            }
        }
        
self::_setNotices($notices);
    }
    
    public static function 
hasNotice($category false$users false) {
        
$notices self::_notices();
        foreach (
$notices as $nid => $n) {
            
$categoryMatches false;
            if ((
$category === false && !isset($n['category'])) || ($category !== false && isset($n['category']) && $category == $n['category'])) {
                
$categoryMatches true;
            }
            
            
$usersMatches false;
            if ((
$users === false && !isset($n['users'])) || ($users !== false && isset($n['users']) && wfUtils::sets_equal($users$n['users']))) {
                
$usersMatches true;
            }
            
            if (
$categoryMatches && $usersMatches) {
                return 
true;
            }
        }
        return 
false;
    }
    
    public static function 
enqueueAdminNotices() {
        
$user wp_get_current_user();
        if (
$user->ID == 0) {
            return 
false;
        }
        
        
$networkAdmin is_multisite() && is_network_admin();
        
$notices self::_notices();
        
$added false;
        foreach (
$notices as $nid => $n) {
            if (isset(
$n['users']) && array_search($user->ID$n['users']) === false) {
                continue;
            }
            
            
$notice = new wfAdminNotice($nid$n['severity'], $n['messageHTML']);
            if (
$networkAdmin) {
                
add_action('network_admin_notices', array($notice'displayNotice'));
            }
            else {
                
add_action('admin_notices', array($notice'displayNotice'));
            }
            
            
$added true;
        }
        
        return 
$added;
    }
}

class 
wfAdminNotice {
    const 
SEVERITY_CRITICAL 'critical';
    const 
SEVERITY_WARNING 'warning';
    const 
SEVERITY_INFO 'info';
    
    private 
$_id;
    private 
$_severity;
    private 
$_messageHTML;
    
    public function 
__construct($id$severity$messageHTML) {
        
$this->_id $id;
        
$this->_severity $severity;
        
$this->_messageHTML $messageHTML;
    }
    
    public function 
displayNotice() {
        
$severityClass 'notice-info';
        if (
$this->_severity == self::SEVERITY_CRITICAL) {
            
$severityClass 'notice-error';
        }
        else if (
$this->_severity == self::SEVERITY_WARNING) {
            
$severityClass 'notice-warning';
        }
        
        echo 
'<div class="wf-admin-notice notice ' $severityClass '" data-notice-id="' esc_attr($this->_id) . '"><p>' $this->_messageHTML '</p><p>' sprintf(__('<a class="wf-btn wf-btn-default wf-btn-sm wf-dismiss-link" href="#" onclick="wordfenceExt.dismissAdminNotice(\'%s\'); return false;">Dismiss</a>''wordfence'), esc_attr($this->_id)) . '</p></div>';
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0065 ]--