2017 © Pedro Peláez
 

library cabinet

Laravel 4 file upload package.

image

andrewelkins/cabinet

Laravel 4 file upload package.

  • Wednesday, February 11, 2015
  • by andrewelkins
  • Repository
  • 7 Watchers
  • 108 Stars
  • 1,006 Installations
  • JavaScript
  • 0 Dependents
  • 0 Suggesters
  • 32 Forks
  • 6 Open issues
  • 15 Versions
  • 0 % Grown

The README.md

Cabinet - Laravel 4 File Upload Package

Cabinet is a file upload package for Laravel 4., (*1)

Cabinet Poster, (*2)

Cabinet is a package that allows easy upload of files and images., (*3)

Features

  • File Upload
  • Image Processing for display
  • Configurable Image options
  • Route, Controller, Model cli generators
  • Configurable

Quick start

Required setup

In the require key of composer.json file add the following:, (*4)

For use with Laravel 4.1.x, (*5)

"andrewelkins/cabinet": "1.0.x"

For use with Laravel 4.2.x, (*6)

"andrewelkins/cabinet": "1.1.x"

Run the Composer update command, (*7)

$ composer update

In your config/app.php add 'Andrew13\Cabinet\CabinetServiceProvider' to the end of the $providers array, (*8)

'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'Andrew13\Cabinet\CabinetServiceProvider',

),

At the end of config/app.php add 'Cabinet' => 'Andrew13\Cabinet\CabinetFacade' to the $aliases array, (*9)

'aliases' => array(

    'App'        => 'Illuminate\Support\Facades\App',
    'Artisan'    => 'Illuminate\Support\Facades\Artisan',
    ...
    'Cabinet'    => 'Andrew13\Cabinet\CabinetFacade',

),

Upload model

Now generate the Cabinet migration:, (*10)

$ php artisan cabinet:migration

It will generate the <timestamp>_cabinet_setup_uploads_table.php migration. You may now run it with the artisan migrate command:, (*11)

$ php artisan migrate

It will setup a table containing filename, directory_path, extension, user_id and deleted_at fields, which are the default fields needed for Cabinet use., (*12)

Create an upload model in app/models/Upload.php:, (*13)

<?php

use Andrew13\Cabinet\CabinetUpload;

class Upload extends CabinetUpload {

    protected $softDelete = true;

}

CabinetUpload class will take care of all the default upload behavior. This can be extended in your Upload model., (*14)

Dump the default assessors

Least, you can dump a default controller and the default routes for Cabinet., (*15)

$ php artisan cabinet:controller
$ php artisan cabinet:routes

Don't forget to dump composer autoload, (*16)

$ composer dump-autoload

Publish public assets

In order to use the js/css/images you'll need to publish the assets., (*17)

$ php artisan asset:publish andrewelkins/cabinet

And you are ready to go. Access http://localhost/upload to upload a file. It is highly suggested to put some auth protection on the uploads., (*18)

Advanced

Using custom table / model name

To change the controller name when dumping the default controller template you can use the --name option., (*19)

$ php artisan cabinet:controller --name Uploader

Will result in UploaderController, (*20)

Then, when dumping the routes, you should use the --controller option to match the existing controller., (*21)

$ php artisan confide:routes --controller Uploader

, (*22)

Using custom form for upload and other configuration options.

First, publish the config files:, (*23)

$ php artisan config:publish andrewelkins/cabinet

Then edit the view names in app/config/packages/andrewelkins/confide/config.php., (*24)

Further, you can change the location of the uploads, type of upload files, and many more options!, (*25)

RESTful controller

If you want to generate a RESTful controller you can use the additional --restful or -r option., (*26)

$ php artisan cabinet:controller --restful

Will result in a RESTful controller, (*27)

Then, when dumping the routes, you should use the --restful option to match the existing controller., (*28)

$ php artisan cabinet:routes --restful

License

This is free software distributed under the terms of the MIT license, (*29)

Special Thanks

Generator code uses code from the Confide package. It is then modified to fit this application. Thanks goes out to @Zizaco for that code., (*30)

Workbench tutorial by Jason Lewis was excellent in getting up and running with workbench., (*31)

Image upload tutorial from Phil Sturgeon which inspired me to create this package., (*32)

Additional information

Any questions, feel free to contact me., (*33)

The Versions