<?php /** * VFM - veno file manager administration * * PHP version >= 7.4 * * @category PHP * @package VenoFileManager * @author Nicola Franchini <support@veno.it> * @copyright 2013-2023 Nicola Franchini * @license Exclusively sold on CodeCanyon * @link http://filemanager.veno.it/ */ define('VFM_APP', true); require_once 'admin-panel/view/admin-head.php'; // update usernames prior to v 2.6.3 to unsensitive if (file_exists('_unsensitive-users.php')) { if (count($_USERS) > 1 && version_compare(VFM_VERSION, '2.6.3', '>')) { include '_unsensitive-users.php'; } else { unlink('_unsensitive-users.php'); } } // user available quota (in MB) $_QUOTA = array( "10", "20", "50", "100", "200", "500", "1024", // 1GB "2048", // 2GB "5120", // 5GB "10240", // 10GB "20480", // 20GB "51200", // 50GB "102400", // 100GB ); // exipration for downloadable links $share_lifetime = array( // "days" => "menu value" "1" => "24 h", "2" => "48 h", "3" => "72 h", "5" => "5 days", "7" => "7 days", "10" => "10 days", "30" => "30 days", "365" => "1 year", "36500" => "Unlimited", ); // exipration for registration links // unit (('sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'month' | 'year') / ('s')) $registration_lifetime = array( // "days" => "menu value" // "-1 minute" => "1 min", // "-2 minutes" => "2 min", "-1 hour" => "1 h", "-3 hours" => "3 h", "-6 hours" => "6 h", "-12 hours" => "12 h", "-1 day" => "1 day", "-2 days" => "2 days", "-7 days" => "7 days", "-1 month" => "30 days", ); $allroles = array(); require dirname(__FILE__).'/admin-panel/view/users/roles.php'; if (is_array($getroles)) { foreach ($getroles as $role) { $allroles[$role] = $setUp->getString("role_".$role); } } $allroles_nosuperadmin = $allroles; unset($allroles_nosuperadmin['superadmin']); ?> <!doctype html> <html lang="<?php echo $setUp->lang; ?>"<?php echo $rtl_att; ?> data-bs-theme="<?php echo $setUp->getConfig("color_theme", "light"); ?>"> <head> <title><?php print $setUp->getString('administration')." | ".$setUp->getConfig('appname'); ?></title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <?php echo $setUp->printIcon("_content/uploads/"); ?> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <?php require dirname(__FILE__).'/admin-panel/view/header.php'; ?> </head> <?php $skin = $setUp->getConfig('admin_color_scheme') ? $setUp->getConfig('admin_color_scheme') : 'blue'; $scrollspy_data = $activesec == "home" ? ' data-bs-spy="scroll" data-bs-target="#sidebar-nav" data-bs-offset="0" tabindex="0" data-bs-offset="0"' : ''; ?> <body class="fixed sidebar-mini admin-body<?php echo $rtl_class; ?>"<?php echo $scrollspy_data; ?>> <header class="navbar fixed-top bg-dark flex-md-nowrap shadow navbar-expand"> <div class="container-fluid"> <a class="navbar-brand me-0 px-3 flex-grow-1" href="./"><?php print $setUp->getConfig('appname'); ?></a> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav ms-auto"> <li class="nav-item d-inline-block d-md-none"> <button class="toggle-sidebar btn btn-link ms-auto" type="button" data-bs-target=".supercontainer"> <span class="navbar-toggler-icon"></span> </button> </li> <li class="nav-item"> <a class="nav-link" href="<?php echo $setUp->getConfig('script_url'); ?>"><i class="bi bi-house-door"></i></a> </li> <li class="nav-item"> <a class="nav-link" href="../?logout" title="<?php echo $setUp->getString("log_out"); ?>"><i class="bi bi-box-arrow-right"></i> </a> </li> <li class="nav-item dropdown"> <a class="nav-link" href="#" class="dropdown-toggle" data-bs-toggle="dropdown"> <i class="bi bi-flag"></i> <?php // echo $setUp->getString("LANGUAGE_NAME"); ?> </a> <ul class="dropdown-menu dropdown-menu-end dropdown-menu-dark lang-menu"> <?php print ($setUp->printLangMenu()); ?> </ul> </li> </ul> </div> </div> </header> <div class="supercontainer row g-0"> <?php require dirname(__FILE__).'/admin-panel/view/sidebar.php'; ?> <main class="main bg-light d-flex flex-column justify-content-between min-vh-100"> <div id="view-preferences"></div> <div class="content-wrapper px-3 px-md-4 pt-5 mb-auto" data-bs-spy="scroll" data-bs-target="#spy-content" data-bs-root-margin="0px 0px -70%"> <?php switch ($get_section) { case 'updates': if ($gateKeeper->canSuperAdmin('superadmin_can_updates')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-arrow-repeat"></i> <?php print $setUp->getString("updates"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content"> <?php include dirname(__FILE__).'/admin-panel/updater/index.php'; ?> </div> <?php } break; case 'appearance': if ($gateKeeper->canSuperAdmin('superadmin_can_appearance')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-brush"></i> <?php print $setUp->getString("appearance"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content"> <form role="form" method="post" id="settings-form" autocomplete="off" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>?section=appearance" enctype="multipart/form-data"> <?php include dirname(__FILE__).'/admin-panel/view/appearance/appearance.php'; include dirname(__FILE__).'/admin-panel/view/save-settings.php'; ?> </form> </div> <?php } break; case 'users': if ($gateKeeper->canSuperAdmin('superadmin_can_users')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-people"></i> <?php print $setUp->getString("users"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content body"> <div class="row"> <?php include "admin-panel/view/users/new-user.php"; if ($gateKeeper->isMasterAdmin()) { include dirname(__FILE__).'/admin-panel/view/users/master-admin.php'; } ?> </div> <?php include dirname(__FILE__).'/admin-panel/view/users/list-users.php'; include dirname(__FILE__).'/admin-panel/view/users/modal-user.php'; ?> </div> <?php } break; case 'translations': if ($gateKeeper->canSuperAdmin('superadmin_can_translations')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-translate"></i> <?php print $setUp->getString("language_manager"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content"> <?php if ($get_action == 'edit') { if ($editlang || ($postnewlang && strlen($postnewlang) == 2 && !array_key_exists($postnewlang, $translations))) { include dirname(__FILE__).'/admin-panel/view/language/edit.php'; } } else { include dirname(__FILE__).'/admin-panel/view/language/panel.php'; } ?> </div> <?php } break; case 'logs': if ($gateKeeper->canSuperAdmin('superadmin_can_statistics')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-graph-up-arrow"></i> <?php print $setUp->getString("statistics"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content"> <?php include dirname(__FILE__).'/admin-panel/view/analytics/selector.php'; include dirname(__FILE__).'/admin-panel/view/analytics/charts.php'; include dirname(__FILE__).'/admin-panel/view/analytics/table.php'; include dirname(__FILE__).'/admin-panel/view/analytics/range.php'; ?> </div> <?php } break; default: if ($gateKeeper->canSuperAdmin('superadmin_can_preferences')) { ?> <div class="content-header pt-5"> <h2 class="mb-4"><i class="bi bi-sliders"></i> <?php print $setUp->getString("preferences"); ?></h2> </div> <?php echo $admin->printAlert(); ?> <div class="content"> <form class="position-relative" role="form" method="post" id="settings-form" autocomplete="off" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" enctype="multipart/form-data"> <?php include dirname(__FILE__).'/admin-panel/view/dashboard/general.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/languages.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/uploads.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/lists.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/permissions.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/registration.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/share.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/email.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/security.php'; include dirname(__FILE__).'/admin-panel/view/dashboard/activities.php'; include dirname(__FILE__).'/admin-panel/view/save-settings.php'; ?> <div class="form-group"> <?php $debugchecked = $setUp->getConfig('debug_mode') ? ' checked' : ''; ?> <div class="form-check"> <input class="form-check-input" type="checkbox" name="debug_mode" value="" id="check-debug"<?php echo $debugchecked; ?>> <label class="form-check-label" for="check-debug"> <i class="bi bi-wrench-adjustable"></i> DEBUG MODE <a title="Display all PHP notices" class="tooltipper" data-bs-placement="right" data-bs-toggle="tooltip" href="javascript:void(0)"><i class="bi bi-question-circle"></i></a> </label> </div> </div> </form> </div> <!-- content --> <?php } else { $username = $gateKeeper->getUserInfo('name'); ?> <div class="content"> <h2 class="mb-4"><?php echo $gateKeeper->getAvatar($username, '').' <a href="'.$setUp->getConfig('script_url').'">'.$username.'</a>'; ?></h2> </div> <?php } break; } ?> <br> <br> <br> </div> <!-- content-wrapper --> <?php require dirname(__FILE__).'/admin-panel/view/components/archive-map.php'; require dirname(__FILE__).'/admin-panel/view/footer.php'; if ($get_section == 'logs') { include dirname(__FILE__).'/admin-panel/view/analytics/loader.php'; } ?> </main> </div> <!-- supercontainer --> </body> </html>