'$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();
?>
Connect with compatible singles on chat lines for seniors
Chat lines for seniors are a terrific way to connect with suitable singles. these chat lines are great for folks of all ages and may be a great way to meet new friends or find a new love. lots of the chat lines provide a variety of features that produce them great for dating, including the capacity to receive and send messages, chat with people from all around the globe, and join teams that are relevant to your passions. there are numerous of various chat lines that are offered, and every one has its unique features. if you should be searching for a method to relate with singles, chat lines for seniors are outstanding option.
Experience the excitement of fulfilling brand new individuals on senior chat line
If you’re looking for a way to relate genuinely to other seniors, look absolutely no further compared to senior chat line.this unique service lets you speak with other seniors from all over the country, and even the entire world, and make brand new buddies.the senior chat line is a great solution to satisfy brand new individuals, also it’s a great way to get acquainted with old friends.you can speak with other seniors about what you want, and you will even find friends who share your interests.the senior chat line is a great option to make new friends, and it’s also a powerful way to keep old friends close.you can keep in touch with other seniors about anything you want, and you may also find friends whom share your passions.the senior chat line is an excellent method to relate with other seniors, and it’s a great way to get to know old buddies.you can keep in touch with other seniors about whatever you want, and you can also find buddies who share your interests.the senior chat line is a superb way to make new friends, and it’s also a powerful way to keep old friends close.you can speak with other seniors about what you want, and you will even find friends who share your interests.so you will want to supply the senior chat line a go?you will not be sorry.
Enjoy fun and engaging senior chat lines today
There are numerous great senior chat lines available today, ideal for those trying to have a great time and relate with other seniors.with plenty options to select from, it’s difficult to know which is right for you.here are some tips to assist you to choose the best chat line for your requirements:
1.consider your interests.if you’re looking for a chat line that suits your passions, try to find a line that has topics that you’re interested in.this will provide you with an even more personalized experience and make it simpler to relate genuinely to other participants.2.consider your local area.if you live in a huge town, you may want to think about a chat line which includes individuals from all around the town.this method, you can meet new people and explore brand new areas.3.consider your financial allowance.some chat lines are free, although some may necessitate a subscription.consider your allowance before signing up, so you know how much money you will end up investing.4.consider your time availability.some chat lines can be found during certain hours, while others are open 24/7.consider exactly what period and week you are available, in order to find a chat line that actually works available.there are numerous great senior chat lines currently available, ideal for those seeking to have some fun and relate with other seniors.with many options to select from, it is hard to understand what type is right for you.here are a couple of ideas to assist you to pick the best chat line to your requirements:
1.consider your passions.if you are considering a chat line that provides your passions, look for a line which includes subjects that you are interested in.this provides you with an even more individualized experience making it better to relate solely to other individuals.2.consider your local area.if you live in a huge town, you might want to start thinking about a chat line with participants from throughout the city.this method, you are able to meet brand new individuals and explore brand new areas.3.consider your financial allowance.some chat lines are free, although some may necessitate a subscription.consider your financial allowance before registering, so that you know how much money you will end up investing.4.consider your own time supply.some chat lines are available during particular hours, although some are available 24/7.consider just what period and week you’re available, to find a chat line that works for you.
Chat with like-minded seniors regarding most readily useful senior chat line
There’s nothing that can compare with conversing with like-minded seniors, and there isn’t any better method to do this than on a senior chat line.these lines provide a safe and comfortable spot for seniors to chat with other people whom share their interests and experiences.plus, they truly are a terrific way to relate solely to other seniors and find out about their everyday lives and experiences.there are several great senior chat lines available, and it’s easy to find the right one for you personally.you can seek out chat lines by location, age bracket, or topic.there are also chat lines for seniors with disabilities, so that you’re sure to find the one that’s ideal for you.and do not forget to make use of long-tail keywords and lsi key words whenever searching for a senior chat line.these keywords can help you find the appropriate chat line for your requirements, and they’re going to support you in finding many appropriate information and discussions.chat with like-minded seniors regarding the best senior chat line, and enjoy the discussion.
Start connecting now in the most useful senior chat line
If you are considering a way to relate genuinely to other seniors, you’ve come to the right destination. our senior chat line could be the perfect way to find buddies making brand new ones. whether you’re looking for ways to talk to buddies or even to find a night out together, our chat line is ideal for you. our chat line is staffed by friendly and knowledgeable professionals who are prepared and able to allow you to relate solely to other seniors. so why wait? start connecting now in the best senior chat line!
Enjoy the advantages of senior chat line dating
The advantages of making use of a senior chat line are numerous and varied. some people realize that it could be a powerful way to fulfill brand new people, while others realize that it may be a great way to relate to friends they’ven’t noticed in a bit. whatever your known reasons for planning to utilize a senior chat line, there are numerous them to select from. one of the biggest great things about utilizing a senior chat line usually it can be a terrific way to satisfy new people. numerous senior chat lines are made specifically for individuals over 50, which means you’re prone to find a lot of people that interested in fulfilling brand new individuals. plus, many senior chat lines are available 24/7, to help you constantly find you to definitely speak with. another big advantageous asset of utilizing a senior chat line is the fact that it can be a terrific way to relate to buddies that you definitely have not seen in sometime. Senior-chatroom.com – Singles Chat Rooms