- '/data/extranet/:/data/extranet/'
- '/mnt/:/mnt/'
- '/home/extranet/share/:/application/share/'
- - '/data/toolbox/dev/storage/app/public/:/application/public/storage/'
- '/data/toolbox/dev/storage/:/application/storage/'
- '/data/extranet/ftp/:/application/ftp/'
- '/mnt/sshfs/godzilla/data/fluidbook/docs/:/application/protected/fluidbookpublication/docs/'
- '/data/extranet/:/data/extranet/'
- '/mnt/:/mnt/'
- '/home/extranet/share/:/application/share/'
- - '/data/toolbox/dev/storage/app/public/:/application/public/storage/'
- '/data/toolbox/dev/storage/:/application/storage/'
- '/data/extranet/ftp/:/application/ftp/'
- '/mnt/sshfs/godzilla/data/fluidbook/docs/:/application/protected/fluidbookpublication/docs/'
- '/data/extranet/:/data/extranet/'
- '/mnt/:/mnt/'
- '/home/extranet/share/:/application/share/'
- - '/data/toolbox/storage/app/public/:/application/public/storage/'
- '/data/toolbox/storage/:/application/storage/'
- '/data/extranet/ftp/:/application/ftp/'
- '/mnt/sshfs/godzilla/data/fluidbook/docs/:/application/protected/fluidbookpublication/docs/'
- '/data/extranet/:/data/extranet/'
- '/mnt/:/mnt/'
- '/home/extranet/share/:/application/share/'
- - '/data/toolbox/storage/app/public/:/application/public/storage/'
- '/data/toolbox/storage/:/application/storage/'
- '/data/extranet/ftp/:/application/ftp/'
- '/mnt/sshfs/godzilla/data/fluidbook/docs/:/application/protected/fluidbookpublication/docs/'
APP_URL=https://dev.toolbox.fluidbook.com
HEADER_COLOR="#df4759"
-
LOG_CHANNEL=stack
APP_LOG=daily
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Http\Controllers\Controller;
+use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
+use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+use Spatie\MediaLibrary\MediaCollections\Models\Media;
+
+class StorageController extends Controller
+{
+ public function storage($path)
+ {
+ $p = explode('/', trim($path, '/'));
+ $mediaId = $p[0];
+ /** @var Media $media */
+ $media = Media::withoutGlobalScopes()->find($mediaId);
+
+ $model = $media->getAttribute('model');
+ $instanceId = $media->getAttribute('model_id');
+
+ /** @var CubistMagicAbstractModel $instance */
+ $instance = $model::withoutGlobalScopes()->find($instanceId);
+ if (!$instance->canView(backpack_user())) {
+ abort(404);
+ }
+ $p = storage_path('app/public/') . $path;
+ return XSendFileController::sendfile($p);
+ }
+}
protected function _outro()
{
- $this->addField('sectionStandard', FormSection::class, __('Conclusion'));
+ $this->addField('sectionOutro', FormSection::class, __('Conclusion'));
$this->addField('outroColor', Color::class, __('Couleur et transparence du bloc'), ['hint' => __('Par défaut, la couleur neutre du thème'), 'allows_empty' => true]);
$this->addField('', FormSeparator::class, '');
$this->addField('outroCustom', Checkbox::class, __('Définir une forme personnalisée'));
--- /dev/null
+<?php
+return [
+ 'storage_controller' => \App\Http\Controllers\Admin\StorageController::class];
Route::crud('elearning-media', 'ElearningMediaCrudController');
Route::crud('toolbox-translate', 'ToolboxTranslateCrudController');
Route::crud('quiztranslation', 'QuiztranslationCrudController');
+ Route::crud('quiz-theme', 'QuizThemeCrudController');
Route::crud('team-emails', 'TeamEmailsCrudController');
Route::crud('fluidbook-quote', 'FluidbookQuoteCrudController');
Route::crud('locale', 'LocaleCrudController');
Route::crud('settings', 'SettingsCrudController');
Route::crud('team-leave', 'TeamLeaveCrudController');
Route::crud('team-overtime', 'TeamOvertimeCrudController');
+ Route::crud('fluidbook-external-install-server', 'FluidbookExternalInstallServerCrudController');
+ Route::crud('file', 'FileCrudController');
Route::crud('fluidbook-collection', 'FluidbookCollectionCrudController');
Route::crud('fluidbook-document', 'FluidbookDocumentCrudController');
Route::crud('fluidbook-publication', 'FluidbookPublicationCrudController');
Route::crud('company', 'CompanyCrudController');
Route::crud('signature', 'SignatureCrudController');
Route::crud('fluidbook-iconset', 'FluidbookIconsetCrudController');
- Route::crud('users', 'UsersCrudController');
Route::crud('fluidbook-translate', 'FluidbookTranslateCrudController');
});
// ->where(['page' => '^(((?=(?!admin))(?=(?!\/)).))*$', 'subs' => '.*']);
use App\Http\Middleware\CheckIfAdmin;
use App\Http\Middleware\VerifyCsrfToken;
+use Illuminate\Support\Facades\Route;
Route::group([
'prefix' => config('backpack.base.route_prefix', 'admin'),
Route::get('fluidbookthemepreview/{id}.jpg', 'FluidbookThemePreviewController@preview');
Route::get('tasks', 'TasksController@index');
Route::get('tasks/countUnread', 'TasksController@countUnread');
+ Route::match(['get'], 'storage/{path?}', 'StorageController@storage')->where(['path' => '.*']);
Route::delete('tasks/notification/{id}', 'TasksController@deleteNotification');
});