'$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 a fantastic new solution to date trans people
A brand new option to date trans individuals
if you’re finding a fresh way to date trans people, you should take a look at a trans hookup site. these websites offer an original solution to meet trans people and date them. trans hookup internet sites are a great way to satisfy trans people. they permit you to search through profiles in order to find somebody who you want to date. you are able to speak to these people to check out when you have a connection.
Find trans hookups near you today
Looking for a trans hookup near you? look no further! here, we have put together a summary of the very best places in your area to get trans hookups. whether you are considering a casual encounter or something like that more serious, we have you covered. if you are finding a trans hookup that is discreet and private, then chances are youwill want to check out our directory of trans hookup web sites. these sites are perfect for those who desire to hook up with someone in a safe and safe environment. if you should be shopping for one thing more general public and social, you then’ll be wanting to see our variety of trans internet dating sites. these websites are ideal for those who wish to find a long-term partner. whatever your preferences, offering you covered. therefore, exactly what are you looking forward to? begin searching our list of trans hookup web sites today and discover the perfect match available!
Find your perfect match now
Finding your perfect match is simpler than ever by using the best trans hookup sites. whether you are looking for a casual or committed relationship, these sites have you covered. 1. shemale dating internet site
if you should be finding a niche site that caters specifically to transgender singles, shemale dating site is the perfect place to begin. this site offers an array of features, including a user-friendly interface and a variety of user pages. 2. tsdates
tsdates is another great choice for transgender singles. 3. ts escorts
if you should be in search of a niche site that specializes in escorts, ts escorts could be the perfect place to start. 4. 5.
How to choose the right trans hookup website for you
When it comes to finding a date, there are a lot of options nowadays. whether you’re looking for a casual fling or something like that much more serious, there are plenty of dating sites to choose from. but that is the best trans hookup site for you personally? there isn’t any one-size-fits-all response to this question, due to the fact best trans hookup site for you depends on your specific needs and preferences. but there are a few key factors to consider when selecting a trans hookup website. above all, you’ll want to decide what form of dating you’re interested in. are you looking for an informal encounter? a long-term relationship? or something like that between? then, you will need to think about your location. looking for a site that is situated in your local area? or do you want to explore a wider array of potential hookups? and lastly, you will need to determine what style of individual you are considering. do you wish to date people that are the same as you? or do you want to date individuals who have different interests and backgrounds? with of those factors at heart, listed below are five associated with the best trans hookup sites to help you try out. 1. grindr
if you’re looking a site that’s based in where you live, grindr is the best trans hookup website for you. it’s not only for sale in most major metropolitan areas across the world, but it also has a wide range of users from all walks of life. this means you might find somebody who shares your interests and life style. 2. you can make use of and it is loaded packed with users who’re selecting a casual encounter. plus, it’s absolve to use, so thereis no need to pay a subscription fee. 3. it’s packed filled with users who are looking a serious relationship. plus, it’s an array of features, including a messaging system and a dating forum. 4. it is unique because it needs both users to make the first move. this means that you likely will find a person who’s thinking about you, rather than just seeking a one-night stand. 5. it is perfect if you should be in search of a more immersive experience.
exactly what makes a trans hookup site stand out
There are two things that make a trans hookup site stick out.first and foremost, a trans hookup site is user friendly.users can find what theyare looking for quickly.additionally, the site should really be user-friendly and simple to navigate.finally, the site should offer a higher level of customer service.all of those facets make a trans hookup site a fantastic option for users.additionally, a trans hookup site should provide a number of features which make it a great choice for dating.these features can include an array of dating options, a user-friendly software, and a number of features making it simple to find a romantic date.overall, a trans hookup site should really be simple to use, offer a number of features, and be user-friendly.these facets allow it to be a great choice for users looking a good dating experience.
Discover the greatest trans hookup sites inside area
If you’re looking for a hookup with a transgender individual, you’re in luck! there are numerous of great trans hookup sites available to you that will help you see a compatible partner. here are five of the finest trans hookup websites to look at:
1. tsdates is a dating internet site for transgender people and their admirers. it offers a user-friendly interface and features a number of filters to assist you find the correct individual available. 2. 3. 4. 5. these are are just some of the great trans hookup sites online. there are numerous more to explore, therefore be sure to check them all out!
The benefits of making use of trans hookup sites
The advantages of utilizing trans hookup site are unmistakeable. not just are these sites convenient, however they provide a safe and safe environment for users. furthermore, a number of these sites offer numerous features, making them an ideal option for those seeking a hookup. the most essential benefits of making use of trans hookup sites is that they’ve been safe. unlike many other hookup sites, trans hookup sites are designed especially for trans individuals. this means that users are guaranteed in full a safe and safe environment. also, these sites are often monitored and policed very carefully, making certain users are safe from damage. another advantage of using trans hookup sites is the fact that they offer a multitude of features. several sites offer features particularly talk, messaging, and dating. which means that users will find the right hookup website for them. also, many of these sites offer features that are not on other hookup sites. for example, many trans hookup sites provide features that are certain to trans people, such as for instance trans dating. overall, trans hookup sites are a fantastic choice for all seeking a hookup. they offer a safe and safe environment, numerous features, and therefore are frequently checked and policed carefully.