PHPackages                             hashmode/cakephp-tinymce-elfinder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. hashmode/cakephp-tinymce-elfinder

ActiveCakephp-plugin[File &amp; Storage](/categories/file-storage)

hashmode/cakephp-tinymce-elfinder
=================================

Elfinder file manager integration with tinymce 4.x for cakephp 3.x

v1.0.9(9y ago)124.1k1[1 issues](https://github.com/hashmode/cakephp-tinymce-elfinder/issues)2MITPHP

Since Apr 24Pushed 9y ago3 watchersCompare

[ Source](https://github.com/hashmode/cakephp-tinymce-elfinder)[ Packagist](https://packagist.org/packages/hashmode/cakephp-tinymce-elfinder)[ RSS](/packages/hashmode-cakephp-tinymce-elfinder/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (2)Versions (10)Used By (2)

Cakephp-Tinymce-Elfinder
========================

[](#cakephp-tinymce-elfinder)

Elfinder file manager integration with tinymce 4.x for **cakephp 3.x** - allows to upload/access images/files as into local file system, as well as Amazon S3, remote FTP server etc.

For cakephp 2.x -

REQUIREMENTS
------------

[](#requirements)

1. Cakephp 3.x
2. Elfinder 2.x (currently 2.1)
3. Tinymce 4.x (might work with 3.x as well)

Installation
------------

[](#installation)

**1)** Installation is done by composer: add the following into your main `composer.json` (inside require) and then run `composer update`

```
"hashmode/cakephp-tinymce-elfinder": "~1.0"

```

Elfinder requirement is added inside plugin's composer, so it will automatically install it, however Tinymce should be installed separately: as well as jquery ui, upon which the Elfinder is dependent on. Because the statics files that are accessed inside the plugin's view files - are required to be in webroot directory, that is why after installation/update composer script based on callback should copy the static files from elfinder's folder to the plugin's webroot, for this reason the following should be added inside application's main `composer.json` file

```
    "scripts": {
        "post-update-cmd": "CakephpTinymceElfinder\\Console\\Installer::postUpdate"
    },

```

**2)** Load Plugin from `bootstrap.php`

```
Plugin::load('CakephpTinymceElfinder', ['routes' => true]);

```

**3)** Add configuration options into `bootstrap.php` (or you can create another file and include it in bootstrap)

```
Configure::write('TinymceElfinder', array(
    'title' => __('Elfinder File Manager'),
    'client_options' => array(
        'width' => 900,
        'height' => 500,
        'resizable' => 'yes'
    ),
    'static_files' => array(
        'js' => array(
            'jquery' => 'jquery-2.1.4.min.js',
            'jquery_ui' => 'libs/jqueryui/jquery-ui.min.js'
        ),
        'css' => array(
            'jquery_ui' => 'libs/jqueryui/jquery-ui.min.css',
            'jquery_ui_theme' => ''
        )
    ),
    'options' => array(
        // 'debug' => true,
        'roots' => array(
            array(
                'driver' => 'LocalFileSystem',                  // driver for accessing file system (REQUIRED)
                'URL' => Router::url('/uploads', true),         // upload main folder
                'path' => WWW_ROOT . 'uploads',                 // path to files (REQUIRED)
                'attributes' => array(
                    array(
                        'pattern' => '!(thumbnails)!',
                        'hidden' => true
                    )
                ),
                'tmbPath' => 'thumbnails',
                'uploadOverwrite' => false,
                'checkSubfolders' => false,
                'disabled' => array()
            )
        ),
    )
));

```

**client\_options:** This is the list of options that is being used initiating the elfinder in javascript.

**static\_files:** `Jquery min` and `Jquery UI` are necessary for elfinder to work, so they are being used in the plugin view, however to avoid copying them into plugin's webroot or application's webroot(maybe you are already using them) - it is just omitted and it is required to provide paths to css and js files for jquery min js, jquery ui min js and jquery ui css. Jquery ui theme's css is optional. These files should reside in your application's webroot directory (or any plugins webroot directory - in that case you should use plugin syntax )

**options:**

**4)** Load Plugin's helper - by adding the following into your `AppView.php` initialize

```
$this->loadHelper('CakephpTinymceElfinder.TinymceElfinder');

```

**5)** Include tinymce into your page (Tinymce is NOT being installed with the plugin)

```

```

**6)** By this line it will define a js function for `file_browser_callback` for tinymce

```

```

**7)** Tinymce Init

```
$(document).ready(function() {
	// tinymce init
	tinymce.init({
	  file_browser_callback : elFinderBrowser,
	  selector: "textarea",
	  theme: "modern",

	  ... rest of your code

```

IMPORTANT !! - SECURITY
-----------------------

[](#important----security)

By default all the commands are allowed - so if you need to allow only specific commands - make sure to add the rest of the commands(that should NOT be allowed) under `disabled` under options' roots.

There are 2 actions in `ElfindersController.php` controller of the plugin, that are used for the functionality of elfinder, corresponding access permissions should be handled manually from the application.

License
-------

[](#license)

MIT - Please refer to Elfidner and Tinymce websites for their licenses

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~25 days

Total

9

Last Release

3570d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc8bf7e1b68a4c17b33425818798e48effc35a6a986272c679e147600961977e?d=identicon)[hashmode](/maintainers/hashmode)

---

Top Contributors

[![hashmode](https://avatars.githubusercontent.com/u/5838337?v=4)](https://github.com/hashmode "hashmode (26 commits)")

---

Tags

imagecakephpfilemanageruploadtinymceelfinder

### Embed Badge

![Health badge](/badges/hashmode-cakephp-tinymce-elfinder/health.svg)

```
[![Health](https://phpackages.com/badges/hashmode-cakephp-tinymce-elfinder/health.svg)](https://phpackages.com/packages/hashmode-cakephp-tinymce-elfinder)
```

###  Alternatives

[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M74](/packages/unisharp-laravel-filemanager)[itskodinger/midia

Simple Media manager for your Laravel project

1415.8k](/packages/itskodinger-midia)[mafftor/laravel-file-manager

The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox

3619.3k](/packages/mafftor-laravel-file-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
