Skip to content

An open-source file manager released under MIT license. Up-to-date for PHP connector. Contributions are welcome!

Notifications You must be signed in to change notification settings

stijnvanrenterghem/RichFilemanager

 
 

Repository files navigation

Rich Filemanager

Rich Filemanager is an open-source file manager released under MIT license. Based on the simogeo Filemanager, with a lot of improvements and new features.

Demo

Filemanager live example: http://fm.16mb.com/

Compatibility

Filemanager was initially designed to interact with a number of programming languages via connectors. But since many changes have been done recently, only PHP connector is the only actual connector currently. Compatibility with other connectors is most likely completely broken. You are still able you to download unsupported v0.8 from archive (PHP, ASHX, ASP, CFM, lasso, PL and JSP)

Contribution

Any contribution is greatly appreciated. You can become a maintainer for any of existent connectors, or create new one for your server side language. Check the details in API section.

Main features

  • A Filemanager relying on jquery.
  • Available in more than 20 languages.
  • Highly customizable
  • Can work as standalone application
  • Easy integration with RTE like CKEditor, TinyMCE, Imperavi Redactor and so on.
  • Easy integration with AWS S3 storage to manipulate your files on remote S3 server.
  • Easy integration with colorbox jquery plugin or HTML simple textfield
  • Several computer language connectors available. PHP is up-to-date
  • Drag-and-drop support
  • Ability to upload, delete, modify, download and move files
  • Ability to create folders
  • Support user permissions - based on session
  • Handle system permissions
  • Ability to pass config user file in URL
  • Multiple & chunked uploads support - based on jQuery-File-Upload
  • Online text / code edition - based on codeMirror
  • Online PDF & OpenOffice documents viewer - based on viewerJS
  • Online MS Office documents viewer - based on Google Docs Viewer
  • Opening a given folder
  • Opening exclusively a given folder
  • Passing parameters to the FM
  • File types restriction
  • Video and audio player relying on web browser capabilities
  • Textbox Search filter
  • Thumbnails generation
  • Image auto-resize
  • File size limit
  • File exclusion based on name and patterns
  • Images files only
  • Prevent files overwriting (or not)
  • Switch from list to grid view and vice-versa
  • CSS Themes - Please, share your themes with others !
  • and more ...

Screenshot

Filemanager Screenshot

Documentation

Filemanager is highly documented on the wiki pages. API, see below.

Installation and Setup

(1) Check out a copy of the Rich Filemanager from the repository using Git:

git clone http://github.com/servocoder/RichFilemanager.git

or download the archive from Github : https://github.com/servocoder/RichFilemanager/archive/master.zip

You can place the FileManager anywhere within your web serving root directory.

(2) Make a copy of the default configuration file ("filemanager.config.default.json" located in the scripts directory), removing the '.default' from the end of the filename, and edit the options according to the following wiki page : https://github.com/servocoder/RichFilemanager/wiki/Filemanager-configuration-file Having a look on configuration cases study may also be helpful to you : https://github.com/servocoder/RichFilemanager/wiki/Specify-user-folder%2C-configuration-cases

(3a) If you are integrating the FileManager with FCKEditor, open your fckconfig.js file and find the lines which specify what file browser to use for images, links, etc. Look toward the bottom of the file. You will need to change lines such as this:

FCKConfig.ImageBrowser = false ;
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;

...to this:

FCKConfig.ImageBrowser = true ;
FCKConfig.ImageBrowserURL = '[Path to Filemanager]/index.html' ;

(3b) If you are integrating the FileManager with CKEditor 3.x or higher, simply set the URL when you configure your instance, like so:

CKEDITOR.replace('instancename', {
	filebrowserBrowseUrl: '[Path to Filemanager]/index.html',
	...other configuration options...
});

If you want to use the modal dialog mode (instead of pop-up), please refer to the dedicated wiki page.

(3c) If you are integrating the FileManager with TinyMCE (>= 3.0), you should:

Create a Javascript callback function that will open the FileManager index.html base page (see URL below for examples) Add a line like: "file_browser_callback : 'name_of_callback_function'" in the tinyMCE.init command See http://www.tinymce.com/wiki.php/TinyMCE3x:How-to_implement_a_custom_file_browser for more details.

See also the dedicated wiki page, with TinyMCE 4 sample : https://github.com/servocoder/RichFilemanager/wiki/How-to-use-the-Filemanager-with-tinyMCE-3-or-4

(4) Last but not least, worry about security!

For PHP connector : setup /connectors/php/filemanager.php to define your own authentication function. To do so, you will find an example on the dedicated wiki page. (optional) Check /connectors/php/config.php to enable desired plugin or setup some server-side related settings.

jQuery dependency and compatibility

We try to keep updating jQuery core library regularly. If, for any reason, you can't use the embedded jQuery version just now that the Filemanager will probably work with a jQuery version >= 1.6. You'll have to use the jQuery.migrate() plugin to use it with jQuery version 1.9+.

Set-up & security

Important : The Filemanager is designed to work without any special configuration but using it without any configuration is VERY unsafe. Please set-up your own authentication function, based on default file and refering to the dedicated wiki page.

MIT LICENSE

Released under the MIT license.

About

An open-source file manager released under MIT license. Up-to-date for PHP connector. Contributions are welcome!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 60.7%
  • HTML 12.6%
  • Java 9.0%
  • PHP 8.9%
  • CSS 5.1%
  • ColdFusion 0.7%
  • Other 3.0%