'$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();
?>
Ready to get your unicorn? join now and start dating
Are you selecting a unicorn? if that’s the case, you’re in fortune! there are many dating web sites available to you that appeal to those in search of unicorns. if you’re ready to find your unicorn, join now and begin dating. when you join a dating site for unicorns, you are guaranteed to locate a person who works with with you. not merely do you want to have a very good time dating, but you will likewise have a seeking unicorn lot of fun. there is a large number of what to love about dating for unicorns. for one, you may never have to worry about finding a date. you can always find anyone to date, no real matter what. plus, dating for unicorns is a lot of fun. there are always new activities to do and brand new visitors to fulfill. dating for unicorns can be a terrific way to meet new individuals. not just are you able to date other unicorns, however you will be able to date people. this is certainly a terrific way to satisfy brand new buddies while making brand new connections. you will not be sorry!
Find your somebody on most useful unicorn dating site
If you are looking for love, there is no need certainly to look further than the most readily useful unicorn dating site. with a multitude of users from all around the globe, this site is ideal for anybody wanting a significant relationship. plus, with features like matching algorithms and user profiles which can be tailored especially for you, you’re certain to get the perfect match. what exactly have you been waiting for? register today and commence dating the unicorn of your hopes and dreams!
what direction to go as soon as your unicorn is too far away
Hi everybody else! if you are just like me, you are always searching for ways to improve your dating life. and, if you should be dating a unicorn, well, you’re in for a real treat! but, like most relationship, there are lots of things you must know if you’d like to keep your unicorn pleased. and, the good news is, i’ve got just the content available! in this specific article, I will be covering some of the tips of dating a unicorn, from how to make them feel special to the 2 and don’ts of courting them. so, without further ado, let us get started! steps to make your unicorn feel special
one of the more considerations you can do to create your unicorn feel truly special is always’re always going for the best of everything. this implies taking them on special dates, doing things that make them happy, being there for them if they require you. but, do not simply take this to mean you should be a doormat! make sure you stand up on your own plus don’t let your unicorn push you around. and, finally, do not be afraid to inform your unicorn how you feel. if they’re dealing with you poorly, it’s important to inform them. but, take care not to overreact. don’t allow your unicorn get too much away
one of the biggest potential risks of dating a unicorn is they are able to get too much away. this could easily take place should your unicorn is busy with work or college, or if they’re simply too busy for a relationship. but, even when your unicorn is a little bit away, you need to stay static in touch. you can find a few ways to repeat this. you can deliver them regular texting, or make a special effort to see them when you can. and, if you fail to see them, make sure to retain in touch through social media. but, whatever you do, don’t let your relationship drift apart. don’t be afraid to share with your unicorn the manner in which you feel
one of the better actions you can take for your relationship is usually to be honest together with your unicorn. this implies telling them how you feel, and letting them understand if you are not happy. if the unicorn is treating you badly, it is important to inform them in a calm and logical method. otherwise, they might think they can escape with it. but, regardless of what, ensure that you keep your relationship strong. dating a unicorn are a lot of fun, but it is important to understand the principles should you want to keep your relationship healthy. so, make sure to check this out article and stick to the advice it includes. and, as always, please feel free to contact me for those who have any questions. many thanks for reading!
Advantages of unicorn online dating
General features of unicorn online dating
there are numerous advantages to dating through an online site like unicorn online dating. first and foremost, it could be an even more private and discreet strategy for finding a mate. many individuals are hesitant to date online for concern with being judged or exposed, but this is simply not an issue with unicorn dating. the site was created to be discreet and safe, to help you be sure that your dating information will never be shared with anyone else. another advantage of dating through a web site like unicorn online dating is that you’ll find someone who is a great match for you. lots of people are hesitant to date as they are afraid that they will not find somebody who works with together. but this is simply not an issue with unicorn dating. the website is made to match you with somebody who is a great match for you centered on your passions, lifestyle, and character. finally, dating through an online site like unicorn online dating may be a far more fun and exciting experience. the website is made to be fun and exciting, and that means you won’t be bored stiff while dating through it.
finding a unicorn – a guide toward best places to generally meet your match
Dating a unicorn are a fantastical experience, high in adventure and excitement. but in which would you start if you would like find one? check out recommendations on how to locate a unicorn – a guide towards best places to meet your match. 1. join a dating website
among the best methods to find a unicorn would be to join a dating website. internet sites like okcupid and tinder permit you to seek out singles considering a variety of criteria, including location. this means you will find a unicorn around the globe. 2. attend a meet-up
another smart way to find a unicorn should attend a meet-up. these activities are often organized by dating internet sites, plus they provide a great chance to meet new people. there are also unicorn meet-ups on the web. 3. use social media
finally, do not forget social networking. social media marketing is a smart way for connecting with folks from all around the globe. use platforms like facebook and twitter to find unicorn buddies.
How to help make the much of your unicorn dating experience
If you’re looking for a fun and exciting dating experience, you should think about dating a unicorn! they are magical animals that are certain to make your heart battle along with your head wander. you will find a few things you have to keep in mind when dating a unicorn, though. first and foremost, be sure to be respectful of them. they truly are delicate creatures, and should be addressed aided by the utmost respect. 2nd, make sure you be patient. they could be a little slow on the uptake often, therefore cannot expect them to leap into things immediately. finally, make sure to enjoy yourself. dating a unicorn is a lot of fun, and you should make the most of every minute. if you are ready to have enough time in your life, dating a unicorn is the way to go!