| Conditions | 8 |
| Paths | 48 |
| Total Lines | 46 |
| Code Lines | 31 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 4 | ||
| Bugs | 1 | Features | 0 |
| 1 | <?php |
||
| 26 | public function upload() |
||
| 27 | { |
||
| 28 | $uploaded_files = request()->file('upload'); |
||
|
|
|||
| 29 | $error_bag = []; |
||
| 30 | $new_filename = null; |
||
| 31 | |||
| 32 | foreach (is_array($uploaded_files) ? $uploaded_files : [$uploaded_files] as $file) { |
||
| 33 | try { |
||
| 34 | $this->lfm->validateUploadedFile($file); |
||
| 35 | |||
| 36 | $new_filename = $this->lfm->upload($file); |
||
| 37 | } catch (\Exception $e) { |
||
| 38 | Log::error($e->getMessage(), [ |
||
| 39 | 'file' => $e->getFile(), |
||
| 40 | 'line' => $e->getLine(), |
||
| 41 | 'trace' => $e->getTraceAsString() |
||
| 42 | ]); |
||
| 43 | array_push($error_bag, $e->getMessage()); |
||
| 44 | } catch (\Error $e) { |
||
| 45 | Log::error($e->getMessage(), [ |
||
| 46 | 'file' => $e->getFile(), |
||
| 47 | 'line' => $e->getLine(), |
||
| 48 | 'trace' => $e->getTraceAsString() |
||
| 49 | ]); |
||
| 50 | array_push($error_bag, 'Some error occured during uploading.'); |
||
| 51 | } |
||
| 52 | } |
||
| 53 | |||
| 54 | if (is_array($uploaded_files)) { |
||
| 55 | $response = count($error_bag) > 0 ? $error_bag : parent::$success_response; |
||
| 56 | } else { // upload via ckeditor5 expects json responses |
||
| 57 | if (is_null($new_filename)) { |
||
| 58 | $response = [ |
||
| 59 | 'error' => [ 'message' => $error_bag[0] ] |
||
| 60 | ]; |
||
| 61 | } else { |
||
| 62 | $url = $this->lfm->setName($new_filename)->url(); |
||
| 63 | |||
| 64 | $response = [ |
||
| 65 | 'url' => $url, |
||
| 66 | 'uploaded' => $url |
||
| 67 | ]; |
||
| 68 | } |
||
| 69 | } |
||
| 70 | |||
| 71 | return response()->json($response); |
||
| 72 | } |
||
| 74 |