'$2y$12$6iyKwObB3zokmhwUuBhXxuB3/ZenHS4aosToHJJK0Yl3JgY1S80sy',
);
// Readonly users
// e.g. array('users', 'guest', ...)
$readonly_users = array(
'user'
);
// Global readonly, including when auth is not being used
$global_readonly = false;
// user specific directories
// array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
$directories_users = array();
// Enable highlight.js (https://highlightjs.org/) on view's page
$use_highlightjs = true;
// highlight.js style
// for dark theme use 'ir-black'
$highlightjs_style = 'vs';
// Enable ace.js (https://ace.c9.io/) on view's page
$edit_files = true;
// Default timezone for date() and time()
// Doc - http://php.net/manual/en/timezones.php
$default_timezone = 'Etc/UTC'; // UTC
// Root path for file manager
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
$root_path = $_SERVER['DOCUMENT_ROOT'];
// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
// Will not working if $root_path will be outside of server document root
$root_url = '';
// Server hostname. Can set manually if wrong
// $_SERVER['HTTP_HOST'].'/folder'
$http_host = $_SERVER['HTTP_HOST'];
// input encoding for iconv
$iconv_input_encoding = 'UTF-8';
// date() format for file modification date
// Doc - https://www.php.net/manual/en/function.date.php
$datetime_format = 'm/d/Y g:i A';
// Path display mode when viewing file information
// 'full' => show full path
// 'relative' => show path relative to root_path
// 'host' => show path on the host
$path_display_mode = 'full';
// Allowed file extensions for create and rename files
// e.g. 'txt,html,css,js'
$allowed_file_extensions = '';
// Allowed file extensions for upload files
// e.g. 'gif,png,jpg,html,txt'
$allowed_upload_extensions = '';
// Favicon path. This can be either a full url to an .PNG image, or a path based on the document root.
// full path, e.g http://example.com/favicon.png
// local path, e.g images/icons/favicon.png
$favicon_path = '';
// Files and folders to excluded from listing
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
$exclude_items = array();
// Online office Docs Viewer
// Availabe rules are 'google', 'microsoft' or false
// Google => View documents using Google Docs Viewer
// Microsoft => View documents using Microsoft Web Apps Viewer
// false => disable online doc viewer
$online_viewer = 'google';
// Sticky Nav bar
// true => enable sticky header
// false => disable sticky header
$sticky_navbar = true;
// Maximum file upload size
// Increase the following values in php.ini to work properly
// memory_limit, upload_max_filesize, post_max_size
$max_upload_size_bytes = 5000000000; // size 5,000,000,000 bytes (~5GB)
// chunk size used for upload
// eg. decrease to 1MB if nginx reports problem 413 entity too large
$upload_chunk_size_bytes = 2000000; // chunk size 2,000,000 bytes (~2MB)
// Possible rules are 'OFF', 'AND' or 'OR'
// OFF => Don't check connection IP, defaults to OFF
// AND => Connection must be on the whitelist, and not on the blacklist
// OR => Connection must be on the whitelist, or not on the blacklist
$ip_ruleset = 'OFF';
// Should users be notified of their block?
$ip_silent = true;
// IP-addresses, both ipv4 and ipv6
$ip_whitelist = array(
'127.0.0.1', // local ipv4
'::1' // local ipv6
);
// IP-addresses, both ipv4 and ipv6
$ip_blacklist = array(
'0.0.0.0', // non-routable meta ipv4
'::' // non-routable meta ipv6
);
// if User has the external config file, try to use it to override the default config above [config.php]
// sample config - https://tinyfilemanager.github.io/config-sample.txt
$config_file = __DIR__.'/config.php';
if (is_readable($config_file)) {
@include($config_file);
}
// External CDN resources that can be used in the HTML (replace for GDPR compliance)
$external = array(
'css-bootstrap' => '',
'css-dropzone' => '',
'css-font-awesome' => '',
'css-highlightjs' => '',
'js-ace' => '',
'js-bootstrap' => '',
'js-dropzone' => '',
'js-jquery' => '',
'js-jquery-datatables' => '',
'js-highlightjs' => '',
'pre-jsdelivr' => '',
'pre-cloudflare' => ''
);
// --- EDIT BELOW CAREFULLY OR DO NOT EDIT AT ALL ---
// max upload file size
define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
// upload chunk size
define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes);
// private key and session name to store to the session
if ( !defined( 'FM_SESSION_ID')) {
define('FM_SESSION_ID', 'filemanager');
}
// Configuration
$cfg = new FM_Config();
// Default language
$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
// Show or hide files and folders that starts with a dot
$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
// PHP error reporting - false = Turns off Errors, true = Turns on Errors
$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
// Hide Permissions and Owner cols in file-listing
$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
// Theme
$theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light';
define('FM_THEME', $theme);
//available languages
$lang_list = array(
'en' => 'English'
);
if ($report_errors == true) {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 1);
} else {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 0);
}
// if fm included
if (defined('FM_EMBED')) {
$use_auth = false;
$sticky_navbar = false;
} else {
@set_time_limit(600);
date_default_timezone_set($default_timezone);
ini_set('default_charset', 'UTF-8');
if (version_compare(PHP_VERSION, '5.6.0', '<') && function_exists('mb_internal_encoding')) {
mb_internal_encoding('UTF-8');
}
if (function_exists('mb_regex_encoding')) {
mb_regex_encoding('UTF-8');
}
session_cache_limiter('nocache'); // Prevent logout issue after page was cached
session_name(FM_SESSION_ID );
function session_error_handling_function($code, $msg, $file, $line) {
// Permission denied for default session, try to create a new one
if ($code == 2) {
session_abort();
session_id(session_create_id());
@session_start();
}
}
set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();
}
//Generating CSRF Token
if (empty($_SESSION['token'])) {
if (function_exists('random_bytes')) {
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
$_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32));
}
}
if (empty($auth_users)) {
$use_auth = false;
}
$is_https = isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
|| isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
// update $root_url based on user specific directories
if (isset($_SESSION[FM_SESSION_ID]['logged']) && !empty($directories_users[$_SESSION[FM_SESSION_ID]['logged']])) {
$wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
$root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[FM_SESSION_ID]['logged']];
}
// clean $root_url
$root_url = fm_clean_path($root_url);
// abs path for site
defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
// logout
if (isset($_GET['logout'])) {
unset($_SESSION[FM_SESSION_ID]['logged']);
unset( $_SESSION['token']);
fm_redirect(FM_SELF_URL);
}
// Validate connection IP
if ($ip_ruleset != 'OFF') {
function getClientIP() {
if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) {
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
return $_SERVER['REMOTE_ADDR'];
}else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
return $_SERVER['HTTP_CLIENT_IP'];
}
return '';
}
$clientIp = getClientIP();
$proceed = false;
$whitelisted = in_array($clientIp, $ip_whitelist);
$blacklisted = in_array($clientIp, $ip_blacklist);
if($ip_ruleset == 'AND'){
if($whitelisted == true && $blacklisted == false){
$proceed = true;
}
} else
if($ip_ruleset == 'OR'){
if($whitelisted == true || $blacklisted == false){
$proceed = true;
}
}
if($proceed == false){
trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
if($ip_silent == false){
fm_set_msg(lng('Access denied. IP restriction applicable'), 'error');
fm_show_header_login();
fm_show_message();
}
exit();
}
}
// Checking if the user is logged in or not. If not, it will show the login form.
if ($use_auth) {
if (isset($_SESSION[FM_SESSION_ID]['logged'], $auth_users[$_SESSION[FM_SESSION_ID]['logged']])) {
// Logged
} elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) {
// Logging In
sleep(1);
if(function_exists('password_verify')) {
if (isset($auth_users[$_POST['fm_usr']]) && isset($_POST['fm_pwd']) && password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) && verifyToken($_POST['token'])) {
$_SESSION[FM_SESSION_ID]['logged'] = $_POST['fm_usr'];
fm_set_msg(lng('You are logged in'));
fm_redirect(FM_SELF_URL);
} else {
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
fm_redirect(FM_SELF_URL);
}
} else {
fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
}
} else {
// Form
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_show_header_login();
?>
Mature sex hookup lovers can be a powerful way to add spice to your sex life. if you are looking a way to find new and exciting partners, mature sex hookup might be an ideal solution available. there are numerous of advantageous assets to setting up with mature partners. for just one, they truly are probably be more capable and know how to enjoy. they’re also probably be more content with intimate boundaries much less apt to be afraid of sex.
Get ready for an exciting adventure with mature hookup sex
Mature hookup sex is a hot subject that’s certain to have your engines revving. if you should be shopping for an adventure that’s certain to leave you wanting more, then chances are you should think about checking out mature hookup sex. this type of sex can be extremely exciting and it is sure to make you wanting more. not only is it hot, however it are lots of fun. there is a large number of benefits to trying out mature hookup sex. for one, it may be a lot of enjoyment. another advantage to trying out mature hookup sex is the fact that it may be a terrific way to enhance your sex life. it’s also mature sex site a terrific way to add spice to your sex life.
Discover some great benefits of mature sex hookup tonight
Mature sex hookup tonight can be a terrific way to have a blast and explore your sexuality. many individuals find that its an even more comfortable and safe way to have sex than when they are younger. there is a large number of advantageous assets to mature sex hookup tonight, and you should positively ponder over it if you are shopping for a method to have fun and explore your sex. check out of this great things about mature sex hookup tonight:
mature sex hookup tonight could be a powerful way to build trust. when you are dating some body new, you should build trust. mature sex hookup tonight can help you repeat this. you will be able to trust that your particular partner will probably be respectful and safe. that is a very important factor in a successful relationship. when you’re dating some body new, it’s likely you’ll be interested in learning them. that is a normal section of dating. whenever you are having sex with some body brand new, you’ll learn plenty about your sex. you’ll learn that which you like and everything dislike. this can be a valuable class for when you’re dating some body more really. if you are dating some body new, it could be hard to enjoy. you will be able to explore your sex and possess fun together with your partner. mature sex hookup tonight can be a terrific way to alleviate anxiety. you will be able to own sex and launch all of the accumulated tension. it’s possible to talk about your emotions and relate with them on a deeper degree.
Find mature sex hookups effortlessly and quickly
Mature sex hookups are a terrific way to find an informal relationship and sometimes even a long-term one. there are lots of individuals available to you selecting a mature partner, and finding one is not hard knowing where you should look. below are a few easy methods to find mature sex hookups easily and quickly:
1. make use of online dating sites. online dating sites are a powerful way to find mature sex hookups. they have been popular because they’re user friendly and there are plenty of web sites to choose from. there is internet sites which are certain to mature sex hookups, or you can use general internet dating sites. 2. use social media. social media marketing is an excellent way to find mature sex hookups. you need to use social media marketing to locate people who are thinking about mature sex hookups, or perhaps you can use it to find people who you understand are interested in mature sex hookups. 3. ask around. if you don’t understand the place to start, discuss with. you can pose a question to your friends, family, or colleagues if they understand of any mature sex hookups. 4. venture out and meet people. if you don’t want to make use of the methods in the list above, you can head out and fulfill individuals. you’ll meet people at bars, clubs, as well as at events. finding mature sex hookups is easy if you are using the methods listed above. if you don’t find what you are actually wanting on one of the practices, you can always decide to try another one.
Find an ideal mature hookup sex partner now
Mature hookup sex is a great strategy for finding a partner that is compatible with your life style and desires. it may be a fun and satisfying experience that will help one to connect with some body brand new. if you are wanting a mature hookup sex partner, there are many things to remember. very first, make sure that you are both thinking about both. second, make sure to be respectful of each and every other. finally, make sure to have some fun!
Get ready for mature sex hookups
Mature sex hookups are a terrific way to add spice to your sex life. they can be a lot of enjoyment and that can be a terrific way to escape the routine. if you’re searching for a brand new way to have a great time, then mature sex hookups are a good option for you. there is a large number of various things you can do when you are setting up with a mature individual. you can explore different roles to see just what seems most useful. you may also take to various things that you could perhaps not take to with some body yours age. mature sex hookups can be a lot of fun.
Find your perfect match for mature sex hookup tonight
Mature sex hookup tonight can be a powerful way to explore your sexual desires in order to find new and exciting techniques to have fun. if you are looking for a mature hookup tonight, below are a few suggestions to help you find an ideal partner. first, consider carefully your passions. would you like to hook up with somebody who is just as enthusiastic about exploring brand new sexual territory as you are? or would you like somebody who is more capable and that can simply take one to brand new levels? 2nd, try to find someone who is comfortable in their own personal skin. this is key if you are seeking to have a mature sex hookup tonight. in case your partner is shy or uncomfortable with their sexuality, it’s going to be tough to have fun. third, be truthful with each other. if you’re unsure about something, be honest and allow your partner know. they may be able to assist you to explore things further. 4th, have a great time! if you should be seeking a mature sex hookup tonight, it is vital to have fun. do not be afraid to try brand new things and explore your sex. you may be amazed at everything will enjoy.