'$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();
?>
what’s a hookup dating service? a hookup dating service is a type of online dating service which allows users to locate casual sexual partners. hookup dating services are often marketed instead of traditional dating solutions, which are often viewed as much more serious and commitment-oriented. hookup dating services are typically liberated to use, and several of them offer a limited range free matches per day. unlike old-fashioned dating solutions, which require users to produce a profile and upload a photograph, hookup dating services typically require users to submit only a brief profile description and an image. hookup dating solutions are often built to facilitate casual sexual encounters. most of them provide a “no strings connected” policy, therefore users are not needed to form any type of relationship with their casual sexual partners. hookup dating services are controversial. some individuals view them in an effort to avoid dedication also to avoid developing any kind of relationship. others view them as a way to find casual intimate partners that are not enthusiastic about developing a far more serious relationship. exactly what are the benefits of using a hookup dating service? some great benefits of using a hookup dating service are mainly determined by the average person user. the primary great things about making use of a hookup dating service are convenience and speed. the key drawback of using a hookup dating service is the fact that it is difficult to get a serious relationship with an informal intimate partner. many hookup dating services are made to facilitate easy and quick encounters, but they are not designed to find long-lasting partners. but numerous hookup dating solutions are not made to find long-term lovers. the origins regarding the hookup dating service may be traced back into the first days of the net. into the early days regarding the internet, many individuals utilized bulletin board systems (bbss) to find casual sexual lovers. the initial hookup dating service premiered in 1995. at the time, it absolutely was among the first online dating solutions to provide a “no strings connected” policy. typically the most popular hookup dating solutions are tinder, grindr, and okcupid. tinder is the most popular hookup dating service in the united states.
Find your perfect match regarding the most readily useful dating hookup websites
Dating hookup websites are a terrific way to find an informal relationship or a one-night stand. they’re also a great way to satisfy brand new individuals. there are many dating hookup websites around, and it can be hard to determine which to make use of. the greatest dating hookup websites would be the people which are user-friendly and possess a lot of features. some of the best dating hookup websites have actually features like singlesover60s boards, discussion boards, and dating pages. these websites are superb for fulfilling brand new people and finding a casual relationship or a one-night stand. the very best dating hookup websites also have features like matchmaking and dating guidelines. these features help you find the best person for you personally. top dating hookup websites likewise have lots of users. this means that it’s likely you’ll find someone you want to date on these websites.
How to obtain the right hookup dating service for you?
So, you’re thinking about checking out a fresh dating service? there are a lot of them on the market, and it will be hard to determine which is suitable for you. but cannot worry – we are here to help! in this specific article, we will let you know about the different types of hookup dating solutions available, and how to find the right one for you. first, let’s talk about different forms of hookup dating solutions. there are three primary kinds of hookup dating services:
1. casual dating services: they’re the most common variety of hookup dating service, and they’re made for people who would like to possess some casual intercourse. they often have lots of people, and you can join 100% free. 2. premium dating solutions: they are solutions being aimed at more severe relationships. they usually have actually an inferior number of members, along with to pay for to join. 3. swingers groups: swingers clubs are a kind of premium dating service. they may be for those who are looking for a serious relationship, and additionally they usually have a lot of people. the very first thing you need to do is decide what variety of relationship you’re looking for. if you would like to possess some casual sex, then a casual dating service has become the right option for you. however, if you’re looking for a far more serious relationship, then reasonably limited dating service has become the best option. and lastly, if you should be looking a swinger club, then you definitelywill need to look for reasonably limited dating service. given that you know how to find the right hookup dating service available, it is the right time to get started! there is a large number of them available, therefore it might take some time and energy to find the appropriate one. but do not worry – we are here to help you every step associated with the way. so, never hesitate – start trying to find the best hookup dating service today!
Making the most of your hookup dating experience
There are many things to consider when it comes to hookups dating, and it’s important to make the most of your experience. here are a few tips to help you get the absolute most from the hookups dating:
1. be truthful and upfront
when you’re setting up with somebody, it is vital to be honest by what you are considering. if you’re just looking a one-time intimate encounter, be upfront about that from the start. if you should be looking for one thing much more serious, be truthful about that, too. 2. communicate well
it is vital to communicate with your hookup partners. if you’re unsure what you need, make sure you ask. it can be difficult to know very well what to complete when things are occurring quickly, but communication is key. 3. don’t be afraid to experiment
if you’re trying to find something new and exciting, avoid being afraid to experiment. there is a constant know very well what might happen if you decide to try one thing brand new. and if things do not work-out, that’s okay, too. it is critical to remember that hookups dating is about having a great time. 4. be respectful
if you are hooking up with someone, it’s important to be respectful. this implies being respectful of these boundaries and privacy. if you should be unsure what’s appropriate, err privately of care. 5. do not be afraid to state no
if you do not want to do something, be sure to state no. that is especially essential with regards to hookups dating. if you are uncomfortable with something, it is best to be upfront about this. of course someone has been too pushy or aggressive, be sure to say no. by after these tips, you may make the most of the hookups dating experience.