1
0
mirror of https://github.com/prasathmani/tinyfilemanager.git synced 2025-07-09 11:26:25 +02:00

191 Commits

Author SHA1 Message Date
c049ba96c8 Add Portuguese from Portugal (#1326)
And rename Brazilian translation
2025-06-16 10:29:04 +05:30
7e7fb1f505 translation.json: Corrected German translations (#1287)
CreateNewItem
Original: “Neue Datei erstellen”
Corrected: “Neues Element erstellen”

UploadingFiles
Original: “Datei hochladen”
Corrected: “Dateien hochladen”

Invalid file or folder name
Original: “Ungältiger Datei- oder Ordnername”
Corrected: “Ungültiger Datei- oder Ordnername”

Operations with archives are not available
Original: “Archiv-Funktionen nicht verfägbar”
Corrected: “Archiv-Funktionen nicht verfügbar”
2025-03-09 04:46:35 +05:30
bf2c2a9a4d Update tinyfilemanager.php
Resolve the problem of the User dropdown being cut off.
2025-02-26 08:17:58 +05:30
64f7b29c78 Update tinyfilemanager.php 2025-02-23 11:34:08 +05:30
07ac97c20b Date Modified in file view (#1250)
* Date Modified in file view

* Add translation support
2025-02-02 09:55:41 +05:30
8c78bc78f9 Allow hiding files/folders by full path (#1092) 2025-01-23 07:32:50 +05:30
8a17a5b210 Minor identation issues (#1273) 2025-01-23 07:26:10 +05:30
9792bd000f Update tinyfilemanager.php (#1268)
running envirement: Android 4.4+PHP 7.4.3+ KSWEB
http://192.168.1.2/tinyfilemanager.php, afer login,the main page could not be showed entirely,it just shows half of navigation bar.

that's becuase of
there are two same lines of codes which cause the problem. they are
$owner = posix_getpwuid(fileowner($path . '/' . $f));
when the funciton fileowner($path . '/' . $f)  return 0 and  run the function posix_getpwuid(....), it trig an error.
please check the codes in line 2156--2168 and 2221--2233

suggest replace these two parts with followed  codes:
                $owner = array('name' => '?');
                $group = array('name' => '?');
                if (function_exists('posix_getpwuid') && function_exists('posix_getgrgid')) {
                    try{
                        $owner_id = fileowner($path . '/' . $f);
                        if($owner_id != 0) {
                            $owner_info = posix_getpwuid($owner_id);
                           if ($owner_info) {
                                  $owner =  $owner_info;
                           }
                       }

                        $group_id = filegroup($path . '/' . $f);
                        $group_info = posix_getgrgid($group_id);
                        if ($group_info) {
                             $group =  $group_info;
                         }

                    } catch(Exception $e){
                       error_log("exception:" . $e->getMessage());
                    }
                }
2025-01-20 17:06:35 +05:30
232fc78f2e Update cdn versions, Improve the designs, Format the Code and Update Readme 2024-11-05 05:48:15 +05:30
c38dca17e4 Support55 (#1076)
* random_bytes() only for >PHP7

* tab to 4 spaces

---------

Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2024-10-14 09:30:02 +05:30
ac3dd478f5 fix hostinger's devil signature making it a false positive on hosting antivirus scanner (#1112)
Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2024-10-14 09:27:55 +05:30
01cfb5d8ac UI cosmetic changes 2024-10-14 09:25:51 +05:30
94b62544bd Added Additional Delete Link in File Viewer View (#1141)
* Added Additional Delete Link in File Viewer View

I found myself clicking into specific files to see them larger, then wanting to delete them, only to find I had to go back to another screen to delete them.

* Changed Reference to Invalid Variable
2024-10-14 09:11:17 +05:30
1042994a60 Save $CONFIG to config.php if it exists (#1144)
Writes $CONFIG variable to the main plugin file, unless there is a config.php
2024-10-14 09:09:03 +05:30
3716af20a2 Dynamic Browser Tab Title Handling Based on File Context (#1202)
* Update tinyfilemanager.php

Now it will show the filename as browser tab title so that user can easily identify which file is opened on which tab.

* Update tinyfilemanager.php

remove lines 3722 and 3734 and add this directly in  3733 as per the suggestion of @ner00

* Update tinyfilemanager.php

extra trailing space removed
2024-10-14 09:06:19 +05:30
8d953bf0f9 Fix multiple download and browse while downloading (#1242) 2024-10-14 09:05:03 +05:30
d26c9e5cbf Update SECURITY.md (#1231) 2024-09-16 11:17:50 +05:30
0f58c2ca65 Add powershell file extension to text format for opening in editor. (#1228) 2024-09-10 03:39:29 +05:30
b602dcd172 Fix typos. (#1214) 2024-08-04 12:08:43 +05:30
1bcc240119 Added missing translatable string. Update pt-br translation. (#1204) 2024-07-05 04:43:26 +05:30
8b330b75a4 Update default font size to in jQuery initialization (#1200) 2024-06-24 08:13:07 +05:30
f120daa607 Update README.md 2024-06-06 09:23:44 +05:30
e27e1abeb4 remove email address 2024-06-06 09:20:20 +05:30
a4d96e0eaf Add JSON Parse Error Handling in Upload Script (#1196)
* Add JSON Parse Error Handling in Upload Script

* Update tinyfilemanager.php

* Update tinyfilemanager.php
2024-05-31 09:45:09 +05:30
843e240757 Update tinyfilemanager.php 2024-05-28 06:50:00 +05:30
ecec756b71 Update tinyfilemanager.php 2024-05-28 04:51:37 +05:30
8366e1bc29 Expanded the list of files recognized as compressed (#1193) 2024-05-27 09:29:54 +05:30
d8fceac7dd Fix #963 (#969) 2024-05-27 09:27:33 +05:30
a306f4f1f7 Add --no-cache to 'apk add' command in order to reduce docker image size (#1191) 2024-05-26 10:39:06 +05:30
a1ae0fa729 fix: #52 Does not respect directory tree while uploading a folder containing sub-folders (#1056) 2024-05-01 10:01:27 +05:30
ca4b1b1743 Disable excluded extension name from viewing (#1151) 2024-03-25 11:09:24 +05:30
8e87afae5b Fix wrong phpdoc of print_external() (#1091) 2023-09-14 15:05:36 +05:30
43063e4746 Update tinyfilemanager.php (#1086)
changing String "Filter" to "Search"
2023-08-28 12:29:45 +05:30
47359d3f4e Update translation.json (#1083)
Updated Dutch translation
2023-08-11 01:14:37 +05:30
eb8f3d80bc random_bytes() only for >PHP7 (#1066) 2023-06-29 07:31:24 +05:30
f380478197 Typo & make text bold (#1042)
* Fix typo

* Make text bold for consistency

Also dropping the plural 's'
2023-05-16 08:17:43 +05:30
f7a2f77008 reduce feof() calls (#1041)
micro-optimization: when doing large file copies, this will reduce the number of feof() calls. for example, if copying 100MB, this will save approximately 25,599 feof() calls (255 feof() calls for every MB) - also feofs() may do an actual syscall, and syscalls are relatively expensive/time-consuming.
2023-05-15 09:53:25 +05:30
dabc4ea36e Fix highlightjs_style in config.php being ignored (#1039)
highlightjs_style variable is being used before config.php gets parsed, so preview style is always vs. This PR fixes that by moving config.php parsing to be before external resource calls.
2023-05-11 09:55:15 +05:30
7ec19c1659 Resize preview image and implement zoom in/out (#1036)
* Resize preview image and implement zoom in/out

* Remove redundant class name
2023-05-03 14:11:59 +05:30
8486c7a240 Add configurable path display modes for better privacy and clarity (#1034) 2023-04-26 20:46:52 +05:30
8194249b66 login (Redirecting to Main domain of website instead of tfm.php) fix (#1031)
When logged in it takes to the website's main URL. For example, if I have tfm in www.example.com/tfm/index.php (index.php is tfm) then after logging in it redirects to www.example.com and then have to press back on the browser then it takes to www.example.com/tfm/index.php
2023-04-24 07:00:47 +05:30
da77df785a Fix typo. (#1028) 2023-04-23 19:59:23 +05:30
00541fc469 Fix upload of existing files (#1026) 2023-04-21 19:21:31 +05:30
7ca87c9163 added bengali translation (#1018) 2023-04-21 10:06:09 +05:30
f6a93653be use stream_copy_to_stream (#1014)
* use stream_copy_to_stream

it's simpler, and should be faster.
For example, stream_copy_to_stream can use sendfile ( https://man7.org/linux/man-pages/man2/sendfile.2.html ) on operating systems supporting it, which is faster and use less RAM than fread()+fwrite() (because it avoids copying data to/from userland, doing the copy entirely in-kernel~)

* fix loop early return, and workaround bug

* use feof

ref https://github.com/prasathmani/tinyfilemanager/issues/1016#issuecomment-1502081506
2023-04-21 10:05:45 +05:30
85f35bc28f Check if posix_getpwuid/posix_getgrgid calls were successful (#1023) 2023-04-21 10:03:20 +05:30
3a90a5916a tell git to always commit .php in unix-newlines (#1017)
so hopefully we don't get a repeat of https://github.com/prasathmani/tinyfilemanager/pull/994#issuecomment-1502035505
2023-04-11 07:51:47 +05:30
6a6eb8abec Prevent logout issue after page was cached (#1004)
Logout may not work otherwise, browser reloads cached page from disk instead of sending GET request ?logout=1 to server.
2023-03-31 04:16:23 +05:30
bf024c7c84 Update tinyfilemanager.php 2023-03-17 10:22:19 +05:30
d705da604c Update Romanian translations (#981) 2023-02-26 21:18:19 +05:30
94f1c92d80 publish additional docker tags (#975) 2023-02-22 13:06:26 +05:30
bbb2114918 Update README.md 2023-02-22 07:20:52 +05:30
e071b2372c Add External CDN resources configurable 2023-02-22 07:16:25 +05:30
ba1b499d2b Allow configuration for strict CSPs and GDPR (#971) 2023-02-22 06:25:35 +05:30
6775bcb176 AceEditor: hide vertical ruler (#973) 2023-02-22 06:24:00 +05:30
4b2aef8737 Added extensions and removed the duplicated entries (#968)
added new extensions used in different linux/windows environments and removed duplicate entries
2023-02-16 20:54:55 +05:30
1eed63cf1b make upload chunk size configureable (#967)
nginx supports only 1MB per default
2023-02-16 16:18:40 +05:30
200d9d6d49 Fix french translation (#960)
Better and native french translation with official terms such as "haché" for hashing, which is the officiel term from PHP.
2023-02-05 10:35:07 +05:30
cddd7eaab0 Deploy path traversal fix (#953)
Co-authored-by: root <root@chevaliers.lan>
2023-01-25 11:46:20 +05:30
dd1ba6795c Fixes ajax ability to handle requests when auth disabled (#952) 2023-01-25 08:23:45 +05:30
9c4d30d7b5 Fixes couple issues with confirmDailog (#951)
* Fixes naming for confirmDailog id, otherwise dialog won't work

* Removes destroying form as browser complains that it can't process request from disconnected form
2023-01-25 08:22:27 +05:30
12baf03ef5 Removes sed from Dockerfile (#948)
They were needed before because they changed example config.php so make it workable.
Now we don't have it and running sed against main file just removes a lot of code
and forces data path for directory
2023-01-24 08:04:37 +05:30
dc529dd590 Fix save settings not working #947 2023-01-22 02:06:14 +05:30
69ccd952fc Bug fix: Delete confirm dialog will work wrong aflter cancel. (#942)
* Bug fix: Only delete first file/directory when clicking the delete button multiple times and canceling.

* Add variable name for delete dialog
2023-01-19 21:41:48 +05:30
69495db9b4 Subfolder links fix (#945)
Download and Direct link problems when using with a subfolder, possible simple solution.
2023-01-19 21:41:00 +05:30
313acf1b78 Update README.md 2023-01-13 11:09:18 +05:30
ac672b832c update screenshot 2022-12-03 12:07:18 +05:30
789b98f136 Download and Direct link problems when using with a subfolder. #907 2022-12-03 06:17:55 +00:00
97fd394a0f Update README.md 2022-12-02 08:29:37 +05:30
8f2f65b9fc Bug Fix #904, #903, #900 2022-12-02 02:43:24 +00:00
31b988db79 Translation supplement (#902)
* update zh-cn lang

* Translation supplement

* update zh-cn lang
2022-11-30 16:40:57 +05:30
d09cc2f445 Complete all Chinese translations (#901) 2022-11-30 11:01:57 +05:30
5a00707890 Update tinyfilemanager.php (#898) 2022-11-27 20:59:39 +05:30
cfb9a57d5e Fix the problem of login failure when $root_url is defined (#896)
Fix the problem that `FM_ROOT_URL` and `$_SERVER['REQUEST_URI']` are repeated, causing login redirection to fail when `$root_url` is defined
2022-11-26 18:52:34 +05:30
652c05914f Update FUNDING.yml 2022-11-25 16:38:42 +05:30
e30ec1dfd2 update download buffer and fix #893 2022-11-25 07:00:19 +00:00
610cea8ecd Fix - #739, #887, #886, #884, #835 2022-11-25 03:09:46 +00:00
d4019e6e10 Update Italian translations (#892) 2022-11-23 22:10:29 +05:30
f20d3e9e06 Fix phpdoc types (#890) 2022-11-23 22:07:04 +05:30
c4ab436f6d Complete French translation (#885) 2022-11-22 06:27:33 +05:30
e5c78e8ab9 cosmetic changes and dark theme color update 2022-11-20 19:01:08 +05:30
f8cedbcf59 Fix Security related issues 2022-11-20 16:59:29 +05:30
df80b73436 Refactor Code and Update Doc 2022-11-20 15:04:25 +05:30
8de16a4c8a Major update on security, improved UI and bug fix. 2022-11-19 19:55:39 +00:00
4d8d4a3aba Update tinyfilemanager.php 2022-11-07 22:48:15 +05:30
fce0f5bacb Fix warning message 2022-11-07 22:42:07 +05:30
59c6b9b26a Downloading file - PHP warning loop "Permission denied" (#879)
* Bugfix: Stop looping error when downloading a file with no access.

* Delete .history directory

ignore .history
2022-11-07 22:24:56 +05:30
be49a13b8e Fixes advanced search not working. (#878)
Fix #869
2022-11-07 22:23:01 +05:30
2c0e6d216e Update tinyfilemanager.php (#874) 2022-10-31 21:19:21 +05:30
805308a013 remove latest version checker 2022-09-01 16:25:29 +05:30
2a2d81ce78 Removes php ext installs as their are already installed in base (#848) 2022-08-31 11:23:19 +05:30
2eb00ab3de Adds json mime type as text type to allow edit json files (#841) 2022-08-25 09:50:39 +05:30
74727fe48a Add webm to videos (#833) 2022-08-06 11:17:47 +05:30
6190ae69e9 word change mistranslated in Spanish (#818) 2022-07-14 09:01:59 +05:30
3a3033bdce Added .yml, .yaml and .toml extensions. (#816)
These are common config file extensions.
2022-07-14 07:16:02 +05:30
afe1227caa Update russia translate and fix bug (#815)
* fix bug

if $calc_folder is enabled and there are insufficient permissions for one of the subfolders, then "PHP Fatal error: Uncaught RuntimeException: SplFileInfo::getSize()"

* lng() update

added lng() and delete unesed

* update russia translate
2022-07-14 07:14:54 +05:30
cda40e22f1 More accurate ip recognition (#807) (#813) 2022-07-14 07:13:49 +05:30
b24887d4fd Removed unused function (#806)
To fix: Undefined constant 'FM_EXTENSION'
2022-07-07 12:01:02 +05:30
17de8af81b PHP "divide by zero" error when unzipping 0 byte (very small) .zip files #803 2022-06-29 02:14:35 +00:00
50ccd29623 Fix advanced search issue for read-only user (#785)
$_POST['type']=="search" not reachable if FM_READONLY is true
2022-05-27 11:06:25 +05:30
04c1d45b5f resolve sorting issues, keep back button at top (#779) 2022-05-05 03:51:21 +05:30
ca94f23c47 Update tinyfilemanager.php 2022-04-18 12:51:55 +05:30
a65f8ff8b5 fix download Content-Type header (#770) 2022-04-11 13:39:51 +05:30
13b2bd0164 Add missing lines for German translation (#766)
* added missing lines for German translation

* small correction
2022-04-07 22:16:43 +05:30
ccf18947c8 Add Galician language (#747)
Add Galician language - gl
2022-03-20 12:48:48 +05:30
d4d620fe66 Fix Dutch translation (#745)
* Fix Dutch translation

* fix dutch translation
2022-03-20 12:47:03 +05:30
4d7078829d Update translation.json (#742) 2022-03-07 08:47:58 +05:30
7bd9483728 Fix incorrect path of the version svg (#740) 2022-03-06 19:38:08 +05:30
179e13c4a6 Add danish language (#728) 2022-02-21 10:47:37 +05:30
4ff141bb15 Update translation.json (#723) 2022-02-14 08:24:38 +05:30
9b2bb18acb Optimized and refactored fm_get_directorysize() function, and added validation. (#720) 2022-02-12 23:15:38 +05:30
7103691048 Fix - typo error #641 2022-02-12 13:54:22 +05:30
85821736c0 Update version 2022-02-12 13:48:19 +05:30
e474ade92b Client IP behind proxy (#665)
Function added for IP filtering when the filemanager is hosted behind a web proxy.

I've added a function for this to the file, not sure how else to implement it since everything is one file.
2022-02-12 13:28:26 +05:30
ad30a3a1f3 Add Global Readonly (#158)
Added a global readonly variable that will force readonly mode both when
not using the auth system and for all users if the auth system is being
used.

Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2022-02-12 13:22:56 +05:30
bb1d1d3801 added name of the file being edited (#542)
added name of the file being edited and a back button in a better location
2022-02-12 13:17:35 +05:30
c3a2f1d604 Chunked file upload (#714)
Removes any PHP or server-side file-upload limits by using file chunks
2022-02-12 13:16:07 +05:30
154947ef83 apply fix to path traversal vulnerability (#718)
Co-authored-by: João Maurício <joao.goncalves.mauricio@pwc.com>
2022-02-12 10:34:05 +05:30
bc9096fad3 Update translation.json (#708)
Improved Romanian translation.
2022-01-28 07:44:37 +05:30
3d28d8cb8e Update tinyfilemanager.php (#707)
Changed "Folder is empty" message to be language-specific.
2022-01-28 07:43:56 +05:30
9b85951cfc fix "400 bad request" when saving files (#705) 2022-01-21 08:06:27 +05:30
d125c6736b Add Romanian language (#690)
* Add Romanian language

Add Romanian language w/o diacrytics!
Traducere & adaptare in limba romana fara diacritice!

* Fix typo's
2021-12-21 17:45:58 +05:30
f8d4d9cb17 added Dutch translation (#686)
* added Dutch translation

* fix typo
2021-12-21 11:01:36 +05:30
08cb4b0fce Fix a non well formatted numeric value encountered & Notice: Undefined offset in fm_get_filesize() (#681)
For non `well formatted numeric value encountered`, see #670
For `Notice: Undefined offset 9` (current implementation result) see: https://3v4l.org/1qHit#v5.0.0
For new impementation result, see: https://3v4l.org/d0UBh#v5.0.0
2021-12-13 10:15:09 +05:30
95d41a9518 Just a little fix with missing " in button HTML (#675)
Its a little html fix- its about 1787 line- the class value it not closed.
```
<button type="button" class="btn btn-sm btn-outline-primary name="Save"
```
changed to:

```
<button type="button" class="btn btn-sm btn-outline-primary" name="Save"
```
2021-12-03 07:16:32 +05:30
6bdc5ccfb3 Update Indonesian translations (#668) 2021-11-22 09:03:41 +05:30
2046bbde72 Patched the RCE (#636)
I have patched the file upload directory traversal to Authenticated Remote Code Execution Vulnerability.
2021-11-12 08:31:02 +05:30
c1718ff4c5 Vietnamese translation update (#629)
I have updated the Vietnamese translation under the code "vi" to be more complete.
2021-09-18 09:59:08 +05:30
1db6713019 fix: document docker image name. (#622) 2021-09-05 08:47:26 +05:30
c89e1d18de Update README.md 2021-09-03 11:30:25 +05:30
d401028eb6 Update README.md 2021-09-03 11:18:41 +05:30
f6ac9cc63f Update README.md 2021-09-03 11:14:46 +05:30
a22edfca00 feat: add Dockerfile and auto publish. (#619) 2021-09-03 11:13:23 +05:30
55706b2f8b Adding a Slovenian translation (#614)
I added a Slovenian translation under the code "sl" and the name "Slovensko".
2021-08-09 20:06:08 +05:30
09e2b9a107 Fix saving of empty files (#612)
When you have a file without content, for example when you cleared you were unable to save it because of an incorrect if-statement. This is the fix for that problem.
2021-08-06 07:43:22 +05:30
9ee41b14d6 Added some missing translations (#608) 2021-08-02 10:39:37 +05:30
8158333d93 Update tinyfilemanager.php (#568)
fm_get_file_mimes() was causing errors for unknown extensions as it was causing an error as array element was not defined and return value was never checked.  According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types and several other resources,  application/octet-stream is the default value for all other cases. An unknown file type should use this type.   I put a check in there to use that by default so a valid value is always returned.

It might be useful to replace this function with the  built-in PHP function mime_content_type() but that adds some additional dependencies as it does not always work out of the box with PHP.
2021-06-05 11:57:53 +05:30
e843adcf0b Fix function name and add extensions for icons (#567)
* Set icons for more file extensions

* Fix function name
2021-06-05 08:33:57 +05:30
f182e378e3 PHP8 fix and few other changes (#562) 2021-06-01 10:11:15 +05:30
27d7126767 Typo error fix #548 2021-05-17 15:05:46 +05:30
a62bb38773 PR update and sync 2021-05-17 12:22:16 +05:30
603f048722 Fix PHP 5.X (#494)
Arrays cannot be used in "define" functions with PHP versions lower than 7.X
Solution given via my professional account (ArlorNaturalScientific)
2021-05-17 11:59:34 +05:30
442843239c 🌐 Update Korean translation (#496) 2021-05-17 11:58:53 +05:30
b63615a4b8 French translation: sort and complete (#497)
* French - Apply alpha order

* Add missing translations

* Fix missing help
2021-05-17 11:58:19 +05:30
9d78ee8b01 I added the Hungarian language (translation.json) (#509)
I added support for the Hungarian language.
2021-05-17 11:57:50 +05:30
9b5d2718ab New translations (#537)
New translations

Novas Traduções
2021-05-17 11:55:47 +05:30
a38d8e3934 Portuguese, with new translations (#538)
Portuguese, with new translations

Português, Com novas traduções
2021-05-17 11:55:02 +05:30
db3f4c01ea Added in preferences light or dark theme (#539)
Added in the preferences option to change the light or dark theme,

Now to change the theme will be in the preferences / settings area, along with other settings, and may even have other themes in the future.
2021-05-17 09:24:45 +05:30
c5d481c5cc Fixed Rename with folder quotes (#534)
Fixed the Rename functionality to work with folders that contain single quotes in them by calling `addslashes` on the path.
2021-04-30 05:57:10 +05:30
a04567d3ba Fix security issues #525 and #526 2021-04-22 13:41:35 +05:30
03c3f6d7f9 Fixed 3 sinks which caused XSS in filename (#511)
Co-authored-by: Vaibhav Shinde <vaibhavkshinde20@gmail.com>
2021-03-22 18:26:55 +05:30
95147f5828 remove decoded php codes and code cleanup 2021-02-24 13:33:57 +05:30
dd9d7c09a2 Feat/mixed changes (#502)
* remove trailing whitespace

Signed-off-by: ccdd13 <78702084+ccdd13@users.noreply.github.com>

* safe include config.php with __DIR__

* replace doc url for $datetime_format from function.date.php to datetime.format.php

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

* put $auth_users & $readonly_users together

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

* update $datetime_format

Signed-off-by: ccdd13 <ccdd13@users.noreply.github.com>

Co-authored-by: ammm ccdd12 <mamok43076@dashseat.com>
Co-authored-by: ccdd13 <ccdd13@users.noreply.github.com>
2021-02-24 12:37:38 +05:30
a19ff20768 Update vendor CDN versions 2021-02-23 11:47:57 +05:30
b03232775e Added Finnish translation (#486)
Co-authored-by: Jani Kiviranta <jani.kiviranta@hoop.fi>
2021-01-19 06:37:00 +05:30
ef09231454 Fix file size display in file viewer (#475) 2020-12-23 20:46:00 +05:30
6b06fb2532 Norwegian translation[NO] (#474) 2020-12-22 10:52:43 +05:30
2512330dee Update Indonesia translation (#435) 2020-12-06 10:11:21 +05:30
642cab42cc Update German translation (#447) 2020-12-06 10:10:36 +05:30
c03e601bc3 Update translation.json (#451) 2020-11-11 09:48:26 +05:30
0d0e728c79 Update italian translation (#440) 2020-10-23 05:01:18 +05:30
530055df08 Add: Mongolian (cyrillic) language added. (#422)
Co-authored-by: Davaadorj.U <davaadorju@gmail.com>
2020-09-10 19:57:23 +05:30
5d841d6624 Update russian translation (#414)
* fix(ru): fix russian translation

* style(ru): sort russian translation alphabetically

* feat(ru): update russian translation
2020-08-26 03:57:06 +05:30
211568ff4c fix(actions): creating a backup in FM_ROOT_PATH (#418) 2020-08-26 03:55:13 +05:30
44bedb9be0 Update Catalan translation (#410)
* Update translation.json

Update Catalan translation

* Update translation.json

* Update translation.json

* Update translation.json
2020-08-12 07:20:14 +05:30
c8fff90634 fix: prevent double write to file (#409) 2020-08-04 14:00:05 +05:30
a6a28a6356 Fix sorting by date and size (#387)
Based on suggestions in https://github.com/prasathmani/tinyfilemanager/issues/197
but uses data-sort attribute (from DataTable wiki https://datatables.net/examples/advanced_init/html5-data-attributes.html) instead of invisible characters and also distinguishes files and folders, so they stay grouped even after sort.
(I am sorry for my bad English.)
2020-07-20 05:39:47 +05:30
14ed4fdb92 Update french translation (#392)
I corrected the french translation
2020-07-20 05:38:12 +05:30
65f7dc448d Fixes #183, Fixes #289 (#400)
Fixes setting drop down boxes to the current ace editor mode and theme on page load.
2020-07-20 05:37:41 +05:30
fb31a14873 Added Error Message When File Fails to Write (#399)
Added error checking and message for when file fails to write on the server side.  Before this change if a write failed on the server side it would still present the user with a misleading "Saved Successfully" Message.
2020-07-20 05:36:47 +05:30
c741ae2212 Notice: A non well formed numeric value encountered (#386)
Eliminates the following PHP warnings when error reporting is turned on:

Notice: A non well formed numeric value encountered in tinyfilemanager.php on line 2443
Notice: A non well formed numeric value encountered in tinyfilemanager.php on line 2444

This happens because PHP floor and round are expecting a (float), not an (int).
2020-06-27 16:02:09 +05:30
e118d650a3 Correct wrong word in Vietnamese language. (#381)
Co-authored-by: JHuyVu <jhuyvu@gmail.com>
2020-06-21 08:25:28 +05:30
c260601ef6 Czech translation update (#368)
Added missing expressions and corrected a few inaccuracies.
2020-06-06 06:09:26 +05:30
462566a31b Remove duplicate code block (#377) 2020-06-02 19:27:37 +05:30
0a92002919 if exist include config.php #366 2020-05-24 17:07:17 +05:30
1dbe7c5339 dark mode #352
Request: Dark mode option in the admin section. #260
2020-05-24 14:00:27 +05:30
8fb1816877 Create a new session if permission denied on current one (#331)
In a multi-user configuration, the current session file can be unreadable
by the current user. This tries to create a new session in this case.
2020-05-24 08:51:44 +05:30
5903849388 Added Optional configuration file (#338)
* Added optional configuration file loading

* First commit of optional configuration file

This file is OPTIONAL.
If this file is not present in your webserver, tinyfilemanager will works with its internal configuration.

* removed define

define is not a configuration
2020-05-24 08:50:49 +05:30
0826838917 Add support user customized config file (if exists) (#242)
* feat(/): add support user customized config file (if exists)

* Show current process ID in Status bar + Make fm_get_filesize function much more concise (#245)

* Update Simplified Chinese (#241)

* Feature Font Size Choose Options / Bug Fix Settings not visible in auth=false (#240)

* Bug fix and PR #245, #241, #240

Co-authored-by: 刘明野 <898310895@qq.com>
Co-authored-by: B Bharath Kumar Reddy <39063133+bbharathkumarreddy@users.noreply.github.com>
Co-authored-by: Prasath Mani <prasath.mani@publicissapient.com>
Co-authored-by: Prasath Mani <prasathmani@users.noreply.github.com>
2020-05-24 08:50:25 +05:30
a0c595a8e1 Security fix #357
Download file causes timeout #353
Download Restart @ 88% #312
download large file issues #259
File upload issue #354
FIle Upload URL error #360
Bug in .tar archive extraction when destination(s) file(s) already exist (HTTP error 500) #332
Backup File return false #201
2020-05-18 13:37:02 +05:30
1482e41f74 fix settings are not saved. (#361) 2020-05-18 09:45:54 +05:30
dcdf736e48 Add Japanese Translation (#359) 2020-05-16 17:10:03 +05:30
43eb8016d3 Update SECURITY.md 2020-05-14 08:57:29 +05:30
e2ac1163c2 Update SECURITY.md 2020-05-14 08:57:12 +05:30
2f357ee3d5 Fix translation error (#349) 2020-04-29 12:35:19 +05:30
5933952fa4 Add Korean translations (#347) 2020-04-28 06:00:07 +05:30
1ca011ca67 Added duplicate functionality (#146)
* Added duplicate functionality

* Updated functionality to also duplicate folders

* Merged copy & duplicate buttons
2020-03-23 19:31:44 +05:30
e259ffda4d Update tinyfilemanager.php (#327) 2020-03-20 07:55:51 +05:30
e8fc6d546a fix "Archive not created" error (#317)
fix "Archive not created" error while trying to create Tar archive
2020-03-12 12:48:19 +05:30
1501835f61 Update tinyfilemanager.php (#309)
Login box stays middle on small screens
2020-02-24 11:39:53 +05:30
c991555de5 Avoid accessing undefined $_POST['file'] index (#308)
I don't know when this occurs, but I have this entry in my web server log:
 PHP Notice:  Undefined index: file in tinyfilemanager.php on line 1165
2020-02-18 22:46:21 +05:30
9 changed files with 5183 additions and 1691 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
*.php text eol=lf
*.json text eol=lf

2
.github/FUNDING.yml vendored
View File

@ -1,5 +1,5 @@
# These are supported funding model platforms # These are supported funding model platforms
github: prasathmani
patreon: ccpprogrammers patreon: ccpprogrammers
open_collective: tinyfilemanager open_collective: tinyfilemanager
ko_fi: tinyfilemanager ko_fi: tinyfilemanager

41
.github/workflows/PublishDocker.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: PublishDocker
on:
push:
branches:
- 'master'
tags:
- '**'
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ secrets.DOCKERHUB_USERNAME }}/tinyfilemanager
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

26
Dockerfile Normal file
View File

@ -0,0 +1,26 @@
# how to build?
# docker login
## .....input your docker id and password
#docker build . -t tinyfilemanager/tinyfilemanager:master
#docker push tinyfilemanager/tinyfilemanager:master
# how to use?
# docker run -d -v /absolute/path:/var/www/html/data -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master
FROM php:7.4-cli-alpine
# if run in China
# RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add --no-cache \
libzip-dev \
oniguruma-dev
RUN docker-php-ext-install \
zip
WORKDIR /var/www/html
COPY tinyfilemanager.php index.php
CMD ["sh", "-c", "php -S 0.0.0.0:80"]

View File

@ -1,22 +1,26 @@
# Tiny File Manager # 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/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) [![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 Release](https://img.shields.io/github/release/prasathmani/tinyfilemanager.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) [![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. ![GitHub Sponsors](https://img.shields.io/github/sponsors/prasathmani)
> TinyFileManager is a versatile web-based PHP file manager designed for simplicity and efficiency. This lightweight single-file PHP application can be effortlessly integrated into any server directory, allowing users to store, upload, edit, and manage files and folders directly through their web browser.
With multi-language support and compatibility with PHP 5.5+, TinyFileManager enables the creation of individual user accounts, each with its dedicated directory. The platform also includes built-in functionality for handling text files using the Cloud9 IDE.
Featuring syntax highlighting for over 150 languages and more than 35 themes, TinyFileManager offers a comprehensive solution for file management in an online environment.
<sub>**Caution!** _Avoid utilizing this script as a standard file manager in public spaces. It is imperative to remove this script from the server after completing any tasks._</sub>
## Demo ## Demo
[Demo](https://tinyfilemanager.github.io/demo/)
Login Details : admin/admin@123 | user/12345 [Demo](https://tinyfilemanager.github.io/demo/)
## Documentation ## 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) [![Tiny File Manager](screenshot.gif)](screenshot.gif)
@ -38,30 +42,34 @@ Default username/password: **admin/admin@123** and **user/12345**.
To enable/disable authentication set `$use_auth` to true or false. To enable/disable authentication set `$use_auth` to true or false.
:information_source: Add your own configuration file [config.php](https://tinyfilemanager.github.io/config-sample.txt) in the same folder to use as additional configuration file.
### :loudspeaker: Features :information_source: To work offline without CDN resources, use [offline](https://github.com/prasathmani/tinyfilemanager/tree/offline) branch
- :cd: Open Source, light and extremely simple ### :loudspeaker: Features
- :iphone: Mobile friendly view for touch devices
- :information_source: Basic features likes Create, Delete, Modify, View, Quick Preview, Download, Copy and Move files
- :arrow_double_up: Ajax Upload, Ability to drag & drop, upload from URL, multiple files upload with file extensions filter
- :file_folder: Ability to create folders and files
- :gift: Ability to compress, extract files (`zip`, `tar`)
- :sunglasses: Support user permissions - based on session and each user root folder mapping
- :floppy_disk: Copy direct file URL
- :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`
- :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...
- :cd: **Open Source:** Lightweight, minimalist, and extremely simple to set up.
- :iphone: **Mobile Friendly:** Optimized for touch devices and mobile viewing.
- :information_source: **Core Features:** Easily create, delete, modify, view, download, copy, and move files.
- :arrow_double_up: **Advanced Upload Options:** Ajax-powered uploads with drag-and-drop support, URL imports, and multi-file uploads with extension filtering.
- :file_folder: **Folder & File Management:** Create and organize folders and files effortlessly.
- :gift: **Compression Tools:** Compress and extract files in `zip` and `tar` formats.
- :sunglasses: **User Permissions:** User-specific root folder mapping and session-based access control.
- :floppy_disk: **Direct URLs:** Easily copy direct URLs for files.
- :pencil2: **Code Editor:** Includes Cloud9 IDE with syntax highlighting for 150+ languages and 35+ themes.
- :page_facing_up: **Document Preview:** Google/Microsoft document viewer for PDF/DOC/XLS/PPT, supporting previews up to 25 MB.
- :zap: **Security Features:** Backup capabilities, IP blacklisting, and whitelisting.
- :mag_right: **Search Functionality:** Use `datatable.js` for fast file search and filtering.
- :file_folder: **Customizable Listings:** Exclude specific folders and files from directory views.
- :globe_with_meridians: **Multi-language Support:** Translations available in 35+ languages with `translation.json`.
- :bangbang: **And Much More!**
### <a name=license></a>License, Credit ### [Deploy by Docker](https://github.com/prasathmani/tinyfilemanager/wiki/Deploy-by-Docker)
### <a name=license></a>License, Credit
- Available under the [GNU license](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE) - Available under the [GNU license](https://github.com/prasathmani/tinyfilemanager/blob/master/LICENSE)
- Original concept and development by github.com/alexantr/filemanager - Original concept and development by github.com/alexantr/filemanager
- CDN Used - _jQuery, Bootstrap, Font Awesome, Highlight js, ace js, DropZone js, ekko-lightbox js, and DataTable js_ - CDN Used - _jQuery, Bootstrap, Font Awesome, Highlight js, ace js, DropZone js, and DataTable js_
- To report a bug or request a feature, please file an [issue](https://github.com/prasathmani/tinyfilemanager/issues) - To report a bug or request a feature, please file an [issue](https://github.com/prasathmani/tinyfilemanager/issues)
- [Contributors](https://github.com/prasathmani/tinyfilemanager/wiki/Authors-and-Contributors) - [Contributors](https://github.com/prasathmani/tinyfilemanager/wiki/Authors-and-Contributors)

View File

@ -4,7 +4,7 @@
The team takes security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. The team takes security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
To report a security issue, email [ccpprogrammers@gmail.com](mailto:ccpprogrammers@gmail.com) and include the word "SECURITY" in the subject line. To report a security issue, email ccpprogrammers[at]gmail[dot]com and include the word "SECURITY" in the subject line.
The team will send a response indicating the next steps in handling your report. After the initial reply to your report you will be kept informed of the progress towards a fix and full announcement. The team will send a response indicating the next steps in handling your report. After the initial reply to your report you will be kept informed of the progress towards a fix and full announcement.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

After

Width:  |  Height:  |  Size: 2.4 MiB

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff