'$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();
?>
There are many benefits to having a nearby hookup. not only do these encounters offer an even more convenient method to get the requirements met, nevertheless they can be more intimate than traditional relationship. plus, you’ll avoid any potential awkwardness or stress that can have meeting someone personally. if you should be in search of a quick and easy solution to get the requirements met, a nearby hookup is a superb option. check out of benefits of having a nearby hookup:
-convenience: a nearby hookup is a superb solution to get the needs came across and never have to travel or spending some time on dating apps. it is possible to meet somebody nearby and now have intercourse with no hassle. -intimacy: a nearby hookup could be more intimate than old-fashioned relationship since you do not have to bother about awkwardness or stress. you’ll simply opt for the movement and now have enjoyable. -avoiding awkwardness: if you’re seeking to avoid any potential awkwardness or stress, a nearby hookup is a great option. -quick and simple: a nearby hookup is a quick and easy option to get your needs met.
Get probably the most out of your nearby hookup places
Nearby hookup places are superb for singles shopping for a fast and easy method to have some fun. with many places to select from, it may be hard to determine what type is right for you. here are some ideas to help you to get probably the most out of your nearby hookup places. 1. search for places being close to in your geographical area. in this way, you will not need to waste any moment getting here. 2. give consideration to selecting places that are well liked among the locals. this can present an improved notion of what type of atmosphere to expect. 3. be sure to take a look at reviews before you go. this may help you create an informed decision. 4. be open to attempting new things. you never know, you could find a new favorite spot.
How to find the perfect hookup spot near you
Finding a great hookup spot can be difficult, but with just a little research there is an ideal destination to get the groove on. below are a few tips to assist you in finding the right spot:
1. make use of google maps
google maps is an excellent device for finding nearby places to connect. just enter the target of destination you wish to attach, and google maps will provide you with a map and set of nearby places. 2. use yelp
yelp is a superb resource for finding restaurants, bars, as well as other places locally. 3. use facebook
facebook is a good resource for finding family and friends, however it may also be used to get hookup spots. 4. use tinder
tinder is a dating software you can use discover hookups. simply sign up for a free account, then search for places towards you. whatever method you decide on, make sure to utilize some long-tail key words and lsi key words to increase your chances of choosing the perfect spot.
exactly what are the benefits of nearby hookups?
if you should be in search of a little excitement that you experienced, nearby hookups could be the solution for you personally.these forms of hookups may be lots of fun and certainly will provide you with some good opportunities for enjoyable and adventure.one of the great things about nearby hookups is the fact that they can be far more discreet than traditional hookups.this are a big advantage if you should be searching for a method to have some fun without fretting about getting caught.another advantage of nearby hookups usually they could be a lot more affordable than traditional hookups.this are a huge benefit if you’re on a budget.finally, nearby hookups could be more fun than traditional hookups.this may be a huge advantage if you should be in search of a method to have some fun that is distinctive from the norm.
Get prepared for a night of exciting adventures
If you are looking for a night of exciting activities, search no further compared to the nearby hookups. whether you are considering a one-time hookup or something like that much more serious, these places has you coming back for more. whether you are looking for a place to celebration or a place to relax, the nearby hookups have something available. from bars to nightclubs, these places could have you getting the time of your life. so what are you currently looking forward to? get ready for per night of exciting activities at the nearby hookups.
Tips for enjoying an effective hookup experience nearby
So, if you should be trying to find a nearby hookup spot, below are a few ideas to assist you to have actually a fruitful experience. very first, make sure to find a place that’s comfortable available. if you are finding a fast hookup, it could never be where available. if you should be selecting one thing more serious, it is additionally vital to find a spot that is comfortable for both of you. 2nd, always be truthful with one another from the start. if you should be unsure if you’re ready for a relationship, never try to begin one while you are still starting up. and lastly, ensure that you be respectful of every other. if somebody is uncomfortable with what’s happening, they need to enable you to know.
Find the right hookup spot near you
Finding a great spot to hook up can be tough, however once you learn where you should look. listed here are five nearby spots which can be ideal for an informal fling. 1. the collection
the collection is a superb destination to find a hookup as it’s always busy and there are numerous individuals around. plus, you can always find a quiet corner to have down seriously to company. 2. 3. 4. 5.
Get started with safe hookup sites now
There are many safe and reliable hookup sites available to you for people trying to have an informal encounter without the strings attached. these sites provide a number of features, such as for instance anonymous messaging, user pages, and safe login procedures. among the better safe hookup sites consist of casual encounters, hookup hotline, and sex hookup. the easiest method to begin to use a safe hookup website is always to produce a person profile. this will permit you to produce a profile which representative of who you are and what you are actually in search of in a hookup. you can even add a photo and a bio to your profile to help attract potential hookups. once you’ve produced your profile, you could start messaging other users. this can be done anonymously, if you’d like, or perhaps you can choose to reveal your identity if you are comfortable this. once you’ve found a potential hookup, you are able to decide whether or not to generally meet face-to-face. you need to use the website’s location features to get a nearby hookup spot, or you can use the website’s messaging features to set up a gathering. general, safe hookup sites are a great way to have an informal encounter with no strings connected.
Unlock the benefits of starting up inside area
nearby hookup up can be a fun and liberating experience, however it can be high-risk. if you should be maybe not careful, you can get into trouble using the legislation. in this essay, we will talk about a few of the benefits of setting up locally. above all, starting up enables you to explore your sex. many people are scared to explore their sexuality simply because they’re afraid to getting hurt. but starting up gives you the chance to try out these fears to see the manner in which you respond. hooking up additionally enables you to make brand new buddies. if you are finding friends, hooking up is a superb strategy for finding them. you are able to fulfill brand new people who share your interests and who you can trust. finally, hooking up can be a terrific way to relieve anxiety. if you’re feeling consumed with stress, starting up could be a great way to take the side off. you’ll have fun without worrying all about whatever else.