mirror of
https://github.com/prasathmani/tinyfilemanager
synced 2024-05-05 23:33:13 +02:00
remove decoded php codes and code cleanup
This commit is contained in:
parent
dd9d7c09a2
commit
95147f5828
14
README.md
14
README.md
|
@ -1,22 +1,22 @@
|
|||
# Tiny File Manager
|
||||
|
||||
|
||||
[![Live demo](https://img.shields.io/badge/Live-Demo-brightgreen.svg?style=flat-square)](https://tinyfilemanager.github.io/demo/)
|
||||
[![Live demo](https://img.shields.io/badge/Help-Docs-lightgrey.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/wiki)
|
||||
[![GitHub Release](https://img.shields.io/github/release/qubyte/rubidium.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/releases)
|
||||
[![GitHub License](https://img.shields.io/github/license/prasathmani/tinyfilemanager.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[![GitHub License](https://img.shields.io/github/license/prasathmani/tinyfilemanager.svg?style=flat-square)](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
[![Paypal](https://img.shields.io/badge/Donate-Paypal-lightgrey.svg?style=flat-square)](https://www.paypal.me/prasathmani)
|
||||
|
||||
> TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.
|
||||
|
||||
## Demo
|
||||
|
||||
[Demo](https://tinyfilemanager.github.io/demo/)
|
||||
|
||||
Login Details : admin/admin@123 | user/12345
|
||||
|
||||
Login Details : admin/admin@123 | user/12345
|
||||
|
||||
## Documentation
|
||||
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
|
||||
|
||||
Tinyfilemanager is highly documented on the [wiki pages](https://github.com/prasathmani/tinyfilemanager/wiki).
|
||||
|
||||
[![Tiny File Manager](screenshot.gif)](screenshot.gif)
|
||||
|
||||
|
@ -38,6 +38,7 @@ Default username/password: **admin/admin@123** and **user/12345**.
|
|||
|
||||
To enable/disable authentication set `$use_auth` to true or false.
|
||||
|
||||
:information_source: The default configuration will be loaded from `config.php`, it is an additional configuration file, Feel free to remove completely this file and configure "tinyfilemanager.php" as a single file application.
|
||||
|
||||
### :loudspeaker: Features
|
||||
|
||||
|
@ -52,12 +53,11 @@ To enable/disable authentication set `$use_auth` to true or false.
|
|||
- :pencil2: Cloud9 IDE - Syntax highlighting for over `150+` languages, Over `35+` themes with your favorite programming style
|
||||
- :page_facing_up: Google/Microsoft doc viewer helps you preview `PDF/DOC/XLS/PPT/etc`. 25 MB can be previewed with the Google Drive viewer
|
||||
- :zap: Backup files and IP blacklist and whitelist
|
||||
- :mag_right: Search - Search and filter files using `datatable js`
|
||||
- :mag_right: Search - Search and filter files using `datatable js`
|
||||
- :file_folder: Exclude folders and files from listing
|
||||
- :globe_with_meridians: Multi-language(20+) support and for translations `translation.json` is file required
|
||||
- :bangbang: lots more...
|
||||
|
||||
|
||||
### <a name=license></a>License, Credit
|
||||
|
||||
- Available under the [GNU license](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
|
||||
|
|
|
@ -81,7 +81,7 @@ $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 = '?img=favicon';
|
||||
$favicon_path = '';
|
||||
|
||||
// Files and folders to excluded from listing
|
||||
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
|
||||
|
|
|
@ -86,7 +86,7 @@ $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 = '?img=favicon';
|
||||
$favicon_path = '';
|
||||
|
||||
// Files and folders to excluded from listing
|
||||
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
|
||||
|
@ -236,11 +236,6 @@ if (isset($_GET['logout'])) {
|
|||
fm_redirect(FM_SELF_URL);
|
||||
}
|
||||
|
||||
// Show image here
|
||||
if (isset($_GET['img'])) {
|
||||
fm_show_image($_GET['img']);
|
||||
}
|
||||
|
||||
// Validate connection IP
|
||||
if($ip_ruleset != 'OFF'){
|
||||
$clientIp = $_SERVER['REMOTE_ADDR'];
|
||||
|
@ -1181,7 +1176,7 @@ if (isset($_GET['upload']) && !FM_READONLY) {
|
|||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
<a href="?p=<?php echo FM_PATH ?>" class="float-right"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back')?></a>
|
||||
<?php echo lng('DestinationFolder') ?>: <?php echo fm_enc(fm_convert_win(FM_ROOT_PATH . '/' . FM_PATH)) ?>
|
||||
<?php echo lng('DestinationFolder') ?>: <?php echo fm_enc(fm_convert_win(FM_PATH)) ?>
|
||||
</p>
|
||||
|
||||
<form action="<?php echo htmlspecialchars(FM_SELF_URL) . '?p=' . fm_enc(FM_PATH) ?>" class="dropzone card-tabs-container" id="fileUploader" enctype="multipart/form-data">
|
||||
|
@ -2047,7 +2042,6 @@ $tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white
|
|||
<?php echo lng('FullSize').': <span class="badge badge-light">'.fm_get_filesize($all_files_size).'</span>' ?>
|
||||
<?php echo lng('File').': <span class="badge badge-light">'.$num_files.'</span>' ?>
|
||||
<?php echo lng('Folder').': <span class="badge badge-light">'.$num_folders.'</span>' ?>
|
||||
<?php echo lng('MemoryUsed').': <span class="badge badge-light">'.fm_get_filesize(@memory_get_usage(true)).'</span>' ?>
|
||||
<?php echo lng('PartitionSize').': <span class="badge badge-light">'.fm_get_filesize(@disk_free_space($path)) .'</span> '.lng('FreeOf').' <span class="badge badge-light">'.fm_get_filesize(@disk_total_space($path)).'</span>'; ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -3402,7 +3396,7 @@ global $lang, $root_url, $favicon_path;
|
|||
<meta name="author" content="CCP Programmers">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="googlebot" content="noindex">
|
||||
<link rel="icon" href="<?php echo fm_enc($favicon_path) ?>" type="image/png">
|
||||
<?php if($favicon_path) { echo '<link rel="icon" href="'.fm_enc($favicon_path).'" type="image/png">'; } ?>
|
||||
<title><?php echo fm_enc(APP_TITLE) ?></title>
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
|
||||
<style>
|
||||
|
@ -3474,7 +3468,7 @@ $isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
|
|||
<meta name="author" content="CCP Programmers">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="googlebot" content="noindex">
|
||||
<link rel="icon" href="<?php echo fm_enc($favicon_path) ?>" type="image/png">
|
||||
<?php if($favicon_path) { echo '<link rel="icon" href="'.fm_enc($favicon_path).'" type="image/png">'; } ?>
|
||||
<title><?php echo fm_enc(APP_TITLE) ?></title>
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
|
@ -3715,7 +3709,7 @@ $isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
|
|||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.min.js"></script>
|
||||
<?php if (FM_USE_HIGHLIGHTJS): ?>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/highlight.min.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad(); var isHighlightingEnabled = true;</script>
|
||||
<script>hljs.highlightAll(); var isHighlightingEnabled = true;</script>
|
||||
<?php endif; ?>
|
||||
<script>
|
||||
$(document).on('click', '[data-toggle="lightbox"]', function(event) {
|
||||
|
@ -3864,7 +3858,6 @@ $isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
|
|||
//on mouse hover image preview
|
||||
!function(s){s.previewImage=function(e){var o=s(document),t=".previewImage",a=s.extend({xOffset:20,yOffset:-20,fadeIn:"fast",css:{padding:"5px",border:"1px solid #cccccc","background-color":"#fff"},eventSelector:"[data-preview-image]",dataKey:"previewImage",overlayId:"preview-image-plugin-overlay"},e);return o.off(t),o.on("mouseover"+t,a.eventSelector,function(e){s("p#"+a.overlayId).remove();var o=s("<p>").attr("id",a.overlayId).css("position","absolute").css("display","none").append(s('<img class="c-preview-img">').attr("src",s(this).data(a.dataKey)));a.css&&o.css(a.css),s("body").append(o),o.css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px").fadeIn(a.fadeIn)}),o.on("mouseout"+t,a.eventSelector,function(){s("#"+a.overlayId).remove()}),o.on("mousemove"+t,a.eventSelector,function(e){s("#"+a.overlayId).css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px")}),this},s.previewImage()}(jQuery);
|
||||
|
||||
|
||||
// Dom Ready Event
|
||||
$(document).ready( function () {
|
||||
//load config
|
||||
|
@ -3873,7 +3866,7 @@ $isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
|
|||
var $table = $('#main-table'),
|
||||
tableLng = $table.find('th').length,
|
||||
_targets = (tableLng && tableLng == 7 ) ? [0, 4,5,6] : tableLng == 5 ? [0,4] : [3],
|
||||
mainTable = $('#main-table').DataTable({"paging": false, "info": false, "columnDefs": [{"targets": _targets, "orderable": false}]
|
||||
mainTable = $('#main-table').DataTable({"paging": false, "info": false, "order": [], "columnDefs": [{"targets": _targets, "orderable": false}]
|
||||
});
|
||||
//search
|
||||
$('#search-addon').on( 'keyup', function () {
|
||||
|
@ -3955,46 +3948,6 @@ $isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
|
|||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Show image
|
||||
* @param string $img
|
||||
*/
|
||||
function fm_show_image($img)
|
||||
{
|
||||
$modified_time = gmdate('D, d M Y 00:00:00') . ' GMT';
|
||||
$expires_time = gmdate('D, d M Y 00:00:00', strtotime('+1 day')) . ' GMT';
|
||||
|
||||
$img = trim($img);
|
||||
$images = fm_get_images();
|
||||
$image = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAEElEQVR42mL4//8/A0CAAQAI/AL+26JNFgAAAABJRU5ErkJggg==';
|
||||
if (isset($images[$img])) {
|
||||
$image = $images[$img];
|
||||
}
|
||||
$image = base64_decode($image);
|
||||
if (function_exists('mb_strlen')) {
|
||||
$size = mb_strlen($image, '8bit');
|
||||
} else {
|
||||
$size = strlen($image);
|
||||
}
|
||||
|
||||
if (function_exists('header_remove')) {
|
||||
header_remove('Cache-Control');
|
||||
header_remove('Pragma');
|
||||
} else {
|
||||
header('Cache-Control:');
|
||||
header('Pragma:');
|
||||
}
|
||||
|
||||
header('Last-Modified: ' . $modified_time, true, 200);
|
||||
header('Expires: ' . $expires_time);
|
||||
header('Content-Length: ' . $size);
|
||||
header('Content-Type: image/png');
|
||||
echo $image;
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Language Translation System
|
||||
* @param string $txt
|
||||
|
@ -4030,7 +3983,7 @@ function lng($txt) {
|
|||
$tr['en']['SourceFolder'] = 'Source Folder'; $tr['en']['Files'] = 'Files';
|
||||
$tr['en']['Move'] = 'Move'; $tr['en']['Change'] = 'Change';
|
||||
$tr['en']['Settings'] = 'Settings'; $tr['en']['Language'] = 'Language';
|
||||
$tr['en']['MemoryUsed'] = 'Memory used'; $tr['en']['PartitionSize'] = 'Partition size';
|
||||
$tr['en']['Folder is empty'] = 'Folder is empty'; $tr['en']['PartitionSize'] = 'Partition size';
|
||||
$tr['en']['ErrorReporting'] = 'Error Reporting'; $tr['en']['ShowHiddenFiles'] = 'Show Hidden Files';
|
||||
$tr['en']['Full size'] = 'Full size'; $tr['en']['Help'] = 'Help';
|
||||
$tr['en']['Free of'] = 'Free of'; $tr['en']['Preview'] = 'Preview';
|
||||
|
@ -4038,9 +3991,9 @@ function lng($txt) {
|
|||
$tr['en']['Generate'] = 'Generate'; $tr['en']['FullSize'] = 'Full Size';
|
||||
$tr['en']['FreeOf'] = 'free of'; $tr['en']['CalculateFolderSize']= 'Calculate folder size';
|
||||
$tr['en']['ProcessID'] = 'Process ID'; $tr['en']['Created'] = 'Created';
|
||||
$tr['en']['HideColumns'] = 'Hide Perms/Owner columns';$tr['en']['Folder is empty'] = 'Folder is empty';
|
||||
$tr['en']['HideColumns'] = 'Hide Perms/Owner columns';$tr['en']['You are logged in'] = 'You are logged in';
|
||||
$tr['en']['Check Latest Version'] = 'Check Latest Version';$tr['en']['Generate new password hash'] = 'Generate new password hash';
|
||||
$tr['en']['You are logged in'] = 'You are logged in'; $tr['en']['Login failed. Invalid username or password'] = 'Login failed. Invalid username or password';
|
||||
$tr['en']['Login failed. Invalid username or password'] = 'Login failed. Invalid username or password';
|
||||
$tr['en']['password_hash not supported, Upgrade PHP version'] = 'password_hash not supported, Upgrade PHP version';
|
||||
|
||||
$i18n = fm_get_translations($tr);
|
||||
|
@ -4052,21 +4005,4 @@ function lng($txt) {
|
|||
else return "$txt";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get base64-encoded images
|
||||
* @return array
|
||||
*/
|
||||
function fm_get_images()
|
||||
{
|
||||
return array(
|
||||
'favicon' => 'Qk04AgAAAAAAADYAAAAoAAAAEAAAABAAAAABABAAAAAAAAICAAASCwAAEgsAAAAAAAAAAAAAIQQhBCEEIQQhBCEEIQQhBCEEIQ
|
||||
QhBCEEIQQhBCEEIQQhBCEEIQQhBHNO3n/ef95/vXetNSEEIQQhBCEEIQQhBCEEIQQhBCEEc07ef95/3n/ef95/1lohBCEEIQQhBCEEIQQhBCEEIQ
|
||||
RzTt5/3n8hBDFG3n/efyEEIQQhBCEEIQQhBCEEIQQhBHNO3n/efyEEMUbef95/IQQhBCEEIQQhBCEEIQQhBCEErTVzTnNOIQQxRt5/3n8hBCEEIQ
|
||||
QhBCEEIQQhBCEEIQQhBCEEIQQhBDFG3n/efyEEIQQhBCEEIQQhBCEEIQQhBCEEIQQxRt5/3n+cc2stIQQhBCEEIQQhBCEEIQQhBCEEIQQIIZxz3n
|
||||
/ef5xzay0hBCEEIQQhBCEEIQQhBCEEIQQhBCEEIQQhBDFG3n/efyEEIQQhBCEEIQQhBCEEIQQhBK01c05zTiEEMUbef95/IQQhBCEEIQQhBCEEIQ
|
||||
QhBCEEc07ef95/IQQxRt5/3n8hBCEEIQQhBCEEIQQhBCEEIQRzTt5/3n8hBDFG3n/efyEEIQQhBCEEIQQhBCEEIQQhBKUUOWfef95/3n/ef95/IQ
|
||||
QhBCEEIQQhBCEEIQQhBCEEIQQhBJRW3n/ef95/3n8hBCEEIQQhBCEEIQQhBCEEIQQhBCEEIQQhBCEEIQQhBCEEIQQhBCEEIQQAAA=='
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue