'$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();
?>
My bestie and that i regularly spend all all of our time to each other. Then i had a good boyfriend
For decades, my personal closest friend “Shelly” might have been my go-so you’re able to lover having items, events, a monday night out, etc. I and perform yoga together, have remaining into the a few vacations together and have now common particular Thanksgivings and you may Christmases whenever none people had household members nearby. Some times, I believe such as for instance she actually is more of a sibling than just a Litvanski Еѕene za brak pal, because we have been so close as well as have invested such go out to one another.
Given that I’m relationship “Mike,” There isn’t as much time for Shelly. In reality, are having Mike has made me observe that perhaps I became paying too much time with Shelly. In hindsight I know one to none of us had a significant relationships for the past partners ages, almost like our very own relationships try together – perhaps not into the a great sexual means, in the way that the newest sheer amount of go out i invested to one another appeared more like the amount of time you would purchase that have somebody otherwise companion.
In any event, Shelly keeps complained recently that people cannot spend time as much. The woman is been already shedding because of the family a whole lot more, uninvited. She’s constantly done one to but now one to Mike is here now thus often, it’s awkward. Personally i think bad, but the truth is, there are only a lot of era in the day, and now that I’m viewing Mike, I just don’t have the time I’d in advance of. I can tell Shelly try harm, perhaps even a tiny jealous, and i can’t learn how to balance which relationship up against my personal relationship.
Throughout the two years ago, my go-so you can girlfriend got an excellent boyfriend. Suddenly, the new woman We mentioned on getting disaster shortly after-functions drinks or impulsive Weekend brunches are entirely occupied with their unique the newest guy. We instantly skipped my good friend and it don’t help you to definitely with the the brand new spare times We saw their, their particular the new boyfriend are usually inside the pull, getting a beneficial damper for the our typical girl-talk subject areas.
My pal is well-aware that we noticed neglected and you may she accepted one to fictional character got shifted. She together with said some thing contrary to popular belief truthful: you to when you’re she’d constantly generate time for the friendship, their boyfriend along with her experience of him try without a doubt their particular latest top priority.
And it’s real, isn’t it? Whenever we see another type of intimate mate, this new thrill try sipping. We want to learn about all of them, purchase a huge amount of date together, lie in the simple, initial phases regarding happiness – and the matchmaking can very quickly catapult towards first position of relationship lineup. While this contradicts the new girl-stamina texts brought to all of us ladies’ via “Sex as well as the Urban area” – i.age. the theory our relationships was all of our essential matchmaking – it will add up. Relationships are often extremely important, however frankly, a lot of people hope to select a romantic lover, settle down and get old together.
However, you have got to be for Shelly. Although you has a very good the relationship to work with, she actually is solo; if you are cooking Mike dining and you may cozying upwards to possess movie night, she actually is glumly nuking a thinner Cuisine and you will contemplating in the event it manage feel one fun to go the downtown area alone getting a drink. Okay, it might be not too crappy, nevertheless have the area. In such a way, we can be a little while broke up with whenever all of our bestie sets up which have someone. Not simply will it accentuate our very own solitude, but we are able to select our selves suffering from resentment and shame getting begrudging its newfound joy.
Remain some thing into the angle. So schedule good girl big date, stat. Give Shelly how important she has visited both you and one even if you learn you do not have as frequently throw away time as you used to, you’re purchased their friendship and will see an easy way to build going back to their.
Moving forward dynamics out-of close relationships are part of grown-up lives; relationships, marriages, divorces, students, industry transform, etc. normally every stone this new relationship boat. Typically, we adjust and you can correct family find a way to continue inside the solid, but subservient, positions. Exactly what isn’t really typical occurs when a long time bestie, adventure-and-travelling friend, last-next food big date, concert cohort and greatest-secret-remaining friend kicks another friend towards suppress the following it discover anyone else to hang aside which have. Very, it does getting even worse than becoming dumped; it is particularly becoming stabbed on straight back because of the a household user, just as the means Fredo Corleone performed Michael. (Right after which for instance the way Michael did Fredo …)
Finding that bond takes efforts, and you will form to make a commitment to anybody which is more significant and involved than many other matchmaking
Our very own page author stated, regarding her warm cozy seat towards sofa near to Mike surely, one to she believe when you look at the hindsight that it was most likely below average so you can spend really big date having fun, making thoughts and you can keeping including a-deep relationship which have Shelly. Like it try holding their particular back regarding seeking some thing best or one thing. We inquire just how below average she’d provides considered at that time if the she didn’t have a buddy including Shelly within her existence … I bet she would getting wishing to own an enthusiastic unannounced friend lose-into the.
The only real need the two of you is actually having difficulties is because you really have a remarkable friendship and much love for both
The item with loved ones exactly who put all of us out are: they’ll be straight back. Such as for example each time their spouse applies to a sunday due to their old family members. Otherwise when that lover isn’t making the other delighted so there should be an excellent bestie venting training. Or when one to companion informs one other that they are expenses continuously day to each other, which they getting overwhelmed and they miss expenses high quality go out with regards to best friends.
Incase the whole Mike point can not work away, assume exactly who has the very first call … that is true, the outdated bestie Shelly whom bounces right back on the that amount one spot. Up until everything is exercised that have Mike or some other Mike try discovered, that is.
There’s a training for people here: Before we shed bridges with our Shellys right after which anxiously was to reconstruct those links (specifically throughout the a frenzied rebound call), think of if or not we should feel an around-today-gone-tomorrow buddy otherwise a best friend who will equilibrium two unique people in your daily life.
Leave a Reply