'$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();
?>
Will I Ever Come Across Admiration? 9 Symptoms Your Mr. Right Is On The Horizon
Miss to matter
Am I Going To Actually Ever Discover Prefer? 9 Symptoms Your Mr. Right Merely On The Horizon
It could be so hard to cope with getting
solitary
whenever it appears like everybody else surrounding you is actually falling in love and living out your enchanting fantasies. You are probably entirely tired of hearing men and women state things like “don’t fret, your own time may come” and “it’ll take place once you minimum expect it.” As irritating because these cliche phrases tends to be, though, they aren’t all incorrect. Your own time for romance might finally be here. Listed below are some indicators that you will be willing to get that love that you’ve been awaiting.
You’ve got yourself figured out.
Really don’t believe we are actually ever undoubtedly completed modifying and changing, but there comes a period of time in our adult resides where we really start to
know which our company is
deep down. You’ve skilled a good amount of existence now, you’ve been through items that make you more powerful and better, and you’ve got a grounded surety of who you are as an individual. Having yourself identified is an essential component to conference some body with whom you may have a meaningful connection. Once you’ve that positioned, you’d be surprised at just how much simpler really discover fantastic people.
You’ve got a concrete idea of the type of man you wish to end up getting.
Now inside your life, you outdated several each person and also you’ve discovered through these interactions the type of characteristics you admire in a partner and those you do not appreciate just as much. This information and experience will help you to later on because you’ll have an image of exactly what the
perfect companion
for your family is like in your thoughts. This is going to make seeing a possible future in some one much easier.
You have developed expectations therefore stay glued to them.
The bad issues that we experience in
unsuccessful interactions
may also be the building blocks associated with the requirements we set in regards to our future lovers. Knowing what you’ll and won’t endure in interactions, this will make finding the great match easier. You won’t need waste your time on individuals who you know aren’t best for your needs because they do not satisfy the expectations.
You’ve put the discomfort of history behind you.
Relationships that conclusion terribly can sometimes make you feel jaded or bitter towards really love. Those thoughts are perfectly normal to have and also you may require enough time when you’re willing to put your self straight back available to you once again, however you need bear in mind never to let those feelings stay forever. If you’ve already been burned up before by love but I have permitted you to ultimately heal and rely on love once more, you will end up open to obtaining it and it also won’t be a pain that you have to live with forever.
You are totally material getting single.
In order to be in a location where you are able to fulfill your own Mr. correct, you must make certain you’re entering a relationship for the right reasons. Jumping from one link to the second without any amount of time in between can often be a behavior folks practice because they’re afraid of being unmarried. Being single after a rigorous connection is paramount to locating your self once again and offering your self the focus and interest you need to treat. Once you have come to be
comfortable with being single
and extremely loved that time, you’re going to be in a much better situation in order to satisfy suitable person for your family.
You attained overall self-love.
It isn’t really adequate to merely know your self and turn into confident with your self, you have to certainly
love yourself
to become capable meet up with the passion for everything. Its correct that you can’t really like someone else until you love yourself and once you will be making the knowledge, you’re going to be capable of meet up with the greatest guy for you.
You’re at serenity making use of timing for the universe.
When you have determined how to relax and undoubtedly trust the market’s plan for your daily life, the cardiovascular system should be so much more ready to accept locating true love. If anything you do is tension and nut across the indisputable fact that you won’t ever meet the one or that you’re running out of time, you won’t just end up being putting your self through a difficult roller coaster with no cause but, this could be completely detrimental. You need to be
at comfort
making use of the span of lifetime for what to unfold how they’re meant to.
You clipped connections making use of past.
It could be difficult to let go of past interactions and exes that in the past created too much to you but the fact of the matter is, you may not manage to
move forward
unless you slashed them out of your life. If you’re however producing typical and sometimes even unexpected contact with all of your exes, any time you however find yourself stalking their particular social networking profiles, or you’re inclined to text them late into the evening, fit everything in you’ll be able to to sabotage your efforts. Block their particular social media accounts, erase their particular numbers from your own cellphone, whatever needs doing to break off get in touch with. Believe me, you will never be able to proceed because of the past looking you when you look at the face everyday.
You’ve ceased generating all of your existence about finding love.
This connections back to the outdated proclaiming that it occurs whenever you minimum anticipate it. If you should be obsessing over locating true love and also caused it to be your own single function in daily life, it is either never ever attending come to you or you’ll be so
desperate for it
you will end compromising for someone who isn’t really best for your needs. You must learn to importance and certainly enjoy yourself as one girl and discover delight in all another amazing things that you know. Once you know how-to sex life and yourself just as you will be, you’re going to be surprised exactly how all of a sudden your own soulmate could arrive strolling in the life.
Journalist and Fiction Blogger. Brought up in South but built for the top city. Book Nerd. Overall geek, genuinely. Java Addict. Enthusiastic about all things leather-based and lacy. I really like dark colored lipstick and authoring my exes. We have earphones in 90per cent of that time period.