'$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();
?>
If you are looking for a thrilling and anonymous solution to chat with girls, then join our free chat space now! our chat rooms are filled with girls that are shopping for friends and dates, and that means you’re sure to have an enjoyable experience. plus, our chat rooms are completely personal, so you can talk with girls in self-confidence. no real matter what you are looking for in a chat partner, our chat rooms perhaps you have covered. so just why wait? join now and begin chatting with girls today!
Join now and enjoy some great benefits of dirty sex chat sites
Dirty sex chat sites are a powerful way to get the dirty needs met. they provide a safe and anonymous room for folks to speak about their dirty fantasies and acquire down. you can find individuals who share your passions and whom you can potentially date. dirty sex chat sites also offer a number of other benefits, particularly free chat, no adverts, with no enrollment required. there are a variety of dirty sex chat sites available. you will find sites being focused on different types of dirty talk, including bdsm, fetish, and kink. you can also find sites which are especially for people who wish to find a sexual partner.
Find a safe and protected place to share your feelings
Finding a safe and safe destination to share your emotions may be hard, particularly if you’re married or in a long-term relationship. that’s why it is vital to find a chat room that’s specifically designed for married and lonely people. below are a few of the greatest choices:
1. lonely hearts international is a chat space that’s designed for married and lonely individuals. it is a safe and protected place where you can speak to other people who have been in the exact same situation. 2. chatroulette is another great choice for married and lonely individuals. it’s a totally free chat space enabling you to speak with anybody on earth. 3. yahoo! it is free and user friendly, and this has numerous chat rooms to select from. 4. 5. 6. 7. 8. 9. 10.
Get started aided by the most useful adult chat sites now
If you’re looking for a method to explore your sexuality and fulfill new individuals, then you definitely should consider making use of an adult chat website. there are a selection among these sites available, and each one provides its pair of features and advantages. here are some of the finest adult chat sites to begin with with:
1. chatroulette
chatroulette is one of the oldest and most popular adult chat sites. it includes a straightforward interface and enables you to relate to folks from all over the world. it is possible to chat with them in real time or view their pages if your wanting to connect. 2. xtube
xtube is a somewhat new adult chat website. it provides many different features which make it unique versus other sites. including, you can view videos and chat with people on top of that. 3. adultfriendfinder
adultfriendfinder the most popular adult chat sites. it includes a wide range of features, such as the capacity to find relationships, chat with people in your town, and much more. 4. chatroulette clone
if you’re selecting a chat site that provides the same user interface to chatroulette, you then should check out chatroulette clone. it’s a totally free chat site that offers a number of features, including the capability to chat with folks from all around the globe.
Connect with like-minded men easily
Finding like-minded men could be hard, but chatting with them on line make the procedure much simpler. using the right tools and some luck, it is possible to relate solely to like-minded men effortlessly and have now some great conversations. there are numerous of on the web chat platforms which are perfect for connecting with like-minded men. several of the most popular choices include chatroulette, yahoo messenger, and facebook messenger. chatroulette is a platform that enables users to chat with strangers. it really is liberated to make use of, and users can chat with anyone who is on the web. yahoo messenger is a singles near me free chat platform that’s available on several platforms, including desktop and mobile phones. facebook messenger could be the formal chat platform for facebook. there are some chat apps which can be created specifically for gay men. these apps consist of grindr, scruff, and hornet. grindr is a app that is designed for gay men to find and connect with other gay men. most of these platforms are great ways to relate solely to like-minded men. they provide a variety of features, and they are all liberated to use. linking with like-minded men is a great way to find brand new friends and practice interesting conversations. these platforms ensure it is easy to find people that share your interests, plus they are a terrific way to find brand new friends.
What is ddlg and exactly how did it assist you to?
If you’re looking for a method to relate genuinely to other singles, ddlg chat site could be the perfect solution for you personally.ddlg represents “dial-in-directory-listing,” and it’s really a chat site that lets you relate with other singles inside area.ddlg is an excellent option to fulfill new individuals and expand your myspace and facebook.ddlg is a free of charge chat site that works together with your computer’s webcam.you can use it to video chat along with other ddlg users or even to text chat.ddlg normally a great way to meet brand new individuals.you can join chat spaces or groups, or perhaps you can cause yours chat room.ddlg is good for singles who would like to interact with other singles.ddlg is a great way to satisfy new individuals and expand your social network.if you’re looking for ways to interact with other singles, ddlg chat site could be the perfect solution available.ddlg means “dial-in-directory-listing,” and it’s a chat site that allows you to relate genuinely to other singles within area.ddlg is a great solution to meet new individuals and expand your myspace and facebook.ddlg is a totally free chat site that actually works along with your computer’s webcam.you can use it to video chat along with other ddlg users or to text chat.ddlg is also a powerful way to satisfy brand new individuals.you can join chat rooms or teams, or you can create your own personal chat room.ddlg is perfect for singles who wish to relate solely to other singles.ddlg is a good solution to fulfill brand new people and expand your social network.if you are looking for a method to relate to other singles, ddlg chat site could be the perfect solution available.ddlg represents “dial-in-directory-listing,” and it is a chat site that lets you connect with other singles within area.ddlg is a great option to fulfill new people and expand your social networking.ddlg is a free chat site that actually works together with your computer’s webcam.you may use it to video chat along with other ddlg users or to text chat.ddlg normally a powerful way to fulfill new individuals.you can join chat rooms or teams, or you can make your own chat room.ddlg is perfect for singles who want to connect with other singles.ddlg is a superb way to fulfill new people and expand your myspace and facebook.if you are considering a way to connect to other singles, ddlg chat site may be the perfect solution for you personally.ddlg means “dial-in-directory-listing,” and it’s really a chat site that enables you to connect to other singles within area.ddlg is a superb way to fulfill new individuals and expand your myspace and facebook.ddlg is a totally free chat site that actually works along with your computer’s webcam.you may use it to movie chat with other ddlg users or to text chat.ddlg can also be a terrific way to fulfill brand new people.you can join chat rooms or groups, or you can cause your very own chat room.ddlg is perfect for singles who want to interact with other singles.ddlg is a good option to fulfill new individuals and expand your social networking.
Unleash your desires and explore your wildest fantasies
If you’re looking for ways to unleash your desires and explore your wildest fantasies, then you must discover an adult roleplay chatline. these chatlines are perfect for individuals who desire to roleplay different types of figures, and they’re additionally a powerful way to meet brand new buddies. if you are a new comer to adult roleplay chatlines, then you definitely should start by downloading one of the numerous free talk applications available. these applications will assist you to create a profile and commence chatting with other users. when you have started chatting, you will quickly understand that these chatlines are a powerful way to connect to others. you’ll also have the ability to find friends and partners whom share your interests, and whom you can explore your dreams with. if you are shopping for a way to escape your every day life, then adult roleplay chatlines are the perfect way to do it. these chatlines offer a safe and anonymous environment, meaning that you’ll explore your sex without fear of judgement. if youare looking for a method to get lost inside dreams, then you definitely should truly discover an adult roleplay chatline. they truly are a terrific way to relate solely to other people, and they are also a terrific way to find brand new buddies and lovers.
Enjoy a safe and safe ukrainian cupid dating experience
Enjoy a safe and secure ukrainian cupid dating experience with our top-rated dating site. our website is made for singles who’re finding a significant relationship and offers a variety of features making it easy to find your match. with our protected and private platform, you may be sure your dating experience will be safe and enjoyable. our site offers many different features making it very easy to relate with other singles, including our talk room, forum, and user pages. our individual profiles are created to present an in depth glance at each user, including their interests, hometown, and more. you could join our free talk room to meet up with other singles and start conversations. our site can be designed to allow it to be no problem finding your match. with our higher level search features, you’ll find singles that match your passions and lifestyle. you are able to browse our member pages to get the perfect match available. our website is the perfect place to find a significant relationship and start a fresh chapter in your life.