| @@ -16,23 +16,23 @@ | ||
| 16 | 16 | */ | 
| 17 | 17 | public function boot() | 
| 18 | 18 |      { | 
| 19 | -        Validator::extend('absolute_or_relative_url', function ($attribute, $value, $parameters, $validator) { | |
| 19 | +        Validator::extend('absolute_or_relative_url', function($attribute, $value, $parameters, $validator) { | |
| 20 | 20 | return Str::startsWith($value, '/') || Validator::make([$attribute => $value], [$attribute => 'url'])->passes(); | 
| 21 | 21 | }, 'The :attribute should be a valid url (absolute or relative)'); | 
| 22 | 22 | |
| 23 | -        Validator::extend('relative_or_secure_url', function ($attribute, $value, $parameters) { | |
| 23 | +        Validator::extend('relative_or_secure_url', function($attribute, $value, $parameters) { | |
| 24 | 24 | return Str::startsWith($value, '/') || filter_var($value, FILTER_VALIDATE_URL) !== false && Str::startsWith($value, 'https'); | 
| 25 | 25 | }, 'The :attribute should be a valid url (relative or https)'); | 
| 26 | 26 | |
| 27 | -        Validator::extend('web_color', function ($attribute, $value, $parameters, $validator) { | |
| 27 | +        Validator::extend('web_color', function($attribute, $value, $parameters, $validator) { | |
| 28 | 28 |              return preg_match('/^([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i', $value); | 
| 29 | 29 | }); | 
| 30 | 30 | |
| 31 | -        Validator::extend('phone_number', function ($attribute, $value, $parameters) { | |
| 31 | +        Validator::extend('phone_number', function($attribute, $value, $parameters) { | |
| 32 | 32 |              return preg_match("/^[+]?[0-9\-\ ]*$/", $value); | 
| 33 | 33 | }); | 
| 34 | 34 | |
| 35 | -        Validator::extend('validBlocks', function ($attribute, $value, $parameters, $validator) { | |
| 35 | +        Validator::extend('validBlocks', function($attribute, $value, $parameters, $validator) { | |
| 36 | 36 |              foreach ($value as $block) { | 
| 37 | 37 | $cmsBlock = $this->app->make(BlockRepository::class)->buildFromCmsArray($block, false); | 
| 38 | 38 | |
| @@ -23,7 +23,7 @@ discard block | ||
| 23 | 23 | $mediasCollection = Collection::make(); | 
| 24 | 24 | $mediasFromFields = $this->getMedias($fields); | 
| 25 | 25 | |
| 26 | -        $mediasFromFields->each(function ($media) use ($object, $mediasCollection) { | |
| 26 | +        $mediasFromFields->each(function($media) use ($object, $mediasCollection) { | |
| 27 | 27 | $newMedia = Media::withTrashed()->find(is_array($media['id']) ? Arr::first($media['id']) : $media['id']); | 
| 28 | 28 |              $pivot = $newMedia->newPivot($object, Arr::except($media, ['id']), config('twill.mediables_table', 'twill_mediables'), true); | 
| 29 | 29 |              $newMedia->setRelation('pivot', $pivot); | 
| @@ -48,7 +48,7 @@ discard block | ||
| 48 | 48 | |
| 49 | 49 | $object->medias()->sync([]); | 
| 50 | 50 | |
| 51 | -        $this->getMedias($fields)->each(function ($media) use ($object) { | |
| 51 | +        $this->getMedias($fields)->each(function($media) use ($object) { | |
| 52 | 52 | $object->medias()->attach($media['id'], Arr::except($media, ['id'])); | 
| 53 | 53 | }); | 
| 54 | 54 | } | 
| @@ -77,7 +77,7 @@ discard block | ||
| 77 | 77 | if (in_array($role, array_keys($this->model->mediasParams ?? [])) | 
| 78 | 78 |                      || in_array($role, array_keys(config('twill.block_editor.crops', []))) | 
| 79 | 79 |                      || in_array($role, array_keys(config('twill.settings.crops', [])))) { | 
| 80 | -                    Collection::make($mediasForRole)->each(function ($media) use (&$medias, $role, $locale) { | |
| 80 | +                    Collection::make($mediasForRole)->each(function($media) use (&$medias, $role, $locale) { | |
| 81 | 81 | $customMetadatas = $media['metadatas']['custom'] ?? []; | 
| 82 | 82 |                          if (isset($media['crops']) && !empty($media['crops'])) { | 
| 83 | 83 |                              foreach ($media['crops'] as $cropName => $cropData) { | 
| @@ -45,8 +45,8 @@ discard block | ||
| 45 | 45 |          if (Schema::hasTable(config('twill.related_table', 'twill_related'))) { | 
| 46 | 46 | $relatedItems = Collection::make(); | 
| 47 | 47 | |
| 48 | -            Collection::make($fields['browsers'])->each(function ($items, $browserName) use ($object, &$relatedItems) { | |
| 49 | -                Collection::make($items)->each(function ($item) use ($browserName, &$relatedItems) { | |
| 48 | +            Collection::make($fields['browsers'])->each(function($items, $browserName) use ($object, &$relatedItems) { | |
| 49 | +                Collection::make($items)->each(function($item) use ($browserName, &$relatedItems) { | |
| 50 | 50 |                      try { | 
| 51 | 51 | $repository = $this->getModelRepository($item['endpointType'] ?? $browserName); | 
| 52 | 52 | $relatedItems->push((object) [ | 
| @@ -74,7 +74,7 @@ discard block | ||
| 74 | 74 |      { | 
| 75 | 75 |          if (Schema::hasTable(config('twill.related_table', 'twill_related'))) { | 
| 76 | 76 |              if (isset($fields['browsers'])) { | 
| 77 | -                Collection::make($fields['browsers'])->each(function ($items, $browserName) use ($object) { | |
| 77 | +                Collection::make($fields['browsers'])->each(function($items, $browserName) use ($object) { | |
| 78 | 78 | $object->saveRelated($items, $browserName); | 
| 79 | 79 | }); | 
| 80 | 80 | } | 
| @@ -102,14 +102,14 @@ discard block | ||
| 102 | 102 |      { | 
| 103 | 103 |          $blocksFromConfig = $this->config->get('twill.block_editor.' . ($repeater ? 'repeaters' : 'blocks')); | 
| 104 | 104 | |
| 105 | -        $block['type'] = Collection::make($blocksFromConfig)->search(function ($blockConfig) use ($block) { | |
| 105 | +        $block['type'] = Collection::make($blocksFromConfig)->search(function($blockConfig) use ($block) { | |
| 106 | 106 | return $blockConfig['component'] === $block['type']; | 
| 107 | 107 | }); | 
| 108 | 108 | |
| 109 | 109 | $block['content'] = empty($block['content']) ? new \stdClass : (object) $block['content']; | 
| 110 | 110 | |
| 111 | 111 |          if ($block['browsers']) { | 
| 112 | -            $browsers = Collection::make($block['browsers'])->map(function ($items) { | |
| 112 | +            $browsers = Collection::make($block['browsers'])->map(function($items) { | |
| 113 | 113 |                  return Collection::make($items)->pluck('id'); | 
| 114 | 114 | })->toArray(); | 
| 115 | 115 | |
| @@ -57,7 +57,7 @@ | ||
| 57 | 57 | // TODO: document this and actually think about moving to queuable job after content type updates | 
| 58 | 58 | public function handle() | 
| 59 | 59 |      { | 
| 60 | -        $this->db->table(config('twill.mediables_table', 'twill_mediables'))->orderBy('id')->chunk(100, function ($attached_medias) { | |
| 60 | +        $this->db->table(config('twill.mediables_table', 'twill_mediables'))->orderBy('id')->chunk(100, function($attached_medias) { | |
| 61 | 61 |              foreach ($attached_medias as $attached_media) { | 
| 62 | 62 | $uuid = Media::withTrashed()->find($attached_media->media_id, ['uuid'])->uuid; | 
| 63 | 63 | |
| @@ -183,7 +183,7 @@ discard block | ||
| 183 | 183 | |
| 184 | 184 |          foreach ($fields as $field) { | 
| 185 | 185 |              if (in_array($field, $translatedAttributes)) { | 
| 186 | -                $query->orWhereHas('translations', function ($q) use ($field, $search) { | |
| 186 | +                $query->orWhereHas('translations', function($q) use ($field, $search) { | |
| 187 | 187 |                      $q->where($field, $this->getLikeOperator(), "%{$search}%"); | 
| 188 | 188 | }); | 
| 189 | 189 |              } else { | 
| @@ -210,7 +210,7 @@ discard block | ||
| 210 | 210 | */ | 
| 211 | 211 | public function create($fields) | 
| 212 | 212 |      { | 
| 213 | -        return DB::transaction(function () use ($fields) { | |
| 213 | +        return DB::transaction(function() use ($fields) { | |
| 214 | 214 | $original_fields = $fields; | 
| 215 | 215 | |
| 216 | 216 | $fields = $this->prepareFieldsBeforeCreate($fields); | 
| @@ -265,7 +265,7 @@ discard block | ||
| 265 | 265 | */ | 
| 266 | 266 | public function update($id, $fields) | 
| 267 | 267 |      { | 
| 268 | -        DB::transaction(function () use ($id, $fields) { | |
| 268 | +        DB::transaction(function() use ($id, $fields) { | |
| 269 | 269 | $object = $this->model->findOrFail($id); | 
| 270 | 270 | |
| 271 | 271 | $this->beforeSave($object, $fields); | 
| @@ -288,7 +288,7 @@ discard block | ||
| 288 | 288 | */ | 
| 289 | 289 | public function updateBasic($id, $values, $scopes = []) | 
| 290 | 290 |      { | 
| 291 | -        return DB::transaction(function () use ($id, $values, $scopes) { | |
| 291 | +        return DB::transaction(function() use ($id, $values, $scopes) { | |
| 292 | 292 | // apply scopes if no id provided | 
| 293 | 293 |              if (is_null($id)) { | 
| 294 | 294 | $query = $this->model->query(); | 
| @@ -299,7 +299,7 @@ discard block | ||
| 299 | 299 | |
| 300 | 300 | $query->update($values); | 
| 301 | 301 | |
| 302 | -                $query->get()->each(function ($object) use ($values) { | |
| 302 | +                $query->get()->each(function($object) use ($values) { | |
| 303 | 303 | $this->afterUpdateBasic($object, $values); | 
| 304 | 304 | }); | 
| 305 | 305 | |
| @@ -311,7 +311,7 @@ discard block | ||
| 311 | 311 |                  $query = $this->model->whereIn('id', $id); | 
| 312 | 312 | $query->update($values); | 
| 313 | 313 | |
| 314 | -                $query->get()->each(function ($object) use ($values) { | |
| 314 | +                $query->get()->each(function($object) use ($values) { | |
| 315 | 315 | $this->afterUpdateBasic($object, $values); | 
| 316 | 316 | }); | 
| 317 | 317 | |
| @@ -334,7 +334,7 @@ discard block | ||
| 334 | 334 | */ | 
| 335 | 335 | public function setNewOrder($ids) | 
| 336 | 336 |      { | 
| 337 | -        DB::transaction(function () use ($ids) { | |
| 337 | +        DB::transaction(function() use ($ids) { | |
| 338 | 338 | $this->model->setNewOrder($ids); | 
| 339 | 339 | }, 3); | 
| 340 | 340 | } | 
| @@ -345,7 +345,7 @@ discard block | ||
| 345 | 345 | */ | 
| 346 | 346 | public function delete($id) | 
| 347 | 347 |      { | 
| 348 | -        return DB::transaction(function () use ($id) { | |
| 348 | +        return DB::transaction(function() use ($id) { | |
| 349 | 349 |              if (($object = $this->model->find($id)) === null) { | 
| 350 | 350 | return false; | 
| 351 | 351 | } | 
| @@ -365,9 +365,9 @@ discard block | ||
| 365 | 365 | */ | 
| 366 | 366 | public function bulkDelete($ids) | 
| 367 | 367 |      { | 
| 368 | -        return DB::transaction(function () use ($ids) { | |
| 368 | +        return DB::transaction(function() use ($ids) { | |
| 369 | 369 |              try { | 
| 370 | -                Collection::make($ids)->each(function ($id) { | |
| 370 | +                Collection::make($ids)->each(function($id) { | |
| 371 | 371 | $this->delete($id); | 
| 372 | 372 | }); | 
| 373 | 373 |              } catch (\Exception $e) { | 
| @@ -385,7 +385,7 @@ discard block | ||
| 385 | 385 | */ | 
| 386 | 386 | public function forceDelete($id) | 
| 387 | 387 |      { | 
| 388 | -        return DB::transaction(function () use ($id) { | |
| 388 | +        return DB::transaction(function() use ($id) { | |
| 389 | 389 |              if (($object = $this->model->onlyTrashed()->find($id)) === null) { | 
| 390 | 390 | return false; | 
| 391 | 391 |              } else { | 
| @@ -402,14 +402,14 @@ discard block | ||
| 402 | 402 | */ | 
| 403 | 403 | public function bulkForceDelete($ids) | 
| 404 | 404 |      { | 
| 405 | -        return DB::transaction(function () use ($ids) { | |
| 405 | +        return DB::transaction(function() use ($ids) { | |
| 406 | 406 |              try { | 
| 407 | 407 |                  $query = $this->model->onlyTrashed()->whereIn('id', $ids); | 
| 408 | 408 | $objects = $query->get(); | 
| 409 | 409 | |
| 410 | 410 | $query->forceDelete(); | 
| 411 | 411 | |
| 412 | -                $objects->each(function ($object) { | |
| 412 | +                $objects->each(function($object) { | |
| 413 | 413 | $this->afterDelete($object); | 
| 414 | 414 | }); | 
| 415 | 415 |              } catch (\Exception $e) { | 
| @@ -427,7 +427,7 @@ discard block | ||
| 427 | 427 | */ | 
| 428 | 428 | public function restore($id) | 
| 429 | 429 |      { | 
| 430 | -        return DB::transaction(function () use ($id) { | |
| 430 | +        return DB::transaction(function() use ($id) { | |
| 431 | 431 |              if (($object = $this->model->withTrashed()->find($id)) != null) { | 
| 432 | 432 | $object->restore(); | 
| 433 | 433 | $this->afterRestore($object); | 
| @@ -444,14 +444,14 @@ discard block | ||
| 444 | 444 | */ | 
| 445 | 445 | public function bulkRestore($ids) | 
| 446 | 446 |      { | 
| 447 | -        return DB::transaction(function () use ($ids) { | |
| 447 | +        return DB::transaction(function() use ($ids) { | |
| 448 | 448 |              try { | 
| 449 | 449 |                  $query = $this->model->withTrashed()->whereIn('id', $ids); | 
| 450 | 450 | $objects = $query->get(); | 
| 451 | 451 | |
| 452 | 452 | $query->restore(); | 
| 453 | 453 | |
| 454 | -                $objects->each(function ($object) { | |
| 454 | +                $objects->each(function($object) { | |
| 455 | 455 | $this->afterRestore($object); | 
| 456 | 456 | }); | 
| 457 | 457 |              } catch (\Exception $e) { | 
| @@ -726,7 +726,7 @@ discard block | ||
| 726 | 726 |      { | 
| 727 | 727 |          if (isset($scopes[$scopeField])) { | 
| 728 | 728 | $id = $scopes[$scopeField]; | 
| 729 | -            $query->whereHas($scopeRelation, function ($query) use ($id, $scopeField) { | |
| 729 | +            $query->whereHas($scopeRelation, function($query) use ($id, $scopeField) { | |
| 730 | 730 | $query->where($scopeField, $id); | 
| 731 | 731 | }); | 
| 732 | 732 | unset($scopes[$scopeField]); | 
| @@ -757,7 +757,7 @@ discard block | ||
| 757 | 757 |      { | 
| 758 | 758 | |
| 759 | 759 |          if (isset($scopes[$scopeField]) && is_string($scopes[$scopeField])) { | 
| 760 | -            $query->where(function ($query) use (&$scopes, $scopeField, $orFields) { | |
| 760 | +            $query->where(function($query) use (&$scopes, $scopeField, $orFields) { | |
| 761 | 761 |                  foreach ($orFields as $field) { | 
| 762 | 762 | $query->orWhere($field, $this->getLikeOperator(), '%' . $scopes[$scopeField] . '%'); | 
| 763 | 763 | unset($scopes[$field]); | 
| @@ -833,11 +833,11 @@ discard block | ||
| 833 | 833 | |
| 834 | 834 |          $uniqueTraits = array_unique(array_map('class_basename', $traits)); | 
| 835 | 835 | |
| 836 | -        $methods = array_map(function (string $trait) use ($method) { | |
| 836 | +        $methods = array_map(function(string $trait) use ($method) { | |
| 837 | 837 | return $method . $trait; | 
| 838 | 838 | }, $uniqueTraits); | 
| 839 | 839 | |
| 840 | -        return array_filter($methods, function (string $method) { | |
| 840 | +        return array_filter($methods, function(string $method) { | |
| 841 | 841 | return method_exists(get_called_class(), $method); | 
| 842 | 842 | }); | 
| 843 | 843 | } | 
| @@ -70,7 +70,7 @@ discard block | ||
| 70 | 70 | $blockRepository = app(BlockRepository::class); | 
| 71 | 71 | |
| 72 | 72 |          $blockRepository->bulkDelete($object->blocks()->pluck('id')->toArray()); | 
| 73 | -        $this->getBlocks($object, $fields)->each(function ($block) use ($object, $blockRepository) { | |
| 73 | +        $this->getBlocks($object, $fields)->each(function($block) use ($object, $blockRepository) { | |
| 74 | 74 | $this->createBlock($blockRepository, $block); | 
| 75 | 75 | }); | 
| 76 | 76 | } | 
| @@ -88,7 +88,7 @@ discard block | ||
| 88 | 88 | $blockCreated = $blockRepository->create($blockFields); | 
| 89 | 89 | |
| 90 | 90 | // Handle child blocks | 
| 91 | -        $blockFields['blocks']->each(function ($childBlock) use ($blockCreated, $blockRepository) { | |
| 91 | +        $blockFields['blocks']->each(function($childBlock) use ($blockCreated, $blockRepository) { | |
| 92 | 92 | $childBlock['parent_id'] = $blockCreated->id; | 
| 93 | 93 | $this->createBlock($blockRepository, $childBlock); | 
| 94 | 94 | }); | 
| @@ -200,9 +200,9 @@ discard block | ||
| 200 | 200 | ]; | 
| 201 | 201 | } | 
| 202 | 202 | |
| 203 | -                $fields['blocksFields'][] = Collection::make($block['content'])->filter(function ($value, $key) { | |
| 203 | +                $fields['blocksFields'][] = Collection::make($block['content'])->filter(function($value, $key) { | |
| 204 | 204 | return $key !== "browsers"; | 
| 205 | -                })->map(function ($value, $key) use ($block) { | |
| 205 | +                })->map(function($value, $key) use ($block) { | |
| 206 | 206 | return [ | 
| 207 | 207 | 'name' => "blocks[$block->id][$key]", | 
| 208 | 208 | 'value' => $value, | 
| @@ -215,15 +215,15 @@ discard block | ||
| 215 | 215 | |
| 216 | 216 |                  if ($medias) { | 
| 217 | 217 |                      if (config('twill.media_library.translated_form_fields', false)) { | 
| 218 | -                        $fields['blocksMedias'][] = Collection::make($medias)->mapWithKeys(function ($mediasByLocale, $locale) use ($block) { | |
| 219 | -                            return Collection::make($mediasByLocale)->mapWithKeys(function ($value, $key) use ($block, $locale) { | |
| 218 | +                        $fields['blocksMedias'][] = Collection::make($medias)->mapWithKeys(function($mediasByLocale, $locale) use ($block) { | |
| 219 | +                            return Collection::make($mediasByLocale)->mapWithKeys(function($value, $key) use ($block, $locale) { | |
| 220 | 220 | return [ | 
| 221 | 221 | "blocks[$block->id][$key][$locale]" => $value, | 
| 222 | 222 | ]; | 
| 223 | 223 | }); | 
| 224 | 224 | })->filter()->toArray(); | 
| 225 | 225 |                      } else { | 
| 226 | -                        $fields['blocksMedias'][] = Collection::make($medias)->mapWithKeys(function ($value, $key) use ($block) { | |
| 226 | +                        $fields['blocksMedias'][] = Collection::make($medias)->mapWithKeys(function($value, $key) use ($block) { | |
| 227 | 227 | return [ | 
| 228 | 228 | "blocks[$block->id][$key]" => $value, | 
| 229 | 229 | ]; | 
| @@ -234,8 +234,8 @@ discard block | ||
| 234 | 234 | $files = $blockFormFields['files']; | 
| 235 | 235 | |
| 236 | 236 |                  if ($files) { | 
| 237 | -                    Collection::make($files)->each(function ($rolesWithFiles, $locale) use (&$fields, $block) { | |
| 238 | -                        $fields['blocksFiles'][] = Collection::make($rolesWithFiles)->mapWithKeys(function ($files, $role) use ($locale, $block) { | |
| 237 | +                    Collection::make($files)->each(function($rolesWithFiles, $locale) use (&$fields, $block) { | |
| 238 | +                        $fields['blocksFiles'][] = Collection::make($rolesWithFiles)->mapWithKeys(function($files, $role) use ($locale, $block) { | |
| 239 | 239 | return [ | 
| 240 | 240 | "blocks[$block->id][$role][$locale]" => $files, | 
| 241 | 241 | ]; | 
| @@ -274,9 +274,9 @@ discard block | ||
| 274 | 274 | */ | 
| 275 | 275 | protected function getBlockBrowsers($block) | 
| 276 | 276 |      { | 
| 277 | -        return Collection::make($block['content']['browsers'])->mapWithKeys(function ($ids, $relation) use ($block) { | |
| 277 | +        return Collection::make($block['content']['browsers'])->mapWithKeys(function($ids, $relation) use ($block) { | |
| 278 | 278 |              if (Schema::hasTable(config('twill.related_table', 'twill_related')) && $block->getRelated($relation)->isNotEmpty()) { | 
| 279 | - $items = $this->getFormFieldsForRelatedBrowser($block, $relation);; | |
| 279 | + $items = $this->getFormFieldsForRelatedBrowser($block, $relation); ; | |
| 280 | 280 |              } else { | 
| 281 | 281 | $relationRepository = $this->getModelRepository($relation); | 
| 282 | 282 | $relatedItems = $relationRepository->get([], ['id' => $ids], [], -1); | 
| @@ -286,9 +286,9 @@ discard block | ||
| 286 | 286 | $sortedRelatedItems[$item->id] = $item; | 
| 287 | 287 | } | 
| 288 | 288 | |
| 289 | -                $items = Collection::make(array_values($sortedRelatedItems))->filter(function ($value) { | |
| 289 | +                $items = Collection::make(array_values($sortedRelatedItems))->filter(function($value) { | |
| 290 | 290 | return is_object($value); | 
| 291 | -                })->map(function ($relatedElement) use ($relation) { | |
| 291 | +                })->map(function($relatedElement) use ($relation) { | |
| 292 | 292 | return [ | 
| 293 | 293 | 'id' => $relatedElement->id, | 
| 294 | 294 | 'name' => $relatedElement->titleInBrowser ?? $relatedElement->title, | 
| @@ -62,7 +62,7 @@ discard block | ||
| 62 | 62 | $relationRepository = $this->getModelRepository($relation, $model); | 
| 63 | 63 | |
| 64 | 64 |          if (!$keepExisting) { | 
| 65 | -            $object->$relation()->each(function ($repeaterElement) { | |
| 65 | +            $object->$relation()->each(function($repeaterElement) { | |
| 66 | 66 | $repeaterElement->forceDelete(); | 
| 67 | 67 | }); | 
| 68 | 68 | } | 
| @@ -81,8 +81,8 @@ discard block | ||
| 81 | 81 | |
| 82 | 82 | $morph = $morph ?: $relation; | 
| 83 | 83 | |
| 84 | - $morphFieldType = $morph.'_type'; | |
| 85 | - $morphFieldId = $morph.'_id'; | |
| 84 | + $morphFieldType = $morph . '_type'; | |
| 85 | + $morphFieldId = $morph . '_id'; | |
| 86 | 86 | |
| 87 | 87 | // if no relation field submitted, soft deletes all associated rows | 
| 88 | 88 |          if (!$relationFields) { | 
| @@ -232,8 +232,8 @@ discard block | ||
| 232 | 232 | |
| 233 | 233 |              if (isset($relatedItemFormFields['medias'])) { | 
| 234 | 234 |                  if (config('twill.media_library.translated_form_fields', false)) { | 
| 235 | -                    Collection::make($relatedItemFormFields['medias'])->each(function ($rolesWithMedias, $locale) use (&$repeatersMedias, $relation, $relationItem) { | |
| 236 | -                        $repeatersMedias[] = Collection::make($rolesWithMedias)->mapWithKeys(function ($medias, $role) use ($locale, $relation, $relationItem) { | |
| 235 | +                    Collection::make($relatedItemFormFields['medias'])->each(function($rolesWithMedias, $locale) use (&$repeatersMedias, $relation, $relationItem) { | |
| 236 | +                        $repeatersMedias[] = Collection::make($rolesWithMedias)->mapWithKeys(function($medias, $role) use ($locale, $relation, $relationItem) { | |
| 237 | 237 | return [ | 
| 238 | 238 | "blocks[$relation-$relationItem->id][$role][$locale]" => $medias, | 
| 239 | 239 | ]; | 
| @@ -247,8 +247,8 @@ discard block | ||
| 247 | 247 | } | 
| 248 | 248 | |
| 249 | 249 |              if (isset($relatedItemFormFields['files'])) { | 
| 250 | -                Collection::make($relatedItemFormFields['files'])->each(function ($rolesWithFiles, $locale) use (&$repeatersFiles, $relation, $relationItem) { | |
| 251 | -                    $repeatersFiles[] = Collection::make($rolesWithFiles)->mapWithKeys(function ($files, $role) use ($locale, $relation, $relationItem) { | |
| 250 | +                Collection::make($relatedItemFormFields['files'])->each(function($rolesWithFiles, $locale) use (&$repeatersFiles, $relation, $relationItem) { | |
| 251 | +                    $repeatersFiles[] = Collection::make($rolesWithFiles)->mapWithKeys(function($files, $role) use ($locale, $relation, $relationItem) { | |
| 252 | 252 | return [ | 
| 253 | 253 | "blocks[$relation-$relationItem->id][$role][$locale]" => $files, | 
| 254 | 254 | ]; | 
| @@ -298,7 +298,7 @@ discard block | ||
| 298 | 298 | */ | 
| 299 | 299 | protected function getRepeaters() | 
| 300 | 300 |      { | 
| 301 | -        return collect($this->repeaters)->map(function ($repeater, $key) { | |
| 301 | +        return collect($this->repeaters)->map(function($repeater, $key) { | |
| 302 | 302 | $repeaterName = is_string($repeater) ? $repeater : $key; | 
| 303 | 303 | return [ | 
| 304 | 304 | 'relation' => !empty($repeater['relation']) ? $repeater['relation'] : $this->inferRelationFromRepeaterName($repeaterName), | 
| @@ -107,7 +107,7 @@ discard block | ||
| 107 | 107 | */ | 
| 108 | 108 | public function getFormFieldsForBrowser($object, $relation, $routePrefix = null, $titleKey = 'title', $moduleName = null) | 
| 109 | 109 |      { | 
| 110 | -        return $object->$relation->map(function ($relatedElement) use ($titleKey, $routePrefix, $relation, $moduleName) { | |
| 110 | +        return $object->$relation->map(function($relatedElement) use ($titleKey, $routePrefix, $relation, $moduleName) { | |
| 111 | 111 | return [ | 
| 112 | 112 | 'id' => $relatedElement->id, | 
| 113 | 113 | 'name' => $relatedElement->titleInBrowser ?? $relatedElement->$titleKey, | 
| @@ -126,7 +126,7 @@ discard block | ||
| 126 | 126 | */ | 
| 127 | 127 | public function getFormFieldsForRelatedBrowser($object, $relation) | 
| 128 | 128 |      { | 
| 129 | -        return $object->getRelated($relation)->map(function ($relatedElement) { | |
| 129 | +        return $object->getRelated($relation)->map(function($relatedElement) { | |
| 130 | 130 | return ($relatedElement != null) ? [ | 
| 131 | 131 | 'id' => $relatedElement->id, | 
| 132 | 132 | 'name' => $relatedElement->titleInBrowser ?? $relatedElement->title, | 
| @@ -136,7 +136,7 @@ discard block | ||
| 136 | 136 | ]) + (classHasTrait($relatedElement, HasMedias::class) ? [ | 
| 137 | 137 | 'thumbnail' => $relatedElement->defaultCmsImage(['w' => 100, 'h' => 100]), | 
| 138 | 138 | ] : []) : []; | 
| 139 | -        })->reject(function ($item) { | |
| 139 | +        })->reject(function($item) { | |
| 140 | 140 | return empty($item); | 
| 141 | 141 | })->values()->toArray(); | 
| 142 | 142 | } | 
| @@ -149,7 +149,7 @@ discard block | ||
| 149 | 149 | */ | 
| 150 | 150 | protected function getBrowsers() | 
| 151 | 151 |      { | 
| 152 | -        return collect($this->browsers)->map(function ($browser, $key) { | |
| 152 | +        return collect($this->browsers)->map(function($browser, $key) { | |
| 153 | 153 | $browserName = is_string($browser) ? $browser : $key; | 
| 154 | 154 | return [ | 
| 155 | 155 | 'relation' => !empty($browser['relation']) ? $browser['relation'] : $this->inferRelationFromBrowserName($browserName), | 
| @@ -68,11 +68,11 @@ discard block | ||
| 68 | 68 | private function mapHostRoutes($router, $groupOptions, $middlewares, $supportSubdomainRouting) | 
| 69 | 69 |      { | 
| 70 | 70 |          if (file_exists(base_path('routes/admin.php'))) { | 
| 71 | -            $hostRoutes = function ($router) use ($middlewares) { | |
| 71 | +            $hostRoutes = function($router) use ($middlewares) { | |
| 72 | 72 | $router->group([ | 
| 73 | 73 |                      'namespace' => config('twill.namespace', 'App') . '\Http\Controllers\Admin', | 
| 74 | 74 | 'middleware' => $middlewares, | 
| 75 | -                ], function ($router) { | |
| 75 | +                ], function($router) { | |
| 76 | 76 |                      require base_path('routes/admin.php'); | 
| 77 | 77 | }); | 
| 78 | 78 | }; | 
| @@ -91,25 +91,25 @@ discard block | ||
| 91 | 91 | |
| 92 | 92 | private function mapInternalRoutes($router, $groupOptions, $middlewares, $supportSubdomainRouting) | 
| 93 | 93 |      { | 
| 94 | -        $internalRoutes = function ($router) use ($middlewares, $supportSubdomainRouting) { | |
| 95 | -            $router->group(['middleware' => $middlewares], function ($router) { | |
| 94 | +        $internalRoutes = function($router) use ($middlewares, $supportSubdomainRouting) { | |
| 95 | +            $router->group(['middleware' => $middlewares], function($router) { | |
| 96 | 96 | require __DIR__ . '/../routes/admin.php'; | 
| 97 | 97 | }); | 
| 98 | 98 | |
| 99 | 99 | $router->group([ | 
| 100 | 100 | 'middleware' => $supportSubdomainRouting ? ['supportSubdomainRouting'] : [], | 
| 101 | -            ], function ($router) { | |
| 101 | +            ], function($router) { | |
| 102 | 102 | require __DIR__ . '/../routes/auth.php'; | 
| 103 | 103 | }); | 
| 104 | 104 | |
| 105 | -            $router->group(['middleware' => $this->app->environment('production') ? ['twill_auth:twill_users'] : []], function ($router) { | |
| 105 | +            $router->group(['middleware' => $this->app->environment('production') ? ['twill_auth:twill_users'] : []], function($router) { | |
| 106 | 106 | require __DIR__ . '/../routes/templates.php'; | 
| 107 | 107 | }); | 
| 108 | 108 | }; | 
| 109 | 109 | |
| 110 | 110 | $router->group($groupOptions + [ | 
| 111 | 111 | 'namespace' => $this->namespace . '\Admin', | 
| 112 | -        ], function ($router) use ($internalRoutes, $supportSubdomainRouting) { | |
| 112 | +        ], function($router) use ($internalRoutes, $supportSubdomainRouting) { | |
| 113 | 113 | $router->group([ | 
| 114 | 114 |                  'domain' => config('twill.admin_app_url'), | 
| 115 | 115 | ], $internalRoutes); | 
| @@ -127,8 +127,8 @@ discard block | ||
| 127 | 127 |                  'domain' => config('app.url'), | 
| 128 | 128 |                  'middleware' => [config('twill.admin_middleware_group', 'web')], | 
| 129 | 129 | ], | 
| 130 | -                function ($router) { | |
| 131 | -                    $router->group(['middleware' => $this->app->environment('production') ? ['twill_auth:twill_users'] : []], function ($router) { | |
| 130 | +                function($router) { | |
| 131 | +                    $router->group(['middleware' => $this->app->environment('production') ? ['twill_auth:twill_users'] : []], function($router) { | |
| 132 | 132 | require __DIR__ . '/../routes/templates.php'; | 
| 133 | 133 | }); | 
| 134 | 134 | } | 
| @@ -162,7 +162,7 @@ discard block | ||
| 162 | 162 | */ | 
| 163 | 163 | protected function registerMacros() | 
| 164 | 164 |      { | 
| 165 | -        Route::macro('moduleShowWithPreview', function ($moduleName, $routePrefix = null, $controllerName = null) { | |
| 165 | +        Route::macro('moduleShowWithPreview', function($moduleName, $routePrefix = null, $controllerName = null) { | |
| 166 | 166 |              if ($routePrefix === null) { | 
| 167 | 167 | $routePrefix = $moduleName; | 
| 168 | 168 | } | 
| @@ -178,12 +178,12 @@ discard block | ||
| 178 | 178 |              Route::name($moduleName . '.preview')->get('/admin-preview' . $routePrefix . '{slug}', $controllerName . 'Controller@show')->middleware(['web', 'twill_auth:twill_users', 'can:list']); | 
| 179 | 179 | }); | 
| 180 | 180 | |
| 181 | -        Route::macro('module', function ($slug, $options = [], $resource_options = [], $resource = true) { | |
| 181 | +        Route::macro('module', function($slug, $options = [], $resource_options = [], $resource = true) { | |
| 182 | 182 | |
| 183 | 183 |              $slugs = explode('.', $slug); | 
| 184 | 184 |              $prefixSlug = str_replace('.', "/", $slug); | 
| 185 | 185 | $_slug = Arr::last($slugs); | 
| 186 | -            $className = implode("", array_map(function ($s) { | |
| 186 | +            $className = implode("", array_map(function($s) { | |
| 187 | 187 | return ucfirst(Str::singular($s)); | 
| 188 | 188 | }, $slugs)); | 
| 189 | 189 | |
| @@ -230,7 +230,7 @@ discard block | ||
| 230 | 230 | |
| 231 | 231 |              if ($resource) { | 
| 232 | 232 |                  $customRoutePrefix = !empty($groupPrefix) ? "{$groupPrefix}." : ""; | 
| 233 | -                Route::group(['as' => $customRoutePrefix], function () use ($slug, $className, $resource_options) { | |
| 233 | +                Route::group(['as' => $customRoutePrefix], function() use ($slug, $className, $resource_options) { | |
| 234 | 234 |                      Route::resource($slug, "{$className}Controller", $resource_options); | 
| 235 | 235 | }); | 
| 236 | 236 | } |