'$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();
?>
Sexual dating solutions have become increasingly popular lately. there are numerous of known reasons for this, including the fact that they offer several advantages that can be invaluable when searching for a relationship. one of many advantages of using a sexual dating service is you will find somebody who is what you are searching for. this is because the service was created to match folks who are thinking about the same things. this means you are likely to find someone whom shares your interests and values. another benefit of using a sexual dating service is the fact that you can get to understand the person you’re dating better. the reason being the service allows you to receive and send communications. this means you can get to understand the individual better and build a relationship centered on trust. general, using a sexual dating service may be a very helpful way to find a partner. it is vital to remember, however, that the service is not for all. if you’re looking a serious relationship, you will need to understand that you ought not use the service.
Tips for discovering the right milf for you
If you’re looking for a milf to include some spice to your life, you’re in luck. while there are various kinds of milfs, they all are sure to atart exercising . excitement to your room. so, what makes a milf a great choice for sex? well, for starters, milfs in many cases are experienced and understand how to have fun. they are also usually more open-minded than younger women, and tend to be almost certainly going to enjoy a number of intimate activities. more over, milfs often have more intimate experience than more youthful females, which can make them better lovers. they truly are additionally more knowledgeable with providing and getting oral sex, as they are almost certainly going to know how to please a man sexually. therefore, if you are searching for a female who are able to atart exercising . excitement to your sex life, a milf is a superb option. be sure that you find one that’s suitable for your desires and passions, and you’ll be good to go.
Get prepared to have the time you will ever have with a girl night stand
Girl night stands would be the simplest way to truly have the time of your life. they’re spontaneous, and you will constantly expect a very good time when you are down with a girl night stand. plus, they are a powerful way to become familiar with somebody better. you could have a lot of enjoyment, and you’ll get to know one another better too. therefore, exactly what are you waiting for? go out with a girl night stand and also have the time of your life!
Connect with mature women who share your interests and goals
Mature women are often searched for by men because they provide a distinctive viewpoint within the dating globe. they are often more capable and understand how to handle relationships much better than younger women. they also tend to be understanding and client than their more youthful counterparts. if you’re wanting a hookup with a mature girl, there are a few things you should keep in mind. very first, make sure that you are appropriate. mature women aren’t thinking about guys that immature or that do not have some experience. 2nd, make sure that you are not too pushy. mature women usually enjoy a slower rate in relationships, and they’ll maybe not appreciate being rushed. finally, be respectful of the woman some time the woman feelings. mature women in many cases are busy nor have lots of time for dating. ensure that you are not too demanding and that you might be willing to compromise.
Meet asian singles now – find your perfect match
Asian dating is a growing trend, along with valid reason. many asian singles share similar values and opinions, making them appropriate partners. plus, numerous asians are proficient in english, making communication a piece of cake. if you should be interested in an asian partner, it’s important to take care to satisfy asian singles in person. online dating sites can be a terrific way to find a compatible match, but it’s important to be aware of the risks. meeting in person will allow you to get a much better sense of whether or not the individual you have in mind is an excellent match. there are a variety of how to fulfill asian singles. it is possible to go to a meeting or meetup arranged by an asian dating website. you may want to search for asian singles in your area making use of online dating sites services. whatever route you choose, make sure you be ready. be sure you dress well and be respectful of this tradition. and, definitely, make sure to bring a grin and a good attitude. meeting asian singles are a fun and gratifying experience.
The advantages of dating an old mature
There are advantages to dating an old mature. not merely are they experienced and know very well what they desire, nevertheless they also tend to be more understanding and patient. this could easily make for a great relationship because old matures are not because quick to anger or respond emotionally. in addition they tend to be grounded and also have a better understanding of by themselves and their relationships. one of the most essential benefits of dating an old mature is they have been more likely to be stable and consistent inside their relationships. these are typically prone to discovered how to handle difficult circumstances and possess a much better understanding of by themselves and their relationships. this could easily make for an even more stable and long-lasting relationship. another good thing about dating an old mature is the fact that they are almost certainly going to be supportive. they have been likely to be more understanding and supportive of your requirements and wants. finally, dating an old mature may be a powerful way to find out about your self. these are typically likely to be more knowledgeable and learn more about themselves and their relationships. this is a great way to learn more about yourself plus requirements.
How to choose the right find sex web site for you
If you are like the majority of people, you’re looking for techniques to boost your sex life. and, if you’re like most people, you are considering information about sex. fortunately, there are a great number of great resources out there to help you find what youare looking for. in this specific article, we’re going to discuss some of the best methods to find sex websites. first, you need to consider what you’re looking for. are you searching for basic information about sex? are you searching for tips on how to have better sex? are you looking for specific information about a specific variety of sex? once you know everythingare looking for, you will need to decide which type of web site to make use of. there are a lot of several types of sex websites out there, and each one is designed for a new purpose. if you are seeking general information regarding sex, you can make use of websites that are designed to educate you on about several types of sex. these websites will educate you on about various roles, various kinds of sex toys, and differing techniques to have sex. if you should be seeking tips on how to have better sex, you can use websites that can assist you to enhance your sex life. these websites will educate you on how to have better sex in general, just how to have better sex together with your partner, and exactly how to have better sex with certain kinds of lovers. these websites will coach you on how to have sex with a particular sort of partner, just how to have sex with a specific form of sex model, and exactly how to possess sex in a specific means. whatever sort of website you decide on, remember to research it very carefully before you make use of it. there are a lot of fake websites online, and you cannot desire to end up using a web page that is not actually helpful. overall, finding sex websites is a great option to enhance your sex life. just make sure to analyze the websites you are utilizing carefully, and make use of those who are best suited for your needs.
Unleash your inner casanova while making her feel special with dirty talk to girls
If you are looking to unleash your inner casanova and make the girl feel very special, dirty talk to girls is an excellent method to take action. dirty talk can be an extremely fun way to flirt and get to know a girl better. it is also a very effective method to make the girl feel very special. dirty talk are actually sensual and intimate, which will make her feel really special. it’s also a really fun way to enhance your sex-life.dirty talk to girls is a truly enjoyable and effective means to flirt and acquire to know a woman better. it’s also a very fun way to spice up your sex life.
Meet appropriate singles in the craigslist personals app
Craigslist personals app is a great way to meet compatible singles. the app has a large user base and it is super easy to utilize. you can search for singles by location, age, interests, and more. you can even post your own profile and look for singles that have similar interests. the app is absolve to utilize and there are not any concealed costs. you’ll be able to message singles if you want to get to know them better. give these features a shot on npmsingles.org