├── .env.example
├── .gitignore
├── app
├── Console
│ ├── Commands
│ │ └── Inspire.php
│ └── Kernel.php
├── Events
│ └── Event.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Controllers
│ │ ├── Auth
│ │ │ ├── AuthController.php
│ │ │ └── PasswordController.php
│ │ ├── Controller.php
│ │ └── ImageController.php
│ ├── Kernel.php
│ ├── Middleware
│ │ ├── Authenticate.php
│ │ ├── EncryptCookies.php
│ │ ├── RedirectIfAuthenticated.php
│ │ └── VerifyCsrfToken.php
│ ├── Requests
│ │ └── Request.php
│ └── routes.php
├── Jobs
│ └── Job.php
├── Listeners
│ └── .gitkeep
├── Logic
│ └── Image
│ │ └── ImageRepository.php
├── Models
│ └── Image.php
├── Providers
│ ├── AppServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
└── User.php
├── artisan
├── bootstrap
├── app.php
├── autoload.php
└── cache
│ └── .gitignore
├── composer.json
├── composer.lock
├── config
├── app.php
├── auth.php
├── broadcasting.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── image.php
├── images.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
├── database
├── .gitignore
├── factories
│ └── ModelFactory.php
├── migrations
│ ├── .gitkeep
│ ├── 2014_10_12_000000_create_users_table.php
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ └── 2015_08_07_125128_CreateImages.php
└── seeds
│ ├── .gitkeep
│ └── DatabaseSeeder.php
├── gulpfile.js
├── img.sql
├── package.json
├── phpspec.yml
├── phpunit.xml
├── public
├── .htaccess
├── assets
│ ├── css
│ │ └── style.css
│ └── js
│ │ └── dropzone-config.js
├── custom
│ ├── custom.css
│ ├── custom.js
│ └── settings.js
├── favicon.ico
├── index.php
├── packages
│ ├── bootstrap
│ │ ├── css
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap-theme.css.map
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── bootstrap.min.css
│ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ └── glyphicons-halflings-regular.woff2
│ │ └── js
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.min.js
│ │ │ └── npm.js
│ ├── dropzone
│ │ ├── basic.css
│ │ ├── dropzone-amd-module.js
│ │ ├── dropzone.css
│ │ ├── dropzone.js
│ │ ├── min
│ │ │ ├── basic.min.css
│ │ │ ├── dropzone-amd-module.min.js
│ │ │ ├── dropzone.min.css
│ │ │ └── dropzone.min.js
│ │ └── readme.md
│ └── font-awesome
│ │ ├── css
│ │ ├── font-awesome.css
│ │ └── font-awesome.min.css
│ │ ├── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ └── fontawesome-webfont.woff
│ │ ├── less
│ │ ├── bordered-pulled.less
│ │ ├── core.less
│ │ ├── fixed-width.less
│ │ ├── font-awesome.less
│ │ ├── icons.less
│ │ ├── larger.less
│ │ ├── list.less
│ │ ├── mixins.less
│ │ ├── path.less
│ │ ├── rotated-flipped.less
│ │ ├── spinning.less
│ │ ├── stacked.less
│ │ └── variables.less
│ │ └── scss
│ │ ├── _bordered-pulled.scss
│ │ ├── _core.scss
│ │ ├── _fixed-width.scss
│ │ ├── _icons.scss
│ │ ├── _larger.scss
│ │ ├── _list.scss
│ │ ├── _mixins.scss
│ │ ├── _path.scss
│ │ ├── _rotated-flipped.scss
│ │ ├── _spinning.scss
│ │ ├── _stacked.scss
│ │ ├── _variables.scss
│ │ └── font-awesome.scss
└── robots.txt
├── readme.md
├── resources
├── assets
│ └── sass
│ │ └── app.scss
├── lang
│ └── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
└── views
│ ├── errors
│ └── 503.blade.php
│ ├── layout.blade.php
│ ├── pages
│ └── upload.blade.php
│ └── vendor
│ └── .gitkeep
├── server.php
├── storage
├── app
│ └── .gitignore
├── framework
│ ├── .gitignore
│ ├── cache
│ │ └── .gitignore
│ ├── sessions
│ │ └── .gitignore
│ └── views
│ │ └── .gitignore
└── logs
│ └── .gitignore
└── tests
├── ExampleTest.php
└── TestCase.php
/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_DEBUG=true
3 | APP_KEY=SomeRandomString
4 |
5 | DB_HOST=localhost
6 | DB_DATABASE=homestead
7 | DB_USERNAME=homestead
8 | DB_PASSWORD=secret
9 |
10 | CACHE_DRIVER=file
11 | SESSION_DRIVER=file
12 | QUEUE_DRIVER=sync
13 |
14 | MAIL_DRIVER=smtp
15 | MAIL_HOST=mailtrap.io
16 | MAIL_PORT=2525
17 | MAIL_USERNAME=null
18 | MAIL_PASSWORD=null
19 | MAIL_ENCRYPTION=null
20 |
21 | UPLOAD_FULL_SIZE=
22 | UPLOAD_ICON_SIZE=
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor
2 | /node_modules
3 | /public/storage
4 | Homestead.yaml
5 | Homestead.json
6 | .env
7 | .idea
8 |
--------------------------------------------------------------------------------
/app/Console/Commands/Inspire.php:
--------------------------------------------------------------------------------
1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
28 | ->hourly();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Events/Event.php:
--------------------------------------------------------------------------------
1 | middleware('guest', ['except' => 'getLogout']);
34 | }
35 |
36 | /**
37 | * Get a validator for an incoming registration request.
38 | *
39 | * @param array $data
40 | * @return \Illuminate\Contracts\Validation\Validator
41 | */
42 | protected function validator(array $data)
43 | {
44 | return Validator::make($data, [
45 | 'name' => 'required|max:255',
46 | 'email' => 'required|email|max:255|unique:users',
47 | 'password' => 'required|confirmed|min:6',
48 | ]);
49 | }
50 |
51 | /**
52 | * Create a new user instance after a valid registration.
53 | *
54 | * @param array $data
55 | * @return User
56 | */
57 | protected function create(array $data)
58 | {
59 | return User::create([
60 | 'name' => $data['name'],
61 | 'email' => $data['email'],
62 | 'password' => bcrypt($data['password']),
63 | ]);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/PasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 | image = $imageRepository;
17 | }
18 |
19 | public function getUpload()
20 | {
21 | return view('pages.upload');
22 | }
23 |
24 | public function postUpload()
25 | {
26 | $photo = Input::all();
27 | $response = $this->image->upload($photo);
28 | return $response;
29 |
30 | }
31 |
32 | public function deleteUpload()
33 | {
34 |
35 | $filename = Input::get('id');
36 |
37 | if(!$filename)
38 | {
39 | return 0;
40 | }
41 |
42 | $response = $this->image->delete( $filename );
43 |
44 | return $response;
45 | }
46 |
47 | /**
48 | * Part 2 - Display already uploaded images in Dropzone
49 | */
50 |
51 | public function getServerImagesPage()
52 | {
53 | return view('pages.upload-2');
54 | }
55 |
56 | public function getServerImages()
57 | {
58 | $images = Image::get(['original_name', 'filename']);
59 |
60 | $imageAnswer = [];
61 |
62 | foreach ($images as $image) {
63 | $imageAnswer[] = [
64 | 'original' => $image->original_name,
65 | 'server' => $image->filename,
66 | 'size' => File::size(public_path('images/full_size/' . $image->filename))
67 | ];
68 | }
69 |
70 | return response()->json([
71 | 'images' => $imageAnswer
72 | ]);
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/app/Http/Kernel.php:
--------------------------------------------------------------------------------
1 | \App\Http\Middleware\Authenticate::class,
30 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
31 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
32 | ];
33 | }
34 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Authenticate.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
26 | }
27 |
28 | /**
29 | * Handle an incoming request.
30 | *
31 | * @param \Illuminate\Http\Request $request
32 | * @param \Closure $next
33 | * @return mixed
34 | */
35 | public function handle($request, Closure $next)
36 | {
37 | if ($this->auth->guest()) {
38 | if ($request->ajax()) {
39 | return response('Unauthorized.', 401);
40 | } else {
41 | return redirect()->guest('auth/login');
42 | }
43 | }
44 |
45 | return $next($request);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
26 | }
27 |
28 | /**
29 | * Handle an incoming request.
30 | *
31 | * @param \Illuminate\Http\Request $request
32 | * @param \Closure $next
33 | * @return mixed
34 | */
35 | public function handle($request, Closure $next)
36 | {
37 | if ($this->auth->check()) {
38 | return redirect('/home');
39 | }
40 |
41 | return $next($request);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 | 'upload-post', 'uses' =>'ImageController@postUpload']);
17 | Route::post('upload/delete', ['as' => 'upload-remove', 'uses' =>'ImageController@deleteUpload']);
18 |
19 | Route::get('server-images', ['as' => 'server-images', 'uses' => 'ImageController@getServerImages']);
20 | Route::get('/', ['as' => 'upload', 'uses' => 'ImageController@getUpload']);
21 |
--------------------------------------------------------------------------------
/app/Jobs/Job.php:
--------------------------------------------------------------------------------
1 | fails()) {
21 |
22 | return Response::json([
23 | 'error' => true,
24 | 'message' => $validator->messages()->first(),
25 | 'code' => 400
26 | ], 400);
27 |
28 | }
29 |
30 | $photo = $form_data['file'];
31 |
32 | $originalName = $photo->getClientOriginalName();
33 | $extension = $photo->getClientOriginalExtension();
34 | $originalNameWithoutExt = substr($originalName, 0, strlen($originalName) - strlen($extension) - 1);
35 |
36 | $filename = $this->sanitize($originalNameWithoutExt);
37 | $allowed_filename = $this->createUniqueFilename( $filename, $extension );
38 |
39 | $uploadSuccess1 = $this->original( $photo, $allowed_filename );
40 |
41 | $uploadSuccess2 = $this->icon( $photo, $allowed_filename );
42 |
43 | if( !$uploadSuccess1 || !$uploadSuccess2 ) {
44 |
45 | return Response::json([
46 | 'error' => true,
47 | 'message' => 'Server error while uploading',
48 | 'code' => 500
49 | ], 500);
50 |
51 | }
52 |
53 | $sessionImage = new Image;
54 | $sessionImage->filename = $allowed_filename;
55 | $sessionImage->original_name = $originalName;
56 | $sessionImage->save();
57 |
58 | return Response::json([
59 | 'error' => false,
60 | 'code' => 200,
61 | 'filename' => $allowed_filename
62 | ], 200);
63 |
64 | }
65 |
66 | public function createUniqueFilename( $filename, $extension )
67 | {
68 | $full_size_dir = Config::get('images.full_size');
69 | $full_image_path = $full_size_dir . $filename . '.' . $extension;
70 |
71 | if ( File::exists( $full_image_path ) )
72 | {
73 | // Generate token for image
74 | $imageToken = substr(sha1(mt_rand()), 0, 5);
75 | return $filename . '-' . $imageToken . '.' . $extension;
76 | }
77 |
78 | return $filename . '.' . $extension;
79 | }
80 |
81 | /**
82 | * Optimize Original Image
83 | */
84 | public function original( $photo, $filename )
85 | {
86 | $manager = new ImageManager();
87 | $image = $manager->make( $photo )->save(Config::get('images.full_size') . $filename );
88 |
89 | return $image;
90 | }
91 |
92 | /**
93 | * Create Icon From Original
94 | */
95 | public function icon( $photo, $filename )
96 | {
97 | $manager = new ImageManager();
98 | $image = $manager->make( $photo )->resize(200, null, function ($constraint) {
99 | $constraint->aspectRatio();
100 | })
101 | ->save( Config::get('images.icon_size') . $filename );
102 |
103 | return $image;
104 | }
105 |
106 | /**
107 | * Delete Image From Session folder, based on server created filename
108 | */
109 | public function delete( $filename )
110 | {
111 |
112 | $full_size_dir = Config::get('images.full_size');
113 | $icon_size_dir = Config::get('images.icon_size');
114 |
115 | $sessionImage = Image::where('filename', 'like', $filename)->first();
116 |
117 |
118 | if(empty($sessionImage))
119 | {
120 | return Response::json([
121 | 'error' => true,
122 | 'code' => 400
123 | ], 400);
124 |
125 | }
126 |
127 | $full_path1 = $full_size_dir . $sessionImage->filename;
128 | $full_path2 = $icon_size_dir . $sessionImage->filename;
129 |
130 | if ( File::exists( $full_path1 ) )
131 | {
132 | File::delete( $full_path1 );
133 | }
134 |
135 | if ( File::exists( $full_path2 ) )
136 | {
137 | File::delete( $full_path2 );
138 | }
139 |
140 | if( !empty($sessionImage))
141 | {
142 | $sessionImage->delete();
143 | }
144 |
145 | return Response::json([
146 | 'error' => false,
147 | 'code' => 200
148 | ], 200);
149 | }
150 |
151 | function sanitize($string, $force_lowercase = true, $anal = false)
152 | {
153 | $strip = array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]",
154 | "}", "\\", "|", ";", ":", "\"", "'", "‘", "’", "“", "”", "–", "—",
155 | "—", "–", ",", "<", ".", ">", "/", "?");
156 | $clean = trim(str_replace($strip, "", strip_tags($string)));
157 | $clean = preg_replace('/\s+/', "-", $clean);
158 | $clean = ($anal) ? preg_replace("/[^a-zA-Z0-9]/", "", $clean) : $clean ;
159 |
160 | return ($force_lowercase) ?
161 | (function_exists('mb_strtolower')) ?
162 | mb_strtolower($clean, 'UTF-8') :
163 | strtolower($clean) :
164 | $clean;
165 | }
166 | }
--------------------------------------------------------------------------------
/app/Models/Image.php:
--------------------------------------------------------------------------------
1 | 'required|mimes:png,gif,jpeg,jpg,bmp'
11 | ];
12 |
13 | public static $messages = [
14 | 'file.mimes' => 'Uploaded file is not in image format',
15 | 'file.required' => 'Image is required'
16 | ];
17 | }
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 | ];
20 |
21 | /**
22 | * Register any other events for your application.
23 | *
24 | * @param \Illuminate\Contracts\Events\Dispatcher $events
25 | * @return void
26 | */
27 | public function boot(DispatcherContract $events)
28 | {
29 | parent::boot($events);
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | group(['namespace' => $this->namespace], function ($router) {
41 | require app_path('Http/routes.php');
42 | });
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/User.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class);
32 |
33 | $status = $kernel->handle(
34 | $input = new Symfony\Component\Console\Input\ArgvInput,
35 | new Symfony\Component\Console\Output\ConsoleOutput
36 | );
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Shutdown The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once Artisan has finished running. We will fire off the shutdown events
44 | | so that any final work may be done by the application before we shut
45 | | down the process. This is the last thing to happen to the request.
46 | |
47 | */
48 |
49 | $kernel->terminate($input, $status);
50 |
51 | exit($status);
52 |
--------------------------------------------------------------------------------
/bootstrap/app.php:
--------------------------------------------------------------------------------
1 | singleton(
30 | Illuminate\Contracts\Http\Kernel::class,
31 | App\Http\Kernel::class
32 | );
33 |
34 | $app->singleton(
35 | Illuminate\Contracts\Console\Kernel::class,
36 | App\Console\Kernel::class
37 | );
38 |
39 | $app->singleton(
40 | Illuminate\Contracts\Debug\ExceptionHandler::class,
41 | App\Exceptions\Handler::class
42 | );
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Return The Application
47 | |--------------------------------------------------------------------------
48 | |
49 | | This script returns the application instance. The instance is given to
50 | | the calling script so we can separate the building of the instances
51 | | from the actual running of the application and sending responses.
52 | |
53 | */
54 |
55 | return $app;
56 |
--------------------------------------------------------------------------------
/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | =5.5.9",
9 | "laravel/framework": "5.2.*",
10 | "laravelcollective/html": "5.2.*",
11 | "intervention/image": "^2.3"
12 | },
13 | "require-dev": {
14 | "fzaninotto/faker": "~1.4",
15 | "mockery/mockery": "0.9.*",
16 | "phpunit/phpunit": "~4.0",
17 | "phpspec/phpspec": "~2.1",
18 | "symfony/dom-crawler": "~3.0",
19 | "symfony/css-selector": "~3.0"
20 | },
21 | "autoload": {
22 | "classmap": [
23 | "database"
24 | ],
25 | "psr-4": {
26 | "App\\": "app/"
27 | }
28 | },
29 | "autoload-dev": {
30 | "classmap": [
31 | "tests/TestCase.php"
32 | ]
33 | },
34 | "scripts": {
35 | "post-install-cmd": [
36 | "php artisan clear-compiled",
37 | "php artisan optimize"
38 | ],
39 | "pre-update-cmd": [
40 | "php artisan clear-compiled"
41 | ],
42 | "post-update-cmd": [
43 | "php artisan optimize"
44 | ],
45 | "post-root-package-install": [
46 | "php -r \"copy('.env.example', '.env');\""
47 | ],
48 | "post-create-project-cmd": [
49 | "php artisan key:generate"
50 | ]
51 | },
52 | "config": {
53 | "preferred-install": "dist"
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/config/app.php:
--------------------------------------------------------------------------------
1 | env('APP_DEBUG', false),
17 |
18 | 'env' => env('APP_ENV', 'production'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Application URL
23 | |--------------------------------------------------------------------------
24 | |
25 | | This URL is used by the console to properly generate URLs when using
26 | | the Artisan command line tool. You should set this to the root of
27 | | your application so that it is used when running Artisan tasks.
28 | |
29 | */
30 |
31 | 'url' => 'http://localhost',
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Application Timezone
36 | |--------------------------------------------------------------------------
37 | |
38 | | Here you may specify the default timezone for your application, which
39 | | will be used by the PHP date and date-time functions. We have gone
40 | | ahead and set this to a sensible default for you out of the box.
41 | |
42 | */
43 |
44 | 'timezone' => 'UTC',
45 |
46 | /*
47 | |--------------------------------------------------------------------------
48 | | Application Locale Configuration
49 | |--------------------------------------------------------------------------
50 | |
51 | | The application locale determines the default locale that will be used
52 | | by the translation service provider. You are free to set this value
53 | | to any of the locales which will be supported by the application.
54 | |
55 | */
56 |
57 | 'locale' => 'en',
58 |
59 | /*
60 | |--------------------------------------------------------------------------
61 | | Application Fallback Locale
62 | |--------------------------------------------------------------------------
63 | |
64 | | The fallback locale determines the locale to use when the current one
65 | | is not available. You may change the value to correspond to any of
66 | | the language folders that are provided through your application.
67 | |
68 | */
69 |
70 | 'fallback_locale' => 'en',
71 |
72 | /*
73 | |--------------------------------------------------------------------------
74 | | Encryption Key
75 | |--------------------------------------------------------------------------
76 | |
77 | | This key is used by the Illuminate encrypter service and should be set
78 | | to a random, 32 character string, otherwise these encrypted strings
79 | | will not be safe. Please do this before deploying an application!
80 | |
81 | */
82 |
83 | 'key' => env('APP_KEY', 'SomeRandomString'),
84 |
85 | 'cipher' => 'AES-256-CBC',
86 |
87 | /*
88 | |--------------------------------------------------------------------------
89 | | Logging Configuration
90 | |--------------------------------------------------------------------------
91 | |
92 | | Here you may configure the log settings for your application. Out of
93 | | the box, Laravel uses the Monolog PHP logging library. This gives
94 | | you a variety of powerful log handlers / formatters to utilize.
95 | |
96 | | Available Settings: "single", "daily", "syslog", "errorlog"
97 | |
98 | */
99 |
100 | 'log' => 'single',
101 |
102 | /*
103 | |--------------------------------------------------------------------------
104 | | Autoloaded Service Providers
105 | |--------------------------------------------------------------------------
106 | |
107 | | The service providers listed here will be automatically loaded on the
108 | | request to your application. Feel free to add your own services to
109 | | this array to grant expanded functionality to your applications.
110 | |
111 | */
112 |
113 | 'providers' => [
114 |
115 | /*
116 | * Laravel Framework Service Providers...
117 | */
118 | Illuminate\Auth\AuthServiceProvider::class,
119 | Illuminate\Broadcasting\BroadcastServiceProvider::class,
120 | Illuminate\Bus\BusServiceProvider::class,
121 | Illuminate\Cache\CacheServiceProvider::class,
122 | Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
123 | Illuminate\Cookie\CookieServiceProvider::class,
124 | Illuminate\Database\DatabaseServiceProvider::class,
125 | Illuminate\Encryption\EncryptionServiceProvider::class,
126 | Illuminate\Filesystem\FilesystemServiceProvider::class,
127 | Illuminate\Foundation\Providers\FoundationServiceProvider::class,
128 | Illuminate\Hashing\HashServiceProvider::class,
129 | Illuminate\Mail\MailServiceProvider::class,
130 | Illuminate\Pagination\PaginationServiceProvider::class,
131 | Illuminate\Pipeline\PipelineServiceProvider::class,
132 | Illuminate\Queue\QueueServiceProvider::class,
133 | Illuminate\Redis\RedisServiceProvider::class,
134 | Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
135 | Illuminate\Session\SessionServiceProvider::class,
136 | Illuminate\Translation\TranslationServiceProvider::class,
137 | Illuminate\Validation\ValidationServiceProvider::class,
138 | Illuminate\View\ViewServiceProvider::class,
139 |
140 | /*
141 | * Application Service Providers...
142 | */
143 | App\Providers\AppServiceProvider::class,
144 | App\Providers\EventServiceProvider::class,
145 | App\Providers\RouteServiceProvider::class,
146 |
147 | Intervention\Image\ImageServiceProvider::class,
148 | Collective\Html\HtmlServiceProvider::class,
149 |
150 | ],
151 |
152 | /*
153 | |--------------------------------------------------------------------------
154 | | Class Aliases
155 | |--------------------------------------------------------------------------
156 | |
157 | | This array of class aliases will be registered when this application
158 | | is started. However, feel free to register as many as you wish as
159 | | the aliases are "lazy" loaded so they don't hinder performance.
160 | |
161 | */
162 |
163 | 'aliases' => [
164 |
165 | 'App' => Illuminate\Support\Facades\App::class,
166 | 'Artisan' => Illuminate\Support\Facades\Artisan::class,
167 | 'Auth' => Illuminate\Support\Facades\Auth::class,
168 | 'Blade' => Illuminate\Support\Facades\Blade::class,
169 | 'Bus' => Illuminate\Support\Facades\Bus::class,
170 | 'Cache' => Illuminate\Support\Facades\Cache::class,
171 | 'Config' => Illuminate\Support\Facades\Config::class,
172 | 'Cookie' => Illuminate\Support\Facades\Cookie::class,
173 | 'Crypt' => Illuminate\Support\Facades\Crypt::class,
174 | 'DB' => Illuminate\Support\Facades\DB::class,
175 | 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
176 | 'Event' => Illuminate\Support\Facades\Event::class,
177 | 'File' => Illuminate\Support\Facades\File::class,
178 | 'Hash' => Illuminate\Support\Facades\Hash::class,
179 | 'Input' => Illuminate\Support\Facades\Input::class,
180 | 'Inspiring' => Illuminate\Foundation\Inspiring::class,
181 | 'Lang' => Illuminate\Support\Facades\Lang::class,
182 | 'Log' => Illuminate\Support\Facades\Log::class,
183 | 'Mail' => Illuminate\Support\Facades\Mail::class,
184 | 'Password' => Illuminate\Support\Facades\Password::class,
185 | 'Queue' => Illuminate\Support\Facades\Queue::class,
186 | 'Redirect' => Illuminate\Support\Facades\Redirect::class,
187 | 'Redis' => Illuminate\Support\Facades\Redis::class,
188 | 'Request' => Illuminate\Support\Facades\Request::class,
189 | 'Response' => Illuminate\Support\Facades\Response::class,
190 | 'Route' => Illuminate\Support\Facades\Route::class,
191 | 'Schema' => Illuminate\Support\Facades\Schema::class,
192 | 'Session' => Illuminate\Support\Facades\Session::class,
193 | 'Storage' => Illuminate\Support\Facades\Storage::class,
194 | 'URL' => Illuminate\Support\Facades\URL::class,
195 | 'Validator' => Illuminate\Support\Facades\Validator::class,
196 | 'View' => Illuminate\Support\Facades\View::class,
197 | 'Form' => Collective\Html\FormFacade::class,
198 | 'HTML' => Collective\Html\HtmlFacade::class,
199 | 'Image' => Intervention\Image\Facades\Image::class
200 | ],
201 |
202 | ];
203 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | 'eloquent',
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Authentication Model
23 | |--------------------------------------------------------------------------
24 | |
25 | | When using the "Eloquent" authentication driver, we need to know which
26 | | Eloquent model should be used to retrieve your users. Of course, it
27 | | is often just the "User" model but you may use whatever you like.
28 | |
29 | */
30 |
31 | 'model' => App\User::class,
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Authentication Table
36 | |--------------------------------------------------------------------------
37 | |
38 | | When using the "Database" authentication driver, we need to know which
39 | | table should be used to retrieve your users. We have chosen a basic
40 | | default value but you may easily change it to any table you like.
41 | |
42 | */
43 |
44 | 'table' => 'users',
45 |
46 | /*
47 | |--------------------------------------------------------------------------
48 | | Password Reset Settings
49 | |--------------------------------------------------------------------------
50 | |
51 | | Here you may set the options for resetting passwords including the view
52 | | that is your password reset e-mail. You can also set the name of the
53 | | table that maintains all of the reset tokens for your application.
54 | |
55 | | The expire time is the number of minutes that the reset token should be
56 | | considered valid. This security feature keeps tokens short-lived so
57 | | they have less time to be guessed. You may change this as needed.
58 | |
59 | */
60 |
61 | 'password' => [
62 | 'email' => 'emails.password',
63 | 'table' => 'password_resets',
64 | 'expire' => 60,
65 | ],
66 |
67 | ];
68 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'pusher'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Broadcast Connections
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the broadcast connections that will be used
24 | | to broadcast events to other systems or over websockets. Samples of
25 | | each available type of connection are provided inside this array.
26 | |
27 | */
28 |
29 | 'connections' => [
30 |
31 | 'pusher' => [
32 | 'driver' => 'pusher',
33 | 'key' => env('PUSHER_KEY'),
34 | 'secret' => env('PUSHER_SECRET'),
35 | 'app_id' => env('PUSHER_APP_ID'),
36 | ],
37 |
38 | 'redis' => [
39 | 'driver' => 'redis',
40 | 'connection' => 'default',
41 | ],
42 |
43 | 'log' => [
44 | 'driver' => 'log',
45 | ],
46 |
47 | ],
48 |
49 | ];
50 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Cache Stores
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the cache "stores" for your application as
24 | | well as their drivers. You may even define multiple stores for the
25 | | same cache driver to group types of items stored in your caches.
26 | |
27 | */
28 |
29 | 'stores' => [
30 |
31 | 'apc' => [
32 | 'driver' => 'apc',
33 | ],
34 |
35 | 'array' => [
36 | 'driver' => 'array',
37 | ],
38 |
39 | 'database' => [
40 | 'driver' => 'database',
41 | 'table' => 'cache',
42 | 'connection' => null,
43 | ],
44 |
45 | 'file' => [
46 | 'driver' => 'file',
47 | 'path' => storage_path('framework/cache'),
48 | ],
49 |
50 | 'memcached' => [
51 | 'driver' => 'memcached',
52 | 'servers' => [
53 | [
54 | 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100,
55 | ],
56 | ],
57 | ],
58 |
59 | 'redis' => [
60 | 'driver' => 'redis',
61 | 'connection' => 'default',
62 | ],
63 |
64 | ],
65 |
66 | /*
67 | |--------------------------------------------------------------------------
68 | | Cache Key Prefix
69 | |--------------------------------------------------------------------------
70 | |
71 | | When utilizing a RAM based store such as APC or Memcached, there might
72 | | be other applications utilizing the same cache. So, we'll specify a
73 | | value to get prefixed to all our keys so we can avoid collisions.
74 | |
75 | */
76 |
77 | 'prefix' => 'laravel',
78 |
79 | ];
80 |
--------------------------------------------------------------------------------
/config/compile.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/config/database.php:
--------------------------------------------------------------------------------
1 | PDO::FETCH_CLASS,
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Default Database Connection Name
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may specify which of the database connections below you wish
24 | | to use as your default connection for all database work. Of course
25 | | you may use many connections at once using the Database library.
26 | |
27 | */
28 |
29 | 'default' => env('DB_CONNECTION', 'mysql'),
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Database Connections
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here are each of the database connections setup for your application.
37 | | Of course, examples of configuring each database platform that is
38 | | supported by Laravel is shown below to make development simple.
39 | |
40 | |
41 | | All database work in Laravel is done through the PHP PDO facilities
42 | | so make sure you have the driver for your particular database of
43 | | choice installed on your machine before you begin development.
44 | |
45 | */
46 |
47 | 'connections' => [
48 |
49 | 'sqlite' => [
50 | 'driver' => 'sqlite',
51 | 'database' => storage_path('database.sqlite'),
52 | 'prefix' => '',
53 | ],
54 |
55 | 'mysql' => [
56 | 'driver' => 'mysql',
57 | 'host' => env('DB_HOST', 'localhost'),
58 | 'database' => env('DB_DATABASE', 'forge'),
59 | 'username' => env('DB_USERNAME', 'forge'),
60 | 'password' => env('DB_PASSWORD', ''),
61 | 'charset' => 'utf8',
62 | 'collation' => 'utf8_unicode_ci',
63 | 'prefix' => '',
64 | 'strict' => false,
65 | ],
66 |
67 | 'pgsql' => [
68 | 'driver' => 'pgsql',
69 | 'host' => env('DB_HOST', 'localhost'),
70 | 'database' => env('DB_DATABASE', 'forge'),
71 | 'username' => env('DB_USERNAME', 'forge'),
72 | 'password' => env('DB_PASSWORD', ''),
73 | 'charset' => 'utf8',
74 | 'prefix' => '',
75 | 'schema' => 'public',
76 | ],
77 |
78 | 'sqlsrv' => [
79 | 'driver' => 'sqlsrv',
80 | 'host' => env('DB_HOST', 'localhost'),
81 | 'database' => env('DB_DATABASE', 'forge'),
82 | 'username' => env('DB_USERNAME', 'forge'),
83 | 'password' => env('DB_PASSWORD', ''),
84 | 'charset' => 'utf8',
85 | 'prefix' => '',
86 | ],
87 |
88 | ],
89 |
90 | /*
91 | |--------------------------------------------------------------------------
92 | | Migration Repository Table
93 | |--------------------------------------------------------------------------
94 | |
95 | | This table keeps track of all the migrations that have already run for
96 | | your application. Using this information, we can determine which of
97 | | the migrations on disk haven't actually been run in the database.
98 | |
99 | */
100 |
101 | 'migrations' => 'migrations',
102 |
103 | /*
104 | |--------------------------------------------------------------------------
105 | | Redis Databases
106 | |--------------------------------------------------------------------------
107 | |
108 | | Redis is an open source, fast, and advanced key-value store that also
109 | | provides a richer set of commands than a typical key-value systems
110 | | such as APC or Memcached. Laravel makes it easy to dig right in.
111 | |
112 | */
113 |
114 | 'redis' => [
115 |
116 | 'cluster' => false,
117 |
118 | 'default' => [
119 | 'host' => '127.0.0.1',
120 | 'port' => 6379,
121 | 'database' => 0,
122 | ],
123 |
124 | ],
125 |
126 | ];
127 |
--------------------------------------------------------------------------------
/config/filesystems.php:
--------------------------------------------------------------------------------
1 | 'local',
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Default Cloud Filesystem Disk
23 | |--------------------------------------------------------------------------
24 | |
25 | | Many applications store files both locally and in the cloud. For this
26 | | reason, you may specify a default "cloud" driver here. This driver
27 | | will be bound as the Cloud disk implementation in the container.
28 | |
29 | */
30 |
31 | 'cloud' => 's3',
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Filesystem Disks
36 | |--------------------------------------------------------------------------
37 | |
38 | | Here you may configure as many filesystem "disks" as you wish, and you
39 | | may even configure multiple disks of the same driver. Defaults have
40 | | been setup for each driver as an example of the required options.
41 | |
42 | */
43 |
44 | 'disks' => [
45 |
46 | 'local' => [
47 | 'driver' => 'local',
48 | 'root' => storage_path('app'),
49 | ],
50 |
51 | 'ftp' => [
52 | 'driver' => 'ftp',
53 | 'host' => 'ftp.example.com',
54 | 'username' => 'your-username',
55 | 'password' => 'your-password',
56 |
57 | // Optional FTP Settings...
58 | // 'port' => 21,
59 | // 'root' => '',
60 | // 'passive' => true,
61 | // 'ssl' => true,
62 | // 'timeout' => 30,
63 | ],
64 |
65 | 's3' => [
66 | 'driver' => 's3',
67 | 'key' => 'your-key',
68 | 'secret' => 'your-secret',
69 | 'region' => 'your-region',
70 | 'bucket' => 'your-bucket',
71 | ],
72 |
73 | 'rackspace' => [
74 | 'driver' => 'rackspace',
75 | 'username' => 'your-username',
76 | 'key' => 'your-key',
77 | 'container' => 'your-container',
78 | 'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
79 | 'region' => 'IAD',
80 | 'url_type' => 'publicURL',
81 | ],
82 |
83 | ],
84 |
85 | ];
86 |
--------------------------------------------------------------------------------
/config/image.php:
--------------------------------------------------------------------------------
1 | 'gd'
19 |
20 | );
21 |
--------------------------------------------------------------------------------
/config/images.php:
--------------------------------------------------------------------------------
1 | env('UPLOAD_FULL_SIZE', public_path('images/full_size/')),
5 | 'icon_size' => env('UPLOAD_ICON_SIZE', public_path('images/icon_size/')),
6 | ];
--------------------------------------------------------------------------------
/config/mail.php:
--------------------------------------------------------------------------------
1 | env('MAIL_DRIVER', 'smtp'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | SMTP Host Address
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may provide the host address of the SMTP server used by your
26 | | applications. A default option is provided that is compatible with
27 | | the Mailgun mail service which will provide reliable deliveries.
28 | |
29 | */
30 |
31 | 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | SMTP Host Port
36 | |--------------------------------------------------------------------------
37 | |
38 | | This is the SMTP port used by your application to deliver e-mails to
39 | | users of the application. Like the host we have set this value to
40 | | stay compatible with the Mailgun e-mail application by default.
41 | |
42 | */
43 |
44 | 'port' => env('MAIL_PORT', 587),
45 |
46 | /*
47 | |--------------------------------------------------------------------------
48 | | Global "From" Address
49 | |--------------------------------------------------------------------------
50 | |
51 | | You may wish for all e-mails sent by your application to be sent from
52 | | the same address. Here, you may specify a name and address that is
53 | | used globally for all e-mails that are sent by your application.
54 | |
55 | */
56 |
57 | 'from' => ['address' => null, 'name' => null],
58 |
59 | /*
60 | |--------------------------------------------------------------------------
61 | | E-Mail Encryption Protocol
62 | |--------------------------------------------------------------------------
63 | |
64 | | Here you may specify the encryption protocol that should be used when
65 | | the application send e-mail messages. A sensible default using the
66 | | transport layer security protocol should provide great security.
67 | |
68 | */
69 |
70 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
71 |
72 | /*
73 | |--------------------------------------------------------------------------
74 | | SMTP Server Username
75 | |--------------------------------------------------------------------------
76 | |
77 | | If your SMTP server requires a username for authentication, you should
78 | | set it here. This will get used to authenticate with your server on
79 | | connection. You may also set the "password" value below this one.
80 | |
81 | */
82 |
83 | 'username' => env('MAIL_USERNAME'),
84 |
85 | /*
86 | |--------------------------------------------------------------------------
87 | | SMTP Server Password
88 | |--------------------------------------------------------------------------
89 | |
90 | | Here you may set the password required by your SMTP server to send out
91 | | messages from your application. This will be given to the server on
92 | | connection so that the application will be able to send messages.
93 | |
94 | */
95 |
96 | 'password' => env('MAIL_PASSWORD'),
97 |
98 | /*
99 | |--------------------------------------------------------------------------
100 | | Sendmail System Path
101 | |--------------------------------------------------------------------------
102 | |
103 | | When using the "sendmail" driver to send e-mails, we will need to know
104 | | the path to where Sendmail lives on this server. A default path has
105 | | been provided here, which will work well on most of your systems.
106 | |
107 | */
108 |
109 | 'sendmail' => '/usr/sbin/sendmail -bs',
110 |
111 | /*
112 | |--------------------------------------------------------------------------
113 | | Mail "Pretend"
114 | |--------------------------------------------------------------------------
115 | |
116 | | When this option is enabled, e-mail will not actually be sent over the
117 | | web and will instead be written to your application's logs files so
118 | | you may inspect the message. This is great for local development.
119 | |
120 | */
121 |
122 | 'pretend' => false,
123 |
124 | ];
125 |
--------------------------------------------------------------------------------
/config/queue.php:
--------------------------------------------------------------------------------
1 | env('QUEUE_DRIVER', 'sync'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Queue Connections
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may configure the connection information for each server that
27 | | is used by your application. A default configuration has been added
28 | | for each back-end shipped with Laravel. You are free to add more.
29 | |
30 | */
31 |
32 | 'connections' => [
33 |
34 | 'sync' => [
35 | 'driver' => 'sync',
36 | ],
37 |
38 | 'database' => [
39 | 'driver' => 'database',
40 | 'table' => 'jobs',
41 | 'queue' => 'default',
42 | 'expire' => 60,
43 | ],
44 |
45 | 'beanstalkd' => [
46 | 'driver' => 'beanstalkd',
47 | 'host' => 'localhost',
48 | 'queue' => 'default',
49 | 'ttr' => 60,
50 | ],
51 |
52 | 'sqs' => [
53 | 'driver' => 'sqs',
54 | 'key' => 'your-public-key',
55 | 'secret' => 'your-secret-key',
56 | 'queue' => 'your-queue-url',
57 | 'region' => 'us-east-1',
58 | ],
59 |
60 | 'iron' => [
61 | 'driver' => 'iron',
62 | 'host' => 'mq-aws-us-east-1.iron.io',
63 | 'token' => 'your-token',
64 | 'project' => 'your-project-id',
65 | 'queue' => 'your-queue-name',
66 | 'encrypt' => true,
67 | ],
68 |
69 | 'redis' => [
70 | 'driver' => 'redis',
71 | 'connection' => 'default',
72 | 'queue' => 'default',
73 | 'expire' => 60,
74 | ],
75 |
76 | ],
77 |
78 | /*
79 | |--------------------------------------------------------------------------
80 | | Failed Queue Jobs
81 | |--------------------------------------------------------------------------
82 | |
83 | | These options configure the behavior of failed queue job logging so you
84 | | can control which database and table are used to store the jobs that
85 | | have failed. You may change them to any database / table you wish.
86 | |
87 | */
88 |
89 | 'failed' => [
90 | 'database' => 'mysql', 'table' => 'failed_jobs',
91 | ],
92 |
93 | ];
94 |
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'mandrill' => [
23 | 'secret' => env('MANDRILL_SECRET'),
24 | ],
25 |
26 | 'ses' => [
27 | 'key' => env('SES_KEY'),
28 | 'secret' => env('SES_SECRET'),
29 | 'region' => 'us-east-1',
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/config/session.php:
--------------------------------------------------------------------------------
1 | env('SESSION_DRIVER', 'file'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Session Lifetime
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may specify the number of minutes that you wish the session
27 | | to be allowed to remain idle before it expires. If you want them
28 | | to immediately expire on the browser closing, set that option.
29 | |
30 | */
31 |
32 | 'lifetime' => 120,
33 |
34 | 'expire_on_close' => false,
35 |
36 | /*
37 | |--------------------------------------------------------------------------
38 | | Session Encryption
39 | |--------------------------------------------------------------------------
40 | |
41 | | This option allows you to easily specify that all of your session data
42 | | should be encrypted before it is stored. All encryption will be run
43 | | automatically by Laravel and you can use the Session like normal.
44 | |
45 | */
46 |
47 | 'encrypt' => false,
48 |
49 | /*
50 | |--------------------------------------------------------------------------
51 | | Session File Location
52 | |--------------------------------------------------------------------------
53 | |
54 | | When using the native session driver, we need a location where session
55 | | files may be stored. A default has been set for you but a different
56 | | location may be specified. This is only needed for file sessions.
57 | |
58 | */
59 |
60 | 'files' => storage_path('framework/sessions'),
61 |
62 | /*
63 | |--------------------------------------------------------------------------
64 | | Session Database Connection
65 | |--------------------------------------------------------------------------
66 | |
67 | | When using the "database" or "redis" session drivers, you may specify a
68 | | connection that should be used to manage these sessions. This should
69 | | correspond to a connection in your database configuration options.
70 | |
71 | */
72 |
73 | 'connection' => null,
74 |
75 | /*
76 | |--------------------------------------------------------------------------
77 | | Session Database Table
78 | |--------------------------------------------------------------------------
79 | |
80 | | When using the "database" session driver, you may specify the table we
81 | | should use to manage the sessions. Of course, a sensible default is
82 | | provided for you; however, you are free to change this as needed.
83 | |
84 | */
85 |
86 | 'table' => 'sessions',
87 |
88 | /*
89 | |--------------------------------------------------------------------------
90 | | Session Sweeping Lottery
91 | |--------------------------------------------------------------------------
92 | |
93 | | Some session drivers must manually sweep their storage location to get
94 | | rid of old sessions from storage. Here are the chances that it will
95 | | happen on a given request. By default, the odds are 2 out of 100.
96 | |
97 | */
98 |
99 | 'lottery' => [2, 100],
100 |
101 | /*
102 | |--------------------------------------------------------------------------
103 | | Session Cookie Name
104 | |--------------------------------------------------------------------------
105 | |
106 | | Here you may change the name of the cookie used to identify a session
107 | | instance by ID. The name specified here will get used every time a
108 | | new session cookie is created by the framework for every driver.
109 | |
110 | */
111 |
112 | 'cookie' => 'laravel_session',
113 |
114 | /*
115 | |--------------------------------------------------------------------------
116 | | Session Cookie Path
117 | |--------------------------------------------------------------------------
118 | |
119 | | The session cookie path determines the path for which the cookie will
120 | | be regarded as available. Typically, this will be the root path of
121 | | your application but you are free to change this when necessary.
122 | |
123 | */
124 |
125 | 'path' => '/',
126 |
127 | /*
128 | |--------------------------------------------------------------------------
129 | | Session Cookie Domain
130 | |--------------------------------------------------------------------------
131 | |
132 | | Here you may change the domain of the cookie used to identify a session
133 | | in your application. This will determine which domains the cookie is
134 | | available to in your application. A sensible default has been set.
135 | |
136 | */
137 |
138 | 'domain' => null,
139 |
140 | /*
141 | |--------------------------------------------------------------------------
142 | | HTTPS Only Cookies
143 | |--------------------------------------------------------------------------
144 | |
145 | | By setting this option to true, session cookies will only be sent back
146 | | to the server if the browser has a HTTPS connection. This will keep
147 | | the cookie from being sent to you if it can not be done securely.
148 | |
149 | */
150 |
151 | 'secure' => false,
152 |
153 | ];
154 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->email,
18 | 'password' => bcrypt(str_random(10)),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/database/migrations/.gitkeep
--------------------------------------------------------------------------------
/database/migrations/2014_10_12_000000_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name');
18 | $table->string('email')->unique();
19 | $table->string('password', 60);
20 | $table->rememberToken();
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('users');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/database/migrations/2014_10_12_100000_create_password_resets_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
17 | $table->string('token')->index();
18 | $table->timestamp('created_at');
19 | });
20 | }
21 |
22 | /**
23 | * Reverse the migrations.
24 | *
25 | * @return void
26 | */
27 | public function down()
28 | {
29 | Schema::drop('password_resets');
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/database/migrations/2015_08_07_125128_CreateImages.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->text('original_name');
18 | $table->text('filename');
19 | $table->timestamps();
20 | });
21 | }
22 |
23 | /**
24 | * Reverse the migrations.
25 | *
26 | * @return void
27 | */
28 | public function down()
29 | {
30 | Schema::drop('images');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/database/seeds/.gitkeep
--------------------------------------------------------------------------------
/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call(UserTableSeeder::class);
18 |
19 | Model::reguard();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var elixir = require('laravel-elixir');
2 |
3 | /*
4 | |--------------------------------------------------------------------------
5 | | Elixir Asset Management
6 | |--------------------------------------------------------------------------
7 | |
8 | | Elixir provides a clean, fluent API for defining some basic Gulp tasks
9 | | for your Laravel application. By default, we are compiling the Sass
10 | | file for our application, as well as publishing vendor resources.
11 | |
12 | */
13 |
14 | elixir(function(mix) {
15 | mix.sass('app.scss');
16 | });
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "devDependencies": {
4 | "gulp": "^3.8.8"
5 | },
6 | "dependencies": {
7 | "laravel-elixir": "^3.0.0",
8 | "bootstrap-sass": "^3.0.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/phpspec.yml:
--------------------------------------------------------------------------------
1 | suites:
2 | main:
3 | namespace: App
4 | psr4_prefix: App
5 | src_path: app
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 | ./tests/
15 |
16 |
17 |
18 |
19 | app/
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | # php_value upload_max_filesize 100M
7 | # php_value post_max_size 10M
8 | RewriteEngine On
9 |
10 | # Redirect Trailing Slashes If Not A Folder...
11 | RewriteCond %{REQUEST_FILENAME} !-d
12 | RewriteRule ^(.*)/$ /$1 [L,R=301]
13 |
14 | # Handle Front Controller...
15 | RewriteCond %{REQUEST_FILENAME} !-d
16 | RewriteCond %{REQUEST_FILENAME} !-f
17 | RewriteRule ^ index.php [L]
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public/assets/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 40px;
3 | padding-bottom: 40px;
4 | background-color: #f5f5f5;
5 | }
6 | div.btn-group{
7 | float:right;
8 | }
--------------------------------------------------------------------------------
/public/assets/js/dropzone-config.js:
--------------------------------------------------------------------------------
1 | var photo_counter = 0;
2 | Dropzone.options.realDropzone = {
3 |
4 | uploadMultiple: false,
5 | parallelUploads: 10000,
6 | // maxFilesize: 10,
7 | autoProcessQueue: false,
8 | previewsContainer: '#dropzonePreview',
9 | previewTemplate: document.querySelector('#preview-template').innerHTML,
10 | addRemoveLinks: true,
11 | dictRemoveFile: 'Remove',
12 | dictFileTooBig: 'Image is bigger than 40MB',
13 |
14 | // The setting up of the dropzone
15 | init:function() {
16 |
17 | var myDropzone = this;
18 | $('#submitfiles').on("click", function (e) {
19 |
20 | e.preventDefault();
21 | e.stopPropagation();
22 |
23 | if(myDropzone.getQueuedFiles().length > 0){
24 | myDropzone.processQueue();
25 | }else{
26 | alert('No Files to upload!');
27 | }
28 |
29 | });
30 |
31 | },
32 | accept: function(file, done) {
33 | //console.log(file);
34 | return done();
35 | }
36 | /*
37 | ,
38 | totaluploadprogress : function(progress) {
39 | $("#total-progress .progress-bar").style.width = progress + "%";
40 | },
41 | queuecomplete : function(progress) {
42 | document.querySelector("#total-progress").style.opacity = "0";
43 | },
44 | sending : function(file) {
45 | // Show the total progress bar when upload starts
46 | document.querySelector("#total-progress").style.opacity = "1";
47 | // And disable the start button
48 | file.previewElement.querySelector(".start").setAttribute("disabled", "disabled");
49 | }
50 | */
51 | }
52 |
--------------------------------------------------------------------------------
/public/custom/custom.css:
--------------------------------------------------------------------------------
1 | .dropzone {
2 | min-height: 90px;
3 | overflow-y: auto;
4 | max-height: 600px;
5 | }
6 |
7 | .dropzone.dz-clickable {
8 | /*pointer-events: none;*/
9 | }
10 |
11 | .dropzone-previews{
12 | pointer-events: all;
13 | }
14 |
15 | .dz-filename{
16 | width: 100px;
17 | display: block;
18 | white-space: nowrap;
19 | overflow: hidden;
20 | text-overflow: ellipsis;
21 | }
22 |
23 | .dropzone .dz-preview:hover .dz-image img {
24 | -webkit-filter: none !important;
25 | filter: drop-shadow;
26 | }
27 |
28 | .dropzone .dz-preview.dz-success .dz-success-mark {
29 | -webkit-animation: passing-through 1s cubic-bezier(0.77, 0, 0.175, 1);
30 | -moz-animation: passing-through 1s cubic-bezier(0.77, 0, 0.175, 1);
31 | -ms-animation: passing-through 1s cubic-bezier(0.77, 0, 0.175, 1);
32 | -o-animation: passing-through 1s cubic-bezier(0.77, 0, 0.175, 1);
33 | animation: passing-through 1s cubic-bezier(0.77, 0, 0.175, 1);
34 | opacity: 1;
35 | background-color: wheat;
36 | border-radius: 50%;
37 | }
38 |
39 | .progress-bar {
40 | -webkit-animation: progress-bar-stripes 0s linear infinite !important;
41 | }
--------------------------------------------------------------------------------
/public/custom/custom.js:
--------------------------------------------------------------------------------
1 | var triggerMe = function(id){
2 | $('#'+id).trigger('click');
3 | //$('#'+id).css('pointer-events', 'all');
4 | }
5 |
6 |
7 | $('#submitfiles').click(function(){
8 | $('.dz-remove').hide();
9 | });
10 |
11 |
12 |
13 | var zoomCheck = false;
14 | function addImage(img){
15 | /*
16 | if(!zoomCheck){
17 | var image_name=$(img).attr('src');
18 | //console.log(image_name);
19 | var imageTag='
'+'

'+'
';
20 | $(img).parent('div').parent('div').append(imageTag);
21 | zoomCheck = true;
22 | }
23 | */
24 | var image_name=$(img).attr('alt');
25 | //console.log(image_name);
26 | var imageTag=''+'

'+'
';
27 | $('.imageContent').html(imageTag);
28 | }
29 |
30 |
31 | function removeImage(img){
32 | zoomCheck = false;
33 | $('.zoomPic').remove();
34 | }
35 |
36 | /*
37 |
38 | function setContent(){
39 | $('.imageContent').html($('.modelContent'));
40 | $('.modelContent').show();
41 | }
42 | */
--------------------------------------------------------------------------------
/public/custom/settings.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/custom/settings.js
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | /*
11 | |--------------------------------------------------------------------------
12 | | Register The Auto Loader
13 | |--------------------------------------------------------------------------
14 | |
15 | | Composer provides a convenient, automatically generated class loader for
16 | | our application. We just need to utilize it! We'll simply require it
17 | | into the script here so that we don't have to worry about manual
18 | | loading any of our classes later on. It feels nice to relax.
19 | |
20 | */
21 |
22 | require __DIR__.'/../bootstrap/autoload.php';
23 |
24 | /*
25 | |--------------------------------------------------------------------------
26 | | Turn On The Lights
27 | |--------------------------------------------------------------------------
28 | |
29 | | We need to illuminate PHP development, so let us turn on the lights.
30 | | This bootstraps the framework and gets it ready for use, then it
31 | | will load up this application so that we can run it and send
32 | | the responses back to the browser and delight our users.
33 | |
34 | */
35 |
36 | $app = require_once __DIR__.'/../bootstrap/app.php';
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Run The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once we have the application, we can handle the incoming request
44 | | through the kernel, and send the associated response back to
45 | | the client's browser allowing them to enjoy the creative
46 | | and wonderful application we have prepared for them.
47 | |
48 | */
49 |
50 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
51 |
52 | $response = $kernel->handle(
53 | $request = Illuminate\Http\Request::capture()
54 | );
55 |
56 | $response->send();
57 |
58 | $kernel->terminate($request, $response);
59 |
--------------------------------------------------------------------------------
/public/packages/bootstrap/css/bootstrap-theme.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.5 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
--------------------------------------------------------------------------------
/public/packages/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/public/packages/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/public/packages/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/public/packages/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/public/packages/bootstrap/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/public/packages/dropzone/basic.css:
--------------------------------------------------------------------------------
1 | /*
2 | * The MIT License
3 | * Copyright (c) 2012 Matias Meno
4 | */
5 | .dropzone, .dropzone * {
6 | box-sizing: border-box; }
7 |
8 | .dropzone {
9 | position: relative; }
10 | .dropzone .dz-preview {
11 | position: relative;
12 | display: inline-block;
13 | width: 120px;
14 | margin: 0.5em; }
15 | .dropzone .dz-preview .dz-progress {
16 | display: block;
17 | height: 15px;
18 | border: 1px solid #aaa; }
19 | .dropzone .dz-preview .dz-progress .dz-upload {
20 | display: block;
21 | height: 100%;
22 | width: 0;
23 | background: green; }
24 | .dropzone .dz-preview .dz-error-message {
25 | color: red;
26 | display: none; }
27 | .dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
28 | display: block; }
29 | .dropzone .dz-preview.dz-success .dz-success-mark {
30 | display: block; }
31 | .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
32 | position: absolute;
33 | display: none;
34 | left: 30px;
35 | top: 30px;
36 | width: 54px;
37 | height: 58px;
38 | left: 50%;
39 | margin-left: -27px; }
40 |
--------------------------------------------------------------------------------
/public/packages/dropzone/dropzone.css:
--------------------------------------------------------------------------------
1 | /*
2 | * The MIT License
3 | * Copyright (c) 2012 Matias Meno
4 | */
5 | @-webkit-keyframes passing-through {
6 | 0% {
7 | opacity: 0;
8 | -webkit-transform: translateY(40px);
9 | -moz-transform: translateY(40px);
10 | -ms-transform: translateY(40px);
11 | -o-transform: translateY(40px);
12 | transform: translateY(40px); }
13 | 30%, 70% {
14 | opacity: 1;
15 | -webkit-transform: translateY(0px);
16 | -moz-transform: translateY(0px);
17 | -ms-transform: translateY(0px);
18 | -o-transform: translateY(0px);
19 | transform: translateY(0px); }
20 | 100% {
21 | opacity: 0;
22 | -webkit-transform: translateY(-40px);
23 | -moz-transform: translateY(-40px);
24 | -ms-transform: translateY(-40px);
25 | -o-transform: translateY(-40px);
26 | transform: translateY(-40px); } }
27 | @-moz-keyframes passing-through {
28 | 0% {
29 | opacity: 0;
30 | -webkit-transform: translateY(40px);
31 | -moz-transform: translateY(40px);
32 | -ms-transform: translateY(40px);
33 | -o-transform: translateY(40px);
34 | transform: translateY(40px); }
35 | 30%, 70% {
36 | opacity: 1;
37 | -webkit-transform: translateY(0px);
38 | -moz-transform: translateY(0px);
39 | -ms-transform: translateY(0px);
40 | -o-transform: translateY(0px);
41 | transform: translateY(0px); }
42 | 100% {
43 | opacity: 0;
44 | -webkit-transform: translateY(-40px);
45 | -moz-transform: translateY(-40px);
46 | -ms-transform: translateY(-40px);
47 | -o-transform: translateY(-40px);
48 | transform: translateY(-40px); } }
49 | @keyframes passing-through {
50 | 0% {
51 | opacity: 0;
52 | -webkit-transform: translateY(40px);
53 | -moz-transform: translateY(40px);
54 | -ms-transform: translateY(40px);
55 | -o-transform: translateY(40px);
56 | transform: translateY(40px); }
57 | 30%, 70% {
58 | opacity: 1;
59 | -webkit-transform: translateY(0px);
60 | -moz-transform: translateY(0px);
61 | -ms-transform: translateY(0px);
62 | -o-transform: translateY(0px);
63 | transform: translateY(0px); }
64 | 100% {
65 | opacity: 0;
66 | -webkit-transform: translateY(-40px);
67 | -moz-transform: translateY(-40px);
68 | -ms-transform: translateY(-40px);
69 | -o-transform: translateY(-40px);
70 | transform: translateY(-40px); } }
71 | @-webkit-keyframes slide-in {
72 | 0% {
73 | opacity: 0;
74 | -webkit-transform: translateY(40px);
75 | -moz-transform: translateY(40px);
76 | -ms-transform: translateY(40px);
77 | -o-transform: translateY(40px);
78 | transform: translateY(40px); }
79 | 30% {
80 | opacity: 1;
81 | -webkit-transform: translateY(0px);
82 | -moz-transform: translateY(0px);
83 | -ms-transform: translateY(0px);
84 | -o-transform: translateY(0px);
85 | transform: translateY(0px); } }
86 | @-moz-keyframes slide-in {
87 | 0% {
88 | opacity: 0;
89 | -webkit-transform: translateY(40px);
90 | -moz-transform: translateY(40px);
91 | -ms-transform: translateY(40px);
92 | -o-transform: translateY(40px);
93 | transform: translateY(40px); }
94 | 30% {
95 | opacity: 1;
96 | -webkit-transform: translateY(0px);
97 | -moz-transform: translateY(0px);
98 | -ms-transform: translateY(0px);
99 | -o-transform: translateY(0px);
100 | transform: translateY(0px); } }
101 | @keyframes slide-in {
102 | 0% {
103 | opacity: 0;
104 | -webkit-transform: translateY(40px);
105 | -moz-transform: translateY(40px);
106 | -ms-transform: translateY(40px);
107 | -o-transform: translateY(40px);
108 | transform: translateY(40px); }
109 | 30% {
110 | opacity: 1;
111 | -webkit-transform: translateY(0px);
112 | -moz-transform: translateY(0px);
113 | -ms-transform: translateY(0px);
114 | -o-transform: translateY(0px);
115 | transform: translateY(0px); } }
116 | @-webkit-keyframes pulse {
117 | 0% {
118 | -webkit-transform: scale(1);
119 | -moz-transform: scale(1);
120 | -ms-transform: scale(1);
121 | -o-transform: scale(1);
122 | transform: scale(1); }
123 | 10% {
124 | -webkit-transform: scale(1.1);
125 | -moz-transform: scale(1.1);
126 | -ms-transform: scale(1.1);
127 | -o-transform: scale(1.1);
128 | transform: scale(1.1); }
129 | 20% {
130 | -webkit-transform: scale(1);
131 | -moz-transform: scale(1);
132 | -ms-transform: scale(1);
133 | -o-transform: scale(1);
134 | transform: scale(1); } }
135 | @-moz-keyframes pulse {
136 | 0% {
137 | -webkit-transform: scale(1);
138 | -moz-transform: scale(1);
139 | -ms-transform: scale(1);
140 | -o-transform: scale(1);
141 | transform: scale(1); }
142 | 10% {
143 | -webkit-transform: scale(1.1);
144 | -moz-transform: scale(1.1);
145 | -ms-transform: scale(1.1);
146 | -o-transform: scale(1.1);
147 | transform: scale(1.1); }
148 | 20% {
149 | -webkit-transform: scale(1);
150 | -moz-transform: scale(1);
151 | -ms-transform: scale(1);
152 | -o-transform: scale(1);
153 | transform: scale(1); } }
154 | @keyframes pulse {
155 | 0% {
156 | -webkit-transform: scale(1);
157 | -moz-transform: scale(1);
158 | -ms-transform: scale(1);
159 | -o-transform: scale(1);
160 | transform: scale(1); }
161 | 10% {
162 | -webkit-transform: scale(1.1);
163 | -moz-transform: scale(1.1);
164 | -ms-transform: scale(1.1);
165 | -o-transform: scale(1.1);
166 | transform: scale(1.1); }
167 | 20% {
168 | -webkit-transform: scale(1);
169 | -moz-transform: scale(1);
170 | -ms-transform: scale(1);
171 | -o-transform: scale(1);
172 | transform: scale(1); } }
173 | .dropzone, .dropzone * {
174 | box-sizing: border-box; }
175 |
176 | .dropzone {
177 | min-height: 150px;
178 | border: 2px solid rgba(0, 0, 0, 0.3);
179 | background: white;
180 | padding: 20px 20px; }
181 | .dropzone.dz-clickable {
182 | cursor: pointer; }
183 | .dropzone.dz-clickable * {
184 | cursor: default; }
185 | .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
186 | cursor: pointer; }
187 | .dropzone.dz-started .dz-message {
188 | display: none; }
189 | .dropzone.dz-drag-hover {
190 | border-style: solid; }
191 | .dropzone.dz-drag-hover .dz-message {
192 | opacity: 0.5; }
193 | .dropzone .dz-message {
194 | text-align: center;
195 | margin: 2em 0; }
196 | .dropzone .dz-preview {
197 | position: relative;
198 | display: inline-block;
199 | vertical-align: top;
200 | margin: 16px;
201 | min-height: 100px; }
202 | .dropzone .dz-preview:hover {
203 | z-index: 1000; }
204 | .dropzone .dz-preview:hover .dz-details {
205 | opacity: 1; }
206 | .dropzone .dz-preview.dz-file-preview .dz-image {
207 | border-radius: 20px;
208 | background: #999;
209 | background: linear-gradient(to bottom, #eee, #ddd); }
210 | .dropzone .dz-preview.dz-file-preview .dz-details {
211 | opacity: 1; }
212 | .dropzone .dz-preview.dz-image-preview {
213 | background: white; }
214 | .dropzone .dz-preview.dz-image-preview .dz-details {
215 | -webkit-transition: opacity 0.2s linear;
216 | -moz-transition: opacity 0.2s linear;
217 | -ms-transition: opacity 0.2s linear;
218 | -o-transition: opacity 0.2s linear;
219 | transition: opacity 0.2s linear; }
220 | .dropzone .dz-preview .dz-remove {
221 | font-size: 14px;
222 | text-align: center;
223 | display: block;
224 | cursor: pointer;
225 | border: none; }
226 | .dropzone .dz-preview .dz-remove:hover {
227 | text-decoration: underline; }
228 | .dropzone .dz-preview:hover .dz-details {
229 | opacity: 1; }
230 | .dropzone .dz-preview .dz-details {
231 | z-index: 20;
232 | position: absolute;
233 | top: 0;
234 | left: 0;
235 | opacity: 0;
236 | font-size: 13px;
237 | min-width: 100%;
238 | max-width: 100%;
239 | padding: 2em 1em;
240 | text-align: center;
241 | color: rgba(0, 0, 0, 0.9);
242 | line-height: 150%; }
243 | .dropzone .dz-preview .dz-details .dz-size {
244 | margin-bottom: 1em;
245 | font-size: 16px; }
246 | .dropzone .dz-preview .dz-details .dz-filename {
247 | white-space: nowrap; }
248 | .dropzone .dz-preview .dz-details .dz-filename:hover span {
249 | border: 1px solid rgba(200, 200, 200, 0.8);
250 | background-color: rgba(255, 255, 255, 0.8); }
251 | .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
252 | overflow: hidden;
253 | text-overflow: ellipsis; }
254 | .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
255 | border: 1px solid transparent; }
256 | .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
257 | background-color: rgba(255, 255, 255, 0.4);
258 | padding: 0 0.4em;
259 | border-radius: 3px; }
260 | .dropzone .dz-preview:hover .dz-image img {
261 | -webkit-transform: scale(1.05, 1.05);
262 | -moz-transform: scale(1.05, 1.05);
263 | -ms-transform: scale(1.05, 1.05);
264 | -o-transform: scale(1.05, 1.05);
265 | transform: scale(1.05, 1.05);
266 | -webkit-filter: blur(8px);
267 | filter: blur(8px); }
268 | .dropzone .dz-preview .dz-image {
269 | border-radius: 20px;
270 | overflow: hidden;
271 | width: 120px;
272 | height: 120px;
273 | position: relative;
274 | display: block;
275 | z-index: 10; }
276 | .dropzone .dz-preview .dz-image img {
277 | display: block; }
278 | .dropzone .dz-preview.dz-success .dz-success-mark {
279 | -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
280 | -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
281 | -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
282 | -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
283 | animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
284 | .dropzone .dz-preview.dz-error .dz-error-mark {
285 | opacity: 1;
286 | -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
287 | -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
288 | -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
289 | -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
290 | animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
291 | .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
292 | pointer-events: none;
293 | opacity: 0;
294 | z-index: 500;
295 | position: absolute;
296 | display: block;
297 | top: 50%;
298 | left: 50%;
299 | margin-left: -27px;
300 | margin-top: -27px; }
301 | .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
302 | display: block;
303 | width: 54px;
304 | height: 54px; }
305 | .dropzone .dz-preview.dz-processing .dz-progress {
306 | opacity: 1;
307 | -webkit-transition: all 0.2s linear;
308 | -moz-transition: all 0.2s linear;
309 | -ms-transition: all 0.2s linear;
310 | -o-transition: all 0.2s linear;
311 | transition: all 0.2s linear; }
312 | .dropzone .dz-preview.dz-complete .dz-progress {
313 | opacity: 0;
314 | -webkit-transition: opacity 0.4s ease-in;
315 | -moz-transition: opacity 0.4s ease-in;
316 | -ms-transition: opacity 0.4s ease-in;
317 | -o-transition: opacity 0.4s ease-in;
318 | transition: opacity 0.4s ease-in; }
319 | .dropzone .dz-preview:not(.dz-processing) .dz-progress {
320 | -webkit-animation: pulse 6s ease infinite;
321 | -moz-animation: pulse 6s ease infinite;
322 | -ms-animation: pulse 6s ease infinite;
323 | -o-animation: pulse 6s ease infinite;
324 | animation: pulse 6s ease infinite; }
325 | .dropzone .dz-preview .dz-progress {
326 | opacity: 1;
327 | z-index: 1000;
328 | pointer-events: none;
329 | position: absolute;
330 | height: 16px;
331 | left: 50%;
332 | top: 50%;
333 | margin-top: -8px;
334 | width: 80px;
335 | margin-left: -40px;
336 | background: rgba(255, 255, 255, 0.9);
337 | -webkit-transform: scale(1);
338 | border-radius: 8px;
339 | overflow: hidden; }
340 | .dropzone .dz-preview .dz-progress .dz-upload {
341 | background: #333;
342 | background: linear-gradient(to bottom, #666, #444);
343 | position: absolute;
344 | top: 0;
345 | left: 0;
346 | bottom: 0;
347 | width: 0;
348 | -webkit-transition: width 300ms ease-in-out;
349 | -moz-transition: width 300ms ease-in-out;
350 | -ms-transition: width 300ms ease-in-out;
351 | -o-transition: width 300ms ease-in-out;
352 | transition: width 300ms ease-in-out; }
353 | .dropzone .dz-preview.dz-error .dz-error-message {
354 | display: block; }
355 | .dropzone .dz-preview.dz-error:hover .dz-error-message {
356 | opacity: 1;
357 | pointer-events: auto; }
358 | .dropzone .dz-preview .dz-error-message {
359 | pointer-events: none;
360 | z-index: 1000;
361 | position: absolute;
362 | display: block;
363 | display: none;
364 | opacity: 0;
365 | -webkit-transition: opacity 0.3s ease;
366 | -moz-transition: opacity 0.3s ease;
367 | -ms-transition: opacity 0.3s ease;
368 | -o-transition: opacity 0.3s ease;
369 | transition: opacity 0.3s ease;
370 | border-radius: 8px;
371 | font-size: 13px;
372 | top: 130px;
373 | left: -10px;
374 | width: 140px;
375 | background: #be2626;
376 | background: linear-gradient(to bottom, #be2626, #a92222);
377 | padding: 0.5em 1.2em;
378 | color: white; }
379 | .dropzone .dz-preview .dz-error-message:after {
380 | content: '';
381 | position: absolute;
382 | top: -6px;
383 | left: 64px;
384 | width: 0;
385 | height: 0;
386 | border-left: 6px solid transparent;
387 | border-right: 6px solid transparent;
388 | border-bottom: 6px solid #be2626; }
389 |
--------------------------------------------------------------------------------
/public/packages/dropzone/min/basic.min.css:
--------------------------------------------------------------------------------
1 | .dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:inline-block;width:120px;margin:0.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;width:0;background:green}.dropzone .dz-preview .dz-error-message{color:red;display:none}.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}
2 |
--------------------------------------------------------------------------------
/public/packages/dropzone/min/dropzone.min.css:
--------------------------------------------------------------------------------
1 | @-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,0.3);background:white;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:0.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:white}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,0.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,0.4);padding:0 0.4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity 0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity 0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse 6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,0.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom, #666, #444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width 300ms ease-in-out;-moz-transition:width 300ms ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width 300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity 0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);padding:0.5em 1.2em;color:white}.dropzone .dz-preview .dz-error-message:after{content:'';position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}
2 |
--------------------------------------------------------------------------------
/public/packages/dropzone/readme.md:
--------------------------------------------------------------------------------
1 | # Warning!
2 |
3 | You shouldn't pull these files from the github master branch directly!
4 |
5 | They might be outdated or not working at all since I normally only push them
6 | when I create a version release.
7 |
8 | To be sure to get a proper release, please go to the
9 | [dropzone releases section on github](https://github.com/enyo/dropzone/releases/latest).
10 |
11 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/public/packages/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/font-awesome/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/public/packages/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/font-awesome/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/public/packages/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/public/packages/font-awesome/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/spinning.less:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | @fa-font-path: "../fonts";
5 | @fa-font-size-base: 14px;
6 | @fa-line-height-base: 1;
7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.4.0/fonts"; // for referencing Bootstrap CDN font files directly
8 | @fa-css-prefix: fa;
9 | @fa-version: "4.4.0";
10 | @fa-border-color: #eee;
11 | @fa-inverse: #fff;
12 | @fa-li-width: (30em / 14);
13 |
14 | @fa-var-500px: "\f26e";
15 | @fa-var-adjust: "\f042";
16 | @fa-var-adn: "\f170";
17 | @fa-var-align-center: "\f037";
18 | @fa-var-align-justify: "\f039";
19 | @fa-var-align-left: "\f036";
20 | @fa-var-align-right: "\f038";
21 | @fa-var-amazon: "\f270";
22 | @fa-var-ambulance: "\f0f9";
23 | @fa-var-anchor: "\f13d";
24 | @fa-var-android: "\f17b";
25 | @fa-var-angellist: "\f209";
26 | @fa-var-angle-double-down: "\f103";
27 | @fa-var-angle-double-left: "\f100";
28 | @fa-var-angle-double-right: "\f101";
29 | @fa-var-angle-double-up: "\f102";
30 | @fa-var-angle-down: "\f107";
31 | @fa-var-angle-left: "\f104";
32 | @fa-var-angle-right: "\f105";
33 | @fa-var-angle-up: "\f106";
34 | @fa-var-apple: "\f179";
35 | @fa-var-archive: "\f187";
36 | @fa-var-area-chart: "\f1fe";
37 | @fa-var-arrow-circle-down: "\f0ab";
38 | @fa-var-arrow-circle-left: "\f0a8";
39 | @fa-var-arrow-circle-o-down: "\f01a";
40 | @fa-var-arrow-circle-o-left: "\f190";
41 | @fa-var-arrow-circle-o-right: "\f18e";
42 | @fa-var-arrow-circle-o-up: "\f01b";
43 | @fa-var-arrow-circle-right: "\f0a9";
44 | @fa-var-arrow-circle-up: "\f0aa";
45 | @fa-var-arrow-down: "\f063";
46 | @fa-var-arrow-left: "\f060";
47 | @fa-var-arrow-right: "\f061";
48 | @fa-var-arrow-up: "\f062";
49 | @fa-var-arrows: "\f047";
50 | @fa-var-arrows-alt: "\f0b2";
51 | @fa-var-arrows-h: "\f07e";
52 | @fa-var-arrows-v: "\f07d";
53 | @fa-var-asterisk: "\f069";
54 | @fa-var-at: "\f1fa";
55 | @fa-var-automobile: "\f1b9";
56 | @fa-var-backward: "\f04a";
57 | @fa-var-balance-scale: "\f24e";
58 | @fa-var-ban: "\f05e";
59 | @fa-var-bank: "\f19c";
60 | @fa-var-bar-chart: "\f080";
61 | @fa-var-bar-chart-o: "\f080";
62 | @fa-var-barcode: "\f02a";
63 | @fa-var-bars: "\f0c9";
64 | @fa-var-battery-0: "\f244";
65 | @fa-var-battery-1: "\f243";
66 | @fa-var-battery-2: "\f242";
67 | @fa-var-battery-3: "\f241";
68 | @fa-var-battery-4: "\f240";
69 | @fa-var-battery-empty: "\f244";
70 | @fa-var-battery-full: "\f240";
71 | @fa-var-battery-half: "\f242";
72 | @fa-var-battery-quarter: "\f243";
73 | @fa-var-battery-three-quarters: "\f241";
74 | @fa-var-bed: "\f236";
75 | @fa-var-beer: "\f0fc";
76 | @fa-var-behance: "\f1b4";
77 | @fa-var-behance-square: "\f1b5";
78 | @fa-var-bell: "\f0f3";
79 | @fa-var-bell-o: "\f0a2";
80 | @fa-var-bell-slash: "\f1f6";
81 | @fa-var-bell-slash-o: "\f1f7";
82 | @fa-var-bicycle: "\f206";
83 | @fa-var-binoculars: "\f1e5";
84 | @fa-var-birthday-cake: "\f1fd";
85 | @fa-var-bitbucket: "\f171";
86 | @fa-var-bitbucket-square: "\f172";
87 | @fa-var-bitcoin: "\f15a";
88 | @fa-var-black-tie: "\f27e";
89 | @fa-var-bold: "\f032";
90 | @fa-var-bolt: "\f0e7";
91 | @fa-var-bomb: "\f1e2";
92 | @fa-var-book: "\f02d";
93 | @fa-var-bookmark: "\f02e";
94 | @fa-var-bookmark-o: "\f097";
95 | @fa-var-briefcase: "\f0b1";
96 | @fa-var-btc: "\f15a";
97 | @fa-var-bug: "\f188";
98 | @fa-var-building: "\f1ad";
99 | @fa-var-building-o: "\f0f7";
100 | @fa-var-bullhorn: "\f0a1";
101 | @fa-var-bullseye: "\f140";
102 | @fa-var-bus: "\f207";
103 | @fa-var-buysellads: "\f20d";
104 | @fa-var-cab: "\f1ba";
105 | @fa-var-calculator: "\f1ec";
106 | @fa-var-calendar: "\f073";
107 | @fa-var-calendar-check-o: "\f274";
108 | @fa-var-calendar-minus-o: "\f272";
109 | @fa-var-calendar-o: "\f133";
110 | @fa-var-calendar-plus-o: "\f271";
111 | @fa-var-calendar-times-o: "\f273";
112 | @fa-var-camera: "\f030";
113 | @fa-var-camera-retro: "\f083";
114 | @fa-var-car: "\f1b9";
115 | @fa-var-caret-down: "\f0d7";
116 | @fa-var-caret-left: "\f0d9";
117 | @fa-var-caret-right: "\f0da";
118 | @fa-var-caret-square-o-down: "\f150";
119 | @fa-var-caret-square-o-left: "\f191";
120 | @fa-var-caret-square-o-right: "\f152";
121 | @fa-var-caret-square-o-up: "\f151";
122 | @fa-var-caret-up: "\f0d8";
123 | @fa-var-cart-arrow-down: "\f218";
124 | @fa-var-cart-plus: "\f217";
125 | @fa-var-cc: "\f20a";
126 | @fa-var-cc-amex: "\f1f3";
127 | @fa-var-cc-diners-club: "\f24c";
128 | @fa-var-cc-discover: "\f1f2";
129 | @fa-var-cc-jcb: "\f24b";
130 | @fa-var-cc-mastercard: "\f1f1";
131 | @fa-var-cc-paypal: "\f1f4";
132 | @fa-var-cc-stripe: "\f1f5";
133 | @fa-var-cc-visa: "\f1f0";
134 | @fa-var-certificate: "\f0a3";
135 | @fa-var-chain: "\f0c1";
136 | @fa-var-chain-broken: "\f127";
137 | @fa-var-check: "\f00c";
138 | @fa-var-check-circle: "\f058";
139 | @fa-var-check-circle-o: "\f05d";
140 | @fa-var-check-square: "\f14a";
141 | @fa-var-check-square-o: "\f046";
142 | @fa-var-chevron-circle-down: "\f13a";
143 | @fa-var-chevron-circle-left: "\f137";
144 | @fa-var-chevron-circle-right: "\f138";
145 | @fa-var-chevron-circle-up: "\f139";
146 | @fa-var-chevron-down: "\f078";
147 | @fa-var-chevron-left: "\f053";
148 | @fa-var-chevron-right: "\f054";
149 | @fa-var-chevron-up: "\f077";
150 | @fa-var-child: "\f1ae";
151 | @fa-var-chrome: "\f268";
152 | @fa-var-circle: "\f111";
153 | @fa-var-circle-o: "\f10c";
154 | @fa-var-circle-o-notch: "\f1ce";
155 | @fa-var-circle-thin: "\f1db";
156 | @fa-var-clipboard: "\f0ea";
157 | @fa-var-clock-o: "\f017";
158 | @fa-var-clone: "\f24d";
159 | @fa-var-close: "\f00d";
160 | @fa-var-cloud: "\f0c2";
161 | @fa-var-cloud-download: "\f0ed";
162 | @fa-var-cloud-upload: "\f0ee";
163 | @fa-var-cny: "\f157";
164 | @fa-var-code: "\f121";
165 | @fa-var-code-fork: "\f126";
166 | @fa-var-codepen: "\f1cb";
167 | @fa-var-coffee: "\f0f4";
168 | @fa-var-cog: "\f013";
169 | @fa-var-cogs: "\f085";
170 | @fa-var-columns: "\f0db";
171 | @fa-var-comment: "\f075";
172 | @fa-var-comment-o: "\f0e5";
173 | @fa-var-commenting: "\f27a";
174 | @fa-var-commenting-o: "\f27b";
175 | @fa-var-comments: "\f086";
176 | @fa-var-comments-o: "\f0e6";
177 | @fa-var-compass: "\f14e";
178 | @fa-var-compress: "\f066";
179 | @fa-var-connectdevelop: "\f20e";
180 | @fa-var-contao: "\f26d";
181 | @fa-var-copy: "\f0c5";
182 | @fa-var-copyright: "\f1f9";
183 | @fa-var-creative-commons: "\f25e";
184 | @fa-var-credit-card: "\f09d";
185 | @fa-var-crop: "\f125";
186 | @fa-var-crosshairs: "\f05b";
187 | @fa-var-css3: "\f13c";
188 | @fa-var-cube: "\f1b2";
189 | @fa-var-cubes: "\f1b3";
190 | @fa-var-cut: "\f0c4";
191 | @fa-var-cutlery: "\f0f5";
192 | @fa-var-dashboard: "\f0e4";
193 | @fa-var-dashcube: "\f210";
194 | @fa-var-database: "\f1c0";
195 | @fa-var-dedent: "\f03b";
196 | @fa-var-delicious: "\f1a5";
197 | @fa-var-desktop: "\f108";
198 | @fa-var-deviantart: "\f1bd";
199 | @fa-var-diamond: "\f219";
200 | @fa-var-digg: "\f1a6";
201 | @fa-var-dollar: "\f155";
202 | @fa-var-dot-circle-o: "\f192";
203 | @fa-var-download: "\f019";
204 | @fa-var-dribbble: "\f17d";
205 | @fa-var-dropbox: "\f16b";
206 | @fa-var-drupal: "\f1a9";
207 | @fa-var-edit: "\f044";
208 | @fa-var-eject: "\f052";
209 | @fa-var-ellipsis-h: "\f141";
210 | @fa-var-ellipsis-v: "\f142";
211 | @fa-var-empire: "\f1d1";
212 | @fa-var-envelope: "\f0e0";
213 | @fa-var-envelope-o: "\f003";
214 | @fa-var-envelope-square: "\f199";
215 | @fa-var-eraser: "\f12d";
216 | @fa-var-eur: "\f153";
217 | @fa-var-euro: "\f153";
218 | @fa-var-exchange: "\f0ec";
219 | @fa-var-exclamation: "\f12a";
220 | @fa-var-exclamation-circle: "\f06a";
221 | @fa-var-exclamation-triangle: "\f071";
222 | @fa-var-expand: "\f065";
223 | @fa-var-expeditedssl: "\f23e";
224 | @fa-var-external-link: "\f08e";
225 | @fa-var-external-link-square: "\f14c";
226 | @fa-var-eye: "\f06e";
227 | @fa-var-eye-slash: "\f070";
228 | @fa-var-eyedropper: "\f1fb";
229 | @fa-var-facebook: "\f09a";
230 | @fa-var-facebook-f: "\f09a";
231 | @fa-var-facebook-official: "\f230";
232 | @fa-var-facebook-square: "\f082";
233 | @fa-var-fast-backward: "\f049";
234 | @fa-var-fast-forward: "\f050";
235 | @fa-var-fax: "\f1ac";
236 | @fa-var-feed: "\f09e";
237 | @fa-var-female: "\f182";
238 | @fa-var-fighter-jet: "\f0fb";
239 | @fa-var-file: "\f15b";
240 | @fa-var-file-archive-o: "\f1c6";
241 | @fa-var-file-audio-o: "\f1c7";
242 | @fa-var-file-code-o: "\f1c9";
243 | @fa-var-file-excel-o: "\f1c3";
244 | @fa-var-file-image-o: "\f1c5";
245 | @fa-var-file-movie-o: "\f1c8";
246 | @fa-var-file-o: "\f016";
247 | @fa-var-file-pdf-o: "\f1c1";
248 | @fa-var-file-photo-o: "\f1c5";
249 | @fa-var-file-picture-o: "\f1c5";
250 | @fa-var-file-powerpoint-o: "\f1c4";
251 | @fa-var-file-sound-o: "\f1c7";
252 | @fa-var-file-text: "\f15c";
253 | @fa-var-file-text-o: "\f0f6";
254 | @fa-var-file-video-o: "\f1c8";
255 | @fa-var-file-word-o: "\f1c2";
256 | @fa-var-file-zip-o: "\f1c6";
257 | @fa-var-files-o: "\f0c5";
258 | @fa-var-film: "\f008";
259 | @fa-var-filter: "\f0b0";
260 | @fa-var-fire: "\f06d";
261 | @fa-var-fire-extinguisher: "\f134";
262 | @fa-var-firefox: "\f269";
263 | @fa-var-flag: "\f024";
264 | @fa-var-flag-checkered: "\f11e";
265 | @fa-var-flag-o: "\f11d";
266 | @fa-var-flash: "\f0e7";
267 | @fa-var-flask: "\f0c3";
268 | @fa-var-flickr: "\f16e";
269 | @fa-var-floppy-o: "\f0c7";
270 | @fa-var-folder: "\f07b";
271 | @fa-var-folder-o: "\f114";
272 | @fa-var-folder-open: "\f07c";
273 | @fa-var-folder-open-o: "\f115";
274 | @fa-var-font: "\f031";
275 | @fa-var-fonticons: "\f280";
276 | @fa-var-forumbee: "\f211";
277 | @fa-var-forward: "\f04e";
278 | @fa-var-foursquare: "\f180";
279 | @fa-var-frown-o: "\f119";
280 | @fa-var-futbol-o: "\f1e3";
281 | @fa-var-gamepad: "\f11b";
282 | @fa-var-gavel: "\f0e3";
283 | @fa-var-gbp: "\f154";
284 | @fa-var-ge: "\f1d1";
285 | @fa-var-gear: "\f013";
286 | @fa-var-gears: "\f085";
287 | @fa-var-genderless: "\f22d";
288 | @fa-var-get-pocket: "\f265";
289 | @fa-var-gg: "\f260";
290 | @fa-var-gg-circle: "\f261";
291 | @fa-var-gift: "\f06b";
292 | @fa-var-git: "\f1d3";
293 | @fa-var-git-square: "\f1d2";
294 | @fa-var-github: "\f09b";
295 | @fa-var-github-alt: "\f113";
296 | @fa-var-github-square: "\f092";
297 | @fa-var-gittip: "\f184";
298 | @fa-var-glass: "\f000";
299 | @fa-var-globe: "\f0ac";
300 | @fa-var-google: "\f1a0";
301 | @fa-var-google-plus: "\f0d5";
302 | @fa-var-google-plus-square: "\f0d4";
303 | @fa-var-google-wallet: "\f1ee";
304 | @fa-var-graduation-cap: "\f19d";
305 | @fa-var-gratipay: "\f184";
306 | @fa-var-group: "\f0c0";
307 | @fa-var-h-square: "\f0fd";
308 | @fa-var-hacker-news: "\f1d4";
309 | @fa-var-hand-grab-o: "\f255";
310 | @fa-var-hand-lizard-o: "\f258";
311 | @fa-var-hand-o-down: "\f0a7";
312 | @fa-var-hand-o-left: "\f0a5";
313 | @fa-var-hand-o-right: "\f0a4";
314 | @fa-var-hand-o-up: "\f0a6";
315 | @fa-var-hand-paper-o: "\f256";
316 | @fa-var-hand-peace-o: "\f25b";
317 | @fa-var-hand-pointer-o: "\f25a";
318 | @fa-var-hand-rock-o: "\f255";
319 | @fa-var-hand-scissors-o: "\f257";
320 | @fa-var-hand-spock-o: "\f259";
321 | @fa-var-hand-stop-o: "\f256";
322 | @fa-var-hdd-o: "\f0a0";
323 | @fa-var-header: "\f1dc";
324 | @fa-var-headphones: "\f025";
325 | @fa-var-heart: "\f004";
326 | @fa-var-heart-o: "\f08a";
327 | @fa-var-heartbeat: "\f21e";
328 | @fa-var-history: "\f1da";
329 | @fa-var-home: "\f015";
330 | @fa-var-hospital-o: "\f0f8";
331 | @fa-var-hotel: "\f236";
332 | @fa-var-hourglass: "\f254";
333 | @fa-var-hourglass-1: "\f251";
334 | @fa-var-hourglass-2: "\f252";
335 | @fa-var-hourglass-3: "\f253";
336 | @fa-var-hourglass-end: "\f253";
337 | @fa-var-hourglass-half: "\f252";
338 | @fa-var-hourglass-o: "\f250";
339 | @fa-var-hourglass-start: "\f251";
340 | @fa-var-houzz: "\f27c";
341 | @fa-var-html5: "\f13b";
342 | @fa-var-i-cursor: "\f246";
343 | @fa-var-ils: "\f20b";
344 | @fa-var-image: "\f03e";
345 | @fa-var-inbox: "\f01c";
346 | @fa-var-indent: "\f03c";
347 | @fa-var-industry: "\f275";
348 | @fa-var-info: "\f129";
349 | @fa-var-info-circle: "\f05a";
350 | @fa-var-inr: "\f156";
351 | @fa-var-instagram: "\f16d";
352 | @fa-var-institution: "\f19c";
353 | @fa-var-internet-explorer: "\f26b";
354 | @fa-var-intersex: "\f224";
355 | @fa-var-ioxhost: "\f208";
356 | @fa-var-italic: "\f033";
357 | @fa-var-joomla: "\f1aa";
358 | @fa-var-jpy: "\f157";
359 | @fa-var-jsfiddle: "\f1cc";
360 | @fa-var-key: "\f084";
361 | @fa-var-keyboard-o: "\f11c";
362 | @fa-var-krw: "\f159";
363 | @fa-var-language: "\f1ab";
364 | @fa-var-laptop: "\f109";
365 | @fa-var-lastfm: "\f202";
366 | @fa-var-lastfm-square: "\f203";
367 | @fa-var-leaf: "\f06c";
368 | @fa-var-leanpub: "\f212";
369 | @fa-var-legal: "\f0e3";
370 | @fa-var-lemon-o: "\f094";
371 | @fa-var-level-down: "\f149";
372 | @fa-var-level-up: "\f148";
373 | @fa-var-life-bouy: "\f1cd";
374 | @fa-var-life-buoy: "\f1cd";
375 | @fa-var-life-ring: "\f1cd";
376 | @fa-var-life-saver: "\f1cd";
377 | @fa-var-lightbulb-o: "\f0eb";
378 | @fa-var-line-chart: "\f201";
379 | @fa-var-link: "\f0c1";
380 | @fa-var-linkedin: "\f0e1";
381 | @fa-var-linkedin-square: "\f08c";
382 | @fa-var-linux: "\f17c";
383 | @fa-var-list: "\f03a";
384 | @fa-var-list-alt: "\f022";
385 | @fa-var-list-ol: "\f0cb";
386 | @fa-var-list-ul: "\f0ca";
387 | @fa-var-location-arrow: "\f124";
388 | @fa-var-lock: "\f023";
389 | @fa-var-long-arrow-down: "\f175";
390 | @fa-var-long-arrow-left: "\f177";
391 | @fa-var-long-arrow-right: "\f178";
392 | @fa-var-long-arrow-up: "\f176";
393 | @fa-var-magic: "\f0d0";
394 | @fa-var-magnet: "\f076";
395 | @fa-var-mail-forward: "\f064";
396 | @fa-var-mail-reply: "\f112";
397 | @fa-var-mail-reply-all: "\f122";
398 | @fa-var-male: "\f183";
399 | @fa-var-map: "\f279";
400 | @fa-var-map-marker: "\f041";
401 | @fa-var-map-o: "\f278";
402 | @fa-var-map-pin: "\f276";
403 | @fa-var-map-signs: "\f277";
404 | @fa-var-mars: "\f222";
405 | @fa-var-mars-double: "\f227";
406 | @fa-var-mars-stroke: "\f229";
407 | @fa-var-mars-stroke-h: "\f22b";
408 | @fa-var-mars-stroke-v: "\f22a";
409 | @fa-var-maxcdn: "\f136";
410 | @fa-var-meanpath: "\f20c";
411 | @fa-var-medium: "\f23a";
412 | @fa-var-medkit: "\f0fa";
413 | @fa-var-meh-o: "\f11a";
414 | @fa-var-mercury: "\f223";
415 | @fa-var-microphone: "\f130";
416 | @fa-var-microphone-slash: "\f131";
417 | @fa-var-minus: "\f068";
418 | @fa-var-minus-circle: "\f056";
419 | @fa-var-minus-square: "\f146";
420 | @fa-var-minus-square-o: "\f147";
421 | @fa-var-mobile: "\f10b";
422 | @fa-var-mobile-phone: "\f10b";
423 | @fa-var-money: "\f0d6";
424 | @fa-var-moon-o: "\f186";
425 | @fa-var-mortar-board: "\f19d";
426 | @fa-var-motorcycle: "\f21c";
427 | @fa-var-mouse-pointer: "\f245";
428 | @fa-var-music: "\f001";
429 | @fa-var-navicon: "\f0c9";
430 | @fa-var-neuter: "\f22c";
431 | @fa-var-newspaper-o: "\f1ea";
432 | @fa-var-object-group: "\f247";
433 | @fa-var-object-ungroup: "\f248";
434 | @fa-var-odnoklassniki: "\f263";
435 | @fa-var-odnoklassniki-square: "\f264";
436 | @fa-var-opencart: "\f23d";
437 | @fa-var-openid: "\f19b";
438 | @fa-var-opera: "\f26a";
439 | @fa-var-optin-monster: "\f23c";
440 | @fa-var-outdent: "\f03b";
441 | @fa-var-pagelines: "\f18c";
442 | @fa-var-paint-brush: "\f1fc";
443 | @fa-var-paper-plane: "\f1d8";
444 | @fa-var-paper-plane-o: "\f1d9";
445 | @fa-var-paperclip: "\f0c6";
446 | @fa-var-paragraph: "\f1dd";
447 | @fa-var-paste: "\f0ea";
448 | @fa-var-pause: "\f04c";
449 | @fa-var-paw: "\f1b0";
450 | @fa-var-paypal: "\f1ed";
451 | @fa-var-pencil: "\f040";
452 | @fa-var-pencil-square: "\f14b";
453 | @fa-var-pencil-square-o: "\f044";
454 | @fa-var-phone: "\f095";
455 | @fa-var-phone-square: "\f098";
456 | @fa-var-photo: "\f03e";
457 | @fa-var-picture-o: "\f03e";
458 | @fa-var-pie-chart: "\f200";
459 | @fa-var-pied-piper: "\f1a7";
460 | @fa-var-pied-piper-alt: "\f1a8";
461 | @fa-var-pinterest: "\f0d2";
462 | @fa-var-pinterest-p: "\f231";
463 | @fa-var-pinterest-square: "\f0d3";
464 | @fa-var-plane: "\f072";
465 | @fa-var-play: "\f04b";
466 | @fa-var-play-circle: "\f144";
467 | @fa-var-play-circle-o: "\f01d";
468 | @fa-var-plug: "\f1e6";
469 | @fa-var-plus: "\f067";
470 | @fa-var-plus-circle: "\f055";
471 | @fa-var-plus-square: "\f0fe";
472 | @fa-var-plus-square-o: "\f196";
473 | @fa-var-power-off: "\f011";
474 | @fa-var-print: "\f02f";
475 | @fa-var-puzzle-piece: "\f12e";
476 | @fa-var-qq: "\f1d6";
477 | @fa-var-qrcode: "\f029";
478 | @fa-var-question: "\f128";
479 | @fa-var-question-circle: "\f059";
480 | @fa-var-quote-left: "\f10d";
481 | @fa-var-quote-right: "\f10e";
482 | @fa-var-ra: "\f1d0";
483 | @fa-var-random: "\f074";
484 | @fa-var-rebel: "\f1d0";
485 | @fa-var-recycle: "\f1b8";
486 | @fa-var-reddit: "\f1a1";
487 | @fa-var-reddit-square: "\f1a2";
488 | @fa-var-refresh: "\f021";
489 | @fa-var-registered: "\f25d";
490 | @fa-var-remove: "\f00d";
491 | @fa-var-renren: "\f18b";
492 | @fa-var-reorder: "\f0c9";
493 | @fa-var-repeat: "\f01e";
494 | @fa-var-reply: "\f112";
495 | @fa-var-reply-all: "\f122";
496 | @fa-var-retweet: "\f079";
497 | @fa-var-rmb: "\f157";
498 | @fa-var-road: "\f018";
499 | @fa-var-rocket: "\f135";
500 | @fa-var-rotate-left: "\f0e2";
501 | @fa-var-rotate-right: "\f01e";
502 | @fa-var-rouble: "\f158";
503 | @fa-var-rss: "\f09e";
504 | @fa-var-rss-square: "\f143";
505 | @fa-var-rub: "\f158";
506 | @fa-var-ruble: "\f158";
507 | @fa-var-rupee: "\f156";
508 | @fa-var-safari: "\f267";
509 | @fa-var-save: "\f0c7";
510 | @fa-var-scissors: "\f0c4";
511 | @fa-var-search: "\f002";
512 | @fa-var-search-minus: "\f010";
513 | @fa-var-search-plus: "\f00e";
514 | @fa-var-sellsy: "\f213";
515 | @fa-var-send: "\f1d8";
516 | @fa-var-send-o: "\f1d9";
517 | @fa-var-server: "\f233";
518 | @fa-var-share: "\f064";
519 | @fa-var-share-alt: "\f1e0";
520 | @fa-var-share-alt-square: "\f1e1";
521 | @fa-var-share-square: "\f14d";
522 | @fa-var-share-square-o: "\f045";
523 | @fa-var-shekel: "\f20b";
524 | @fa-var-sheqel: "\f20b";
525 | @fa-var-shield: "\f132";
526 | @fa-var-ship: "\f21a";
527 | @fa-var-shirtsinbulk: "\f214";
528 | @fa-var-shopping-cart: "\f07a";
529 | @fa-var-sign-in: "\f090";
530 | @fa-var-sign-out: "\f08b";
531 | @fa-var-signal: "\f012";
532 | @fa-var-simplybuilt: "\f215";
533 | @fa-var-sitemap: "\f0e8";
534 | @fa-var-skyatlas: "\f216";
535 | @fa-var-skype: "\f17e";
536 | @fa-var-slack: "\f198";
537 | @fa-var-sliders: "\f1de";
538 | @fa-var-slideshare: "\f1e7";
539 | @fa-var-smile-o: "\f118";
540 | @fa-var-soccer-ball-o: "\f1e3";
541 | @fa-var-sort: "\f0dc";
542 | @fa-var-sort-alpha-asc: "\f15d";
543 | @fa-var-sort-alpha-desc: "\f15e";
544 | @fa-var-sort-amount-asc: "\f160";
545 | @fa-var-sort-amount-desc: "\f161";
546 | @fa-var-sort-asc: "\f0de";
547 | @fa-var-sort-desc: "\f0dd";
548 | @fa-var-sort-down: "\f0dd";
549 | @fa-var-sort-numeric-asc: "\f162";
550 | @fa-var-sort-numeric-desc: "\f163";
551 | @fa-var-sort-up: "\f0de";
552 | @fa-var-soundcloud: "\f1be";
553 | @fa-var-space-shuttle: "\f197";
554 | @fa-var-spinner: "\f110";
555 | @fa-var-spoon: "\f1b1";
556 | @fa-var-spotify: "\f1bc";
557 | @fa-var-square: "\f0c8";
558 | @fa-var-square-o: "\f096";
559 | @fa-var-stack-exchange: "\f18d";
560 | @fa-var-stack-overflow: "\f16c";
561 | @fa-var-star: "\f005";
562 | @fa-var-star-half: "\f089";
563 | @fa-var-star-half-empty: "\f123";
564 | @fa-var-star-half-full: "\f123";
565 | @fa-var-star-half-o: "\f123";
566 | @fa-var-star-o: "\f006";
567 | @fa-var-steam: "\f1b6";
568 | @fa-var-steam-square: "\f1b7";
569 | @fa-var-step-backward: "\f048";
570 | @fa-var-step-forward: "\f051";
571 | @fa-var-stethoscope: "\f0f1";
572 | @fa-var-sticky-note: "\f249";
573 | @fa-var-sticky-note-o: "\f24a";
574 | @fa-var-stop: "\f04d";
575 | @fa-var-street-view: "\f21d";
576 | @fa-var-strikethrough: "\f0cc";
577 | @fa-var-stumbleupon: "\f1a4";
578 | @fa-var-stumbleupon-circle: "\f1a3";
579 | @fa-var-subscript: "\f12c";
580 | @fa-var-subway: "\f239";
581 | @fa-var-suitcase: "\f0f2";
582 | @fa-var-sun-o: "\f185";
583 | @fa-var-superscript: "\f12b";
584 | @fa-var-support: "\f1cd";
585 | @fa-var-table: "\f0ce";
586 | @fa-var-tablet: "\f10a";
587 | @fa-var-tachometer: "\f0e4";
588 | @fa-var-tag: "\f02b";
589 | @fa-var-tags: "\f02c";
590 | @fa-var-tasks: "\f0ae";
591 | @fa-var-taxi: "\f1ba";
592 | @fa-var-television: "\f26c";
593 | @fa-var-tencent-weibo: "\f1d5";
594 | @fa-var-terminal: "\f120";
595 | @fa-var-text-height: "\f034";
596 | @fa-var-text-width: "\f035";
597 | @fa-var-th: "\f00a";
598 | @fa-var-th-large: "\f009";
599 | @fa-var-th-list: "\f00b";
600 | @fa-var-thumb-tack: "\f08d";
601 | @fa-var-thumbs-down: "\f165";
602 | @fa-var-thumbs-o-down: "\f088";
603 | @fa-var-thumbs-o-up: "\f087";
604 | @fa-var-thumbs-up: "\f164";
605 | @fa-var-ticket: "\f145";
606 | @fa-var-times: "\f00d";
607 | @fa-var-times-circle: "\f057";
608 | @fa-var-times-circle-o: "\f05c";
609 | @fa-var-tint: "\f043";
610 | @fa-var-toggle-down: "\f150";
611 | @fa-var-toggle-left: "\f191";
612 | @fa-var-toggle-off: "\f204";
613 | @fa-var-toggle-on: "\f205";
614 | @fa-var-toggle-right: "\f152";
615 | @fa-var-toggle-up: "\f151";
616 | @fa-var-trademark: "\f25c";
617 | @fa-var-train: "\f238";
618 | @fa-var-transgender: "\f224";
619 | @fa-var-transgender-alt: "\f225";
620 | @fa-var-trash: "\f1f8";
621 | @fa-var-trash-o: "\f014";
622 | @fa-var-tree: "\f1bb";
623 | @fa-var-trello: "\f181";
624 | @fa-var-tripadvisor: "\f262";
625 | @fa-var-trophy: "\f091";
626 | @fa-var-truck: "\f0d1";
627 | @fa-var-try: "\f195";
628 | @fa-var-tty: "\f1e4";
629 | @fa-var-tumblr: "\f173";
630 | @fa-var-tumblr-square: "\f174";
631 | @fa-var-turkish-lira: "\f195";
632 | @fa-var-tv: "\f26c";
633 | @fa-var-twitch: "\f1e8";
634 | @fa-var-twitter: "\f099";
635 | @fa-var-twitter-square: "\f081";
636 | @fa-var-umbrella: "\f0e9";
637 | @fa-var-underline: "\f0cd";
638 | @fa-var-undo: "\f0e2";
639 | @fa-var-university: "\f19c";
640 | @fa-var-unlink: "\f127";
641 | @fa-var-unlock: "\f09c";
642 | @fa-var-unlock-alt: "\f13e";
643 | @fa-var-unsorted: "\f0dc";
644 | @fa-var-upload: "\f093";
645 | @fa-var-usd: "\f155";
646 | @fa-var-user: "\f007";
647 | @fa-var-user-md: "\f0f0";
648 | @fa-var-user-plus: "\f234";
649 | @fa-var-user-secret: "\f21b";
650 | @fa-var-user-times: "\f235";
651 | @fa-var-users: "\f0c0";
652 | @fa-var-venus: "\f221";
653 | @fa-var-venus-double: "\f226";
654 | @fa-var-venus-mars: "\f228";
655 | @fa-var-viacoin: "\f237";
656 | @fa-var-video-camera: "\f03d";
657 | @fa-var-vimeo: "\f27d";
658 | @fa-var-vimeo-square: "\f194";
659 | @fa-var-vine: "\f1ca";
660 | @fa-var-vk: "\f189";
661 | @fa-var-volume-down: "\f027";
662 | @fa-var-volume-off: "\f026";
663 | @fa-var-volume-up: "\f028";
664 | @fa-var-warning: "\f071";
665 | @fa-var-wechat: "\f1d7";
666 | @fa-var-weibo: "\f18a";
667 | @fa-var-weixin: "\f1d7";
668 | @fa-var-whatsapp: "\f232";
669 | @fa-var-wheelchair: "\f193";
670 | @fa-var-wifi: "\f1eb";
671 | @fa-var-wikipedia-w: "\f266";
672 | @fa-var-windows: "\f17a";
673 | @fa-var-won: "\f159";
674 | @fa-var-wordpress: "\f19a";
675 | @fa-var-wrench: "\f0ad";
676 | @fa-var-xing: "\f168";
677 | @fa-var-xing-square: "\f169";
678 | @fa-var-y-combinator: "\f23b";
679 | @fa-var-y-combinator-square: "\f1d4";
680 | @fa-var-yahoo: "\f19e";
681 | @fa-var-yc: "\f23b";
682 | @fa-var-yc-square: "\f1d4";
683 | @fa-var-yelp: "\f1e9";
684 | @fa-var-yen: "\f157";
685 | @fa-var-youtube: "\f167";
686 | @fa-var-youtube-play: "\f16a";
687 | @fa-var-youtube-square: "\f166";
688 |
689 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_spinning.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | $fa-font-path: "../fonts" !default;
5 | $fa-font-size-base: 14px !default;
6 | $fa-line-height-base: 1 !default;
7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.4.0/fonts" !default; // for referencing Bootstrap CDN font files directly
8 | $fa-css-prefix: fa !default;
9 | $fa-version: "4.4.0" !default;
10 | $fa-border-color: #eee !default;
11 | $fa-inverse: #fff !default;
12 | $fa-li-width: (30em / 14) !default;
13 |
14 | $fa-var-500px: "\f26e";
15 | $fa-var-adjust: "\f042";
16 | $fa-var-adn: "\f170";
17 | $fa-var-align-center: "\f037";
18 | $fa-var-align-justify: "\f039";
19 | $fa-var-align-left: "\f036";
20 | $fa-var-align-right: "\f038";
21 | $fa-var-amazon: "\f270";
22 | $fa-var-ambulance: "\f0f9";
23 | $fa-var-anchor: "\f13d";
24 | $fa-var-android: "\f17b";
25 | $fa-var-angellist: "\f209";
26 | $fa-var-angle-double-down: "\f103";
27 | $fa-var-angle-double-left: "\f100";
28 | $fa-var-angle-double-right: "\f101";
29 | $fa-var-angle-double-up: "\f102";
30 | $fa-var-angle-down: "\f107";
31 | $fa-var-angle-left: "\f104";
32 | $fa-var-angle-right: "\f105";
33 | $fa-var-angle-up: "\f106";
34 | $fa-var-apple: "\f179";
35 | $fa-var-archive: "\f187";
36 | $fa-var-area-chart: "\f1fe";
37 | $fa-var-arrow-circle-down: "\f0ab";
38 | $fa-var-arrow-circle-left: "\f0a8";
39 | $fa-var-arrow-circle-o-down: "\f01a";
40 | $fa-var-arrow-circle-o-left: "\f190";
41 | $fa-var-arrow-circle-o-right: "\f18e";
42 | $fa-var-arrow-circle-o-up: "\f01b";
43 | $fa-var-arrow-circle-right: "\f0a9";
44 | $fa-var-arrow-circle-up: "\f0aa";
45 | $fa-var-arrow-down: "\f063";
46 | $fa-var-arrow-left: "\f060";
47 | $fa-var-arrow-right: "\f061";
48 | $fa-var-arrow-up: "\f062";
49 | $fa-var-arrows: "\f047";
50 | $fa-var-arrows-alt: "\f0b2";
51 | $fa-var-arrows-h: "\f07e";
52 | $fa-var-arrows-v: "\f07d";
53 | $fa-var-asterisk: "\f069";
54 | $fa-var-at: "\f1fa";
55 | $fa-var-automobile: "\f1b9";
56 | $fa-var-backward: "\f04a";
57 | $fa-var-balance-scale: "\f24e";
58 | $fa-var-ban: "\f05e";
59 | $fa-var-bank: "\f19c";
60 | $fa-var-bar-chart: "\f080";
61 | $fa-var-bar-chart-o: "\f080";
62 | $fa-var-barcode: "\f02a";
63 | $fa-var-bars: "\f0c9";
64 | $fa-var-battery-0: "\f244";
65 | $fa-var-battery-1: "\f243";
66 | $fa-var-battery-2: "\f242";
67 | $fa-var-battery-3: "\f241";
68 | $fa-var-battery-4: "\f240";
69 | $fa-var-battery-empty: "\f244";
70 | $fa-var-battery-full: "\f240";
71 | $fa-var-battery-half: "\f242";
72 | $fa-var-battery-quarter: "\f243";
73 | $fa-var-battery-three-quarters: "\f241";
74 | $fa-var-bed: "\f236";
75 | $fa-var-beer: "\f0fc";
76 | $fa-var-behance: "\f1b4";
77 | $fa-var-behance-square: "\f1b5";
78 | $fa-var-bell: "\f0f3";
79 | $fa-var-bell-o: "\f0a2";
80 | $fa-var-bell-slash: "\f1f6";
81 | $fa-var-bell-slash-o: "\f1f7";
82 | $fa-var-bicycle: "\f206";
83 | $fa-var-binoculars: "\f1e5";
84 | $fa-var-birthday-cake: "\f1fd";
85 | $fa-var-bitbucket: "\f171";
86 | $fa-var-bitbucket-square: "\f172";
87 | $fa-var-bitcoin: "\f15a";
88 | $fa-var-black-tie: "\f27e";
89 | $fa-var-bold: "\f032";
90 | $fa-var-bolt: "\f0e7";
91 | $fa-var-bomb: "\f1e2";
92 | $fa-var-book: "\f02d";
93 | $fa-var-bookmark: "\f02e";
94 | $fa-var-bookmark-o: "\f097";
95 | $fa-var-briefcase: "\f0b1";
96 | $fa-var-btc: "\f15a";
97 | $fa-var-bug: "\f188";
98 | $fa-var-building: "\f1ad";
99 | $fa-var-building-o: "\f0f7";
100 | $fa-var-bullhorn: "\f0a1";
101 | $fa-var-bullseye: "\f140";
102 | $fa-var-bus: "\f207";
103 | $fa-var-buysellads: "\f20d";
104 | $fa-var-cab: "\f1ba";
105 | $fa-var-calculator: "\f1ec";
106 | $fa-var-calendar: "\f073";
107 | $fa-var-calendar-check-o: "\f274";
108 | $fa-var-calendar-minus-o: "\f272";
109 | $fa-var-calendar-o: "\f133";
110 | $fa-var-calendar-plus-o: "\f271";
111 | $fa-var-calendar-times-o: "\f273";
112 | $fa-var-camera: "\f030";
113 | $fa-var-camera-retro: "\f083";
114 | $fa-var-car: "\f1b9";
115 | $fa-var-caret-down: "\f0d7";
116 | $fa-var-caret-left: "\f0d9";
117 | $fa-var-caret-right: "\f0da";
118 | $fa-var-caret-square-o-down: "\f150";
119 | $fa-var-caret-square-o-left: "\f191";
120 | $fa-var-caret-square-o-right: "\f152";
121 | $fa-var-caret-square-o-up: "\f151";
122 | $fa-var-caret-up: "\f0d8";
123 | $fa-var-cart-arrow-down: "\f218";
124 | $fa-var-cart-plus: "\f217";
125 | $fa-var-cc: "\f20a";
126 | $fa-var-cc-amex: "\f1f3";
127 | $fa-var-cc-diners-club: "\f24c";
128 | $fa-var-cc-discover: "\f1f2";
129 | $fa-var-cc-jcb: "\f24b";
130 | $fa-var-cc-mastercard: "\f1f1";
131 | $fa-var-cc-paypal: "\f1f4";
132 | $fa-var-cc-stripe: "\f1f5";
133 | $fa-var-cc-visa: "\f1f0";
134 | $fa-var-certificate: "\f0a3";
135 | $fa-var-chain: "\f0c1";
136 | $fa-var-chain-broken: "\f127";
137 | $fa-var-check: "\f00c";
138 | $fa-var-check-circle: "\f058";
139 | $fa-var-check-circle-o: "\f05d";
140 | $fa-var-check-square: "\f14a";
141 | $fa-var-check-square-o: "\f046";
142 | $fa-var-chevron-circle-down: "\f13a";
143 | $fa-var-chevron-circle-left: "\f137";
144 | $fa-var-chevron-circle-right: "\f138";
145 | $fa-var-chevron-circle-up: "\f139";
146 | $fa-var-chevron-down: "\f078";
147 | $fa-var-chevron-left: "\f053";
148 | $fa-var-chevron-right: "\f054";
149 | $fa-var-chevron-up: "\f077";
150 | $fa-var-child: "\f1ae";
151 | $fa-var-chrome: "\f268";
152 | $fa-var-circle: "\f111";
153 | $fa-var-circle-o: "\f10c";
154 | $fa-var-circle-o-notch: "\f1ce";
155 | $fa-var-circle-thin: "\f1db";
156 | $fa-var-clipboard: "\f0ea";
157 | $fa-var-clock-o: "\f017";
158 | $fa-var-clone: "\f24d";
159 | $fa-var-close: "\f00d";
160 | $fa-var-cloud: "\f0c2";
161 | $fa-var-cloud-download: "\f0ed";
162 | $fa-var-cloud-upload: "\f0ee";
163 | $fa-var-cny: "\f157";
164 | $fa-var-code: "\f121";
165 | $fa-var-code-fork: "\f126";
166 | $fa-var-codepen: "\f1cb";
167 | $fa-var-coffee: "\f0f4";
168 | $fa-var-cog: "\f013";
169 | $fa-var-cogs: "\f085";
170 | $fa-var-columns: "\f0db";
171 | $fa-var-comment: "\f075";
172 | $fa-var-comment-o: "\f0e5";
173 | $fa-var-commenting: "\f27a";
174 | $fa-var-commenting-o: "\f27b";
175 | $fa-var-comments: "\f086";
176 | $fa-var-comments-o: "\f0e6";
177 | $fa-var-compass: "\f14e";
178 | $fa-var-compress: "\f066";
179 | $fa-var-connectdevelop: "\f20e";
180 | $fa-var-contao: "\f26d";
181 | $fa-var-copy: "\f0c5";
182 | $fa-var-copyright: "\f1f9";
183 | $fa-var-creative-commons: "\f25e";
184 | $fa-var-credit-card: "\f09d";
185 | $fa-var-crop: "\f125";
186 | $fa-var-crosshairs: "\f05b";
187 | $fa-var-css3: "\f13c";
188 | $fa-var-cube: "\f1b2";
189 | $fa-var-cubes: "\f1b3";
190 | $fa-var-cut: "\f0c4";
191 | $fa-var-cutlery: "\f0f5";
192 | $fa-var-dashboard: "\f0e4";
193 | $fa-var-dashcube: "\f210";
194 | $fa-var-database: "\f1c0";
195 | $fa-var-dedent: "\f03b";
196 | $fa-var-delicious: "\f1a5";
197 | $fa-var-desktop: "\f108";
198 | $fa-var-deviantart: "\f1bd";
199 | $fa-var-diamond: "\f219";
200 | $fa-var-digg: "\f1a6";
201 | $fa-var-dollar: "\f155";
202 | $fa-var-dot-circle-o: "\f192";
203 | $fa-var-download: "\f019";
204 | $fa-var-dribbble: "\f17d";
205 | $fa-var-dropbox: "\f16b";
206 | $fa-var-drupal: "\f1a9";
207 | $fa-var-edit: "\f044";
208 | $fa-var-eject: "\f052";
209 | $fa-var-ellipsis-h: "\f141";
210 | $fa-var-ellipsis-v: "\f142";
211 | $fa-var-empire: "\f1d1";
212 | $fa-var-envelope: "\f0e0";
213 | $fa-var-envelope-o: "\f003";
214 | $fa-var-envelope-square: "\f199";
215 | $fa-var-eraser: "\f12d";
216 | $fa-var-eur: "\f153";
217 | $fa-var-euro: "\f153";
218 | $fa-var-exchange: "\f0ec";
219 | $fa-var-exclamation: "\f12a";
220 | $fa-var-exclamation-circle: "\f06a";
221 | $fa-var-exclamation-triangle: "\f071";
222 | $fa-var-expand: "\f065";
223 | $fa-var-expeditedssl: "\f23e";
224 | $fa-var-external-link: "\f08e";
225 | $fa-var-external-link-square: "\f14c";
226 | $fa-var-eye: "\f06e";
227 | $fa-var-eye-slash: "\f070";
228 | $fa-var-eyedropper: "\f1fb";
229 | $fa-var-facebook: "\f09a";
230 | $fa-var-facebook-f: "\f09a";
231 | $fa-var-facebook-official: "\f230";
232 | $fa-var-facebook-square: "\f082";
233 | $fa-var-fast-backward: "\f049";
234 | $fa-var-fast-forward: "\f050";
235 | $fa-var-fax: "\f1ac";
236 | $fa-var-feed: "\f09e";
237 | $fa-var-female: "\f182";
238 | $fa-var-fighter-jet: "\f0fb";
239 | $fa-var-file: "\f15b";
240 | $fa-var-file-archive-o: "\f1c6";
241 | $fa-var-file-audio-o: "\f1c7";
242 | $fa-var-file-code-o: "\f1c9";
243 | $fa-var-file-excel-o: "\f1c3";
244 | $fa-var-file-image-o: "\f1c5";
245 | $fa-var-file-movie-o: "\f1c8";
246 | $fa-var-file-o: "\f016";
247 | $fa-var-file-pdf-o: "\f1c1";
248 | $fa-var-file-photo-o: "\f1c5";
249 | $fa-var-file-picture-o: "\f1c5";
250 | $fa-var-file-powerpoint-o: "\f1c4";
251 | $fa-var-file-sound-o: "\f1c7";
252 | $fa-var-file-text: "\f15c";
253 | $fa-var-file-text-o: "\f0f6";
254 | $fa-var-file-video-o: "\f1c8";
255 | $fa-var-file-word-o: "\f1c2";
256 | $fa-var-file-zip-o: "\f1c6";
257 | $fa-var-files-o: "\f0c5";
258 | $fa-var-film: "\f008";
259 | $fa-var-filter: "\f0b0";
260 | $fa-var-fire: "\f06d";
261 | $fa-var-fire-extinguisher: "\f134";
262 | $fa-var-firefox: "\f269";
263 | $fa-var-flag: "\f024";
264 | $fa-var-flag-checkered: "\f11e";
265 | $fa-var-flag-o: "\f11d";
266 | $fa-var-flash: "\f0e7";
267 | $fa-var-flask: "\f0c3";
268 | $fa-var-flickr: "\f16e";
269 | $fa-var-floppy-o: "\f0c7";
270 | $fa-var-folder: "\f07b";
271 | $fa-var-folder-o: "\f114";
272 | $fa-var-folder-open: "\f07c";
273 | $fa-var-folder-open-o: "\f115";
274 | $fa-var-font: "\f031";
275 | $fa-var-fonticons: "\f280";
276 | $fa-var-forumbee: "\f211";
277 | $fa-var-forward: "\f04e";
278 | $fa-var-foursquare: "\f180";
279 | $fa-var-frown-o: "\f119";
280 | $fa-var-futbol-o: "\f1e3";
281 | $fa-var-gamepad: "\f11b";
282 | $fa-var-gavel: "\f0e3";
283 | $fa-var-gbp: "\f154";
284 | $fa-var-ge: "\f1d1";
285 | $fa-var-gear: "\f013";
286 | $fa-var-gears: "\f085";
287 | $fa-var-genderless: "\f22d";
288 | $fa-var-get-pocket: "\f265";
289 | $fa-var-gg: "\f260";
290 | $fa-var-gg-circle: "\f261";
291 | $fa-var-gift: "\f06b";
292 | $fa-var-git: "\f1d3";
293 | $fa-var-git-square: "\f1d2";
294 | $fa-var-github: "\f09b";
295 | $fa-var-github-alt: "\f113";
296 | $fa-var-github-square: "\f092";
297 | $fa-var-gittip: "\f184";
298 | $fa-var-glass: "\f000";
299 | $fa-var-globe: "\f0ac";
300 | $fa-var-google: "\f1a0";
301 | $fa-var-google-plus: "\f0d5";
302 | $fa-var-google-plus-square: "\f0d4";
303 | $fa-var-google-wallet: "\f1ee";
304 | $fa-var-graduation-cap: "\f19d";
305 | $fa-var-gratipay: "\f184";
306 | $fa-var-group: "\f0c0";
307 | $fa-var-h-square: "\f0fd";
308 | $fa-var-hacker-news: "\f1d4";
309 | $fa-var-hand-grab-o: "\f255";
310 | $fa-var-hand-lizard-o: "\f258";
311 | $fa-var-hand-o-down: "\f0a7";
312 | $fa-var-hand-o-left: "\f0a5";
313 | $fa-var-hand-o-right: "\f0a4";
314 | $fa-var-hand-o-up: "\f0a6";
315 | $fa-var-hand-paper-o: "\f256";
316 | $fa-var-hand-peace-o: "\f25b";
317 | $fa-var-hand-pointer-o: "\f25a";
318 | $fa-var-hand-rock-o: "\f255";
319 | $fa-var-hand-scissors-o: "\f257";
320 | $fa-var-hand-spock-o: "\f259";
321 | $fa-var-hand-stop-o: "\f256";
322 | $fa-var-hdd-o: "\f0a0";
323 | $fa-var-header: "\f1dc";
324 | $fa-var-headphones: "\f025";
325 | $fa-var-heart: "\f004";
326 | $fa-var-heart-o: "\f08a";
327 | $fa-var-heartbeat: "\f21e";
328 | $fa-var-history: "\f1da";
329 | $fa-var-home: "\f015";
330 | $fa-var-hospital-o: "\f0f8";
331 | $fa-var-hotel: "\f236";
332 | $fa-var-hourglass: "\f254";
333 | $fa-var-hourglass-1: "\f251";
334 | $fa-var-hourglass-2: "\f252";
335 | $fa-var-hourglass-3: "\f253";
336 | $fa-var-hourglass-end: "\f253";
337 | $fa-var-hourglass-half: "\f252";
338 | $fa-var-hourglass-o: "\f250";
339 | $fa-var-hourglass-start: "\f251";
340 | $fa-var-houzz: "\f27c";
341 | $fa-var-html5: "\f13b";
342 | $fa-var-i-cursor: "\f246";
343 | $fa-var-ils: "\f20b";
344 | $fa-var-image: "\f03e";
345 | $fa-var-inbox: "\f01c";
346 | $fa-var-indent: "\f03c";
347 | $fa-var-industry: "\f275";
348 | $fa-var-info: "\f129";
349 | $fa-var-info-circle: "\f05a";
350 | $fa-var-inr: "\f156";
351 | $fa-var-instagram: "\f16d";
352 | $fa-var-institution: "\f19c";
353 | $fa-var-internet-explorer: "\f26b";
354 | $fa-var-intersex: "\f224";
355 | $fa-var-ioxhost: "\f208";
356 | $fa-var-italic: "\f033";
357 | $fa-var-joomla: "\f1aa";
358 | $fa-var-jpy: "\f157";
359 | $fa-var-jsfiddle: "\f1cc";
360 | $fa-var-key: "\f084";
361 | $fa-var-keyboard-o: "\f11c";
362 | $fa-var-krw: "\f159";
363 | $fa-var-language: "\f1ab";
364 | $fa-var-laptop: "\f109";
365 | $fa-var-lastfm: "\f202";
366 | $fa-var-lastfm-square: "\f203";
367 | $fa-var-leaf: "\f06c";
368 | $fa-var-leanpub: "\f212";
369 | $fa-var-legal: "\f0e3";
370 | $fa-var-lemon-o: "\f094";
371 | $fa-var-level-down: "\f149";
372 | $fa-var-level-up: "\f148";
373 | $fa-var-life-bouy: "\f1cd";
374 | $fa-var-life-buoy: "\f1cd";
375 | $fa-var-life-ring: "\f1cd";
376 | $fa-var-life-saver: "\f1cd";
377 | $fa-var-lightbulb-o: "\f0eb";
378 | $fa-var-line-chart: "\f201";
379 | $fa-var-link: "\f0c1";
380 | $fa-var-linkedin: "\f0e1";
381 | $fa-var-linkedin-square: "\f08c";
382 | $fa-var-linux: "\f17c";
383 | $fa-var-list: "\f03a";
384 | $fa-var-list-alt: "\f022";
385 | $fa-var-list-ol: "\f0cb";
386 | $fa-var-list-ul: "\f0ca";
387 | $fa-var-location-arrow: "\f124";
388 | $fa-var-lock: "\f023";
389 | $fa-var-long-arrow-down: "\f175";
390 | $fa-var-long-arrow-left: "\f177";
391 | $fa-var-long-arrow-right: "\f178";
392 | $fa-var-long-arrow-up: "\f176";
393 | $fa-var-magic: "\f0d0";
394 | $fa-var-magnet: "\f076";
395 | $fa-var-mail-forward: "\f064";
396 | $fa-var-mail-reply: "\f112";
397 | $fa-var-mail-reply-all: "\f122";
398 | $fa-var-male: "\f183";
399 | $fa-var-map: "\f279";
400 | $fa-var-map-marker: "\f041";
401 | $fa-var-map-o: "\f278";
402 | $fa-var-map-pin: "\f276";
403 | $fa-var-map-signs: "\f277";
404 | $fa-var-mars: "\f222";
405 | $fa-var-mars-double: "\f227";
406 | $fa-var-mars-stroke: "\f229";
407 | $fa-var-mars-stroke-h: "\f22b";
408 | $fa-var-mars-stroke-v: "\f22a";
409 | $fa-var-maxcdn: "\f136";
410 | $fa-var-meanpath: "\f20c";
411 | $fa-var-medium: "\f23a";
412 | $fa-var-medkit: "\f0fa";
413 | $fa-var-meh-o: "\f11a";
414 | $fa-var-mercury: "\f223";
415 | $fa-var-microphone: "\f130";
416 | $fa-var-microphone-slash: "\f131";
417 | $fa-var-minus: "\f068";
418 | $fa-var-minus-circle: "\f056";
419 | $fa-var-minus-square: "\f146";
420 | $fa-var-minus-square-o: "\f147";
421 | $fa-var-mobile: "\f10b";
422 | $fa-var-mobile-phone: "\f10b";
423 | $fa-var-money: "\f0d6";
424 | $fa-var-moon-o: "\f186";
425 | $fa-var-mortar-board: "\f19d";
426 | $fa-var-motorcycle: "\f21c";
427 | $fa-var-mouse-pointer: "\f245";
428 | $fa-var-music: "\f001";
429 | $fa-var-navicon: "\f0c9";
430 | $fa-var-neuter: "\f22c";
431 | $fa-var-newspaper-o: "\f1ea";
432 | $fa-var-object-group: "\f247";
433 | $fa-var-object-ungroup: "\f248";
434 | $fa-var-odnoklassniki: "\f263";
435 | $fa-var-odnoklassniki-square: "\f264";
436 | $fa-var-opencart: "\f23d";
437 | $fa-var-openid: "\f19b";
438 | $fa-var-opera: "\f26a";
439 | $fa-var-optin-monster: "\f23c";
440 | $fa-var-outdent: "\f03b";
441 | $fa-var-pagelines: "\f18c";
442 | $fa-var-paint-brush: "\f1fc";
443 | $fa-var-paper-plane: "\f1d8";
444 | $fa-var-paper-plane-o: "\f1d9";
445 | $fa-var-paperclip: "\f0c6";
446 | $fa-var-paragraph: "\f1dd";
447 | $fa-var-paste: "\f0ea";
448 | $fa-var-pause: "\f04c";
449 | $fa-var-paw: "\f1b0";
450 | $fa-var-paypal: "\f1ed";
451 | $fa-var-pencil: "\f040";
452 | $fa-var-pencil-square: "\f14b";
453 | $fa-var-pencil-square-o: "\f044";
454 | $fa-var-phone: "\f095";
455 | $fa-var-phone-square: "\f098";
456 | $fa-var-photo: "\f03e";
457 | $fa-var-picture-o: "\f03e";
458 | $fa-var-pie-chart: "\f200";
459 | $fa-var-pied-piper: "\f1a7";
460 | $fa-var-pied-piper-alt: "\f1a8";
461 | $fa-var-pinterest: "\f0d2";
462 | $fa-var-pinterest-p: "\f231";
463 | $fa-var-pinterest-square: "\f0d3";
464 | $fa-var-plane: "\f072";
465 | $fa-var-play: "\f04b";
466 | $fa-var-play-circle: "\f144";
467 | $fa-var-play-circle-o: "\f01d";
468 | $fa-var-plug: "\f1e6";
469 | $fa-var-plus: "\f067";
470 | $fa-var-plus-circle: "\f055";
471 | $fa-var-plus-square: "\f0fe";
472 | $fa-var-plus-square-o: "\f196";
473 | $fa-var-power-off: "\f011";
474 | $fa-var-print: "\f02f";
475 | $fa-var-puzzle-piece: "\f12e";
476 | $fa-var-qq: "\f1d6";
477 | $fa-var-qrcode: "\f029";
478 | $fa-var-question: "\f128";
479 | $fa-var-question-circle: "\f059";
480 | $fa-var-quote-left: "\f10d";
481 | $fa-var-quote-right: "\f10e";
482 | $fa-var-ra: "\f1d0";
483 | $fa-var-random: "\f074";
484 | $fa-var-rebel: "\f1d0";
485 | $fa-var-recycle: "\f1b8";
486 | $fa-var-reddit: "\f1a1";
487 | $fa-var-reddit-square: "\f1a2";
488 | $fa-var-refresh: "\f021";
489 | $fa-var-registered: "\f25d";
490 | $fa-var-remove: "\f00d";
491 | $fa-var-renren: "\f18b";
492 | $fa-var-reorder: "\f0c9";
493 | $fa-var-repeat: "\f01e";
494 | $fa-var-reply: "\f112";
495 | $fa-var-reply-all: "\f122";
496 | $fa-var-retweet: "\f079";
497 | $fa-var-rmb: "\f157";
498 | $fa-var-road: "\f018";
499 | $fa-var-rocket: "\f135";
500 | $fa-var-rotate-left: "\f0e2";
501 | $fa-var-rotate-right: "\f01e";
502 | $fa-var-rouble: "\f158";
503 | $fa-var-rss: "\f09e";
504 | $fa-var-rss-square: "\f143";
505 | $fa-var-rub: "\f158";
506 | $fa-var-ruble: "\f158";
507 | $fa-var-rupee: "\f156";
508 | $fa-var-safari: "\f267";
509 | $fa-var-save: "\f0c7";
510 | $fa-var-scissors: "\f0c4";
511 | $fa-var-search: "\f002";
512 | $fa-var-search-minus: "\f010";
513 | $fa-var-search-plus: "\f00e";
514 | $fa-var-sellsy: "\f213";
515 | $fa-var-send: "\f1d8";
516 | $fa-var-send-o: "\f1d9";
517 | $fa-var-server: "\f233";
518 | $fa-var-share: "\f064";
519 | $fa-var-share-alt: "\f1e0";
520 | $fa-var-share-alt-square: "\f1e1";
521 | $fa-var-share-square: "\f14d";
522 | $fa-var-share-square-o: "\f045";
523 | $fa-var-shekel: "\f20b";
524 | $fa-var-sheqel: "\f20b";
525 | $fa-var-shield: "\f132";
526 | $fa-var-ship: "\f21a";
527 | $fa-var-shirtsinbulk: "\f214";
528 | $fa-var-shopping-cart: "\f07a";
529 | $fa-var-sign-in: "\f090";
530 | $fa-var-sign-out: "\f08b";
531 | $fa-var-signal: "\f012";
532 | $fa-var-simplybuilt: "\f215";
533 | $fa-var-sitemap: "\f0e8";
534 | $fa-var-skyatlas: "\f216";
535 | $fa-var-skype: "\f17e";
536 | $fa-var-slack: "\f198";
537 | $fa-var-sliders: "\f1de";
538 | $fa-var-slideshare: "\f1e7";
539 | $fa-var-smile-o: "\f118";
540 | $fa-var-soccer-ball-o: "\f1e3";
541 | $fa-var-sort: "\f0dc";
542 | $fa-var-sort-alpha-asc: "\f15d";
543 | $fa-var-sort-alpha-desc: "\f15e";
544 | $fa-var-sort-amount-asc: "\f160";
545 | $fa-var-sort-amount-desc: "\f161";
546 | $fa-var-sort-asc: "\f0de";
547 | $fa-var-sort-desc: "\f0dd";
548 | $fa-var-sort-down: "\f0dd";
549 | $fa-var-sort-numeric-asc: "\f162";
550 | $fa-var-sort-numeric-desc: "\f163";
551 | $fa-var-sort-up: "\f0de";
552 | $fa-var-soundcloud: "\f1be";
553 | $fa-var-space-shuttle: "\f197";
554 | $fa-var-spinner: "\f110";
555 | $fa-var-spoon: "\f1b1";
556 | $fa-var-spotify: "\f1bc";
557 | $fa-var-square: "\f0c8";
558 | $fa-var-square-o: "\f096";
559 | $fa-var-stack-exchange: "\f18d";
560 | $fa-var-stack-overflow: "\f16c";
561 | $fa-var-star: "\f005";
562 | $fa-var-star-half: "\f089";
563 | $fa-var-star-half-empty: "\f123";
564 | $fa-var-star-half-full: "\f123";
565 | $fa-var-star-half-o: "\f123";
566 | $fa-var-star-o: "\f006";
567 | $fa-var-steam: "\f1b6";
568 | $fa-var-steam-square: "\f1b7";
569 | $fa-var-step-backward: "\f048";
570 | $fa-var-step-forward: "\f051";
571 | $fa-var-stethoscope: "\f0f1";
572 | $fa-var-sticky-note: "\f249";
573 | $fa-var-sticky-note-o: "\f24a";
574 | $fa-var-stop: "\f04d";
575 | $fa-var-street-view: "\f21d";
576 | $fa-var-strikethrough: "\f0cc";
577 | $fa-var-stumbleupon: "\f1a4";
578 | $fa-var-stumbleupon-circle: "\f1a3";
579 | $fa-var-subscript: "\f12c";
580 | $fa-var-subway: "\f239";
581 | $fa-var-suitcase: "\f0f2";
582 | $fa-var-sun-o: "\f185";
583 | $fa-var-superscript: "\f12b";
584 | $fa-var-support: "\f1cd";
585 | $fa-var-table: "\f0ce";
586 | $fa-var-tablet: "\f10a";
587 | $fa-var-tachometer: "\f0e4";
588 | $fa-var-tag: "\f02b";
589 | $fa-var-tags: "\f02c";
590 | $fa-var-tasks: "\f0ae";
591 | $fa-var-taxi: "\f1ba";
592 | $fa-var-television: "\f26c";
593 | $fa-var-tencent-weibo: "\f1d5";
594 | $fa-var-terminal: "\f120";
595 | $fa-var-text-height: "\f034";
596 | $fa-var-text-width: "\f035";
597 | $fa-var-th: "\f00a";
598 | $fa-var-th-large: "\f009";
599 | $fa-var-th-list: "\f00b";
600 | $fa-var-thumb-tack: "\f08d";
601 | $fa-var-thumbs-down: "\f165";
602 | $fa-var-thumbs-o-down: "\f088";
603 | $fa-var-thumbs-o-up: "\f087";
604 | $fa-var-thumbs-up: "\f164";
605 | $fa-var-ticket: "\f145";
606 | $fa-var-times: "\f00d";
607 | $fa-var-times-circle: "\f057";
608 | $fa-var-times-circle-o: "\f05c";
609 | $fa-var-tint: "\f043";
610 | $fa-var-toggle-down: "\f150";
611 | $fa-var-toggle-left: "\f191";
612 | $fa-var-toggle-off: "\f204";
613 | $fa-var-toggle-on: "\f205";
614 | $fa-var-toggle-right: "\f152";
615 | $fa-var-toggle-up: "\f151";
616 | $fa-var-trademark: "\f25c";
617 | $fa-var-train: "\f238";
618 | $fa-var-transgender: "\f224";
619 | $fa-var-transgender-alt: "\f225";
620 | $fa-var-trash: "\f1f8";
621 | $fa-var-trash-o: "\f014";
622 | $fa-var-tree: "\f1bb";
623 | $fa-var-trello: "\f181";
624 | $fa-var-tripadvisor: "\f262";
625 | $fa-var-trophy: "\f091";
626 | $fa-var-truck: "\f0d1";
627 | $fa-var-try: "\f195";
628 | $fa-var-tty: "\f1e4";
629 | $fa-var-tumblr: "\f173";
630 | $fa-var-tumblr-square: "\f174";
631 | $fa-var-turkish-lira: "\f195";
632 | $fa-var-tv: "\f26c";
633 | $fa-var-twitch: "\f1e8";
634 | $fa-var-twitter: "\f099";
635 | $fa-var-twitter-square: "\f081";
636 | $fa-var-umbrella: "\f0e9";
637 | $fa-var-underline: "\f0cd";
638 | $fa-var-undo: "\f0e2";
639 | $fa-var-university: "\f19c";
640 | $fa-var-unlink: "\f127";
641 | $fa-var-unlock: "\f09c";
642 | $fa-var-unlock-alt: "\f13e";
643 | $fa-var-unsorted: "\f0dc";
644 | $fa-var-upload: "\f093";
645 | $fa-var-usd: "\f155";
646 | $fa-var-user: "\f007";
647 | $fa-var-user-md: "\f0f0";
648 | $fa-var-user-plus: "\f234";
649 | $fa-var-user-secret: "\f21b";
650 | $fa-var-user-times: "\f235";
651 | $fa-var-users: "\f0c0";
652 | $fa-var-venus: "\f221";
653 | $fa-var-venus-double: "\f226";
654 | $fa-var-venus-mars: "\f228";
655 | $fa-var-viacoin: "\f237";
656 | $fa-var-video-camera: "\f03d";
657 | $fa-var-vimeo: "\f27d";
658 | $fa-var-vimeo-square: "\f194";
659 | $fa-var-vine: "\f1ca";
660 | $fa-var-vk: "\f189";
661 | $fa-var-volume-down: "\f027";
662 | $fa-var-volume-off: "\f026";
663 | $fa-var-volume-up: "\f028";
664 | $fa-var-warning: "\f071";
665 | $fa-var-wechat: "\f1d7";
666 | $fa-var-weibo: "\f18a";
667 | $fa-var-weixin: "\f1d7";
668 | $fa-var-whatsapp: "\f232";
669 | $fa-var-wheelchair: "\f193";
670 | $fa-var-wifi: "\f1eb";
671 | $fa-var-wikipedia-w: "\f266";
672 | $fa-var-windows: "\f17a";
673 | $fa-var-won: "\f159";
674 | $fa-var-wordpress: "\f19a";
675 | $fa-var-wrench: "\f0ad";
676 | $fa-var-xing: "\f168";
677 | $fa-var-xing-square: "\f169";
678 | $fa-var-y-combinator: "\f23b";
679 | $fa-var-y-combinator-square: "\f1d4";
680 | $fa-var-yahoo: "\f19e";
681 | $fa-var-yc: "\f23b";
682 | $fa-var-yc-square: "\f1d4";
683 | $fa-var-yelp: "\f1e9";
684 | $fa-var-yen: "\f157";
685 | $fa-var-youtube: "\f167";
686 | $fa-var-youtube-play: "\f16a";
687 | $fa-var-youtube-square: "\f166";
688 |
689 |
--------------------------------------------------------------------------------
/public/packages/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Multiple Images upload with laravel 5.2 and dropzone Js
2 |
3 | What is covered in this project:
4 |
5 | - Preview Images before upload
6 | - Delete images from preview and view images in popup
7 | - Image counter, Total size of images for uploaded images
8 | - Saving images as full size and icon size versions
9 | - Use of Image Intervention package for resizing images
10 | - Saving images location in database
11 | - Unique file names for images on server side
12 | - Displaying already uploaded images in Dropzone
13 |
14 | ## Installation
15 |
16 | When you clone this project cd into directory and then:
17 |
18 | - Copy .env.example to .env
19 | - `composer install`
20 | - `chmod -R 777 storage/ bootstrap/`
21 | - `php artisan key:generate`
22 | - Fill .env file with database credentials and upload paths.
23 | - `php artisan migrate`
--------------------------------------------------------------------------------
/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
2 |
3 |
--------------------------------------------------------------------------------
/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/en/pagination.php:
--------------------------------------------------------------------------------
1 | '« Previous',
17 | 'next' => 'Next »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/resources/lang/en/passwords.php:
--------------------------------------------------------------------------------
1 | 'Passwords must be at least six characters and match the confirmation.',
17 | 'reset' => 'Your password has been reset!',
18 | 'sent' => 'We have e-mailed your password reset link!',
19 | 'token' => 'This password reset token is invalid.',
20 | 'user' => "We can't find a user with that e-mail address.",
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/resources/lang/en/validation.php:
--------------------------------------------------------------------------------
1 | 'The :attribute must be accepted.',
17 | 'active_url' => 'The :attribute is not a valid URL.',
18 | 'after' => 'The :attribute must be a date after :date.',
19 | 'alpha' => 'The :attribute may only contain letters.',
20 | 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
21 | 'alpha_num' => 'The :attribute may only contain letters and numbers.',
22 | 'array' => 'The :attribute must be an array.',
23 | 'before' => 'The :attribute must be a date before :date.',
24 | 'between' => [
25 | 'numeric' => 'The :attribute must be between :min and :max.',
26 | 'file' => 'The :attribute must be between :min and :max kilobytes.',
27 | 'string' => 'The :attribute must be between :min and :max characters.',
28 | 'array' => 'The :attribute must have between :min and :max items.',
29 | ],
30 | 'boolean' => 'The :attribute field must be true or false.',
31 | 'confirmed' => 'The :attribute confirmation does not match.',
32 | 'date' => 'The :attribute is not a valid date.',
33 | 'date_format' => 'The :attribute does not match the format :format.',
34 | 'different' => 'The :attribute and :other must be different.',
35 | 'digits' => 'The :attribute must be :digits digits.',
36 | 'digits_between' => 'The :attribute must be between :min and :max digits.',
37 | 'email' => 'The :attribute must be a valid email address.',
38 | 'exists' => 'The selected :attribute is invalid.',
39 | 'filled' => 'The :attribute field is required.',
40 | 'image' => 'The :attribute must be an image.',
41 | 'in' => 'The selected :attribute is invalid.',
42 | 'integer' => 'The :attribute must be an integer.',
43 | 'ip' => 'The :attribute must be a valid IP address.',
44 | 'max' => [
45 | 'numeric' => 'The :attribute may not be greater than :max.',
46 | 'file' => 'The :attribute may not be greater than :max kilobytes.',
47 | 'string' => 'The :attribute may not be greater than :max characters.',
48 | 'array' => 'The :attribute may not have more than :max items.',
49 | ],
50 | 'mimes' => 'The :attribute must be a file of type: :values.',
51 | 'min' => [
52 | 'numeric' => 'The :attribute must be at least :min.',
53 | 'file' => 'The :attribute must be at least :min kilobytes.',
54 | 'string' => 'The :attribute must be at least :min characters.',
55 | 'array' => 'The :attribute must have at least :min items.',
56 | ],
57 | 'not_in' => 'The selected :attribute is invalid.',
58 | 'numeric' => 'The :attribute must be a number.',
59 | 'regex' => 'The :attribute format is invalid.',
60 | 'required' => 'The :attribute field is required.',
61 | 'required_if' => 'The :attribute field is required when :other is :value.',
62 | 'required_with' => 'The :attribute field is required when :values is present.',
63 | 'required_with_all' => 'The :attribute field is required when :values is present.',
64 | 'required_without' => 'The :attribute field is required when :values is not present.',
65 | 'required_without_all' => 'The :attribute field is required when none of :values are present.',
66 | 'same' => 'The :attribute and :other must match.',
67 | 'size' => [
68 | 'numeric' => 'The :attribute must be :size.',
69 | 'file' => 'The :attribute must be :size kilobytes.',
70 | 'string' => 'The :attribute must be :size characters.',
71 | 'array' => 'The :attribute must contain :size items.',
72 | ],
73 | 'string' => 'The :attribute must be a string.',
74 | 'timezone' => 'The :attribute must be a valid zone.',
75 | 'unique' => 'The :attribute has already been taken.',
76 | 'url' => 'The :attribute format is invalid.',
77 |
78 | /*
79 | |--------------------------------------------------------------------------
80 | | Custom Validation Language Lines
81 | |--------------------------------------------------------------------------
82 | |
83 | | Here you may specify custom validation messages for attributes using the
84 | | convention "attribute.rule" to name the lines. This makes it quick to
85 | | specify a specific custom language line for a given attribute rule.
86 | |
87 | */
88 |
89 | 'custom' => [
90 | 'attribute-name' => [
91 | 'rule-name' => 'custom-message',
92 | ],
93 | ],
94 |
95 | /*
96 | |--------------------------------------------------------------------------
97 | | Custom Validation Attributes
98 | |--------------------------------------------------------------------------
99 | |
100 | | The following language lines are used to swap attribute place-holders
101 | | with something more reader friendly such as E-Mail Address instead
102 | | of "email". This simply helps us make messages a little cleaner.
103 | |
104 | */
105 |
106 | 'attributes' => [],
107 |
108 | ];
109 |
--------------------------------------------------------------------------------
/resources/views/errors/503.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/resources/views/layout.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Laravel 5.2 DropZone Js
6 |
7 |
8 | {!! HTML::style('/packages/bootstrap/css/bootstrap.min.css') !!}
9 | {!! HTML::style('/assets/css/style.css') !!}
10 | {!! HTML::style('/packages/font-awesome/css/font-awesome.min.css') !!}
11 | {!! HTML::script('https://code.jquery.com/jquery-2.1.4.min.js') !!}
12 | {!! HTML::script('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js') !!}
13 |
14 | @yield('head')
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | @yield('content')
24 |
25 |
26 |
27 |
28 | @yield('footer')
29 |
30 |
--------------------------------------------------------------------------------
/resources/views/pages/upload.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layout')
2 |
3 | @section('head')
4 | {!! HTML::style('/packages/dropzone/dropzone.css') !!}
5 | {!! HTML::style('/custom/custom.css') !!}
6 | @stop
7 |
8 | @section('footer')
9 | {{--{!! HTML::script('/custom/settings.js') !!}--}}
10 | {!! HTML::script('/packages/dropzone/dropzone.js') !!}
11 | {!! HTML::script('/assets/js/dropzone-config.js') !!}
12 | {!! HTML::script('/custom/custom.js') !!}
13 |
14 |
29 |
30 | @stop
31 |
32 | @section('content')
33 |
34 |
35 |
36 |
37 |
38 | {!! Form::open(['url' => route('upload-post'), 'class' => 'dropzone', 'files'=>true, 'id'=>'real-dropzone']) !!}
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
Drop images in this area
50 |
51 | {!! Form::close() !!}
52 |
53 |
54 |
55 |
59 |
62 |
63 |
64 |
78 |
79 |
80 |
81 | Total Size : 0 MB |
82 | Total files : 0
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | {{--
--}}
105 |
106 |
114 |
115 |
116 |
117 |
118 |
128 |
129 |
130 |
131 |
132 |
133 | {!! Form::hidden('csrf-token', csrf_token(), ['id' => 'csrf-token']) !!}
134 |
135 | {{----}}
136 | @stop
137 |
--------------------------------------------------------------------------------
/resources/views/vendor/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anvesh1/multi-image-upload/7db69f65ab1a036ca39d930c3df493b8c3e0b534/resources/views/vendor/.gitkeep
--------------------------------------------------------------------------------
/server.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | $uri = urldecode(
11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
12 | );
13 |
14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the
15 | // built-in PHP web server. This provides a convenient way to test a Laravel
16 | // application without having installed a "real" web server software here.
17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
18 | return false;
19 | }
20 |
21 | require_once __DIR__.'/public/index.php';
22 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | config.php
2 | routes.php
3 | compiled.php
4 | services.json
5 | events.scanned.php
6 | routes.scanned.php
7 | down
8 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/tests/ExampleTest.php:
--------------------------------------------------------------------------------
1 | visit('/')
17 | ->see('Laravel 5');
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22 |
23 | return $app;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------