media Datenbank

This commit is contained in:
Kevin Adametz 2019-11-14 20:29:01 +01:00
parent 70704be1ea
commit c11fc557bf
73 changed files with 2241 additions and 9655 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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;
}
}

View file

@ -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));

View file

@ -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);
}

View file

@ -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;

View file

@ -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,
]);
}
}
}

View file

@ -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;
}

View file

@ -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',

View file

@ -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.
*

View file

@ -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;
}

View file

@ -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;

View file

@ -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
{

View file

@ -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
{

View file

@ -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'
];

View file

@ -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;

View file

@ -128,6 +128,8 @@ return [
'thumb_img_height' => 200,
'default_color' => '#ffc926',
/*
|--------------------------------------------------------------------------
| jQuery UI options

View file

@ -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...',

View file

@ -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

View file

@ -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>