| Conditions | 9 |
| Paths | 18 |
| Total Lines | 55 |
| Code Lines | 37 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 45 | public static function main(array $parameters): PBXApiResult |
||
| 46 | { |
||
| 47 | $res = new PBXApiResult(); |
||
| 48 | $res->processor = __METHOD__; |
||
| 49 | $di = Di::getDefault(); |
||
| 50 | if ($di === null) { |
||
| 51 | $res->success = false; |
||
| 52 | $res->messages[] = 'Dependency injector does not initialized'; |
||
| 53 | |||
| 54 | return $res; |
||
| 55 | } |
||
| 56 | $parameters['uploadDir'] = $di->getShared('config')->path('www.uploadDir'); |
||
| 57 | $parameters['tempDir'] = "{$parameters['uploadDir']}/{$parameters['resumableIdentifier']}"; |
||
| 58 | if (!Util::mwMkdir($parameters['tempDir'])) { |
||
| 59 | $res->messages[] = 'Temp dir does not exist ' . $parameters['tempDir']; |
||
| 60 | |||
| 61 | return $res; |
||
| 62 | } |
||
| 63 | |||
| 64 | $fileName = (string)pathinfo($parameters['resumableFilename'], PATHINFO_FILENAME); |
||
| 65 | $fileName = preg_replace('/[\W]/', '', $fileName); |
||
| 66 | if (strlen($fileName) < 10) { |
||
| 67 | $fileName = '' . md5(microtime()) . '-' . $fileName; |
||
| 68 | } |
||
| 69 | $extension = (string)pathinfo($parameters['resumableFilename'], PATHINFO_EXTENSION); |
||
| 70 | $fileName .= '.' . $extension; |
||
| 71 | $parameters['resumableFilename'] = $fileName; |
||
| 72 | $parameters['fullUploadedFileName'] = "{$parameters['tempDir']}/{$fileName}"; |
||
| 73 | |||
| 74 | // Delete old progress and result file |
||
| 75 | $oldMergeProgressFile = "{$parameters['tempDir']}/merging_progress"; |
||
| 76 | if (file_exists($oldMergeProgressFile)) { |
||
| 77 | unlink($oldMergeProgressFile); |
||
| 78 | } |
||
| 79 | if (file_exists($parameters['fullUploadedFileName'])) { |
||
| 80 | unlink($parameters['fullUploadedFileName']); |
||
| 81 | } |
||
| 82 | |||
| 83 | foreach ($parameters['files'] as $file_data) { |
||
| 84 | if (!self::moveUploadedPartToSeparateDir($parameters, $file_data)) { |
||
| 85 | $res->messages[] = 'Does not found any uploaded chunks on with path ' . $file_data['file_path']; |
||
| 86 | break; |
||
| 87 | } |
||
| 88 | $res->success = true; |
||
| 89 | $res->data['upload_id'] = $parameters['resumableIdentifier']; |
||
| 90 | $res->data['filename'] = $parameters['fullUploadedFileName']; |
||
| 91 | |||
| 92 | if (self::tryToMergeChunksIfAllPartsUploaded($parameters)) { |
||
| 93 | $res->data[FilesConstants::D_STATUS] = FilesConstants::UPLOAD_MERGING; |
||
| 94 | } else { |
||
| 95 | $res->data[FilesConstants::D_STATUS] = FilesConstants::UPLOAD_WAITING_FOR_NEXT_PART; |
||
| 96 | } |
||
| 97 | } |
||
| 98 | |||
| 99 | return $res; |
||
| 100 | } |
||
| 173 | } |