We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
@@ -13,7 +13,7 @@ |
||
| 13 | 13 | |
| 14 | 14 | protected function getUploadedFiles(array $fileNames, string $mime = 'image/jpg') |
| 15 | 15 | { |
| 16 | - return array_map(function ($fileName) use ($mime) { |
|
| 16 | + return array_map(function($fileName) use ($mime) { |
|
| 17 | 17 | return new UploadedFile(__DIR__.'/assets/'.$fileName, $fileName, $mime, null, true); |
| 18 | 18 | }, $fileNames); |
| 19 | 19 | } |
@@ -26,7 +26,7 @@ discard block |
||
| 26 | 26 | { |
| 27 | 27 | $connection = $connection ?: config('database.default'); |
| 28 | 28 | |
| 29 | - self::$schema[$connection] = LazyCollection::make(self::getCreateSchema($connection)->getTables())->mapWithKeys(function ($table, $key) use ($connection) { |
|
| 29 | + self::$schema[$connection] = LazyCollection::make(self::getCreateSchema($connection)->getTables())->mapWithKeys(function($table, $key) use ($connection) { |
|
| 30 | 30 | $tableName = is_array($table) ? $table['name'] : $table->getName(); |
| 31 | 31 | |
| 32 | 32 | if ($existingTable = self::$schema[$connection][$tableName] ?? false) { |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | */ |
| 66 | 66 | private static function generateDatabaseSchema(string $connection, string $table) |
| 67 | 67 | { |
| 68 | - if (! isset(self::$schema[$connection][$table])) { |
|
| 68 | + if (!isset(self::$schema[$connection][$table])) { |
|
| 69 | 69 | self::$schema[$connection][$table] = self::mapTable($connection, $table); |
| 70 | 70 | } |
| 71 | 71 | } |
@@ -74,13 +74,12 @@ discard block |
||
| 74 | 74 | { |
| 75 | 75 | try { |
| 76 | 76 | $table = method_exists(self::getCreateSchema($connection), 'getTable') ? |
| 77 | - self::getCreateSchema($connection)->getTable($tableName) : |
|
| 78 | - self::getCreateSchema($connection)->getColumns($tableName); |
|
| 77 | + self::getCreateSchema($connection)->getTable($tableName) : self::getCreateSchema($connection)->getColumns($tableName); |
|
| 79 | 78 | } catch (\Exception $e) { |
| 80 | 79 | return new Table($tableName, []); |
| 81 | 80 | } |
| 82 | 81 | |
| 83 | - if (! is_array($table)) { |
|
| 82 | + if (!is_array($table)) { |
|
| 84 | 83 | return $table; |
| 85 | 84 | } |
| 86 | 85 | |
@@ -91,7 +90,7 @@ discard block |
||
| 91 | 90 | $schemaManager = self::getSchemaManager($connection); |
| 92 | 91 | $indexes = $schemaManager->getIndexes($tableName); |
| 93 | 92 | |
| 94 | - $indexes = array_map(function ($index) { |
|
| 93 | + $indexes = array_map(function($index) { |
|
| 95 | 94 | return $index['columns']; |
| 96 | 95 | }, $indexes); |
| 97 | 96 | |
@@ -109,7 +108,7 @@ discard block |
||
| 109 | 108 | |
| 110 | 109 | $indexes = self::$schema[$connection][$table]->getIndexes(); |
| 111 | 110 | |
| 112 | - $indexes = \Illuminate\Support\Arr::flatten(array_map(function ($index) { |
|
| 111 | + $indexes = \Illuminate\Support\Arr::flatten(array_map(function($index) { |
|
| 113 | 112 | return is_string($index) ? $index : $index->getColumns(); |
| 114 | 113 | }, $indexes)); |
| 115 | 114 | |
@@ -34,7 +34,7 @@ discard block |
||
| 34 | 34 | */ |
| 35 | 35 | public function markAsHandled(string $objectName): void |
| 36 | 36 | { |
| 37 | - if (! in_array($objectName, $this->handledUploaders)) { |
|
| 37 | + if (!in_array($objectName, $this->handledUploaders)) { |
|
| 38 | 38 | $this->handledUploaders[] = $objectName; |
| 39 | 39 | } |
| 40 | 40 | } |
@@ -60,7 +60,7 @@ discard block |
||
| 60 | 60 | */ |
| 61 | 61 | public function getUploadFor(string $objectType, string $group): string |
| 62 | 62 | { |
| 63 | - if (! $this->hasUploadFor($objectType, $group)) { |
|
| 63 | + if (!$this->hasUploadFor($objectType, $group)) { |
|
| 64 | 64 | throw new \Exception('There is no uploader defined for the given field type.'); |
| 65 | 65 | } |
| 66 | 66 | |
@@ -82,7 +82,7 @@ discard block |
||
| 82 | 82 | { |
| 83 | 83 | // ensure all uploaders implement the UploaderInterface |
| 84 | 84 | foreach ($uploaders as $uploader) { |
| 85 | - if (! is_a($uploader, UploaderInterface::class, true)) { |
|
| 85 | + if (!is_a($uploader, UploaderInterface::class, true)) { |
|
| 86 | 86 | throw new \Exception('The uploader class must implement the UploaderInterface.'); |
| 87 | 87 | } |
| 88 | 88 | } |
@@ -102,7 +102,7 @@ discard block |
||
| 102 | 102 | */ |
| 103 | 103 | public function registerRepeatableUploader(string $uploadName, UploaderInterface $uploader): void |
| 104 | 104 | { |
| 105 | - if (! array_key_exists($uploadName, $this->repeatableUploaders) || ! in_array($uploader, $this->repeatableUploaders[$uploadName])) { |
|
| 105 | + if (!array_key_exists($uploadName, $this->repeatableUploaders) || !in_array($uploader, $this->repeatableUploaders[$uploadName])) { |
|
| 106 | 106 | $this->repeatableUploaders[$uploadName][] = $uploader; |
| 107 | 107 | } |
| 108 | 108 | } |
@@ -136,7 +136,7 @@ discard block |
||
| 136 | 136 | */ |
| 137 | 137 | public function getRegisteredUploadNames(string $uploadName): array |
| 138 | 138 | { |
| 139 | - return array_map(function ($uploader) { |
|
| 139 | + return array_map(function($uploader) { |
|
| 140 | 140 | return $uploader->getName(); |
| 141 | 141 | }, $this->getRepeatableUploadersFor($uploadName)); |
| 142 | 142 | } |
@@ -167,11 +167,11 @@ discard block |
||
| 167 | 167 | |
| 168 | 168 | $uploaders = $this->getRepeatableUploadersFor($repeatableContainerName); |
| 169 | 169 | |
| 170 | - $uploader = Arr::first($uploaders, function ($uploader) use ($requestInputName) { |
|
| 170 | + $uploader = Arr::first($uploaders, function($uploader) use ($requestInputName) { |
|
| 171 | 171 | return $uploader->getName() === $requestInputName; |
| 172 | 172 | }); |
| 173 | 173 | |
| 174 | - if (! $uploader) { |
|
| 174 | + if (!$uploader) { |
|
| 175 | 175 | abort(500, 'Could not find the field in the repeatable uploaders.'); |
| 176 | 176 | } |
| 177 | 177 | |
@@ -182,16 +182,16 @@ discard block |
||
| 182 | 182 | abort(500, 'Could not find the field in the CRUD fields.'); |
| 183 | 183 | } |
| 184 | 184 | |
| 185 | - if (! $uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) { |
|
| 185 | + if (!$uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) { |
|
| 186 | 186 | abort(500, 'There is no uploader defined for the given field type.'); |
| 187 | 187 | } |
| 188 | 188 | |
| 189 | - if (! $this->isValidUploadField($crudObject, $uploaderMacro)) { |
|
| 189 | + if (!$this->isValidUploadField($crudObject, $uploaderMacro)) { |
|
| 190 | 190 | abort(500, 'Invalid field for upload.'); |
| 191 | 191 | } |
| 192 | 192 | |
| 193 | 193 | $uploaderConfiguration = $crudObject[$uploaderMacro] ?? []; |
| 194 | - $uploaderConfiguration = ! is_array($uploaderConfiguration) ? [] : $uploaderConfiguration; |
|
| 194 | + $uploaderConfiguration = !is_array($uploaderConfiguration) ? [] : $uploaderConfiguration; |
|
| 195 | 195 | $uploaderClass = $this->getUploadFor($crudObject['type'], $uploaderMacro); |
| 196 | 196 | |
| 197 | 197 | return new $uploaderClass(['name' => $requestInputName], $uploaderConfiguration); |
@@ -200,7 +200,7 @@ discard block |
||
| 200 | 200 | /** |
| 201 | 201 | * Get the upload field macro type for the given object. |
| 202 | 202 | */ |
| 203 | - private function getUploadCrudObjectMacroType(array $crudObject): string|null |
|
| 203 | + private function getUploadCrudObjectMacroType(array $crudObject): string | null |
|
| 204 | 204 | { |
| 205 | 205 | $uploadersGroups = $this->getUploadersGroupsNames(); |
| 206 | 206 | |
@@ -217,11 +217,11 @@ discard block |
||
| 217 | 217 | { |
| 218 | 218 | if (Str::contains($crudObject['name'], '#')) { |
| 219 | 219 | $container = Str::before($crudObject['name'], '#'); |
| 220 | - $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function ($item) use ($crudObject, $uploaderMacro) { |
|
| 220 | + $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function($item) use ($crudObject, $uploaderMacro) { |
|
| 221 | 221 | return $item['name'] === $crudObject['name'] && in_array($item['type'], $this->getAjaxUploadTypes($uploaderMacro)); |
| 222 | 222 | }); |
| 223 | 223 | |
| 224 | - return ! empty($field); |
|
| 224 | + return !empty($field); |
|
| 225 | 225 | } |
| 226 | 226 | |
| 227 | 227 | return in_array($crudObject['type'], $this->getAjaxUploadTypes($uploaderMacro)); |
@@ -29,7 +29,7 @@ discard block |
||
| 29 | 29 | return $this->getPath().$fileName; |
| 30 | 30 | } |
| 31 | 31 | |
| 32 | - if (! $value && CrudPanelFacade::getRequest()->has($this->getNameForRequest()) && $previousFile) { |
|
| 32 | + if (!$value && CrudPanelFacade::getRequest()->has($this->getNameForRequest()) && $previousFile) { |
|
| 33 | 33 | Storage::disk($this->getDisk())->delete($previousFile); |
| 34 | 34 | |
| 35 | 35 | return null; |
@@ -55,10 +55,10 @@ discard block |
||
| 55 | 55 | |
| 56 | 56 | foreach ($previousRepeatableValues as $row => $file) { |
| 57 | 57 | if ($file) { |
| 58 | - if (! isset($orderedFiles[$row])) { |
|
| 58 | + if (!isset($orderedFiles[$row])) { |
|
| 59 | 59 | $orderedFiles[$row] = null; |
| 60 | 60 | } |
| 61 | - if (! in_array($file, $orderedFiles)) { |
|
| 61 | + if (!in_array($file, $orderedFiles)) { |
|
| 62 | 62 | Storage::disk($this->getDisk())->delete($file); |
| 63 | 63 | } |
| 64 | 64 | } |
@@ -11,7 +11,7 @@ |
||
| 11 | 11 | */ |
| 12 | 12 | public function up(): void |
| 13 | 13 | { |
| 14 | - Schema::create('uploaders', function (Blueprint $table) { |
|
| 14 | + Schema::create('uploaders', function(Blueprint $table) { |
|
| 15 | 15 | $table->bigIncrements('id')->unsigned(); |
| 16 | 16 | $table->string('upload')->nullable(); |
| 17 | 17 | $table->string('image')->nullable(); |
@@ -14,18 +14,18 @@ discard block |
||
| 14 | 14 | private string $crudObjectType; |
| 15 | 15 | |
| 16 | 16 | public function __construct( |
| 17 | - private readonly CrudField|CrudColumn $crudObject, |
|
| 17 | + private readonly CrudField | CrudColumn $crudObject, |
|
| 18 | 18 | private readonly array $uploaderConfiguration, |
| 19 | 19 | private readonly string $macro |
| 20 | 20 | ) { |
| 21 | 21 | $this->crudObjectType = is_a($crudObject, CrudField::class) ? 'field' : (is_a($crudObject, CrudColumn::class) ? 'column' : null); |
| 22 | 22 | |
| 23 | - if (! $this->crudObjectType) { |
|
| 23 | + if (!$this->crudObjectType) { |
|
| 24 | 24 | abort(500, 'Upload handlers only work for CrudField and CrudColumn classes.'); |
| 25 | 25 | } |
| 26 | 26 | } |
| 27 | 27 | |
| 28 | - public static function handle(CrudField|CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void |
|
| 28 | + public static function handle(CrudField | CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void |
|
| 29 | 29 | { |
| 30 | 30 | $instance = new self($crudObject, $uploaderConfiguration, $macro); |
| 31 | 31 | |
@@ -35,9 +35,9 @@ discard block |
||
| 35 | 35 | /******************************* |
| 36 | 36 | * Private methods - implementation |
| 37 | 37 | *******************************/ |
| 38 | - private function registerEvents(array|null $subfield = [], ?bool $registerModelEvents = true): void |
|
| 38 | + private function registerEvents(array | null $subfield = [], ?bool $registerModelEvents = true): void |
|
| 39 | 39 | { |
| 40 | - if (! empty($subfield)) { |
|
| 40 | + if (!empty($subfield)) { |
|
| 41 | 41 | $this->registerSubfieldEvent($subfield, $registerModelEvents); |
| 42 | 42 | |
| 43 | 43 | return; |
@@ -82,7 +82,7 @@ discard block |
||
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | $subfields = collect($this->crudObject->getAttributes()['subfields']); |
| 85 | - $subfields = $subfields->map(function ($item) use ($subfield, $uploader) { |
|
| 85 | + $subfields = $subfields->map(function($item) use ($subfield, $uploader) { |
|
| 86 | 86 | if ($item['name'] === $subfield['name']) { |
| 87 | 87 | $item['upload'] = true; |
| 88 | 88 | $item['disk'] = $uploader->getDisk(); |
@@ -112,7 +112,7 @@ discard block |
||
| 112 | 112 | } |
| 113 | 113 | |
| 114 | 114 | if ($this->crudObjectType === 'field') { |
| 115 | - $model::saving(function ($entry) use ($uploader) { |
|
| 115 | + $model::saving(function($entry) use ($uploader) { |
|
| 116 | 116 | $entry = $uploader->storeUploadedFiles($entry); |
| 117 | 117 | }); |
| 118 | 118 | } |
@@ -125,7 +125,7 @@ discard block |
||
| 125 | 125 | // is not called in pivot models when loading the relations. |
| 126 | 126 | $retrieveModel = $this->getModelForRetrieveEvent($model, $uploader); |
| 127 | 127 | |
| 128 | - $retrieveModel::retrieved(function ($entry) use ($uploader) { |
|
| 128 | + $retrieveModel::retrieved(function($entry) use ($uploader) { |
|
| 129 | 129 | if ($entry->translationEnabled()) { |
| 130 | 130 | $locale = request('_locale', app()->getLocale()); |
| 131 | 131 | if (in_array($locale, array_keys($entry->getAvailableLocales()))) { |
@@ -136,14 +136,14 @@ discard block |
||
| 136 | 136 | }); |
| 137 | 137 | } |
| 138 | 138 | |
| 139 | - $model::deleting(function ($entry) use ($uploader) { |
|
| 139 | + $model::deleting(function($entry) use ($uploader) { |
|
| 140 | 140 | $uploader->deleteUploadedFiles($entry); |
| 141 | 141 | }); |
| 142 | 142 | |
| 143 | 143 | // if the uploader is a relationship and handles repeatable files, we will also register the deleting event on the |
| 144 | 144 | // parent model. that way we can control the deletion of the files when the parent model is deleted. |
| 145 | 145 | if ($uploader->isRelationship() && $uploader->handleRepeatableFiles) { |
| 146 | - app('crud')->model::deleting(function ($entry) use ($uploader) { |
|
| 146 | + app('crud')->model::deleting(function($entry) use ($uploader) { |
|
| 147 | 147 | $uploader->deleteUploadedFiles($entry); |
| 148 | 148 | }); |
| 149 | 149 | } |
@@ -165,18 +165,18 @@ discard block |
||
| 165 | 165 | { |
| 166 | 166 | $hasCustomUploader = isset($uploaderConfiguration['uploader']); |
| 167 | 167 | |
| 168 | - if ($hasCustomUploader && ! is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) { |
|
| 168 | + if ($hasCustomUploader && !is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) { |
|
| 169 | 169 | throw new Exception('Invalid uploader class provided for '.$this->crudObjectType.' type: '.$crudObject['type']); |
| 170 | 170 | } |
| 171 | 171 | |
| 172 | 172 | if ($hasCustomUploader) { |
| 173 | - return $uploaderConfiguration['uploader']::for($crudObject, $uploaderConfiguration); |
|
| 173 | + return $uploaderConfiguration['uploader']::for ($crudObject, $uploaderConfiguration); |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | $uploader = app('UploadersRepository')->hasUploadFor($crudObject['type'], $this->macro); |
| 177 | 177 | |
| 178 | 178 | if ($uploader) { |
| 179 | - return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for($crudObject, $uploaderConfiguration); |
|
| 179 | + return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for ($crudObject, $uploaderConfiguration); |
|
| 180 | 180 | } |
| 181 | 181 | |
| 182 | 182 | throw new Exception('Undefined upload type for '.$this->crudObjectType.' type: '.$crudObject['type']); |
@@ -197,7 +197,7 @@ discard block |
||
| 197 | 197 | |
| 198 | 198 | private function getSubfieldModel(array $subfield, UploaderInterface $uploader) |
| 199 | 199 | { |
| 200 | - if (! $uploader->isRelationship()) { |
|
| 200 | + if (!$uploader->isRelationship()) { |
|
| 201 | 201 | return $subfield['baseModel'] ?? get_class(app('crud')->getModel()); |
| 202 | 202 | } |
| 203 | 203 | |
@@ -210,7 +210,7 @@ discard block |
||
| 210 | 210 | |
| 211 | 211 | private function getModelForRetrieveEvent(string $model, UploaderInterface $uploader) |
| 212 | 212 | { |
| 213 | - if (! $uploader->isRelationship()) { |
|
| 213 | + if (!$uploader->isRelationship()) { |
|
| 214 | 214 | return $model; |
| 215 | 215 | } |
| 216 | 216 | |
@@ -15,7 +15,7 @@ discard block |
||
| 15 | 15 | $value = $value ?? CRUD::getRequest()->get($this->getName()); |
| 16 | 16 | $previousImage = $this->getPreviousFiles($entry); |
| 17 | 17 | |
| 18 | - if (! $value && $previousImage) { |
|
| 18 | + if (!$value && $previousImage) { |
|
| 19 | 19 | Storage::disk($this->getDisk())->delete($previousImage); |
| 20 | 20 | |
| 21 | 21 | return null; |
@@ -68,6 +68,6 @@ discard block |
||
| 68 | 68 | |
| 69 | 69 | public function shouldKeepPreviousValueUnchanged(Model $entry, $entryValue): bool |
| 70 | 70 | { |
| 71 | - return $entry->exists && is_string($entryValue) && ! Str::startsWith($entryValue, 'data:image'); |
|
| 71 | + return $entry->exists && is_string($entryValue) && !Str::startsWith($entryValue, 'data:image'); |
|
| 72 | 72 | } |
| 73 | 73 | } |
@@ -25,7 +25,7 @@ discard block |
||
| 25 | 25 | |
| 26 | 26 | private bool $deleteWhenEntryIsDeleted = true; |
| 27 | 27 | |
| 28 | - private bool|string $attachedToFakeField = false; |
|
| 28 | + private bool | string $attachedToFakeField = false; |
|
| 29 | 29 | |
| 30 | 30 | /** |
| 31 | 31 | * Cloud disks have the ability to generate temporary URLs to files, should we do it? |
@@ -62,7 +62,7 @@ discard block |
||
| 62 | 62 | /******************************* |
| 63 | 63 | * Static methods |
| 64 | 64 | *******************************/ |
| 65 | - public static function for(array $crudObject, array $definition): UploaderInterface |
|
| 65 | + public static function for (array $crudObject, array $definition): UploaderInterface |
|
| 66 | 66 | { |
| 67 | 67 | return new static($crudObject, $definition); |
| 68 | 68 | } |
@@ -102,7 +102,7 @@ discard block |
||
| 102 | 102 | |
| 103 | 103 | public function deleteUploadedFiles(Model $entry): void |
| 104 | 104 | { |
| 105 | - if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
| 105 | + if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
| 106 | 106 | $this->performFileDeletion($entry); |
| 107 | 107 | |
| 108 | 108 | return; |
@@ -177,7 +177,7 @@ discard block |
||
| 177 | 177 | |
| 178 | 178 | public function getPreviousFiles(Model $entry): mixed |
| 179 | 179 | { |
| 180 | - if (! $this->attachedToFakeField) { |
|
| 180 | + if (!$this->attachedToFakeField) { |
|
| 181 | 181 | return $this->getOriginalValue($entry); |
| 182 | 182 | } |
| 183 | 183 | $value = $this->getOriginalValue($entry, $this->attachedToFakeField); |
@@ -196,7 +196,7 @@ discard block |
||
| 196 | 196 | return $this->attachedToFakeField !== false; |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | - public function getFakeAttribute(): bool|string |
|
| 199 | + public function getFakeAttribute(): bool | string |
|
| 200 | 200 | { |
| 201 | 201 | return $this->attachedToFakeField; |
| 202 | 202 | } |
@@ -223,7 +223,7 @@ discard block |
||
| 223 | 223 | return $this; |
| 224 | 224 | } |
| 225 | 225 | |
| 226 | - public function fake(bool|string $isFake): self |
|
| 226 | + public function fake(bool | string $isFake): self |
|
| 227 | 227 | { |
| 228 | 228 | $this->attachedToFakeField = $isFake; |
| 229 | 229 | |
@@ -254,7 +254,7 @@ discard block |
||
| 254 | 254 | } |
| 255 | 255 | |
| 256 | 256 | if ($this->handleMultipleFiles) { |
| 257 | - if (! isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
| 257 | + if (!isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
| 258 | 258 | $entry->{$this->getAttributeName()} = json_decode($value, true); |
| 259 | 259 | } |
| 260 | 260 | |
@@ -268,7 +268,7 @@ discard block |
||
| 268 | 268 | |
| 269 | 269 | protected function deleteFiles(Model $entry) |
| 270 | 270 | { |
| 271 | - if (! $this->shouldDeleteFiles()) { |
|
| 271 | + if (!$this->shouldDeleteFiles()) { |
|
| 272 | 272 | return; |
| 273 | 273 | } |
| 274 | 274 | |
@@ -303,7 +303,7 @@ discard block |
||
| 303 | 303 | |
| 304 | 304 | private function performFileDeletion(Model $entry) |
| 305 | 305 | { |
| 306 | - if (! $this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) { |
|
| 306 | + if (!$this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) { |
|
| 307 | 307 | $this->deleteFiles($entry); |
| 308 | 308 | |
| 309 | 309 | return; |
@@ -332,7 +332,7 @@ discard block |
||
| 332 | 332 | |
| 333 | 333 | $previousValue = $entry->getOriginal($field); |
| 334 | 334 | |
| 335 | - if (! $previousValue) { |
|
| 335 | + if (!$previousValue) { |
|
| 336 | 336 | return $previousValue; |
| 337 | 337 | } |
| 338 | 338 | |
@@ -18,7 +18,7 @@ discard block |
||
| 18 | 18 | { |
| 19 | 19 | public bool $handleRepeatableFiles = false; |
| 20 | 20 | |
| 21 | - public null|string $repeatableContainerName = null; |
|
| 21 | + public null | string $repeatableContainerName = null; |
|
| 22 | 22 | |
| 23 | 23 | /******************************* |
| 24 | 24 | * Setters - fluently configure the uploader |
@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | /******************************* |
| 36 | 36 | * Getters |
| 37 | 37 | *******************************/ |
| 38 | - public function getRepeatableContainerName(): null|string |
|
| 38 | + public function getRepeatableContainerName(): null | string |
|
| 39 | 39 | { |
| 40 | 40 | return $this->repeatableContainerName; |
| 41 | 41 | } |
@@ -162,7 +162,7 @@ discard block |
||
| 162 | 162 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) { |
| 163 | 163 | $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader)); |
| 164 | 164 | |
| 165 | - $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) { |
|
| 165 | + $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) { |
|
| 166 | 166 | $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null; |
| 167 | 167 | |
| 168 | 168 | return $item; |
@@ -193,7 +193,7 @@ discard block |
||
| 193 | 193 | |
| 194 | 194 | $values = $entry->{$this->getRepeatableContainerName()}; |
| 195 | 195 | $values = is_string($values) ? json_decode($values, true) : $values; |
| 196 | - $values = array_map(function ($item) use ($repeatableUploaders) { |
|
| 196 | + $values = array_map(function($item) use ($repeatableUploaders) { |
|
| 197 | 197 | foreach ($repeatableUploaders as $upload) { |
| 198 | 198 | $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload); |
| 199 | 199 | } |
@@ -208,7 +208,7 @@ discard block |
||
| 208 | 208 | |
| 209 | 209 | private function retrieveRepeatableRelationFiles(Model $entry) |
| 210 | 210 | { |
| 211 | - switch($this->getRepeatableRelationType()) { |
|
| 211 | + switch ($this->getRepeatableRelationType()) { |
|
| 212 | 212 | case 'BelongsToMany': |
| 213 | 213 | case 'MorphToMany': |
| 214 | 214 | $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass(); |
@@ -261,12 +261,12 @@ discard block |
||
| 261 | 261 | $repeatableValues ??= collect($entry->{$this->getRepeatableContainerName()}); |
| 262 | 262 | |
| 263 | 263 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) { |
| 264 | - if (! $upload->shouldDeleteFiles()) { |
|
| 264 | + if (!$upload->shouldDeleteFiles()) { |
|
| 265 | 265 | continue; |
| 266 | 266 | } |
| 267 | 267 | $values = $repeatableValues->pluck($upload->getName())->toArray(); |
| 268 | 268 | foreach ($values as $value) { |
| 269 | - if (! $value) { |
|
| 269 | + if (!$value) { |
|
| 270 | 270 | continue; |
| 271 | 271 | } |
| 272 | 272 | |
@@ -289,7 +289,7 @@ discard block |
||
| 289 | 289 | /** |
| 290 | 290 | * Given two multidimensional arrays/collections, merge them recursively. |
| 291 | 291 | */ |
| 292 | - protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection |
|
| 292 | + protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection |
|
| 293 | 293 | { |
| 294 | 294 | $merged = $array1; |
| 295 | 295 | foreach ($array2 as $key => &$value) { |
@@ -311,7 +311,7 @@ discard block |
||
| 311 | 311 | { |
| 312 | 312 | $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? []; |
| 313 | 313 | |
| 314 | - array_walk($items, function (&$key, $value) { |
|
| 314 | + array_walk($items, function(&$key, $value) { |
|
| 315 | 315 | $requestValue = $key[$this->getName()] ?? null; |
| 316 | 316 | $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue; |
| 317 | 317 | }); |
@@ -323,22 +323,22 @@ discard block |
||
| 323 | 323 | { |
| 324 | 324 | $previousValues = $entry->getOriginal($uploader->getRepeatableContainerName()); |
| 325 | 325 | |
| 326 | - if (! is_array($previousValues)) { |
|
| 326 | + if (!is_array($previousValues)) { |
|
| 327 | 327 | $previousValues = json_decode($previousValues, true); |
| 328 | 328 | } |
| 329 | 329 | |
| 330 | - if (! empty($previousValues)) { |
|
| 330 | + if (!empty($previousValues)) { |
|
| 331 | 331 | $previousValues = array_column($previousValues, $uploader->getName()); |
| 332 | 332 | } |
| 333 | 333 | |
| 334 | 334 | return $previousValues ?? []; |
| 335 | 335 | } |
| 336 | 336 | |
| 337 | - private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader) |
|
| 337 | + private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader) |
|
| 338 | 338 | { |
| 339 | 339 | $uploadedValues = $item[$uploader->getName()] ?? null; |
| 340 | 340 | if (is_array($uploadedValues)) { |
| 341 | - return array_map(function ($value) use ($uploader) { |
|
| 341 | + return array_map(function($value) use ($uploader) { |
|
| 342 | 342 | return $uploader->getValueWithoutPath($value); |
| 343 | 343 | }, $uploadedValues); |
| 344 | 344 | } |
@@ -348,8 +348,8 @@ discard block |
||
| 348 | 348 | |
| 349 | 349 | private function deleteRelationshipFiles(Model $entry): void |
| 350 | 350 | { |
| 351 | - if (! is_a($entry, Pivot::class, true) && |
|
| 352 | - ! $entry->relationLoaded($this->getRepeatableContainerName()) && |
|
| 351 | + if (!is_a($entry, Pivot::class, true) && |
|
| 352 | + !$entry->relationLoaded($this->getRepeatableContainerName()) && |
|
| 353 | 353 | method_exists($entry, $this->getRepeatableContainerName()) |
| 354 | 354 | ) { |
| 355 | 355 | $entry->loadMissing($this->getRepeatableContainerName()); |
@@ -376,8 +376,8 @@ discard block |
||
| 376 | 376 | $relatedEntries = $entry->{$this->getRepeatableContainerName()} ?? []; |
| 377 | 377 | } |
| 378 | 378 | |
| 379 | - if (! is_a($relatedEntries ?? '', Collection::class, true)) { |
|
| 380 | - $relatedEntries = ! empty($relatedEntries) ? [$relatedEntries] : [$entry]; |
|
| 379 | + if (!is_a($relatedEntries ?? '', Collection::class, true)) { |
|
| 380 | + $relatedEntries = !empty($relatedEntries) ? [$relatedEntries] : [$entry]; |
|
| 381 | 381 | } |
| 382 | 382 | |
| 383 | 383 | foreach ($relatedEntries as $relatedEntry) { |
@@ -385,9 +385,9 @@ discard block |
||
| 385 | 385 | } |
| 386 | 386 | } |
| 387 | 387 | |
| 388 | - protected function deletePivotFiles(Pivot|Model $entry) |
|
| 388 | + protected function deletePivotFiles(Pivot | Model $entry) |
|
| 389 | 389 | { |
| 390 | - if (! is_a($entry, Pivot::class, true)) { |
|
| 390 | + if (!is_a($entry, Pivot::class, true)) { |
|
| 391 | 391 | $pivots = $entry->{$this->getRepeatableContainerName()}; |
| 392 | 392 | foreach ($pivots as $pivot) { |
| 393 | 393 | $this->deletePivotModelFiles($pivot); |
@@ -397,24 +397,24 @@ discard block |
||
| 397 | 397 | } |
| 398 | 398 | |
| 399 | 399 | $pivotAttributes = $entry->getAttributes(); |
| 400 | - $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) { |
|
| 400 | + $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) { |
|
| 401 | 401 | $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes)); |
| 402 | 402 | |
| 403 | 403 | return $itemPivotAttributes === $pivotAttributes; |
| 404 | 404 | })->first(); |
| 405 | 405 | |
| 406 | - if (! $connectedPivot) { |
|
| 406 | + if (!$connectedPivot) { |
|
| 407 | 407 | return; |
| 408 | 408 | } |
| 409 | 409 | |
| 410 | 410 | $this->deletePivotModelFiles($connectedPivot); |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | - private function deletePivotModelFiles(Pivot|Model $entry) |
|
| 413 | + private function deletePivotModelFiles(Pivot | Model $entry) |
|
| 414 | 414 | { |
| 415 | 415 | $files = $entry->getOriginal()['pivot_'.$this->getAttributeName()]; |
| 416 | 416 | |
| 417 | - if (! $files) { |
|
| 417 | + if (!$files) { |
|
| 418 | 418 | return; |
| 419 | 419 | } |
| 420 | 420 | |