Integrace elFinder do Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Willik
Člen | 19
+
0
-

Zdravim,
neresil nekdo inregraci elFinder manageru do Nette? Uvital bych kazadou radu s tim, jak spravne integrovat tu knihovnu napr. do presenteru. Potrebuju pro TinyMCE filemanager a elFinder mi prijde jako dobre reseni.
Ma nekdo nejakou zkusenost pripadne ukazku/navod jak postupovat?
Dekuji

Willik
Člen | 19
+
0
-

Tak to vypada, ze asi elFinder nikdo nepouziva. Jaky byste filemanager (jde o nahravani obrazku) doporucili pro integraci do nette?

Nebo bych potreboval aspon poradit, jak udelat, aby v pripade, ze prijde ajaxovy dotaz na presenter, aby presenter nic nerenderoval,jen predal nejake udaje conectoru toho elFinder, protoze zpracovani a odpoved uz resi elFinder. Jde to udelat v Nette? Je nejaky navod jak v Nette pripojovat jine knihovny?

Editoval Willik (8. 11. 2016 18:50)

Willik
Člen | 19
+
0
-

Tak jsem to nakonec nejak poresil. Kdyby se s tim nekdo take setkal, tak tady je presenter pro inspiraci. V samotne elFinder se nemeni nic. Asi to neni idealni reseni, ale je funkcni

use App\Utility\RuntimeDirs;

/**
 * FileManagerPresenter.
 */
class FileManagerBasePresenter extends Nette\Application\UI\Presenter {

    /** @var RuntimeDirs @inject */
    public $runtimeDirs;

    /** @var $connector */
    protected $connector;

    /** @array $options */
    protected $options = array(
        // 'debug' => true,
        'roots' => array(
            array(
                'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED)
                'path' => '/images/', // path to files (REQUIRED)
                'URL' => '/images/', // URL to files (REQUIRED)
            )
        )
    );

    public function beforeRender() {

        if ($this->isAjax() || count($_FILES)) {
            $this->fileManagerAction();
            exit;
        }

        $this->getTemplate()->setFile($this->runtimeDirs->getAppPath() . '/templates/FileManager/FileManager.latte');
    }

    protected function fileManagerAction() {
        $this->connector = new \elFinderConnector(new \elFinder($this->options));
        $this->connector->run();
    }

}