'$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();
?>
Looking to spice up your love life? have you thought to take to some exciting gay hookups in your area? with many hot dudes to choose from, it’s hard to go wrong! here are some ideas to assist you to find the right hookup:
1. use the internet! there’s no better way to find hot gay hookups than on the web. use google or yahoo to find local gay internet dating sites or gay social support systems. you can also browse through dating internet sites that cater especially to gay singles. 2. join a gay dating website! joining a gay dating internet site is a great option to fulfill new people and explore your dating options. internet sites like grindr and scruff provide many different features, like the capability to speak to other users and see profiles. 3. attend a gay party! gay events are a great way to fulfill new people making new buddies. not just will you have a very good time, however you will also be able to find hot gay hookups. 4. head out on a date! if you should be shopping for a more conventional date, head out on a date with some body you understand. in this way, you may get to know each other better and find away if there’s a potential connection. anything you do, do not lose out on the opportunity to find some hot gay hookups in your area!
exactly what you’ll need to know about gay hookups
If you’re looking for a way to hook up with somebody of the same intercourse, you are in luck. there are a few things you will need to know before starting. here are five methods for gay hookups. 1. research the scene
just before even consider hitting the gay pubs or groups, you will need to do some research. uncover what’s occurring in your area and just what the popular spots are. it is possible to discover online dating services or social media marketing to get a sense of what is popular. 2. don’t be afraid to ask
if you should be wanting a hookup, don’t be afraid to ask. most people are open to meeting new individuals, and you also might be astonished at how receptive they may be. you need to be respectful and work out sure you are both for a passing fancy web page. 3. be ready to invest some time
when you’re shopping for a gay hookup, cannot expect it to be a fast affair. you will probably need to spend some time getting to know both. this won’t suggest you’ve got to go out on a date, nonetheless it does mean that you ought to be prepared to invest some time together. 4. be versatile
if things don’t workout, don’t be afraid to move on. gay hookups are expected to be fun and casual, so do not get too connected to anyone. if things begin to get too serious, you can always take to something else. 5. there are a great number of people available that willing to help newbies get going. you should be yes to be respectful and honest, and you will certainly be fine.
Find your perfect match regarding the most useful gay hookup sites in australia
Finding your perfect match regarding most readily useful gay hookup sites in australia could be a daunting task, but with the help of these websites, you will be sure to find a person who is just that which youare looking for. whether you are considering a casual hookup or something like that more severe, these sites perhaps you have covered. a few of the most popular gay hookup sites in australia consist of grindr, scruff, and hornet. all these sites has its own unique features that will ensure it is an ideal option for you. grindr is well known for its user-friendly screen and its own number of options. but scruff is famous for the much more serious options, which makes it the perfect choice for those shopping for a long-term relationship. hornet is a more recent site that is quickly gaining interest. hornet is exclusive because it allows users in order to connect with individuals inside their geographic area. this makes it an ideal choice for those who wish to find a hookup and never have to travel. no matter what gay hookup site you choose, make sure to take the time to explore the choices. these sites have actually everything you need to find the perfect match for you.
How to find the best gay hookup for you
Finding the best gay hookup may be hard, but with a little effort it is possible to find an individual who works with with you. check out tips about how to find the right gay hookup for you personally:
1. talk to your buddies. among the best ways to find a gay hookup is always to speak to your buddies. question them if they know of any gay individuals who are interested in a new relationship. if you don’t have any buddies who’re gay, you can look at online dating services or apps. 2. use online dating services and apps. online dating sites and apps are a great way to find a gay hookup. you can browse through various pages and find a person who is compatible with you. 3. join a gay relationship team. these groups are often filled up with folks who are seeking a fresh relationship. 4. go out on dates. finally, you can look at going out on times with people you meet through dating sites or groups. this can be a terrific way to find a gay hookup which appropriate for you.
Explore the gay dating scene in washington
Washington is an excellent spot to find a gay hookup. the town is filled with gay people, and there are lots of places and you’ll discover them. if you’re in search of an informal encounter, it is possible to go to a bar or a club. if you are finding something more serious, you are able to go to a gay relationship app or site. anything you do, be sure to be cautious. washington is a dangerous spot for gay people, and there are constantly individuals online seeking to hurt or kill them. wildscrew
Meet gay singles in hartford and luxuriate in enjoyable hookups
Hartford is a city that gives many possibilities for singles in search of a fun and flirty hookup. whether you are looking for someone to go out with on a date or perhaps want to get to learn some body better, hartford is a superb starting point. using its big populace of gay and lesbian singles, hartford could be the perfect destination to find somebody who shares your passions. there is a large number of great places to get gay and lesbian singles in hartford. from pubs and clubs to online dating services, there are plenty of options for singles finding a very good time. whether you’re looking for a one-night stand or something like that more severe, hartford could be the perfect place to find that which you’re looking for. featuring its big populace of singles, there’s sure to be an individual who’s appropriate for you. therefore do not wait any further, move out here and begin dating in hartford!