MihailDev / yii2-elfinder

Yii2 ElFinder
Other
170 stars 76 forks source link

Yii2 + elFinder + Flysystem Dropbox #62

Closed Kravalg closed 8 years ago

Kravalg commented 8 years ago

У меня сейчас работает связка elFinder + Flysystem Dropbox, хотел бы мигрировать этот модуль к yii2, чтобы удобнее было пользоваться правами доступа. Может ли в таком режиме работать ваше расширение?

MihailDev commented 8 years ago

в принципе можно только на данный момент нету специального класса для упрощения настройки под Dropbox то есть настроить подключение придётся через BasePath

но если вам не к спеху то я планирую сделать большую переработку в течении 2 недель там будут проработаны все известные подключения в том числе и Dropbox!

Kravalg commented 8 years ago

Там достаточно будет flysystem прикрутить и к себе подтянуть адаптеры, потому что пользоваться dropbox адаптером от elFinder слишком уж медленно

MihailDev commented 8 years ago

спс учту

Kravalg commented 8 years ago

Вот файл коннектора, который используете вы тык.

# Вот мой файл коннектора:

`<?php

//ini_set('error_reporting', E_ALL);
//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);

include_once '../vendor/autoload.php';
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'elFinderConnector.class.php';
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'elFinder.class.php';
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'elFinderVolumeDriver.class.php';

use League\Flysystem\Dropbox\DropboxAdapter;
use Dropbox\Client;
use League\Flysystem\Filesystem;

$client = new Client('--------------------------', '--------------------------');
$adapter = new DropboxAdapter($client);
$filesystem = new Filesystem($adapter);

// Documentation for connector options:
// https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options
$opts = [
    //'debug' => true,
    'roots' => [
        [
            'driver' => 'Flysystem',
            'path' => 'my_path',
            'filesystem' => $filesystem
        ],
    ]
];

// run elFinder
$connector = new elFinderConnector(new elFinder($opts));
$connector->run();`

# Вот мой composer.json

`{
  "name": "studio-42/elfinder",
  "description": "File manager for web",
  "version": "2.1.11",
  "license": "BSD-3-Clause",
  "homepage": "http://elfinder.org",
  "authors": [
    {
      "name": "Dmitry Levashov",
      "homepage": "http://std42.ru",
      "email": "dio@std42.ru"
    },
    {
      "name": "Troex Nevelin",
      "homepage": "http://std42.ru",
      "email": "troex@fury.scancode.ru"
    },
    {
      "name": "Naoki Sawada",
      "homepage": "http://xoops.hypweb.net",
      "email": "hypweb@gmail.com"
    },
    {
      "name": "Community contributions",
      "homepage": "https://github.com/Studio-42/elFinder/contributors"
    }
  ],
  "require": {
    "php": ">=5.2",
    "league/flysystem": "^1.0",
    "league/flysystem-dropbox": "^1.0",
    "barryvdh/elfinder-flysystem-driver": "^0.2.0"
  },
  "suggest": {
    "dropbox-php/dropbox-php": "elFinder Volume driver `Dropbox` require `dropbox-php/dropbox-php`.",
    "pear/http_oauth": "dropbox-php require `pear/http_oauth` or `PHP OAuth extension`.",
    "barryvdh/elfinder-flysystem-driver": "VolumeDriver for elFinder to use Flysystem as a root.",
    "nao-pon/flysystem-google-drive": "require in GoogleDrive network volume mounting."
  },
  "autoload": {
    "classmap": [
      "php"
    ]
  }
}
`
Kravalg commented 8 years ago

Сейчас ваш модуль использует в качестве источника хранения информации файловую систему?

MihailDev commented 8 years ago

немного не понял суть вопроса

и вы тут ошибаетесь я использую вот этот коннектор https://github.com/MihailDev/yii2-elfinder/blob/master/views/connect.php который вызывается через контроллер

Kravalg commented 8 years ago

Хорошо, спасибо за наводку

Я понял, что можно несколько коннекторов использовать у вас для хранения данных.

Kravalg commented 8 years ago

Есть возможность сменить тему для ElFinder?

https://github.com/Studio-42/elFinder#3rd-party-themes