'$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();
?>
Discover the many benefits of dating websites for older adults
Dating websites for older adults have actually a great deal to offer. along with supplying a spot for singles of ages to meet up with, these websites can be a very important resource for seniors. listed below are five explanations why dating websites for older adults is a great option for seniors. 1. older adults often have more time to spend on dating websites. older adults could have more hours to invest on dating websites since they don’t possess as many other duties. they might likewise have additional time to pay on their personal life simply because they’re much less busy with work. 2. older adults may feel more comfortable dating on a website that is built to protect their privacy. dating websites for older adults also often have security features, particularly password security and individual pages that are concealed until a user is ready to reveal them. 3. dating websites for older adults could be a terrific way to meet brand new people. older adults usually have some experience and understanding of the world. they might be in a position to provide valuable insights and advice to singles. dating websites for older adults also can provide an easy method for singles to meet up with new buddies. 4. 5.
just what are adult dating apps?
there are a selection of free adult dating apps available on the market today.these apps allow users to connect with other adults for dating, sex, and social activities.many among these apps also offer features like live chat, movie talk, as well as dating services.what would be the advantages of using adult dating apps?there are advantages to using adult dating apps.some regarding the advantages range from the ability to relate with other grownups for dating, sex, and social tasks.additionally, a number of these apps offer features such as for example live chat, video chat, and even dating services.these solutions may be a great way to find somebody or date.what will be the disadvantages of utilizing adult dating apps?there are some downsides to making use of adult dating apps.some of this disadvantages are the prospect of frauds and fraud.additionally, some users may find the web environment hard or uncomfortable.
Get began with finding local adult times now
Finding local adult times is a superb solution to get to know somebody better and find out if there is a possible relationship. there are many different approaches to find local adult dates, and it’s also important to find the appropriate one available. here are a few ideas to get going:
1. join online dating sites. that is the most common way to find local adult times, and there are lots of sites to choose from. 2. join social media websites. this will be another typical strategy for finding local adult dates. 3. head out personally. you can head out face-to-face and satisfy individuals, or you may use dating apps to meet individuals. 4. use online dating services to find individuals who are similar to you. this is certainly a great way to find individuals who are much like you, and it’s also also ways to find those who are enthusiastic about equivalent things while you. 5. utilize social media web sites to locate individuals who are enthusiastic about equivalent things as you. this might be a terrific way to find people that are enthusiastic about equivalent things as you, and it’s also additionally a way to find those who are suitable for you.
Get ready for an exciting adventure
If you’re thinking about exploring the entire world of naughty adult dating, you are in for an exciting adventure. there is an entire realm of naughty fun awaiting you, and you also wont regret taking the plunge. if you’re a new comer to the planet of naughty adult dating, you may be wondering just what most of the fuss is approximately. you could be wondering just what most of the hype is about. well, let me make it clear, it’s positively worthwhile. there is one thing about naughty adult dating that just feels actually exciting. it’s as if you’re getting into an adventure. it is as if you’re embarking on a journey into a whole new globe. and that’s why is naughty adult dating plenty enjoyable. there is a constant know very well what you’re going to encounter. there is a constant understand what form of naughty enjoyable you are going to have. when you’re thinking about providing naughty adult dating a try, don’t hesitate. it’s undoubtedly worth it.
Get ready for a wild evening – find discreet local sex here
Discreet local sex is a superb method to get the groove on without anyone knowing. whether you are considering a quickie or something like that more substantial, there are numerous places to get discreet local sex. here are some of our favorites:
1. local sex clubs – if you are looking for a more upscale experience, take a look at a local sex club. these places tend to be packed with hot singles searching for some fun. 2. adult dating web sites – online dating is a good strategy for finding discreet local sex. not just is it possible to look for individuals predicated on your passions, but you’re additionally likely to find a person who’s searching for a quickie. 3. craigslist – craigslist is always outstanding place to look for discreet local sex. not only is it free, but you can also find people that are selecting something more serious. 4. adult internet sites – if you are wanting one thing more intimate, try adult social support systems. these websites in many cases are packed with people seeking discreet local sex. whatever your requirements, there’s a place to help you find discreet local sex. just be sure become safe and smart about it. use a condom if you should be gonna have sex in a public spot, and make certain to prevent share your address or phone number. that way, you will also have a secret to keep.
Get prepared to meet your perfect match with adult dating has
Adult dating has become a popular method to satisfy new people and find someone. with so many options available, it can be hard to decide which dating website is suitable for you. below are a few suggestions to assist you to pick the best adult dating website available. very first, consider your interests. do you want to meet folks who are like you, or do you wish to explore new and differing cultures? 2nd, consider carefully your location. looking for those who reside near you, or do you want to explore the entire world? 3rd, think about your budget. do you wish to pay for reasonably limited account, or are you willing to utilize free resources? last but not least, think about your dating goals. would you like to find a long-term partner, or would you just want to have a blast? adult dating has a great deal to offer, so don’t wait anymore to start out fulfilling your perfect match.
Meet mature singles in the most useful adult dating website – mature fuckbook
Mature singles are seeking someplace to get in touch with like-minded people. this is where the mature fuckbook comes in. this site is specifically designed for mature singles. it offers a wide range of features, including search engines, chat rooms, and an email board. mature fuckbook could be the perfect destination to meet other mature singles. it is a safe and secure site, therefore provides a number of features to produce your relationship experience enjoyable. if you’re in search of a place for connecting with like-minded people, the mature fuckbook could be the perfect site for you. so just why not try it out today? you may not be disappointed.