media Datenbank
This commit is contained in:
parent
70704be1ea
commit
c11fc557bf
73 changed files with 2241 additions and 9655 deletions
|
|
@ -22,10 +22,9 @@ class CreateIQContentFoldersTable extends Migration
|
|||
$table->string('name')->index();
|
||||
$table->string('slug')->unique()->index();
|
||||
$table->string('identifier')->nullable();
|
||||
$table->string('path')->nullable();
|
||||
|
||||
$table->string('color', 7)->nullable();
|
||||
|
||||
$table->unsignedTinyInteger('color')->default(0);
|
||||
$table->unsignedTinyInteger('pos')->default(0);
|
||||
$table->boolean('active')->default(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class CreateIQContentFilesTable extends Migration
|
|||
|
||||
$table->text('content')->nullable();
|
||||
|
||||
$table->unsignedTinyInteger('color')->default(0);
|
||||
$table->string('color', 7)->nullable();
|
||||
$table->unsignedTinyInteger('pos')->default(0);
|
||||
$table->boolean('active')->default(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
namespace IqContent\LaravelFilemanager\Controllers;
|
||||
|
||||
use IqContent\LaravelFilemanager\Events\ImageIsRenaming;
|
||||
use IqContent\LaravelFilemanager\Events\ImageWasRenamed;
|
||||
use IqContent\LaravelFilemanager\Events\FolderIsRenaming;
|
||||
use IqContent\LaravelFilemanager\Events\FolderWasRenamed;
|
||||
|
||||
class ColorController extends LfmController
|
||||
{
|
||||
public function getColor()
|
||||
{
|
||||
$file_name = $this->helper->input('file');
|
||||
$new_color = $this->helper->input('new_color');
|
||||
|
||||
|
||||
$file = $this->lfm->pretty($file_name);
|
||||
$is_directory = $file->isDirectory();
|
||||
|
||||
|
||||
$model = $file->model();
|
||||
if($model && $model->id){
|
||||
$model->color = $new_color;
|
||||
$model->save();
|
||||
}
|
||||
return parent::$success_response;
|
||||
}
|
||||
}
|
||||
|
|
@ -43,7 +43,11 @@ class DeleteController extends LfmController
|
|||
$this->lfm->setName($name_to_delete)->thumb()->delete();
|
||||
}
|
||||
}
|
||||
$file_to_delete->deleteModel();
|
||||
$model = $file_to_delete->model();
|
||||
if($model && $model->id){
|
||||
$model->delete();
|
||||
}
|
||||
|
||||
$this->lfm->setName($name_to_delete)->delete();
|
||||
|
||||
event(new ImageWasDeleted($file_path));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ class FolderController extends LfmController
|
|||
public function getAddfolder()
|
||||
{
|
||||
$folder_name = $this->helper->input('name');
|
||||
|
||||
if(config('lfm.alphanumeric_directory')){
|
||||
$folder_name = $this->helper->sanitize($folder_name);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class ItemsController extends LfmController
|
|||
|
||||
public function move()
|
||||
{
|
||||
|
||||
$items = request('items');
|
||||
$folder_types = array_filter(['user', 'share'], function ($type) {
|
||||
return $this->helper->allowFolderType($type);
|
||||
|
|
@ -35,11 +36,10 @@ class ItemsController extends LfmController
|
|||
->with([
|
||||
'root_folders' => array_map(function ($type) use ($folder_types) {
|
||||
$path = $this->lfm->dir($this->helper->getRootFolder($type));
|
||||
|
||||
return (object) [
|
||||
'name' => trans('laravel-filemanager::lfm.title-' . $type),
|
||||
'url' => $path->path('working_dir'),
|
||||
'children' => $path->folders(),
|
||||
'children' => $path->recrusiveFolders($this->helper->getRootFolder($type)),
|
||||
'has_next' => ! ($type == end($folder_types)),
|
||||
];
|
||||
}, $folder_types),
|
||||
|
|
@ -49,29 +49,60 @@ class ItemsController extends LfmController
|
|||
|
||||
public function domove()
|
||||
{
|
||||
//target path
|
||||
$target = $this->helper->input('goToFolder');
|
||||
|
||||
$items = $this->helper->input('items');
|
||||
|
||||
// return $this->response('error', parent::getError('folder-name'));
|
||||
|
||||
foreach ($items as $item) {
|
||||
$old_file = $this->lfm->pretty($item);
|
||||
$is_directory = $old_file->isDirectory();
|
||||
|
||||
if ($old_file->hasThumb()) {
|
||||
$new_file = $this->lfm->setName($item)->thumb()->dir($target);
|
||||
if ($is_directory) {
|
||||
event(new FolderIsMoving($old_file->path(), $new_file->path()));
|
||||
} else {
|
||||
event(new FileIsMoving($old_file->path(), $new_file->path()));
|
||||
}
|
||||
$this->lfm->setName($item)->thumb()->move($new_file);
|
||||
|
||||
if($old_file->path('working_dir') == $target){
|
||||
return $this->response('error', parent::getError('move-same'));
|
||||
}
|
||||
|
||||
$lfm = $this->lfm->dir($target);
|
||||
foreach ($lfm->folders() as $folder){
|
||||
if($folder->name() == $old_file->name()){
|
||||
return $this->response('error', parent::getError('move-exist'));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if($is_directory){
|
||||
if(strpos($target."/", $old_file->path('working_dir')."/") === 0){
|
||||
return $this->response('error', parent::getError('move-parent'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($old_file->hasThumb()) {
|
||||
$new_file_thmub = $this->lfm->setName($item)->thumb()->dir($target);
|
||||
/* if ($is_directory) {
|
||||
event(new FolderIsMoving($old_file->path(), $new_file_thmub->path()));
|
||||
} else {
|
||||
event(new FileIsMoving($old_file->path(), $new_file_thmub->path()));
|
||||
}*/
|
||||
$this->lfm->setName($item)->thumb()->move($new_file_thmub);
|
||||
}
|
||||
|
||||
$new_file = $this->lfm->setName($item)->dir($target);
|
||||
$this->lfm->setName($item)->move($new_file);
|
||||
if ($is_directory) {
|
||||
event(new FolderWasMoving($old_file->path(), $new_file->path()));
|
||||
} else {
|
||||
event(new FileWasMoving($old_file->path(), $new_file->path()));
|
||||
$model = $old_file->model();
|
||||
if($model){
|
||||
$model->folder_id = $new_file->getModelParentFolderId();
|
||||
$model->save();
|
||||
}
|
||||
|
||||
/* if ($is_directory) {
|
||||
event(new FolderWasMoving($old_file->path(), $new_file->path()));
|
||||
} else {
|
||||
event(new FileWasMoving($old_file->path(), $new_file->path()));
|
||||
}*/
|
||||
};
|
||||
|
||||
return parent::$success_response;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ namespace IqContent\LaravelFilemanager\Controllers;
|
|||
|
||||
use IqContent\LaravelFilemanager\Lfm;
|
||||
use IqContent\LaravelFilemanager\LfmPath;
|
||||
use IqContent\LaravelFilemanager\Models\IQContentFolder;
|
||||
|
||||
class LfmController extends Controller
|
||||
{
|
||||
|
|
@ -12,6 +13,7 @@ class LfmController extends Controller
|
|||
public function __construct()
|
||||
{
|
||||
$this->applyIniOverrides();
|
||||
$this->checkRootFolder();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -105,4 +107,17 @@ class LfmController extends Controller
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function checkRootFolder()
|
||||
{
|
||||
$shared_folder_name = config('lfm.shared_folder_name');
|
||||
$shared_folder = IQContentFolder::where('name', $shared_folder_name)->where('folder_id', null)->first();
|
||||
if(!$shared_folder){
|
||||
IQContentFolder::create([
|
||||
'folder_id' => null,
|
||||
'name' => $shared_folder_name,
|
||||
'identifier' => $shared_folder_name,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,12 +15,7 @@ class RenameController extends LfmController
|
|||
$new_name = $this->helper->input('new_name');
|
||||
|
||||
|
||||
|
||||
$old_file = $this->lfm->pretty($old_name);
|
||||
|
||||
return $old_file->path('working_dir');
|
||||
|
||||
|
||||
$is_directory = $old_file->isDirectory();
|
||||
|
||||
if (empty($new_name)) {
|
||||
|
|
@ -31,7 +26,6 @@ class RenameController extends LfmController
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if ($is_directory) {
|
||||
if(config('lfm.alphanumeric_directory')){
|
||||
$new_name = $this->helper->sanitize($new_name);
|
||||
|
|
@ -62,11 +56,11 @@ class RenameController extends LfmController
|
|||
|
||||
$new_file = $this->lfm->setName($new_name)->path('absolute');
|
||||
|
||||
if ($is_directory) {
|
||||
/*if ($is_directory) {
|
||||
event(new FolderIsRenaming($old_file->path(), $new_file));
|
||||
} else {
|
||||
event(new ImageIsRenaming($old_file->path(), $new_file));
|
||||
}
|
||||
}*/
|
||||
|
||||
if ($old_file->hasThumb()) {
|
||||
$this->lfm->setName($old_name)->thumb()
|
||||
|
|
@ -76,15 +70,20 @@ class RenameController extends LfmController
|
|||
$this->lfm->setName($old_name)
|
||||
->move($this->lfm->setName($new_name));
|
||||
|
||||
//->renameModel($new_name)
|
||||
|
||||
$model = $old_file->model();
|
||||
if($model && $model->id){
|
||||
$model->slug = "";
|
||||
$model->name = $new_name;
|
||||
$model->identifier = $new_name;
|
||||
$model->save();
|
||||
}
|
||||
|
||||
|
||||
if ($is_directory) {
|
||||
/*if ($is_directory) {
|
||||
event(new FolderWasRenamed($old_file->path(), $new_file));
|
||||
} else {
|
||||
event(new ImageWasRenamed($old_file->path(), $new_file));
|
||||
}
|
||||
}*/
|
||||
|
||||
return parent::$success_response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -352,6 +352,12 @@ class Lfm
|
|||
'as' => 'getRename',
|
||||
]);
|
||||
|
||||
// colorshue
|
||||
Route::get('/colorshue', [
|
||||
'uses' => 'ColorController@getColor',
|
||||
'as' => 'getColor',
|
||||
]);
|
||||
|
||||
// scale/resize
|
||||
Route::get('/resize', [
|
||||
'uses' => 'ResizeController@getResize',
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ class LfmItem
|
|||
private $lfm;
|
||||
private $helper;
|
||||
|
||||
private $columns = ['name', 'url', 'time', 'icon', 'is_file', 'is_image', 'thumb_url'];
|
||||
private $columns = ['name', 'url', 'time', 'icon', 'color', 'is_file', 'is_image', 'thumb_url'];
|
||||
public $attributes = [];
|
||||
|
||||
public function __construct(LfmPath $lfm, Lfm $helper)
|
||||
|
|
@ -47,11 +47,6 @@ class LfmItem
|
|||
return $this->lfm->getModel();
|
||||
}
|
||||
|
||||
public function deleteModel()
|
||||
{
|
||||
return $this->lfm->deleteModel();
|
||||
}
|
||||
|
||||
public function path($type = 'absolute')
|
||||
{
|
||||
return $this->lfm->path($type);
|
||||
|
|
@ -157,6 +152,17 @@ class LfmItem
|
|||
//return $this->extension();
|
||||
}
|
||||
|
||||
public function color()
|
||||
{
|
||||
|
||||
$model = $this->model();
|
||||
if($model && $model->color){
|
||||
return $this->model()->color;
|
||||
}
|
||||
return '#';
|
||||
|
||||
}
|
||||
|
||||
public function type()
|
||||
{
|
||||
if ($this->isDirectory()) {
|
||||
|
|
@ -205,6 +211,11 @@ class LfmItem
|
|||
return $this->lfm->get();
|
||||
}
|
||||
|
||||
public function getLfm()
|
||||
{
|
||||
return $this->lfm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make file size readable.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ class LfmPath
|
|||
private $is_thumb = false;
|
||||
private $image_dimensions = "";
|
||||
private $isDirectory = null;
|
||||
private $parent_dir = "";
|
||||
|
||||
private $helper;
|
||||
|
||||
|
|
@ -57,45 +58,27 @@ class LfmPath
|
|||
public function setName($item_name)
|
||||
{
|
||||
$this->item_name = $item_name;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setModel()
|
||||
{
|
||||
$working_dir = $this->path('url');
|
||||
$parent_dir = substr($working_dir, 0, strrpos($working_dir, '/'));
|
||||
$parent_folder = IQContentFolder::where('path', $parent_dir)->first();
|
||||
|
||||
$parent_folder_id = $this->getModelParentFolderId();
|
||||
if ($this->isDirectory()) {
|
||||
if($this->folder_model == null){
|
||||
$this->folder_model = new IQContentFolder();
|
||||
if($parent_folder_id){
|
||||
$this->folder_model = IQContentFolder::where('name', $this->item_name)->where('folder_id', $parent_folder_id)->first();
|
||||
} else{
|
||||
$this->folder_model = new IQContentFolder();
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
if($this->file_model == null){
|
||||
$this->file_model = new IQContentFile();
|
||||
$this->file_model = IQContentFile::where('name', $this->item_name)->where('folder_id', $parent_folder->id)->first();
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function renameModel($new_name)
|
||||
{
|
||||
|
||||
if ($this->isDirectory()) {
|
||||
if($this->folder_model != null){
|
||||
$this->folder_model->name = $new_name;
|
||||
$this->folder_mode->save();
|
||||
}
|
||||
|
||||
}else{
|
||||
if($this->file_model != null){
|
||||
$this->file_model->name = $new_name;
|
||||
$this->file_model->save();
|
||||
if($parent_folder_id){
|
||||
$this->file_model = IQContentFile::where('name', $this->item_name)->where('folder_id', $parent_folder_id)->first();
|
||||
}else{
|
||||
$this->file_model = new IQContentFile();
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this;
|
||||
|
|
@ -111,12 +94,35 @@ class LfmPath
|
|||
{
|
||||
if ($this->isDirectory()) {
|
||||
return $this->folder_model;
|
||||
|
||||
}else{
|
||||
return $this->file_model;
|
||||
}
|
||||
}
|
||||
|
||||
public function getModelParentFolderId(){
|
||||
$parent_folder = $this->getModelFolderByPath();
|
||||
if($parent_folder) {
|
||||
return $parent_folder->id;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public function getModelFolderByPath($parent = false){
|
||||
$working_dir = $this->path('working_dir');
|
||||
$working_dir = substr($working_dir, 0, strrpos($working_dir, '/'));
|
||||
$dirs = explode( "/", $working_dir);
|
||||
$folder_id = null;
|
||||
$folder = null;
|
||||
foreach ($dirs as $dir){
|
||||
$folder = IQContentFolder::where('name', $dir)->where('folder_id', $folder_id)->first();
|
||||
if($folder){
|
||||
$folder_id = $folder->id;
|
||||
$this->parent_dir = $folder;
|
||||
}
|
||||
}
|
||||
return $this->parent_dir;
|
||||
}
|
||||
|
||||
|
||||
public function path($type = 'storage')
|
||||
{
|
||||
if ($type == 'working_dir') {
|
||||
|
|
@ -158,7 +164,6 @@ class LfmPath
|
|||
$all_folders = array_map(function ($directory_path) {
|
||||
return $this->pretty($directory_path);
|
||||
}, $this->storage->directories());
|
||||
|
||||
$folders = array_filter($all_folders, function ($directory) {
|
||||
return $directory->name !== $this->helper->getThumbFolderName();
|
||||
});
|
||||
|
|
@ -166,6 +171,20 @@ class LfmPath
|
|||
return $this->sortByColumn($folders);
|
||||
}
|
||||
|
||||
public function recrusiveFolders($parent){
|
||||
$folders = $this->folders();
|
||||
$b = [];
|
||||
foreach ($folders as $folder){
|
||||
$b[$folder->name()] = $folder;
|
||||
$lfm = $folder->getLfm();
|
||||
$lfm->dir($parent);
|
||||
$a = $lfm->recrusiveFolders($folder->url());
|
||||
$b[$folder->name()."-childs"] = $a;
|
||||
|
||||
}
|
||||
return $b;
|
||||
}
|
||||
|
||||
public function files()
|
||||
{
|
||||
$files = array_map(function ($file_path) {
|
||||
|
|
@ -195,24 +214,6 @@ class LfmPath
|
|||
}
|
||||
}
|
||||
|
||||
public function deleteModel(){
|
||||
|
||||
if ($this->isDirectory()) {
|
||||
if($this->folder_model){
|
||||
$this->folder_model->delete();
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
if($this->file_model){
|
||||
$this->file_model->delete();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Create folder if not exist.
|
||||
|
|
@ -225,19 +226,13 @@ class LfmPath
|
|||
if ($this->storage->exists($this)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$working_dir = $this->path('url');
|
||||
$parent_dir = substr($working_dir, 0, strrpos($working_dir, '/'));
|
||||
$parent_folder = IQContentFolder::where('path', $parent_dir)->first();
|
||||
|
||||
$parent_folder_id = $this->getModelParentFolderId();
|
||||
$this->storage->makeDirectory(0777, true, true);
|
||||
|
||||
|
||||
IQContentFolder::create([
|
||||
'folder_id' => $parent_folder->id,
|
||||
'folder_id' => $parent_folder_id,
|
||||
'name' => $this->item_name,
|
||||
'identifier' => $this->item_name,
|
||||
'path' => $this->path('url'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -320,13 +315,9 @@ class LfmPath
|
|||
$new_file_path = $this->setName($new_file_name)->path('absolute');
|
||||
|
||||
|
||||
$working_url = $this->path('url');
|
||||
$working_dir = substr($working_url, 0, strrpos($working_url, '/'));
|
||||
$working_folder_id = $this->getModelParentFolderId();
|
||||
|
||||
$working_folder = IQContentFolder::where('path', $working_dir)->first();
|
||||
|
||||
|
||||
event(new ImageIsUploading($new_file_path));
|
||||
//event(new ImageIsUploading($new_file_path));
|
||||
try {
|
||||
$new_file_name = $this->saveFile($file, $new_file_name);
|
||||
} catch (\Exception $e) {
|
||||
|
|
@ -334,17 +325,17 @@ class LfmPath
|
|||
return $this->error('invalid');
|
||||
}
|
||||
IQContentFile::create([
|
||||
'folder_id' => $working_folder->id,
|
||||
'folder_id' => $working_folder_id,
|
||||
'name' => $new_file_name,
|
||||
'identifier' => $new_file_name,
|
||||
'ext' => $file->guessClientExtension(),
|
||||
'mine' => $file->getMimeType(),
|
||||
'size' => $file->getSize() / 1000,
|
||||
'dimensions' => $this->image_dimensions,
|
||||
'content' => $working_dir,
|
||||
'content' => '',
|
||||
]);
|
||||
// TODO should be "FileWasUploaded"
|
||||
event(new ImageWasUploaded($new_file_path));
|
||||
// event(new ImageWasUploaded($new_file_path));
|
||||
|
||||
return $new_file_name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,30 @@ namespace IqContent\LaravelFilemanager\Models;
|
|||
use Cviebrock\EloquentSluggable\Sluggable;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* IqContent\LaravelFilemanager\Models\IQContentCategory
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $slug
|
||||
* @property int $pos
|
||||
* @property int $active
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\IqContent\LaravelFilemanager\Models\IQContentTag[] $tags
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory findSimilarSlugs($attribute, $config, $slug)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereActive($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory wherePos($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereSlug($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class IQContentCategory extends Model
|
||||
{
|
||||
use Sluggable;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,47 @@ use Cviebrock\EloquentSluggable\Sluggable;
|
|||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* IqContent\LaravelFilemanager\Models\IQContentFile
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $folder_id
|
||||
* @property string $name
|
||||
* @property string|null $identifier
|
||||
* @property string $slug
|
||||
* @property string|null $ext
|
||||
* @property string|null $mine
|
||||
* @property int $size
|
||||
* @property string|null $dimensions
|
||||
* @property string|null $content
|
||||
* @property int $color
|
||||
* @property int $pos
|
||||
* @property int $active
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\IqContent\LaravelFilemanager\Models\IQContentFileTag[] $file_tags
|
||||
* @property-read \IqContent\LaravelFilemanager\Models\IQContentFolder|null $folder
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile findSimilarSlugs($attribute, $config, $slug)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereActive($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereContent($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereDimensions($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereExt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereFolderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereIdentifier($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereMine($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile wherePos($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereSlug($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class IQContentFile extends Model
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,26 @@ namespace IqContent\LaravelFilemanager\Models;
|
|||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* IqContent\LaravelFilemanager\Models\IQContentFileTag
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $file_id
|
||||
* @property int $tag_id
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \IqContent\LaravelFilemanager\Models\IQContentFile $file
|
||||
* @property-read \IqContent\LaravelFilemanager\Models\IQContentTag $tag
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereFileId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereTagId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class IQContentFileTag extends Model
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,40 @@ use Cviebrock\EloquentSluggable\Sluggable;
|
|||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* IqContent\LaravelFilemanager\Models\IQContentFolder
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $folder_id
|
||||
* @property string $name
|
||||
* @property string $slug
|
||||
* @property string|null $identifier
|
||||
* @property string|null $path
|
||||
* @property int $color
|
||||
* @property int $pos
|
||||
* @property int $active
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\IqContent\LaravelFilemanager\Models\IQContentFile[] $files
|
||||
* @property-read \IqContent\LaravelFilemanager\Models\IQContentFolder|null $folder
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\IqContent\LaravelFilemanager\Models\IQContentFolder[] $folders
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder findSimilarSlugs($attribute, $config, $slug)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereActive($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereColor($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereFolderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereIdentifier($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder wherePath($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder wherePos($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereSlug($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class IQContentFolder extends Model
|
||||
{
|
||||
|
||||
|
|
@ -17,7 +51,7 @@ class IQContentFolder extends Model
|
|||
protected $table = 'i_q_content_folders';
|
||||
|
||||
protected $fillable = [
|
||||
'folder_id', 'name', 'slug', 'identifier', 'path', 'color', 'pos', 'active'
|
||||
'folder_id', 'name', 'slug', 'identifier', 'color', 'pos', 'active'
|
||||
];
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,33 @@ namespace IqContent\LaravelFilemanager\Models;
|
|||
use Cviebrock\EloquentSluggable\Sluggable;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* IqContent\LaravelFilemanager\Models\IQContentTag
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $category_id
|
||||
* @property string $name
|
||||
* @property string $slug
|
||||
* @property int $pos
|
||||
* @property int $active
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \IqContent\LaravelFilemanager\Models\IQContentCategory $category
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\IqContent\LaravelFilemanager\Models\IQContentFileTag[] $file_tags
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag findSimilarSlugs($attribute, $config, $slug)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereActive($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereCategoryId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag wherePos($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereSlug($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class IQContentTag extends Model
|
||||
{
|
||||
use Sluggable;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ return [
|
|||
|
||||
'thumb_img_height' => 200,
|
||||
|
||||
'default_color' => '#ffc926',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| jQuery UI options
|
||||
|
|
|
|||
|
|
@ -36,9 +36,10 @@ return [
|
|||
|
||||
'message-empty' => 'Ordner ist leer.',
|
||||
'message-choose' => 'Datei wählen',
|
||||
'message-delete' => 'Sind Sie sicher, dass Sie dieses Einzelteil löschen möchten?',
|
||||
'message-delete' => 'Sind Sie sicher, dass Sie dieses Datei/Ordner löschen möchten?',
|
||||
'message-name' => 'Ordnernamen:',
|
||||
'message-rename' => 'Umbenennen in:',
|
||||
'message-color' => 'Farbe ändern',
|
||||
'message-extension_not_found' => 'Installieren Sie gd oder imagick Erweiterung um Bilder zuzuschneiden, Größe ändern und Thumbnails zu erstellen.',
|
||||
'message-drop' => 'Or drop files here to upload',
|
||||
|
||||
|
|
@ -63,6 +64,11 @@ return [
|
|||
'error-cannotresize' => 'Sie sind nicht berechtigt, die Dateigröße zu ändern',
|
||||
'error-folder-not-found'=> 'Folder not found! (:folder)',
|
||||
'error-size' => 'Over limit size:',
|
||||
'error-move-exist' => 'Datei existiert bereits.',
|
||||
'error-move-same' => 'Datei und Ziel sind gleich.',
|
||||
'error-move-parent' => 'Unterordner kann nicht verschoben werden.',
|
||||
|
||||
|
||||
|
||||
'btn-upload' => 'Datei hochladen',
|
||||
'btn-uploading' => 'Hochladen...',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
|
||||
@foreach($children as $name => $value)
|
||||
@if(strpos($name, 'child') === false)
|
||||
<li class="nav-item sub-item">
|
||||
<a class="nav-link" href="#" data-type="0" onclick="moveToNewFolder(`{{$value->url}}`)" style="padding-left: {{$deep*2}}rem;">
|
||||
<i class="fa fa-folder fa-fw"></i> {{ $value->name }}
|
||||
<input type="hidden" id="goToFolder" name="goToFolder" value="{{ $value->url }}">
|
||||
<div id="items">
|
||||
@foreach($items as $i)
|
||||
<input type="hidden" id="{{ $i }}" name="items[]" value="{{ $i }}">
|
||||
@endforeach
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(strpos($name, 'child') !== false)
|
||||
@include('laravel-filemanager::move-item', array('children'=>$value, 'deep'=>$deep+0.5))
|
||||
@endif
|
||||
@endforeach
|
||||
|
|
@ -11,20 +11,8 @@
|
|||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@foreach($root_folder->children as $directory)
|
||||
<li class="nav-item sub-item">
|
||||
<a class="nav-link" href="#" data-type="0" onclick="moveToNewFolder(`{{$directory->url}}`)">
|
||||
<i class="fa fa-folder fa-fw"></i> {{ $directory->name }}
|
||||
<input type="hidden" id="goToFolder" name="goToFolder" value="{{ $directory->url }}">
|
||||
<div id="items">
|
||||
@foreach($items as $i)
|
||||
<input type="hidden" id="{{ $i }}" name="items[]" value="{{ $i }}">
|
||||
@endforeach
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@include('laravel-filemanager::move-item', array('children'=>$root_folder->children, 'deep'=>1))
|
||||
@endforeach
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue