@@ -19,6 +19,9 @@ class UploadController extends LfmController {
1919
2020 private $ default_file_types = ['application/pdf ' ];
2121 private $ default_image_types = ['image/jpeg ' , 'image/png ' , 'image/gif ' ];
22+ // unit is assumed to be kb
23+ private $ default_max_file_size = 1000 ;
24+ private $ default_max_image_size = 500 ;
2225
2326 /**
2427 * Upload an image/file and (for images) create thumbnail
@@ -68,7 +71,6 @@ private function uploadValidator()
6871 // when uploading a file with the POST named "upload"
6972
7073 $ expected_file_type = $ this ->file_type ;
71- $ is_valid = false ;
7274
7375 $ file = Input::file ('upload ' );
7476 if (empty ($ file )) {
@@ -79,27 +81,28 @@ private function uploadValidator()
7981 }
8082
8183 $ mimetype = $ file ->getMimeType ();
84+ // size to kb unit is needed
85+ $ size = $ file ->getSize () / 1000 ;
8286
8387 if ($ expected_file_type === 'Files ' ) {
84- $ config_name = 'lfm.valid_file_mimetypes ' ;
85- $ valid_mimetypes = Config::get ($ config_name , $ this ->default_file_types );
88+ $ valid_mimetypes = Config:: get ( 'lfm.valid_file_mimetypes ' , $ this -> default_file_types ) ;
89+ $ max_size = Config::get (' lfm.max_file_size ' , $ this ->default_max_file_size );
8690 } else {
87- $ config_name = 'lfm.valid_image_mimetypes ' ;
88- $ valid_mimetypes = Config::get ($ config_name , $ this ->default_image_types );
91+ $ valid_mimetypes = Config:: get ( 'lfm.valid_image_mimetypes ' , $ this -> default_image_types ) ;
92+ $ max_size = Config::get (' lfm.max_image_size ' , $ this ->default_max_image_size );
8993 }
9094
9195 if (!is_array ($ valid_mimetypes )) {
92- throw new \Exception ('Config : ' . $ config_name . ' is not set correctly ' );
96+ throw new \Exception ('Config : lfm.valid_file_mimetypes is not set correctly ' );
9397 }
9498
95- if (in_array ($ mimetype , $ valid_mimetypes )) {
96- $ is_valid = true ;
97- }
98-
99- if (false === $ is_valid ) {
99+ if (!in_array ($ mimetype , $ valid_mimetypes )) {
100100 throw new \Exception (Lang::get ('laravel-filemanager::lfm.error-mime ' ) . $ mimetype );
101+ }elseif ($ size > $ max_size ){
102+ throw new \Exception (Lang::get ('laravel-filemanager::lfm.error-size ' ) . $ mimetype );
103+ }else {
104+ return true ;
101105 }
102- return $ is_valid ;
103106 }
104107
105108 private function getNewName ($ file )
0 commit comments