'$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();
?>
This happens even with the most patient parents. A sharp shout, fumes, rude words, about which we are immediately ready to regret. But what is done is done. Question: How to worthy to get out of this delicate situation? What strategies will be the most productive?
Most parents choose one of three common scenarios.
Begin to reproach themselves for another breakdown and feel guilty.
Trying to appease children in every way and establish relationships with them. But at the same time they are silent about what happened, as if it were necessary.
Take a defensive position, justify their behavior and convince themselves that they were not so yelling that this child is to blame, because he behaved disgustingly.
These scenarios are not particularly effective, according to Karl Naumburgh, an expert on raising children and the author of the book “How to stop breaking into children”. Self -flagellation is an emotional impasse. It does not give space for further development, you just get stuck in it. As for the defensive position, this reaction does not allow us to realize what happened and what to do next time. Attempts to appease the child can reduce your authority. Kard Naumburgh explains which strategies will be more productive.
Calm down
When the stress level goes off scale, it takes time to turn on the parasympathetic system and you could reason logically. There are many ways to calm down. You can breathe, stretch, go to another room, energetically do in some business. Experiment.
Sympathize with yourself
A good attitude towards yourself is the most effective way to prevent future breakdowns.
If for many years you are used to behaving in the opposite way, sympathy for yourself will require deep internal work from you. Remember: punishing yourself for disruptions, you will not fix the situation. And self -suffering does not mean ignoring the problem.
Sympathizing with ourselves, we notice that we experience difficulties: we remind ourselves that we are not alone, and we begin to treat ourselves kindly. As a result, we calm down and gain the ability to think clearly and make informed decisions.
Shout
Curiosity for your inner world, triggers and breakdowns does not mean self -criticism or denial. Remember what you felt when someone sincerely sincerely asked your condition, not in a hurry to criticize you. We argue, you felt calm, support and confidence in further actions. So, you can show the same interest in yourself and your experience.
After you exhaled, distracted and calmed down a little, try to ask yourself the following questions:
What am I thinking? How I feel?
What is happening with my body? Do I feel fatigue? Do I need to eat, drink water or coffee?
What makes me out? What else is happening in my life?
Does the time of the day or year affect my well -being? Perhaps stress is caused by some coming events?
What will help me calm down now?
What do my children need? Maybe they are tired, hungry, get sick, experience a difficult period?
Who can you write or call and ask for help?
When you calm down, ask what happened in your body at the time of the breakdown: whether your shoulders were tense;Did you want to escape;whether you drove yourself into a rage;whether they clung to every little thing in the behavior of the child?
So you will learn how to recognize your reactions and you can warn them in time when you find yourself on the verge next time.
If you notice that you are constantly pursued by a feeling of loneliness, stress, talk to someone about this. Seek support for specialists: this trigger will not go anywhere until you work it out.
Make peace with children
Sincere reconciliation will help you and your child calm down and again feel solid ground under your feet. This is the best way to explain what happened and prevent incorrect conclusions: for example, children often believe that they are to blame for everything, and they think that they are bad.
You need to start with an apology. There is nothing wrong with apologizing to the child: this will not interpret your authority. But you will definitely show the correct example of behavior for the future and give the children an occasion to imbue you with respect.
Apologies do not mean that you did not notice the poor behavior of the child, and do not cancel the subsequent conversation. But while the child is in stress, he will not hear you. First make peace, then keep the conversations.
How to apologize:
“I’m sorry that I screamed (a), but I, damn it, warned a million times so that you would not throw the ball into the glass in the glass, and you did not obey!”
“I’m sorry that I have flared up, but you are behaving like a little bastard. What do you want from me?”
If you added the word “sorry” to the sentence, it does not become an apology by default. In fact, the examples of the “apologies” given above are nothing more https://mrpetslife.com/2023/08/13/ho-to-1win-skachat-ne-vykhodya-iz-doma/ than another wave of breakdown under the guise. If you have just such phrases, then it is time to listen to your condition, pause and switch. Having calmed down, you can really apologize. And the real apology usually consists of three parts:
Take responsibility for your behavior. Admit your role in the situation, whatever it may be.
Make a plan for further actions. Explain that the next time you do otherwise, and how it will help.
Here is an example: “I’m sorry that I shouted at you (a). I got angry (angry) that you did not put on shoes. Shouting is not good, and I apologize. Let’s try to help each other more and work as one team: you will listen to me carefully, and I will try to control myself and not scream. Agree?”
Apologize for behavior, but not emotions. You can recognize your irritation, inflection, fatigue and other emotions, but do not apologize for them. All emotions have the right to exist. What you need to apologize for is for behavior.
The difference between what you feel and what you do is the most important distinction that you and children should understand. The ability to live various emotions, without reacting the action to them, is an important life skill (which many of us sagging).
Do not promise that you will never break into children again: it is unlikely.
Make a plan of further actions if possible. Predictability gives a feeling of solid soil under the feet. It’s not about the plan for the rest of your life, but what you intend to do, for example, during the remaining day.
Speak exactly and briefly. Too many words and explanations will be confused by the child and more confusing him. If it is very difficult for you to ask for forgiveness, looking directly into the eyes, sit down next to him on the sofa. Stand side by side near the kitchen table. Talk in the car. You are nearby, but do not look and do not invade its personal space – so you can slightly discharge the situation.
Do not expect a specific reaction from children (apology, hugs, and so on). Try not to be able to say that now the child is to apologize. This is nothing but a continuation of the breakdown, but for now this is so, you will not achieve anything.
Complete reconciliation in your own way. Some children want to be hugged, others – to play with them or read the book together. Someone helps to dump the voltage a joint snack in the kitchen or movement to the music. There are children who prefer to stay alone: draw, read, play on the street. If your child is like this, give him the opportunity to be alone.
If you still feel like a platoon, try to distance yourself for a while. Try to slow down, as far as possible, to focus on something and make a lot of deep breaths and exhalations. If the child is already adult enough, say: “I am still upset (a) and tired (a) and I do not want to scream again at you. I need to be in a calm environment. Let’s give you a book or toy, and I will rest myself?”
So you do not show indifference;You care about yourself in order to better fulfill their duties in the future and give children a good example of how to behave correctly when passions are heated.
Leave a Reply