File manager - Edit - /usr/local/cpanel/base/frontend/jupiter/cpguard/index.live.php
Back
<?php include_once __DIR__ . '/includes/init.php'; include_once __DIR__ . "/classes/language.class.php"; include_once __DIR__ . "/classes/api.class.php"; $api = new Api($current_user); try { $data = $api->request('config', []); } catch (Exception $e) { api_error($e->getMessage()); exit(); } $user_mscan_switch = $data['user_mscan_switch']; $lang = new Language('general'); if (!$user_mscan_switch && isset($_GET['manual_scan'])) { $root_url = is_cpanel() ? (isset($_GET['iframe']) ? '?iframe=yes&' : '?') : (isset($_GET['iframe']) ? '?iframe=yes&page=' : '?page='); header("Location: $root_url"); exit; } if (isset($_GET['page'])) { $_GET[$_GET['page']] = ''; } if (is_cpanel()) { print $cpanel->header(); // Add the header ?> <script> var ajax_url = 'ajax.live.php?script='; var file_url = 'ajax.live.php?file='; </script> <?php } else if (is_directadmin()) { ?> <link href="<?php assets_url(); ?>/css/bootstrap.min.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/fontawesome/css/all.min.css" rel="stylesheet"> <script> var ajax_url = 'cpguard/index.raw?script='; var file_url = 'cpguard/index.raw?file='; </script> <?php } else if (is_webuzo()) { ?> <link href="<?php assets_url(); ?>/css/bootstrap.min.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/fontawesome/css/all.min.css" rel="stylesheet"> <script> var ajax_url = '<?php ajax_url(true); ?>'; var file_url = '<?php file_url(true); ?>'; </script> <?php } ?> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script>var assets_url = '<?php assets_url(); ?>'; </script> <link href="<?php assets_url(); ?>/plugins/line-awesome/css/line-awesome.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/DataTables/datatables.min.css" rel="stylesheet" type="text/css" /> <link href="<?php assets_url(); ?>/plugins/selectize.js/css/selectize.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css?v1" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/toastr/toastr.min.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/plugins/morris.js/morris.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/css/style.css" rel="stylesheet"> <link href="<?php assets_url(); ?>/css/dashboard.css" rel="stylesheet"> <script src="<?php assets_url(); ?>/js/jquery-3.4.1.min.js" type="text/javascript"></script> <script> var cjQ = jQuery.noConflict(); //jQuery no conflict for cPGuard var dataTableErrorRep = { "empty": "<?php $lang->_('table.empty'); ?>", }; </script> <script src="<?php assets_url(); ?>/plugins/DataTables/datatables.min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/plugins/selectize.js/js/selectize.min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/plugins/toastr/toastr.min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/plugins/morris.js/raphael-min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/plugins/morris.js/morris.min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/plugins/jQuery-slimScroll-1.3.8/jquery.slimscroll.min.js" type="text/javascript"></script> <!--<script src="<?php assets_url(); ?>/plugins/timeago/jquery.timeago.js" type="text/javascript" ></script>--> <!--<script src="<?php assets_url(); ?>/plugins/ace/src-min-noconflict/ace.js" type="text/javascript" ></script>--> <script src="<?php assets_url(); ?>/js/dataTables.checkboxes.min.js" type="text/javascript"></script> <script src="<?php assets_url(); ?>/js/script.js" type="text/javascript"></script> <div class="cpguard-container theme-<?php echo $theme_style; ?>"> <div class="cpguard-header"> <div class="row"> <div class="col-xs-6 col-sm-3 cpguard-title"> <?php if (file_exists(__DIR__ . '/branding/header.html')) { include_once(__DIR__ . '/branding/header.html'); } else { ?> <script> document.appName = 'cPGuard'; document.appTitle = '<?php $lang->_('page.title'); ?>'; </script> <img alt="cPGuard" src="<?php assets_url(); ?>/img/logo.svg" style="margin-left:-5px" /> <?php } ?> <script> document.title = document.appTitle;</script> </div> <div class="col-xs-6 col-sm-9 menu-container"> <nav class="navbar pull-right"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-bs-toggle="collapse" data-bs-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse"> <?php $is_home = !(isset($_GET['manual_scan']) || isset($_GET['scanner_logs']) || isset($_GET['cms_threats']) || isset($_GET['scanner_logs']) || isset($_GET['waf']) || isset($_GET['bot-attacks'])); ?> <ul class="nav navbar-nav"> <li class="<?php echo $is_home ? 'active' : ''; ?>"><a href="<?php route_url(); ?>"><?php $lang->_('menu.dashboard'); ?></a></li> <?php if ($user_mscan_switch) { ?> <li class="virus-menu dropdown <?php echo isset($_GET['manual_scan']) || isset($_GET['scanner_logs']) ? 'active' : ''; ?>"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php $lang->_('menu.virus_scanner'); ?> <span class="caret"></span></a> <ul class="dropdown-menu sub-menu"> <li class="<?php echo isset($_GET['manual_scan']) ? 'sactive' : ''; ?>"><a href="<?php route_url(); ?>manual_scan"><?php $lang->_('menu.manul_scans'); ?></a> </li> <li class="<?php echo isset($_GET['scanner_logs']) ? 'sactive' : ''; ?>"><a href="<?php route_url(); ?>scanner_logs"><?php $lang->_('menu.scanner_logs'); ?></a> </li> </ul> </li> <?php } else { ?> <li class="<?php echo isset($_GET['scanner_logs']) ? 'active' : ''; ?>"><a href="<?php route_url(); ?>scanner_logs"><?php $lang->_('menu.scanner_logs'); ?></a> </li> <?php } ?> <li class="<?php echo isset($_GET['cms_threats']) ? 'active' : ''; ?>"><a href="<?php route_url(); ?>cms_threats"><?php $lang->_('menu.cms'); ?></a></li> <li class="<?php echo isset($_GET['waf']) ? 'active' : ''; ?>"><a href="<?php route_url(); ?>waf"><?php $lang->_('menu.waf'); ?></a></li> <li class="<?php echo isset($_GET['bot-attacks']) ? 'active' : ''; ?>"><a href="<?php route_url(); ?>bot-attacks"><?php $lang->_('menu.botattacks'); ?></a> </li> </ul> <div id="settings_button"> <a class="pull-right btn settings-button settings-button-icon"><i class="la la-cog"></i></a> <a class="pull-right btn settings-button txt">Settings</a> </div> </div><!--/.nav-collapse --> </nav> </div> </div> </div> <div class="cpguard-body pb-3"> <?php if (isset($_GET['scanner_logs'])) { include_once 'scanner/scanner_logs.php'; } else if (isset($_GET['manual_scan'])) { include_once 'scanner/manual_scan.php'; } else if (isset($_GET['cms_threats'])) { include('scanner/cms.php'); } else if (isset($_GET['waf'])) { include('web_security/waf_logs.php'); } else if (isset($_GET['bot-attacks'])) { include('web_security/bot_attacks.php'); } else { include('dashboard.php'); } ?> </div> <div class="block-ui loading"></div> <div class="settings-modal hide-on-unfocus"> <h4 class="modal-title">Modal title</h4> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> <style> /* Hamburger Menu Button */ .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid #ddd; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; } .navbar-toggle:hover { background-color: #ddd; } .navbar-toggle:focus { outline: none; background-color: #ddd; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; background-color: #888; border-radius: 1px; transition: all 0.3s ease; } .navbar-toggle .icon-bar+.icon-bar { margin-top: 4px; } .navbar-toggle .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } /* Animated hamburger on collapse toggle */ .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2) { transform: rotate(45deg); transform-origin: 10% 10%; } .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3) { opacity: 0; } .navbar-toggle:not(.collapsed) .icon-bar:nth-child(4) { transform: rotate(-45deg); transform-origin: 10% 90%; } /* Mobile Overlay Menu Backdrop */ .navbar-backdrop { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 1040; opacity: 0; transition: opacity 0.3s ease; } .navbar-backdrop.show { display: block; opacity: 1; } /* Hide backdrop on larger screens */ @media (min-width: 750px) { .navbar-backdrop { display: none !important; } .settings-button.txt { display: none !important; } } /* Mobile view - Overlay from right */ @media (max-width: 750px) { .navbar { width: 100% !important; float: none !important; } .settings-button .txt { display: inline-block; margin-right: 10px; } .navbar-collapse { position: fixed; top: 0; right: -300px; bottom: 0; width: 300px; height: 100%; max-height: 100vh; background: #fff; z-index: 1050; overflow-y: auto; box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2); transition: right 0.3s ease; padding: 20px 20px 60px 20px; display: block !important; overflow: hidden; } .navbar-collapse.show { right: 0; } .navbar-nav { float: none !important; margin: 0; width: 100%; min-height: 100%; } .cpguard-header .navbar-nav a { margin-left: 0 !important; } .navbar-nav>li { width: 100%; display: block; } .navbar-nav>li>a { float: none !important; padding: 15px 20px; display: block; width: 100%; text-align: left; } .navbar-nav .dropdown-menu { position: static !important; float: none !important; width: 100% !important; margin: 0; box-shadow: none; border: none; } .navbar-nav .dropdown-menu { background: #f8f9fa; } .navbar-nav .dropdown-menu>li>a { padding: 10px 40px; width: 100%; display: block; text-align: left; } .pull-right { float: none !important; } .settings-button { float: left !important; } .cpguard-header .navbar-nav a { text-align: left !important; } /* .cpguard-header .row, .menu-container { width: auto !important; flex-wrap: nowrap; } .cpguard-title { width: auto !important; } */ } @media (max-width: 570px) { .cpguard-title { width: fit-content !important; } .menu-container { width: 60% !important; } .cpguard-header .row { display: flex; flex-wrap: nowrap !important; /* width: fit-content !important; justify-content: space-between; */ } } @media (max-width: 470px) { .menu-container { width: 45% !important; } } /* Loader overlay */ #pageLoader { position: fixed; inset: 0; background: #fff; display: flex; align-items: center; justify-content: center; z-index: 9999; opacity: 1; transition: opacity 0.5s ease; } #pageLoader.fade-out { opacity: 0; pointer-events: none; } /* Spinner */ .spinner { width: 60px; height: 60px; border: 6px solid #ddd; border-top: 6px solid #3498db; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 100% { transform: rotate(360deg); } } /* Page content fade */ #pageContent { opacity: 0; transition: opacity 0.5s ease; } #pageContent.show { opacity: 1; } </style> <!-- Loader --> <div id="pageLoader"> <div class="spinner"></div> </div> <!-- Mobile Menu Backdrop --> <div class="navbar-backdrop" id="navbarBackdrop"></div> <!-- Page Content --> <div id="pageContent" style="display:none;"> </div> <script> const loader = document.getElementById('pageLoader'); const content = document.getElementById('pageContent'); // Mobile menu backdrop functionality document.addEventListener('DOMContentLoaded', () => { const navbarCollapse = document.getElementById('navbar'); const backdrop = document.getElementById('navbarBackdrop'); if (navbarCollapse && backdrop) { // Show/hide backdrop when menu toggles navbarCollapse.addEventListener('show.bs.collapse', () => { backdrop.classList.add('show'); document.body.style.overflow = 'hidden'; }); navbarCollapse.addEventListener('hide.bs.collapse', () => { backdrop.classList.remove('show'); document.body.style.overflow = ''; }); // Close menu when backdrop is clicked backdrop.addEventListener('click', () => { const bsCollapse = new bootstrap.Collapse(navbarCollapse, { toggle: true }); }); // Close menu when settings button is clicked const settingsButtons = document.querySelectorAll('.settings-button'); settingsButtons.forEach(button => { button.addEventListener('click', () => { if (navbarCollapse.classList.contains('show')) { const bsCollapse = new bootstrap.Collapse(navbarCollapse, { toggle: true }); } }); }); } }); // Fade out loader after page load window.addEventListener('load', () => { loader.classList.add('fade-out'); setTimeout(() => { loader.style.display = 'none'; content.style.display = 'block'; requestAnimationFrame(() => content.classList.add('show')); }, 500); }); // Show loader again on internal page navigation document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('a').forEach(link => { link.addEventListener('click', (e) => { const href = link.getAttribute('href'); // Skip anchors, javascript links, and external/new tab links if (!href || href.startsWith('#') || href.startsWith('javascript:') || link.target === "_blank") { return; } // Small delay prevents flicker setTimeout(() => { loader.style.display = 'flex'; loader.classList.remove('fade-out'); }, 150); }); }); }); </script> <?php if (is_cpanel()) { print $cpanel->footer(); // Add the footer. $cpanel->end(); // Disconnect from cPanel - only do this once. }
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings