update 1.0.8.0

Commits for version update
This commit is contained in:
Manish Verma
2016-10-17 12:02:27 +05:30
parent dec927987b
commit 76e85db070
9674 changed files with 495757 additions and 58922 deletions

View File

@@ -10,7 +10,7 @@ PR is welcome!
* The project was forked from [tsawler/laravel-filemanager](http://packalyst.com/packages/package/tsawler/laravel-filemanager)
* Customizable routes and middlewares
* Supported locales : en, fr, pt-BR, tr, zh-CN, zh-TW
* Supported locales : en, fr, bg, tr, fa, es, pt-BR, tr, zh-CN, zh-TW, ar
* Supports public and private folders for multi users
* Supports multi-level folders
* Supports using independently(see integration doc)
@@ -18,30 +18,27 @@ PR is welcome!
## Documents
1. [Installation](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/installation.md)
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Integration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
## Upgrade guide
* `composer update unisharp/laravel-filemanager`
* `php artisan vendor:publish --tag=lfm_view --force`
* `php artisan vendor:publish --tag=lfm_config --force`(remember to keep your previous settings in `config/lfm.php`)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## Screenshots
* Independent usage example :
![Independent usage example](http://unisharp.github.io/images/lfm01.png)
![Independent usage example](https://raw.githubusercontent.com/UniSharp/laravel-filemanager/gh_pages/images/lfm01.png)
* List view :
![FileManager screenshot 1](http://unisharp.com/img/filemanager1.png)
![FileManager screenshot 1](https://raw.githubusercontent.com/UniSharp/laravel-filemanager/gh_pages/images/lfm02.png)
* Grid view :
![FileManager screenshot 2](http://unisharp.com/img/filemanager2.png)
![FileManager screenshot 2](https://raw.githubusercontent.com/UniSharp/laravel-filemanager/gh_pages/images/lfm03.png)
## Credits
* All contibutors from GitHub. (issues / PR)
* [All contibutors](https://github.com/UniSharp/laravel-filemanager/graphs/contributors) from GitHub. (issues / PR)
* Special thanks to
* [@taswler](https://github.com/tsawler) the original author.
* [@olivervogel](https://github.com/olivervogel) for the awesome [image library](https://github.com/Intervention/image)
@@ -51,4 +48,5 @@ PR is welcome!
* [@Nikita240](https://github.com/Nikita240) fixing controller extending errors.
* [@amin101](https://github.com/amin101) guide for independent use and fixes for url/directory error on Windows
* [@nasirkhan](https://github.com/nasirkhan) bug fixes and alphanumeric filename check
* [@petyots](https://github.com/petyots) Bulgarian translation
* All [@UniSharp](https://github.com/UniSharp) members

View File

@@ -23,7 +23,7 @@
}
],
"require": {
"php": ">=5.5.0",
"php": ">=5.4.0",
"illuminate/support": ">=4.2.0",
"intervention/image": "2.*"
},

View File

@@ -4,6 +4,8 @@
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## Config

View File

@@ -4,6 +4,8 @@
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## Customization
@@ -44,5 +46,10 @@ Feel free to customize the routes and views if your need.
1. Copy the views from /vendor/unisharp/laravel-filemanager/src/views/ :
```bash
php artisan vendor:publish --tag=lfm_views
php artisan vendor:publish --tag=lfm_view
```
### Translations
1. Copy `vendor/unisharp/laravel-filemanager/src/lang/en` to `/resources/lang/vendor/laravel-filemanager/<YOUR LANGUAGE>/lfm.php`
2. Change the file according your preferences

View File

@@ -0,0 +1,44 @@
## Documents
1. [Installation](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/installation.md)
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## List of events
* Unisharp\Laravelfilemanager\Events\ImageWasUploaded
## How to use
To use events you can add a listener to listen to the events
Snippet for `EventServiceProvider`
```php
protected $listen = [
ImageWasUploaded::class => [
UploadListener::class,
],
];
```
The `UploadListener` will look like:
```php
class UploadListener
{
public function handle($event)
{
$method = 'on'.class_basename($event);
if (method_exists($this, $method)) {
call_user_func([$this, $method], $event);
}
}
public function onImageWasUploaded(ImageWasUploaded $event)
{
$path = $event->path();
//your code, for example resizing and cropping
}
}
```

View File

@@ -4,6 +4,8 @@
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## Requirements
@@ -13,7 +15,7 @@
## Notes
* For `laravel 5.2`, please set `'middlewares' => ['web', 'auth'],` in config/lfm.php
* For `laravel 5.2` and `laravel 5.3`, please set `'middlewares' => ['web', 'auth'],` in config/lfm.php
* With laravel-filemanager >= 1.3.0, the new configs `valid_image_mimetypes` and `valid_file_mimetypes` restrict the MIME types of the uploading files.
## Installation
@@ -39,6 +41,9 @@
'Image' => Intervention\Image\Facades\Image::class,
```
Code above is for Laravel 5.1.
In Laravel 5.0 should leave only quoted class names.
1. Publish the package's config and assets :
```bash

View File

@@ -1,9 +1,11 @@
## Documents
1. [Installation](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/installation.md)
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Integration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## WYSIWYG Editor Integration:
### Option 1: CKEditor
@@ -15,7 +17,7 @@
Sample 1 - Replace by ID:
```html
<script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
<textarea id="my-editor" name="content" class="form-control">{!! old('content', $content) !!}</textarea>
<textarea id="my-editor" name="content" class="form-control">{!! old('content', 'test editor content') !!}</textarea>
<script>
CKEDITOR.replace( 'my-editor', {
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
@@ -30,8 +32,9 @@
```html
<script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/vendor/unisharp/laravel-ckeditor/adapters/jquery.js"></script>
<textarea name="content" class="form-control my-editor">{!! old('content', $content) !!}</textarea>
<textarea name="content" class="form-control my-editor">{!! old('content', 'test editor content') !!}</textarea>
<script>
$('textarea.my-editor').ckeditor({
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
@@ -50,7 +53,7 @@
<script>
var editor_config = {
path_absolute : "/",
selector: "textarea",
selector: "textarea.my-editor",
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
@@ -85,7 +88,7 @@
</script>
```
##Independent use
##Standalone button
If you are going to use filemanager independently, meaning set the value of an input to selected photo/file url, follow this structure:

View File

@@ -0,0 +1,14 @@
## Documents
1. [Installation](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/installation.md)
1. [Intergration](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/integration.md)
1. [Config](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/config.md)
1. [Customization](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/customization.md)
1. [Events](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/events.md)
1. [Upgrade](https://github.com/UniSharp/laravel-filemanager/blob/master/doc/upgrade.md)
## Upgrade guide
* `composer update unisharp/laravel-filemanager`
* `php artisan vendor:publish --tag=lfm_view --force`
* `php artisan vendor:publish --tag=lfm_config --force` (IMPORTANT: please backup your own `config/lfm.php` first)

View File

@@ -0,0 +1,28 @@
<?php
namespace Unisharp\Laravelfilemanager\Events;
class FolderWasRenamed
{
private $path;
public function __construct($old_path, $new_path)
{
$this->old_path = $old_path;
$this->new_path = $new_path;
}
/**
* @return string
*/
public function old_path()
{
return $this->old_path;
}
public function new_path()
{
return $this->new_path;
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Unisharp\Laravelfilemanager\Events;
class ImageWasDeleted
{
private $path;
public function __construct($path)
{
$this->path = $path;
}
/**
* @return string
*/
public function path()
{
return $this->path;
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace Unisharp\Laravelfilemanager\Events;
class ImageWasRenamed
{
private $path;
public function __construct($old_path, $new_path)
{
$this->old_path = $old_path;
$this->new_path = $new_path;
}
/**
* @return string
*/
public function old_path()
{
return $this->old_path;
}
public function new_path()
{
return $this->new_path;
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Unisharp\Laravelfilemanager\Events;
class ImageWasUploaded
{
private $path;
public function __construct($path)
{
$this->path = $path;
}
/**
* @return string
*/
public function path()
{
return $this->path;
}
}

View File

@@ -4,14 +4,19 @@ return [
// If true, the uploaded file will be renamed to uniqid() + file extension.
'rename_file' => true,
// If rename_file set to false and this set to true, then filter filename characters which are not alphanumeric.
// If rename_file set to false and this set to true, then non-alphanumeric characters in filename will be replaced.
'alphanumeric_filename' => true,
// If true, non-alphanumeric folder name will not be allowed.
'alphanumeric_directory' => false,
'use_package_routes' => true,
// For laravel 5.2, please set to ['web', 'auth']
'middlewares' => ['auth'],
// Add prefix for routes
'prefix' => 'laravel-filemanager',
// Allow multi_user mode or not.
// If true, laravel-filemanager create private folders for each signed-in user.
'allow_multi_user' => true,
@@ -52,10 +57,10 @@ return [
// file extensions array, only for showing file information, it won't affect the upload process.
'file_type_array' => [
'pdf' => 'Adobe Acrobat',
'docx' => 'Microsoft Word',
'doc' => 'Microsoft Word',
'docx' => 'Microsoft Word',
'xls' => 'Microsoft Excel',
'xls' => 'Microsoft Excel',
'xlsx' => 'Microsoft Excel',
'zip' => 'Archive',
'gif' => 'GIF Image',
'jpg' => 'JPEG Image',
@@ -68,10 +73,10 @@ return [
// file extensions array, only for showing icons, it won't affect the upload process.
'file_icon_array' => [
'pdf' => 'fa-file-pdf-o',
'docx' => 'fa-file-word-o',
'doc' => 'fa-file-word-o',
'docx' => 'fa-file-word-o',
'xls' => 'fa-file-excel-o',
'xls' => 'fa-file-excel-o',
'xlsx' => 'fa-file-excel-o',
'zip' => 'fa-file-archive-o',
'gif' => 'fa-file-image-o',
'jpg' => 'fa-file-image-o',

View File

@@ -1,10 +1,12 @@
<?php namespace Unisharp\Laravelfilemanager\controllers;
use Illuminate\Support\Facades\Event;
use Unisharp\Laravelfilemanager\controllers\Controller;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Input;
use Lang;
use Unisharp\Laravelfilemanager\Events\ImageWasDeleted;
/**
* Class CropController
@@ -41,7 +43,8 @@ class DeleteController extends LfmController {
}
File::delete($file_to_delete);
Event::fire(new ImageWasDeleted($file_to_delete));
if ('Images' === $this->file_type) {
File::delete($thumb_to_delete);
}

View File

@@ -3,6 +3,7 @@
use Unisharp\Laravelfilemanager\controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Config;
use Lang;
/**
@@ -41,17 +42,19 @@ class FolderController extends LfmController {
*/
public function getAddfolder()
{
$folder_name = Input::get('name');
$folder_name = trim(Input::get('name'));
$path = parent::getPath('directory') . $folder_name;
if (!File::exists($path)) {
if (File::exists($path)) {
return Lang::get('laravel-filemanager::lfm.error-folder-exist');
} elseif (empty($folder_name)) {
return Lang::get('laravel-filemanager::lfm.error-folder-name');
} elseif (Config::get('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $folder_name)) {
return Lang::get('laravel-filemanager::lfm.error-folder-alnum');
} else {
File::makeDirectory($path, $mode = 0777, true, true);
return 'OK';
} else if (empty($folder_name)) {
return Lang::get('laravel-filemanager::lfm.error-folder-name');
} else {
return Lang::get('laravel-filemanager::lfm.error-folder-exist');
}
}

View File

@@ -20,7 +20,7 @@ class ItemsController extends LfmController {
public function getItems()
{
$type = Input::get('type');
$view = $this->getView($type);
$view = $this->getView();
$path = parent::getPath();
$files = File::files($path);
@@ -29,7 +29,7 @@ class ItemsController extends LfmController {
$thumb_url = parent::getUrl('thumb');
return view($view)
->with(compact('files', 'file_info', 'directories', 'thumb_url'));
->with(compact('type', 'file_info', 'directories', 'thumb_url'));
}
@@ -79,18 +79,12 @@ class ItemsController extends LfmController {
}
private function getView($type = 'Images')
private function getView()
{
$view = 'laravel-filemanager::images';
if ($type !== 'Images') {
$view = 'laravel-filemanager::files';
}
if (Input::get('show_list') == 1) {
$view .= '-list';
return 'laravel-filemanager::list-view';
} else {
return 'laravel-filemanager::grid-view';
}
return $view;
}
}

View File

@@ -51,9 +51,12 @@ class LfmController extends Controller {
$working_dir = '/';
$working_dir .= (Config::get('lfm.allow_multi_user')) ? $this->getUserSlug() : Config::get('lfm.shared_folder_name');
$extension_not_found = ! extension_loaded('gd') && ! extension_loaded('imagick');
return view('laravel-filemanager::index')
->with('working_dir', $working_dir)
->with('file_type', $this->file_type);
->with('file_type', $this->file_type)
->with('extension_not_found', $extension_not_found);
}

View File

@@ -1,11 +1,14 @@
<?php namespace Unisharp\Laravelfilemanager\controllers;
use Illuminate\Support\Facades\Event;
use Unisharp\Laravelfilemanager\controllers\Controller;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Str;
use Lang;
use Unisharp\Laravelfilemanager\Events\ImageWasRenamed;
use Unisharp\Laravelfilemanager\Events\FolderWasRenamed;
/**
* Class RenameController
@@ -19,7 +22,7 @@ class RenameController extends LfmController {
public function getRename()
{
$old_name = Input::get('file');
$new_name = Input::get('new_name');
$new_name = trim(Input::get('new_name'));
$file_path = parent::getPath('directory');
$thumb_path = parent::getPath('thumb');
@@ -33,12 +36,15 @@ class RenameController extends LfmController {
$new_file = $file_path . $new_name;
if (File::exists($new_file)) {
if (Config::get('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $new_name)) {
return Lang::get('laravel-filemanager::lfm.error-folder-alnum');
} elseif (File::exists($new_file)) {
return Lang::get('laravel-filemanager::lfm.error-rename');
}
if (File::isDirectory($old_file)) {
File::move($old_file, $new_file);
Event::fire(new FolderWasRenamed($old_file, $new_file));
return 'OK';
}
@@ -48,6 +54,8 @@ class RenameController extends LfmController {
File::move($thumb_path . $old_name, $thumb_path . $new_name);
}
Event::fire(new ImageWasRenamed($old_file, $new_file));
return 'OK';
}
}

View File

@@ -1,5 +1,6 @@
<?php namespace Unisharp\Laravelfilemanager\controllers;
use Illuminate\Support\Facades\Event;
use Unisharp\Laravelfilemanager\controllers\Controller;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\File;
@@ -8,6 +9,7 @@ use Illuminate\Support\Str;
use Lang;
use Intervention\Image\Facades\Image;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Unisharp\Laravelfilemanager\Events\ImageWasUploaded;
/**
* Class UploadController
@@ -51,6 +53,8 @@ class UploadController extends LfmController {
$this->makeThumb($dest_path, $new_filename);
}
Event::fire(new ImageWasUploaded(realpath($dest_path.'/'.$new_filename)));
// upload via ckeditor 'Upload' tab
if (!Input::has('show_list')) {
return $this->useFile($new_filename);
@@ -67,11 +71,16 @@ class UploadController extends LfmController {
$is_valid = false;
$file = Input::file('upload');
if (empty($file)) {
throw new \Exception(Lang::get('laravel-filemanager::lfm.error-file-empty'));
}
if (!$file instanceof UploadedFile) {
} elseif (!$file instanceof UploadedFile) {
throw new \Exception(Lang::get('laravel-filemanager::lfm.error-instance'));
} elseif ($file->getError() == UPLOAD_ERR_INI_SIZE) {
$max_size = ini_get('upload_max_filesize');
throw new \Exception(Lang::get('laravel-filemanager::lfm.error-file-size', ['max' => $max_size]));
} elseif ($file->getError() != UPLOAD_ERR_OK) {
dd('File failed to upload. Error code: ' . $file->getError());
}
$mimetype = $file->getMimeType();
@@ -100,12 +109,12 @@ class UploadController extends LfmController {
private function getNewName($file)
{
$new_filename = $file->getClientOriginalName();
$new_filename = trim(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME));
if (Config::get('lfm.rename_file') === true) {
$new_filename = uniqid();
} elseif (Config::get('lfm.alphanumeric_filename') === true) {
$new_filename = preg_replace('/[^A-Za-z0-9\-\']/', '_', $file->getClientOriginalName());
$new_filename = preg_replace('/[^A-Za-z0-9\-\']/', '_', $new_filename);
}
$new_filename = $new_filename . '.' . $file->getClientOriginalExtension();
@@ -129,7 +138,7 @@ class UploadController extends LfmController {
private function useFile($new_filename)
{
$file = parent::getUrl() . $new_filename;
$file = parent::getUrl('directory') . $new_filename;
return "<script type='text/javascript'>

View File

@@ -0,0 +1,68 @@
<?php
return [
'nav-back' => 'الخلف',
'nav-new' => 'مجلد جديد',
'nav-upload' => 'رفع',
'nav-thumbnails' => 'مصغرات',
'nav-list' => 'قائمة',
'menu-rename' => 'إعادة تسمية',
'menu-delete' => 'حذف',
'menu-view' => 'عرض',
'menu-download' => 'تنزيل',
'menu-resize' => 'تغيير الحجم',
'menu-crop' => 'قص',
'title-page' => 'مدير الملفات',
'title-panel' => 'مدير الملفات',
'title-upload' => 'رفع ملف',
'title-view' => 'عرض الملف',
'title-root' => 'الملفات',
'title-shares' => 'الملفات المشتركة',
'title-item' => 'ملف',
'title-size' => 'الحجم',
'title-type' => 'النوع',
'title-modified' => 'اخر تعديل',
'title-action' => 'اجراء',
'type-folder' => 'مجلد',
'message-empty' => 'المجلد فارغ',
'message-choose' => 'اختر ملف',
'message-delete' => 'هل انت متاكد من حذف هذا الملف',
'message-name' => 'اسم المجلد:',
'message-rename' => 'اعادة تسمية الى:',
'message-extension_not_found' => 'يجب تثبيت gd او imagick لقص او تغيير حجم الصورة.',
'error-rename' => 'اسم الملف مستخدما مسبقا!',
'error-file-empty' => 'يجب اختيارملف!',
'error-file-exist' => 'يوجد ملف سابق بنفس الاسم!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'لا يمكن حذف هذا المجلد لانه غير فارغ!',
'error-folder-name' => 'اسم المجلد لا يمكن ان يكون فاغ!',
'error-folder-exist'=> 'اسم المجلد مستخدما مسبقا!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'نوع الملف غير معروف: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
'error-invalid' => 'طلب رفع غير صالح',
'error-other' => 'حدثت مشكلة: ',
'error-too-large' => 'الملف كبير جدا',
'btn-upload' => 'رفع الملف',
'btn-uploading' => 'جاري الرفع...',
'btn-close' => 'اغلاق',
'btn-crop' => 'قص',
'btn-cancel' => 'الغاء',
'btn-resize' => 'تغيير الحجم',
'resize-ratio' => 'النسبة:',
'resize-scaled' => 'تم تغيير حجم الصورة:',
'resize-true' => 'نعم',
'resize-old-height' => 'الارتفاع الاصلي:',
'resize-old-width' => 'العرض الاصلي:',
'resize-new-height' => 'الارتفاع:',
'resize-new-width' => 'العرض:',
'locale-bootbox' => 'ar',
];

View File

@@ -0,0 +1,66 @@
<?php
return [
'nav-back' => 'Назад',
'nav-new' => 'Нова Папка',
'nav-upload' => 'Качване',
'nav-thumbnails' => 'Тъмб',
'nav-list' => 'Списък',
'menu-rename' => 'Преименувай',
'menu-delete' => 'Изтрии',
'menu-view' => 'Преглед',
'menu-download' => 'Свали',
'menu-resize' => 'Оразмер',
'menu-crop' => 'Отрежи',
'title-page' => 'Файлов мениджър',
'title-panel' => 'Laravel FileManager',
'title-upload' => 'Качи файл',
'title-view' => 'Виж файл',
'title-root' => 'Файлове',
'title-shares' => 'Споделени Файлове',
'title-item' => 'Елемент',
'title-size' => 'Размер',
'title-type' => 'Тип',
'title-modified' => 'Модифицирано',
'title-action' => 'Действие',
'type-folder' => 'Папка',
'message-empty' => 'Папката е празна.',
'message-choose' => 'Избери файл',
'message-delete' => 'Сигурни ли сте, че изкате да изтриете този елемент ?',
'message-name' => 'Име на папка:',
'message-rename' => 'Преименувай на:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => 'Името е заето!',
'error-file-empty' => 'Трябва да изберете файл !',
'error-file-exist' => 'Файл с това име вече съществува!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'Не можете да изтриете тази папка, защото не е празна!',
'error-folder-name' => 'Моля изберете име на папката',
'error-folder-exist'=> 'Папка с това име вече съществува!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Грешен тип на файла: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile ( Грешка )',
'error-invalid' => 'Невалидна заявка за качване',
'btn-upload' => 'Качи файл',
'btn-uploading' => 'Качване...',
'btn-close' => 'Затвори',
'btn-crop' => 'Отрежи',
'btn-cancel' => 'Откажи',
'btn-resize' => 'Оразмери',
'resize-ratio' => 'Аспект:',
'resize-scaled' => 'Image scaled:',
'resize-true' => 'Да',
'resize-old-height' => 'Оригинална височина:',
'resize-old-width' => 'Оригинална широчина:',
'resize-new-height' => 'Височина:',
'resize-new-width' => 'Широчина:',
'locale-bootbox' => 'bg',
];

View File

@@ -13,7 +13,6 @@ return [
'menu-download' => 'Download',
'menu-resize' => 'Resize',
'menu-crop' => 'Crop',
'menu-new' => 'New',
'title-page' => 'File Manager',
'title-panel' => 'Laravel FileManager',
@@ -34,16 +33,21 @@ return [
'message-delete' => 'Are you sure you want to delete this item?',
'message-name' => 'Folder name:',
'message-rename' => 'Rename to:',
'message-extension_not_found' => 'Please install gd or imagick extension to crop, resize, and make thumbnails of images.',
'error-rename' => 'File name already in use!',
'error-file-empty' => 'You must choose a file!',
'error-file-exist' => 'A file with this name already exists!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'You cannot delete this folder because it is not empty!',
'error-folder-name' => 'Folder name cannot be empty!',
'error-folder-exist'=> 'A folder with this name already exists!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Unexpected MimeType: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
'error-invalid' => 'Invalid upload request',
'error-other' => 'An error has occured: ',
'error-too-large' => 'Request entity too large!',
'btn-upload' => 'Upload File',
'btn-uploading' => 'Uploading...',
@@ -61,4 +65,5 @@ return [
'resize-new-width' => 'Width:',
'locale-bootbox' => 'en',
'menu-new'=>'New',
];

View File

@@ -0,0 +1,64 @@
<?php
return [
'nav-back' => 'Atrás',
'nav-new' => 'Nueva Carpeta',
'nav-upload' => 'Subir',
'nav-thumbnails' => 'Miniaturas',
'nav-list' => 'Listado',
'menu-rename' => 'Cambiar Nombre',
'menu-delete' => 'Eliminar',
'menu-view' => 'Ver',
'menu-download' => 'Bajar',
'menu-resize' => 'Redimensionar',
'menu-crop' => 'Recortar',
'title-page' => 'Administrador de Archivos',
'title-panel' => 'Administrador de Archivos',
'title-upload' => 'Subir Archivo',
'title-view' => 'Ver Archivo',
'title-root' => 'Archivos',
'title-shares' => 'Archivos Compartidos',
'title-item' => 'Item',
'title-size' => 'Tamaño',
'title-type' => 'Tipo',
'title-modified' => 'Modificado',
'title-action' => 'Acción',
'type-folder' => 'Carpeta',
'message-empty' => 'Carpeta está vacía.',
'message-choose' => 'Sleccione Archivo',
'message-delete' => '¿Está seguro que desea eliminar este item?',
'message-name' => 'Nombre de Carpeta:',
'message-rename' => 'Renombrar a:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => '¡Nombre de Archivo ya existe!',
'error-file-empty' => '¡Debes escoger un archivo!',
'error-file-exist' => '¡Ya existe un archivo con este nombre!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-delete' => '¡No puedes eliminar esta carpeta porque no está vacía!',
'error-folder-name' => '¡Nombre de carpeta no puede ser vacío!',
'error-folder-exist'=> '¡Ya existe una carpeta con este nombre!',
'btn-upload' => 'Subir Archivo',
'btn-close' => 'Cerrar',
'btn-uploading' => 'Subiendo...',
'btn-crop' => 'Recortar',
'btn-cancel' => 'Cancelar',
'btn-resize' => 'Redimensionar',
'resize-ratio' => 'Ratio:',
'resize-scaled' => 'Imagen escalada:',
'resize-true' => 'Si',
'resize-old-height' => 'Alto Original:',
'resize-old-width' => 'Ancho Original:',
'resize-new-height' => 'Alto:',
'resize-new-width' => 'Ancho:',
'locale-bootbox' => 'en',
];

View File

@@ -33,13 +33,16 @@ return [
'message-delete' => 'آیا برای حذف این آیتم مطمئن هستید؟',
'message-name' => 'نام پوشه:',
'message-rename' => 'تغییر نام به:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => 'این نام قبلا استفاده شده!',
'error-file-empty' => 'شما باید یک فایل را انتخاب کنید!',
'error-file-exist' => 'یک فایل دیگر با این نام قبلا ایجاد شده است!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'به دلیل خالی نبودن پوشه امکان حذف آن وجود ندارد!',
'error-folder-name' => 'نام پوشه نمی تواند خالی باشد!',
'error-folder-exist'=> 'یک پوشه با این نام قبلا ایجاد شده است!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'پسوند غیرمجاز: ',
'error-instance' => 'فایل آپلود شده باید نمونه ای از UploadedFile باشد',
'error-invalid' => 'درخواست آپلود غیرمعتبر',

View File

@@ -6,7 +6,7 @@ return [
'nav-upload' => 'Charger',
'nav-thumbnails' => 'Vignettes',
'nav-list' => 'Liste',
'menu-rename' => 'Renommez',
'menu-delete' => 'Effacer',
'menu-view' => 'Voir le',
@@ -33,13 +33,16 @@ return [
'message-delete' => 'Êtes-vous sûr de vouloir supprimer ce fichier ?',
'message-name' => 'Nom du dossier:',
'message-rename' => 'Renommer le dossier:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => 'Ce nom est déjà pris !',
'error-file-empty' => 'Veuillez choisir un fichier',
'error-file-exist' => 'Un fichier avec ce nom existe déjà !',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => "Vous ne pouvez pas supprimer ce dossier car il n'est pas vide",
'error-folder-name' => 'Le nom du dossier ne peut pas être vide',
'error-folder-exist'=> 'Un dossier avec ce nom existe déjà !',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Unexpected MimeType: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
'error-invalid' => 'Invalid upload request',

View File

@@ -0,0 +1,65 @@
<?php
return [
'nav-back' => 'חזרה',
'nav-new' => 'תיקייה חדשה',
'nav-upload' => 'העלה',
'nav-thumbnails' => 'תמונות ממוזערות',
'nav-list' => 'רשימה',
'menu-rename' => 'שנה שם',
'menu-delete' => 'מחק',
'menu-view' => 'צפה',
'menu-download' => 'הורד',
'menu-resize' => 'שנה גודל',
'menu-crop' => 'חתוך',
'title-page' => 'מנהל קבצים',
'title-panel' => 'מנהל קבצים',
'title-upload' => 'העלאת קובץ',
'title-view' => 'צפייה בקובץ',
'title-root' => 'קבצים',
'title-shares' => 'קבצים משותפים',
'title-item' => 'פריט',
'title-size' => 'גודל',
'title-type' => 'סוג',
'title-modified' => 'שונה',
'title-action' => 'פעולה',
'type-folder' => 'תיקייה',
'message-empty' => 'התיקייה ריקה.',
'message-choose' => 'בחר קובץ',
'message-delete' => 'האם אתה בטוח שברצונך למחוק פריט זה?',
'message-name' => 'שם התיקייה:',
'message-rename' => 'שם חדש:',
'error-rename' => 'הקובץ נמצא בשימוש!',
'error-file-empty' => 'עליך לבחור קובץ!',
'error-file-exist' => 'קובץ עם שם זה כבר קיים!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'לא ניתן למחוק תייקיה זו מכיוון שהיא לא ריקה!',
'error-folder-name' => 'נא להזין שם תיקייה!',
'error-folder-exist'=> 'תיקייה עם שם זהה כבר קיימת!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'סוג קובץ לא תקין: ',
'error-instance' => 'הקובץ שהועלה צריך להיות מופע של UploadedFile',
'error-invalid' => 'בקשת העלה לא תיקנית.',
'btn-upload' => 'העלה קובת',
'btn-uploading' => 'מעלה...',
'btn-close' => 'סגור',
'btn-crop' => 'חתוך',
'btn-cancel' => 'בטל',
'btn-resize' => 'שנה גודל',
'resize-ratio' => 'יחס:',
'resize-scaled' => 'תמונה הוגדלה:',
'resize-true' => 'כן',
'resize-old-height' => 'גובה מקורי:',
'resize-old-width' => 'אורך מקורי:',
'resize-new-height' => 'גובה:',
'resize-new-width' => 'אורך:',
'locale-bootbox' => 'he',
];

View File

@@ -0,0 +1,66 @@
<?php
return [
'nav-back' => 'Vissza',
'nav-new' => 'Új mappa',
'nav-upload' => 'Feltöltés',
'nav-thumbnails' => 'Miniatűrök',
'nav-list' => 'Lista',
'menu-rename' => 'Átnevezés',
'menu-delete' => 'Törlés',
'menu-view' => 'Megtekintés',
'menu-download' => 'Letöltés',
'menu-resize' => 'Átméretezés',
'menu-crop' => 'Vágás',
'title-page' => 'Fájlkezelő',
'title-panel' => 'Laravel Fájlkezelő',
'title-upload' => 'Fájl feltöltés',
'title-view' => 'Fájl megtekintés',
'title-root' => 'Fájlok',
'title-shares' => 'Megosztott fájlok',
'title-item' => 'Elem',
'title-size' => 'Méret',
'title-type' => 'Típus',
'title-modified' => 'Módosított',
'title-action' => 'Művelet',
'type-folder' => 'Mappa',
'message-empty' => 'A mappa üres.',
'message-choose' => 'Fájl kiválasztása',
'message-delete' => 'Biztos vagy benne, hogy törölni akarod az elemet?',
'message-name' => 'Mappa név:',
'message-rename' => 'Átnevezés erre:',
'message-extension_not_found' => 'Kérlek telepítsd a gd vagy az imagick kiterjesztést a vágáshoz, átméretezéshez, és a képek miniatűr elemeinek elkészítéséhez.',
'error-rename' => 'A fájl neve használatban!',
'error-file-empty' => 'Ki kell választanod egy fájlt!',
'error-file-exist' => 'Egy fájl már létezik ezzel a névvel.',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'Nem tudod törölni ezt a mappát, mert nem üres!',
'error-folder-name' => 'A mappa neve nem lehet üres!',
'error-folder-exist'=> 'Egy mappa már létezik ezzel a névvel!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Váratlan fájltípusok (MimeType): ',
'error-instance' => 'A feltöltött fájlnak egy UploadedFile kérelemnek kellene lennie',
'error-invalid' => 'Érvénytelen kérés a feltöltéssel kapcsolatban.',
'btn-upload' => 'Fájl feltöltés',
'btn-uploading' => 'Feltöltés folyamatban...',
'btn-close' => 'Bezárás',
'btn-crop' => 'Vágás',
'btn-cancel' => 'Mégse',
'btn-resize' => 'Átméretezés',
'resize-ratio' => 'Arány:',
'resize-scaled' => 'Kép méretarány:',
'resize-true' => 'Igen',
'resize-old-height' => 'Eredeti magasság:',
'resize-old-width' => 'Eredeti szélesség:',
'resize-new-height' => 'Magasság:',
'resize-new-width' => 'Szélesség:',
'locale-bootbox' => 'hu',
];

View File

@@ -0,0 +1,68 @@
<?php
return [
'nav-back' => 'Terug',
'nav-new' => 'Nieuwe Map',
'nav-upload' => 'Upload',
'nav-thumbnails' => 'Thumbnails',
'nav-list' => 'Lijst',
'menu-rename' => 'Hernoemen',
'menu-delete' => 'Verwijderen',
'menu-view' => 'View',
'menu-download' => 'Download',
'menu-resize' => 'Formaat Aanpassen',
'menu-crop' => 'Bijsnijden',
'title-page' => 'File Manager',
'title-panel' => 'Laravel FileManager',
'title-upload' => 'Bestand Uploaden',
'title-view' => 'Bestand Bekijken',
'title-root' => 'Bestanden',
'title-shares' => 'Openbare Map',
'title-item' => 'Item',
'title-size' => 'Grootte',
'title-type' => 'Type',
'title-modified' => 'Gemodificeerd',
'title-action' => 'Actie',
'type-folder' => 'Map',
'message-empty' => 'De map is leeg.',
'message-choose' => 'Kies bestand',
'message-delete' => 'Weet u zeker dat u dit bestand wilt verwijderen?',
'message-name' => 'Mapnaam:',
'message-rename' => 'Hernoemen naar:',
'message-extension_not_found' => 'Please install gd or imagick extension to crop, resize, and make thumbnails of images.',
'error-rename' => 'Bestandsnaam is al in gebruik!',
'error-file-empty' => 'U dient een bestand te kiezen!',
'error-file-exist' => 'Een bestand met deze naam bestaat al!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'U kunt deze map niet verwijderen omdat deze nog bestanden bevat!',
'error-folder-name' => 'Mapnaam mag niet leeg zijn!',
'error-folder-exist'=> 'Een map met deze naam bestaat al!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Onverwacht MimeType: ',
'error-instance' => 'Het geuploade bestand moet een instantie zijn van UploadedFile',
'error-invalid' => 'Ongeldig upload verzoek',
'error-other' => 'Er heeft een fout opgetreden: ',
'error-too-large' => 'De verzoek entiteit is te groot!',
'btn-upload' => 'Bestand uploaden',
'btn-uploading' => 'Uploaden...',
'btn-close' => 'Sluiten',
'btn-crop' => 'Bijsnijden',
'btn-cancel' => 'Annuleren',
'btn-resize' => 'Formaat aanpassen',
'resize-ratio' => 'Ratio:',
'resize-scaled' => 'Afbeelding geschaald:',
'resize-true' => 'Ja',
'resize-old-height' => 'Originele Hoogte:',
'resize-old-width' => 'Originele Breedte:',
'resize-new-height' => 'Hoogte:',
'resize-new-width' => 'Breedte:',
'locale-bootbox' => 'nl',
];

View File

@@ -33,13 +33,16 @@ return [
'message-delete' => 'Você está certo que quer deletar este arquivo?',
'message-name' => 'Nome da pasta:',
'message-rename' => 'Renomear para:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => 'Nome de arquivo já está em uso!',
'error-file-empty' => 'Você deve escolher um arquivo!',
'error-file-exist' => 'Um arquivo com este nome já existe!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'Você não pode deletar esta pasta, pois ela não está vazia!',
'error-folder-name' => 'Nome da pasta não pode ser vazio!',
'error-folder-exist'=> 'Uma pasta com este nome já existe!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Unexpected MimeType: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
'error-invalid' => 'Invalid upload request',

View File

@@ -0,0 +1,65 @@
<?php
return [
'nav-back' => 'Назад',
'nav-new' => 'Новая папка',
'nav-upload' => 'Загрузить',
'nav-thumbnails' => 'Миниатюры',
'nav-list' => 'Список',
'menu-rename' => 'Переименовать',
'menu-delete' => 'Удалить',
'menu-view' => 'Просмотр',
'menu-download' => 'Загрузить',
'menu-resize' => 'Изменить размер',
'menu-crop' => 'Обрезать',
'title-page' => 'Менеджер файлов',
'title-panel' => 'Laravel FileManager',
'title-upload' => 'Загрузка файла',
'title-view' => 'Просмотр файла',
'title-root' => 'Файлы',
'title-shares' => 'Общие файлы',
'title-item' => 'Номер',
'title-size' => 'Размер',
'title-type' => 'Тип',
'title-modified' => 'Изменен',
'title-action' => 'Действие',
'type-folder' => 'Папка',
'message-empty' => 'Папка пуста.',
'message-choose' => 'Выберите файл',
'message-delete' => 'Вы уверен что хотите данный пункт?',
'message-name' => 'Название папки:',
'message-rename' => 'Переименовать в:',
'error-rename' => 'Имя файла уже используется!',
'error-file-empty' => 'Вы должны выбрать файл!',
'error-file-exist' => 'Файл с этим именем уже существует!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'Вы не можете удалить эту папку, потому что она не пустая!',
'error-folder-name' => 'Имя папки не может быть пустым!',
'error-folder-exist'=> 'Папка с таким названием уже существует!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Неподдерживаемый MimeType: ',
'error-instance' => 'Загруженный файл должен быть экземпляром UploadedFile',
'error-invalid' => 'Неверный запрос загрузки',
'btn-upload' => 'Загрузить файл',
'btn-uploading' => 'Загрузка...',
'btn-close' => 'Закрыть',
'btn-crop' => 'Обрезать',
'btn-cancel' => 'Отмена',
'btn-resize' => 'Изменить размер',
'resize-ratio' => 'Соотношение:',
'resize-scaled' => 'Масштабировать зображение:',
'resize-true' => 'Да',
'resize-old-height' => 'Оригинальная высота:',
'resize-old-width' => 'Оригинальная ширина:',
'resize-new-height' => 'Высота:',
'resize-new-width' => 'Ширина:',
'locale-bootbox' => 'ru',
];

View File

@@ -33,13 +33,16 @@ return [
'message-delete' => 'Bu dosyayı silmek istediğinizden emin misiniz?',
'message-name' => 'Klasör adı:',
'message-rename' => 'Yeni ad:',
'message-extension_not_found' => '(translation wanted)',
'error-rename' => 'Dosya adı kullanımda!',
'error-file-empty' => 'Bir dosya seçmelisiniz!',
'error-file-exist' => 'Bu adda bir dosya zaten var!',
'error-file-size' => 'File size exceeds server limit! (maximum size: :max)',
'error-delete' => 'Klasör boş olmadığından, klasörü silemezsiniz!',
'error-folder-name' => 'Klasör adı yazılmalıdır!',
'error-folder-exist'=> 'Bu adda bir klasör zaten var!',
'error-folder-alnum'=> 'Only alphanumeric folder names are allowed!',
'error-mime' => 'Unexpected MimeType: ',
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
'error-invalid' => 'Invalid upload request',

View File

@@ -33,13 +33,16 @@ return [
'message-delete' => '确定要删除此项目吗?',
'message-name' => '文件夹名称:',
'message-rename' => '重命名为:',
'message-extension_not_found' => '请安装 gd 或 imagick 以使用缩放、裁剪、及缩图功能',
'error-rename' => '名称重复,请重新输入!',
'error-file-empty' => '请选择档案!',
'error-file-exist' => '相同档名的档案已存在!',
'error-delete' => '资料夹未清空,无法删除!',
'error-folder-name' => '请输入资料夹名称',
'error-folder-exist'=> '相同名称的资料夹已存在',
'error-file-size' => '档案过大,无法上传! (档案大小上限: :max)',
'error-delete' => '文件夹未清空,无法删除',
'error-folder-name' => '请输入文件夹名称',
'error-folder-exist'=> '相同名称的文件夹已存在!',
'error-folder-alnum'=> '文件夹名称只能包含英数字',
'error-mime' => 'Mime 格式错误 : ',
'error-instance' => '上传档案的 instance 应为 UploadedFile',
'error-invalid' => '验证失败,上传未成功',

View File

@@ -33,13 +33,16 @@ return [
'message-delete' => '確定要刪除此項目嗎?',
'message-name' => '資料夾名稱:',
'message-rename' => '重新命名為:',
'message-extension_not_found' => '請安裝 gd 或 imagick 以使用縮放、裁剪、及縮圖功能',
'error-rename' => '名稱重複,請重新輸入!',
'error-file-empty' => '請選擇檔案!',
'error-file-exist' => '相同檔名的檔案已存在!',
'error-file-size' => '檔案過大,無法上傳! (檔案大小上限: :max)',
'error-delete' => '資料夾未清空,無法刪除!',
'error-folder-name' => '請輸入資料夾名稱!',
'error-folder-exist'=> '相同名稱的資料夾已存在!',
'error-folder-alnum'=> '資料夾名稱只能包含英數字!',
'error-mime' => 'Mime 格式錯誤 : ',
'error-instance' => '上傳檔案的 instance 應為 UploadedFile',
'error-invalid' => '驗證失敗,上傳未成功',

View File

@@ -1,38 +1,83 @@
<?php
$middlewares = \Config::get('lfm.middlewares');
array_push($middlewares, '\Unisharp\Laravelfilemanager\middleware\MultiUser');
$middleware = array_merge(\Config::get('lfm.middlewares'), ['\Unisharp\Laravelfilemanager\middleware\MultiUser']);
$prefix = \Config::get('lfm.prefix', 'laravel-filemanager');
$as = 'unisharp.lfm.';
$namespace = '\Unisharp\Laravelfilemanager\controllers';
// make sure authenticated
Route::group(array('middleware' => $middlewares, 'prefix' => 'laravel-filemanager'), function ()
{
Route::group(compact('middleware', 'prefix', 'as', 'namespace'), function () {
// Show LFM
Route::get('/', 'Unisharp\Laravelfilemanager\controllers\LfmController@show');
Route::get('/', [
'uses' => 'LfmController@show',
'as' => 'show'
]);
// upload
Route::any('/upload', 'Unisharp\Laravelfilemanager\controllers\UploadController@upload');
Route::any('/upload', [
'uses' => 'UploadController@upload',
'as' => 'upload'
]);
// list images & files
Route::get('/jsonitems', 'Unisharp\Laravelfilemanager\controllers\ItemsController@getItems');
Route::get('/jsonitems', [
'uses' => 'ItemsController@getItems',
'as' => 'getItems'
]);
// folders
Route::get('/newfolder', 'Unisharp\Laravelfilemanager\controllers\FolderController@getAddfolder');
Route::get('/deletefolder', 'Unisharp\Laravelfilemanager\controllers\FolderController@getDeletefolder');
Route::get('/folders', 'Unisharp\Laravelfilemanager\controllers\FolderController@getFolders');
Route::get('/newfolder', [
'uses' => 'FolderController@getAddfolder',
'as' => 'getAddfolder'
]);
Route::get('/deletefolder', [
'uses' => 'FolderController@getDeletefolder',
'as' => 'getDeletefolder'
]);
Route::get('/folders', [
'uses' => 'FolderController@getFolders',
'as' => 'getFolders'
]);
// crop
Route::get('/crop', 'Unisharp\Laravelfilemanager\controllers\CropController@getCrop');
Route::get('/cropimage', 'Unisharp\Laravelfilemanager\controllers\CropController@getCropimage');
Route::get('/crop', [
'uses' => 'CropController@getCrop',
'as' => 'getCrop'
]);
Route::get('/cropimage', [
'uses' => 'CropController@getCropimage',
'as' => 'getCropimage'
]);
// rename
Route::get('/rename', 'Unisharp\Laravelfilemanager\controllers\RenameController@getRename');
Route::get('/rename', [
'uses' => 'RenameController@getRename',
'as' => 'getRename'
]);
// scale/resize
Route::get('/resize', 'Unisharp\Laravelfilemanager\controllers\ResizeController@getResize');
Route::get('/doresize', 'Unisharp\Laravelfilemanager\controllers\ResizeController@performResize');
Route::get('/resize', [
'uses' => 'ResizeController@getResize',
'as' => 'getResize'
]);
Route::get('/doresize', [
'uses' => 'ResizeController@performResize',
'as' => 'performResize'
]);
// download
Route::get('/download', 'Unisharp\Laravelfilemanager\controllers\DownloadController@getDownload');
Route::get('/download', [
'uses' => 'DownloadController@getDownload',
'as' => 'getDownload'
]);
// delete
Route::get('/delete', 'Unisharp\Laravelfilemanager\controllers\DeleteController@getDelete');
Route::get('/delete', [
'uses' => 'DeleteController@getDelete',
'as' => 'getDelete'
]);
Route::get('/demo', function () {
return view('laravel-filemanager::demo');
});
});

View File

@@ -1,7 +1,7 @@
<div class="row fill">
<div class="col-md-8 fill">
<div class="crop-container">
<img src="{{ $img }}" class="img img-responsive">
<img src="{{ asset($img) }}" class="img img-responsive">
</div>
</div>
<div class="col-md-4 fill">
@@ -11,7 +11,7 @@
<br>
<button class="btn btn-primary" onclick="performCrop()">{{ Lang::get('laravel-filemanager::lfm.btn-crop') }}</button>
<button class="btn btn-info" onclick="loadItems()">{{ Lang::get('laravel-filemanager::lfm.btn-cancel') }}</button>
<form action="{{url('/laravel-filemanager/crop')}}" role='form' name='cropForm' id='cropForm' mathod='post'>
<form action="{{ route('unisharp.lfm.getCrop') }}" role='form' name='cropForm' id='cropForm' mathod='post'>
<input type="hidden" id="img" name="img" value="{{ $img }}">
<input type="hidden" id="working_dir" name="working_dir" value="{{ $working_dir }}">
<input type="hidden" id="dataX" name="dataX">
@@ -31,7 +31,6 @@
$dataY = $('#dataY'),
$dataHeight = $('#dataHeight'),
$dataWidth = $('#dataWidth');
$('.crop-container > img').cropper({
//aspectRatio: 16 / 9,
preview: ".img-preview",
@@ -45,12 +44,11 @@
}
});
});
function performCrop() {
$.ajax({
type: "GET",
dataType: "text",
url: "/laravel-filemanager/cropimage",
url: "{{ route('unisharp.lfm.getCropimage') }}",
data: {
img: '{{ $img }}',
working_dir: $("#working_dir").val(),
@@ -65,4 +63,4 @@
loadItems();
});
}
</script>
</script>

View File

@@ -0,0 +1,99 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Laravel Filemanager</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
</head>
<body>
<div class="container">
<h1 class="page-header">Integration Demo Page</h1>
<div class="row">
<div class="col-md-6">
<h2>CKEditor</h2>
<textarea name="ce" class="form-control"></textarea>
</div>
<div class="col-md-6">
<h2>TinyMCE</h2>
<textarea name="tm" class="form-control"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-4">
<h2>Independent usage</h2>
<div class="input-group">
<span class="input-group-btn">
<a id="lfm" data-input="thumbnail" data-preview="holder" class="btn btn-primary">
<i class="fa fa-picture-o"></i> Choose
</a>
</span>
<input id="thumbnail" class="form-control" type="text" name="filepath">
</div>
<img id="holder" style="margin-top:15px;max-height:100px;">
</div>
</div>
</div>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<!-- CKEditor init -->
<script src="//cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.11/ckeditor.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.11/adapters/jquery.js"></script>
<script>
$('textarea[name=ce]').ckeditor({
height: 100,
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token={{csrf_token()}}',
filebrowserBrowseUrl: '/laravel-filemanager?type=Files',
filebrowserUploadUrl: '/laravel-filemanager/upload?type=Files&_token={{csrf_token()}}'
});
</script>
<!-- TinyMCE init -->
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>
var editor_config = {
path_absolute : "/",
selector: "textarea[name=tm]",
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor colorpicker textpattern"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media",
relative_urls: false,
file_browser_callback : function(field_name, url, type, win) {
var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
var y = window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName('body')[0].clientHeight;
var cmsURL = editor_config.path_absolute + 'laravel-filemanager?field_name=' + field_name;
if (type == 'image') {
cmsURL = cmsURL + "&type=Images";
} else {
cmsURL = cmsURL + "&type=Files";
}
tinyMCE.activeEditor.windowManager.open({
file : cmsURL,
title : 'Filemanager',
width : x * 0.8,
height : y * 0.8,
resizable : "yes",
close_previous : "no"
});
}
};
tinymce.init(editor_config);
</script>
<script src="/vendor/laravel-filemanager/js/lfm.js"></script>
<script>
$('#lfm').filemanager('image');
</script>
</body>
</html>

View File

@@ -1,68 +0,0 @@
<div class="container">
@if((sizeof($file_info) > 0) || (sizeof($directories) > 0))
<table class="table table-condensed table-striped">
<thead>
<th style='width:50%;'>{{ Lang::get('laravel-filemanager::lfm.title-item') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-size') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-type') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-modified') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-action') }}</th>
</thead>
<tbody>
@foreach($directories as $key => $dir_name)
<tr>
<td>
<i class="fa fa-folder-o"></i>
<a class="folder-item pointer" data-id="{{ $dir_name['long'] }}">
{{ $dir_name['short'] }}
</a>
</td>
<td></td>
<td>{{ Lang::get('laravel-filemanager::lfm.type-folder') }}</td>
<td></td>
<td></td>
</tr>
@endforeach
@foreach($file_info as $file)
<tr>
<td>
<i class="fa {{ $file['icon'] }}"></i>
<?php $file_name = $file['name'];?>
<a href="javascript:useFile('{{ $file_name }}')">
{{ $file_name }}
</a>
&nbsp;&nbsp;
<a href="javascript:rename('{{ $file_name }}')">
<i class="fa fa-edit"></i>
</a>
</td>
<td>
{{ $file['size'] }}
</td>
<td>
{{ $file['type'] }}
</td>
<td>
{{ date("Y-m-d h:m", $file['created']) }}
</td>
<td>
<a href="javascript:trash('{{ $file_name }}')">
<i class="fa fa-trash fa-fw"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="row">
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
</div>
@endif
</div>

View File

@@ -1,70 +0,0 @@
<div class="container">
<div class="row">
@if((sizeof($files) > 0) || (sizeof($directories) > 0))
@foreach($directories as $key => $dir_name)
<div class="col-sm-6 col-md-2">
<div class="thumbnail text-center" data-id="{{ $dir_name['long'] }}">
<a data-id="{{ $dir_name['long'] }}" class="folder-icon pointer folder-item">
<img src="/vendor/laravel-filemanager/img/folder.png">
</a>
</div>
<div class="caption text-center">
<div class="btn-group">
<button type="button" data-id="{{ $dir_name['long'] }}" class="btn btn-default btn-xs folder-item">
{{ str_limit($dir_name['short'], $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $dir_name['short'] }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:trash('{{ $dir_name['short'] }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>
@endforeach
@foreach($file_info as $key => $file)
<?php $file_name = $file_info[$key]['name'];?>
<div class="col-sm-6 col-md-2 img-row">
<div class="thumbnail thumbnail-img text-center" data-id="{{ $file_name }}" id="img_thumbnail_{{ $key }}">
<i class="fa {{ $file['icon'] }} fa-5x" style="height:200px;cursor:pointer;padding-top:60px;" onclick="useFile('{{ $file_name }}')"></i>
</div>
<div class="caption text-center">
<div class="btn-group ">
<button type="button" onclick="useFile('{{ $file_name }}')" class="btn btn-default btn-xs">
{{ str_limit($file_name, $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $file_name }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:download('{{ $file_name }}')"><i class="fa fa-download fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-download') }}</a></li>
<li class="divider"></li>
<li><a href="javascript:trash('{{ $file_name }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>
@endforeach
@else
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
@endif
</div>
</div>

View File

@@ -0,0 +1,23 @@
<div class="col-sm-4 col-md-3 col-lg-2">
<div class="thumbnail text-center" data-id="{{ $dir_name['long'] }}">
<a data-id="{{ $dir_name['long'] }}" class="folder-icon pointer folder-item">
<img src="{{ asset('vendor/laravel-filemanager/img/folder.png') }}" style='max-height:200px;'>
</a>
</div>
<div class="caption text-center">
<div class="btn-group">
<button type="button" data-id="{{ $dir_name['long'] }}" class="btn btn-default btn-xs folder-item">
{{ str_limit($dir_name['short'], $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $dir_name['short'] }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:trash('{{ $dir_name['short'] }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>

View File

@@ -0,0 +1,19 @@
<div class="row">
@if((sizeof($file_info) > 0) || (sizeof($directories) > 0))
@foreach($directories as $key => $dir_name)
@include('laravel-filemanager::folders')
@endforeach
@foreach($file_info as $key => $file)
@include('laravel-filemanager::item')
@endforeach
@else
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
@endif
</div>

View File

@@ -1,77 +0,0 @@
<div class="container">
@if((sizeof($file_info) > 0) || (sizeof($directories) > 0))
<table class="table table-condensed table-striped">
<thead>
<th>{{ Lang::get('laravel-filemanager::lfm.title-item') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-size') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-type') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-modified') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-action') }}</th>
</thead>
<tbody>
@foreach($directories as $key => $dir_name)
<tr>
<td>
<i class="fa fa-folder-o"></i>
<a class="folder-item pointer" data-id="{{ $dir_name['long'] }}">
{{ $dir_name['short'] }}
</a>
</td>
<td></td>
<td>{{ Lang::get('laravel-filemanager::lfm.type-folder') }}</td>
<td></td>
<td></td>
</tr>
@endforeach
@foreach($file_info as $file)
<tr>
<td>
<i class="fa fa-image"></i>
<?php $file_name = $file['name'];?>
<a href="javascript:useFile('{{ $file_name }}')">
{{ $file_name }}
</a>
&nbsp;&nbsp;
<a href="javascript:rename('{{ $file_name }}')">
<i class="fa fa-edit"></i>
</a>
</td>
<td>
{{ $file['size'] }}
</td>
<td>
{{ $file['type'] }}
</td>
<td>
{{ date("Y-m-d h:m", $file['created']) }}
</td>
<td>
<a href="javascript:trash('{{ $file_name }}')">
<i class="fa fa-trash fa-fw"></i>
</a>
<a href="javascript:cropImage('{{ $file_name }}')">
<i class="fa fa-crop fa-fw"></i>
</a>
<a href="javascript:resizeImage('{{ $file_name }}')">
<i class="fa fa-arrows fa-fw"></i>
</a>
{{--<a href="javascript:notImp()">--}}
{{--<i class="fa fa-rotate-left fa-fw"></i>--}}
{{--</a>--}}
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="row">
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
</div>
@endif
</div>

View File

@@ -1,76 +0,0 @@
<div class="container">
<div class="row">
@if((sizeof($files) > 0) || (sizeof($directories) > 0))
@foreach($directories as $key => $dir_name)
<div class="col-sm-3 col-md-2">
<div class="thumbnail text-center" data-id="{{ $dir_name['long'] }}">
<a data-id="{{ $dir_name['long'] }}" class="folder-icon pointer folder-item">
<img src="/vendor/laravel-filemanager/img/folder.png">
</a>
</div>
<div class="caption text-center">
<div class="btn-group">
<button type="button" data-id="{{ $dir_name['long'] }}" class="btn btn-default btn-xs folder-item">
{{ str_limit($dir_name['short'], $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $dir_name['short'] }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:trash('{{ $dir_name['short'] }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>
@endforeach
@foreach($files as $key => $file)
<?php $file_name = $file_info[$key]['name'];?>
<?php $thumb_src = $thumb_url . $file_name;?>
<div class="col-sm-3 col-md-2 img-row">
<div class="thumbnail thumbnail-img" data-id="{{ $file_name }}" id="img_thumbnail_{{ $key }}">
<img id="{{ $file }}" src="{{ $thumb_src }}" alt="" class="pointer" onclick="useFile('{{ $file_name }}')">
</div>
<div class="caption text-center">
<div class="btn-group ">
<button type="button" onclick="useFile('{{ $file_name }}')" class="btn btn-default btn-xs">
{{ str_limit($file_name, $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $file_name }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:fileView('{{ $file_name }}')"><i class="fa fa-image fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-view') }}</a></li>
<li><a href="javascript:download('{{ $file_name }}')"><i class="fa fa-download fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-download') }}</a></li>
<li class="divider"></li>
{{--<li><a href="javascript:notImp()">Rotate</a></li>--}}
<li><a href="javascript:resizeImage('{{ $file_name }}')"><i class="fa fa-arrows fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-resize') }}</a></li>
<li><a href="javascript:cropImage('{{ $file_name }}')"><i class="fa fa-crop fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-crop') }}</a></li>
<li class="divider"></li>
<li><a href="javascript:trash('{{ $file_name }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>
@endforeach
@else
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
@endif
</div>
</div>

View File

@@ -5,8 +5,8 @@
<title>{{ Lang::get('laravel-filemanager::lfm.title-page') }}</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet" href="/vendor/laravel-filemanager/css/cropper.min.css">
<link rel="stylesheet" href="/vendor/laravel-filemanager/css/lfm.css">
<link rel="stylesheet" href="{{ asset('vendor/laravel-filemanager/css/cropper.min.css') }}">
<link rel="stylesheet" href="{{ asset('/vendor/laravel-filemanager/css/lfm.css') }}">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.css">
</head>
<body>
@@ -24,51 +24,58 @@
</div>
</div>
<div class="col-md-10 col-lg-10 col-sm-10 col-xs-10 right-nav" id="right-nav">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav" id="nav-buttons">
<li>
<a href="#!" id="to-previous">
<i class="fa fa-arrow-left"></i> {{ Lang::get('laravel-filemanager::lfm.nav-back') }}
</a>
</li>
<li><a style='cursor:default;'>|</a></li>
<li>
<a href="#!" id="add-folder">
<i class="fa fa-plus"></i> {{ Lang::get('laravel-filemanager::lfm.nav-new') }}
</a>
</li>
<li>
<a href="#!" id="upload" data-toggle="modal" data-target="#uploadModal">
<i class="fa fa-upload"></i> {{ Lang::get('laravel-filemanager::lfm.nav-upload') }}
</a>
</li>
<li><a style='cursor:default;'>|</a></li>
<li>
<a href="#!" id="thumbnail-display">
<i class="fa fa-picture-o"></i> {{ Lang::get('laravel-filemanager::lfm.nav-thumbnails') }}
</a>
</li>
<li>
<a href="#!" id="list-display">
<i class="fa fa-list"></i> {{ Lang::get('laravel-filemanager::lfm.nav-list') }}
</a>
</li>
</ul>
</div>
<div class="row">
<div class="col-md-12">
@if($extension_not_found)
<div class="alert alert-warning"><i class="glyphicon glyphicon-exclamation-sign"></i> {{ Lang::get('laravel-filemanager::lfm.message-extension_not_found') }}</div>
@endif
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav" id="nav-buttons">
<li>
<a href="#" id="to-previous">
<i class="fa fa-arrow-left"></i> {{ Lang::get('laravel-filemanager::lfm.nav-back') }}
</a>
</li>
<li><a style='cursor:default;'>|</a></li>
<li>
<a href="#" id="add-folder">
<i class="fa fa-plus"></i> {{ Lang::get('laravel-filemanager::lfm.nav-new') }}
</a>
</li>
<li>
<a href="#" id="upload" data-toggle="modal" data-target="#uploadModal">
<i class="fa fa-upload"></i> {{ Lang::get('laravel-filemanager::lfm.nav-upload') }}
</a>
</li>
<li><a style='cursor:default;'>|</a></li>
<li>
<a href="#" id="thumbnail-display">
<i class="fa fa-picture-o"></i> {{ Lang::get('laravel-filemanager::lfm.nav-thumbnails') }}
</a>
</li>
<li>
<a href="#" id="list-display">
<i class="fa fa-list"></i> {{ Lang::get('laravel-filemanager::lfm.nav-list') }}
</a>
</li>
</ul>
</div>
</div>
</nav>
</div>
</nav>
</div>
@if ($errors->any())
@if (isset($errors) && $errors->any())
<div class="row">
<div class="col-md-12">
<div class="alert alert-danger" role="alert">
@@ -83,7 +90,7 @@
</div>
@endif
<div id="content" class="row fill">
<div id="content" class="fill">
</div>
</div>
@@ -102,7 +109,7 @@
<h4 class="modal-title" id="myModalLabel">{{ Lang::get('laravel-filemanager::lfm.title-upload') }}</h4>
</div>
<div class="modal-body">
<form action="{{url('/laravel-filemanager/upload')}}" role='form' id='uploadForm' name='uploadForm' method='post' enctype='multipart/form-data'>
<form action="{{ route('unisharp.lfm.upload') }}" role='form' id='uploadForm' name='uploadForm' method='post' enctype='multipart/form-data'>
<div class="form-group" id="attachment">
<label for='upload' class='control-label'>{{ Lang::get('laravel-filemanager::lfm.message-choose') }}</label>
<div class="controls">
@@ -142,13 +149,13 @@
</div>
</div>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.4.0/jquery-migrate.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.3.0/bootbox.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<script src="/vendor/laravel-filemanager/js/cropper.min.js"></script>
<script src="/vendor/laravel-filemanager/js/jquery.form.min.js"></script>
@include('laravel-filemanager::script');
<script src="{{ asset('vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
<script src="{{ asset('vendor/laravel-filemanager/js/jquery.form.min.js') }}"></script>
@include('laravel-filemanager::script')
</body>
</html>

View File

@@ -0,0 +1,40 @@
<?php $file_name = $file_info[$key]['name'];?>
@if($type == 'Images')
<?php $thumb_src = $thumb_url . $file_name;?>
@endif
<div class="col-sm-4 col-md-3 col-lg-2 img-row">
<div class="thumbnail thumbnail-img text-center" data-id="{{ $file_name }}" id="img_thumbnail_{{ $key }}">
@if($type == 'Images')
<img id="{{ $file_name }}" src="{{ asset($thumb_src) }}" alt="" class="pointer" onclick="useFile('{{ $file_name }}')">
@else
<i class="fa {{ $file['icon'] }} fa-5x" style="height:200px;cursor:pointer;padding-top:60px;" onclick="useFile('{{ $file_name }}')"></i>
@endif
</div>
<div class="caption text-center">
<div class="btn-group">
<button type="button" onclick="useFile('{{ $file_name }}')" class="btn btn-default btn-xs">
{{ str_limit($file_name, $limit = 10, $end = '...') }}
</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:rename('{{ $file_name }}')"><i class="fa fa-edit fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-rename') }}</a></li>
<li><a href="javascript:download('{{ $file_name }}')"><i class="fa fa-download fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-download') }}</a></li>
<li class="divider"></li>
@if($type == 'Images')
<li><a href="javascript:fileView('{{ $file_name }}')"><i class="fa fa-image fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-view') }}</a></li>
{{--<li><a href="javascript:notImp()">Rotate</a></li>--}}
<li><a href="javascript:resizeImage('{{ $file_name }}')"><i class="fa fa-arrows fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-resize') }}</a></li>
<li><a href="javascript:cropImage('{{ $file_name }}')"><i class="fa fa-crop fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-crop') }}</a></li>
<li class="divider"></li>
@endif
<li><a href="javascript:trash('{{ $file_name }}')"><i class="fa fa-trash fa-fw"></i> {{ Lang::get('laravel-filemanager::lfm.menu-delete') }}</a></li>
</ul>
</div>
</div>
</div>

View File

@@ -0,0 +1,79 @@
@if((sizeof($file_info) > 0) || (sizeof($directories) > 0))
<table class="table table-condensed table-striped">
<thead>
<th style='width:50%;'>{{ Lang::get('laravel-filemanager::lfm.title-item') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-size') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-type') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-modified') }}</th>
<th>{{ Lang::get('laravel-filemanager::lfm.title-action') }}</th>
</thead>
<tbody>
@foreach($directories as $key => $dir_name)
<tr>
<td>
<i class="fa fa-folder-o"></i>
<a class="folder-item pointer" data-id="{{ $dir_name['long'] }}">
{{ $dir_name['short'] }}
</a>
</td>
<td></td>
<td>{{ Lang::get('laravel-filemanager::lfm.type-folder') }}</td>
<td></td>
<td></td>
</tr>
@endforeach
@foreach($file_info as $file)
<tr>
<td>
@if($type == 'Images')
<i class="fa fa-image"></i>
@else
<i class="fa {{ $file['icon'] }}"></i>
@endif
<?php $file_name = $file['name'];?>
<a href="javascript:useFile('{{ $file_name }}')">
{{ $file_name }}
</a>
&nbsp;&nbsp;
<a href="javascript:rename('{{ $file_name }}')">
<i class="fa fa-edit"></i>
</a>
</td>
<td>
{{ $file['size'] }}
</td>
<td>
{{ $file['type'] }}
</td>
<td>
{{ date("Y-m-d h:m", $file['created']) }}
</td>
<td>
<a href="javascript:trash('{{ $file_name }}')">
<i class="fa fa-trash fa-fw"></i>
</a>
@if($type == 'Images')
<a href="javascript:cropImage('{{ $file_name }}')">
<i class="fa fa-crop fa-fw"></i>
</a>
<a href="javascript:resizeImage('{{ $file_name }}')">
<i class="fa fa-arrows fa-fw"></i>
</a>
{{--<a href="javascript:notImp()">--}}
{{--<i class="fa fa-rotate-left fa-fw"></i>--}}
{{--</a>--}}
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="row">
<div class="col-md-12">
<p>{{ Lang::get('laravel-filemanager::lfm.message-empty') }}</p>
</div>
</div>
@endif

View File

@@ -1,7 +1,7 @@
<div class="container">
<div class="row fill">
<div class="col-md-8 fill" id="containment">
<img id="resize" src="{{ $img }}" height="{{ $height }}" width="{{ $width }}">
<img id="resize" src="{{ asset($img) }}" height="{{ $height }}" width="{{ $width }}">
</div>
<div class="col-md-4 fill">
@@ -74,7 +74,7 @@
$.ajax({
type: "GET",
dataType: "text",
url: "/laravel-filemanager/doresize",
url: "{{ route('unisharp.lfm.performResize') }}",
data: {
img: '{{ $img }}',
working_dir: $("#working_dir").val(),

View File

@@ -2,8 +2,8 @@
var ds = '/';
var home_dir = ds + "{{ (Config::get('lfm.allow_multi_user')) ? Auth::user()->user_field : '' }}";
var shared_folder = ds + "{{ Config::get('lfm.shared_folder_name') }}";
var image_url = "{{ Config::get('lfm.images_url') }}";
var file_url = "{{ Config::get('lfm.files_url') }}";
var image_url = "{{ asset(Config::get('lfm.images_url')) }}";
var file_url = "{{ asset(Config::get('lfm.files_url')) }}";
$(document).ready(function () {
bootbox.setDefaults({locale:"{{ Lang::get('laravel-filemanager::lfm.locale-bootbox') }}"});
@@ -17,6 +17,10 @@ $(document).ready(function () {
// == Navbar actions ==
// ======================
$('#nav-buttons a').click(function (e) {
e.preventDefault();
});
$('#to-previous').click(function () {
var working_dir = $('#working_dir').val();
var last_ds = working_dir.lastIndexOf(ds);
@@ -37,7 +41,8 @@ $('#add-folder').click(function () {
$('#upload-btn').click(function () {
var options = {
beforeSubmit: showRequest,
success: showResponse
success: showResponse,
error: showError
};
function showRequest(formData, jqForm, options) {
@@ -55,6 +60,17 @@ $('#upload-btn').click(function () {
loadItems();
}
function showError(jqXHR, textStatus, errorThrown) {
$('#upload-btn').html('{{ Lang::get("laravel-filemanager::lfm.btn-upload") }}');
if (jqXHR.status == 413) {
notify('{{ Lang::get("laravel-filemanager::lfm.error-too-large") }}');
} else if (textStatus == 'error') {
notify('{{ Lang::get("laravel-filemanager::lfm.error-other") }}' + errorThrown);
} else {
notify('{{ Lang::get("laravel-filemanager::lfm.error-other") }}' + textStatus + '<br>' + errorThrown);
}
}
$('#uploadForm').ajaxSubmit(options);
return false;
});
@@ -108,7 +124,7 @@ function loadFolders() {
$.ajax({
type: 'GET',
dataType: 'html',
url: '/laravel-filemanager/folders',
url: '{{ route("unisharp.lfm.getFolders") }}',
data: {
working_dir: $('#working_dir').val(),
show_list: $('#show_list').val(),
@@ -127,7 +143,7 @@ function loadItems() {
$.ajax({
type: 'GET',
dataType: 'html',
url: '/laravel-filemanager/jsonitems',
url: '{{ route("unisharp.lfm.getItems") }}',
data: {
working_dir: working_dir,
show_list: $('#show_list').val(),
@@ -146,7 +162,7 @@ function createFolder(folder_name) {
$.ajax({
type: 'GET',
dataType: 'text',
url: '/laravel-filemanager/newfolder',
url: '{{ route("unisharp.lfm.getAddfolder") }}',
data: {
name: folder_name,
working_dir: $('#working_dir').val(),
@@ -173,7 +189,7 @@ function rename(item_name) {
$.ajax({
type: 'GET',
dataType: 'text',
url: '/laravel-filemanager/rename',
url: '{{ route("unisharp.lfm.getRename") }}',
data: {
file: item_name,
working_dir: $('#working_dir').val(),
@@ -200,7 +216,7 @@ function trash(item_name) {
$.ajax({
type: 'GET',
dataType: 'text',
url: '/laravel-filemanager/delete',
url: '{{ route("unisharp.lfm.getDelete") }}',
data: {
working_dir: $('#working_dir').val(),
items: item_name,
@@ -225,7 +241,7 @@ function cropImage(image_name) {
$.ajax({
type: 'GET',
dataType: 'text',
url: '/laravel-filemanager/crop',
url: '{{ route("unisharp.lfm.getCrop") }}',
data: {
img: image_name,
working_dir: $('#working_dir').val(),
@@ -242,7 +258,7 @@ function resizeImage(image_name) {
$.ajax({
type: 'GET',
dataType: 'text',
url: '/laravel-filemanager/resize',
url: '{{ route("unisharp.lfm.getResize") }}',
data: {
img: image_name,
working_dir: $('#working_dir').val(),
@@ -256,7 +272,7 @@ function resizeImage(image_name) {
}
function download(file_name) {
location.href = '/laravel-filemanager/download?'
location.href = '{{ route("unisharp.lfm.getDownload") }}?'
+ 'working_dir='
+ $('#working_dir').val()
+ '&type='
@@ -331,10 +347,6 @@ function useFile(file) {
item_url = file_url;
@endif
if (path.indexOf(ds) === 0) {
path = path.substring(1);
}
if (path != ds) {
item_url = item_url + path + ds;
}
@@ -347,22 +359,19 @@ function useFile(file) {
var url = getFileUrl(file);
var field_name = getUrlParam('field_name');
var is_ckeditor = getUrlParam('CKEditor');
var is_fcke = typeof data != 'undefined' && data['Properties']['Width'] != '';
if (window.opener || window.tinyMCEPopup || field_name || getUrlParam('CKEditorCleanUpFuncNum') || getUrlParam('CKEditor')) {
if (window.tinyMCEPopup) {
// use TinyMCE > 3.0 integration method
if (window.opener || window.tinyMCEPopup || field_name || getUrlParam('CKEditorCleanUpFuncNum') || is_ckeditor) {
if (window.tinyMCEPopup) { // use TinyMCE > 3.0 integration method
useTinymce3(url);
return;
} else if (field_name) {
// tinymce 4 and colorbox
} else if (field_name) { // tinymce 4 and colorbox
useTinymce4AndColorbox(url, field_name);
} else if(getUrlParam('CKEditor')) {
// use CKEditor 3.0 + integration method
} else if(is_ckeditor) { // use CKEditor 3.0 + integration method
useCkeditor3(url);
} else if (typeof data != 'undefined' && data['Properties']['Width'] != '') {
// use FCKEditor 2.0 integration method
} else if (is_fcke) { // use FCKEditor 2.0 integration method
useFckeditor2(url);
} else {
} else { // standalone button or other situations
window.opener.SetUrl(url);
}
@@ -370,10 +379,8 @@ function useFile(file) {
window.close();
}
} else {
$.prompt(lg.fck_select_integration);
alert('Editor not found, cannot apply image.');
}
window.close();
}
//end useFile