Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Webkul\Theme\Repositories; use Illuminate\Http\UploadedFile; use Illumin..
Decoded Output download
<?php
namespace Webkul\Theme\Repositories;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\ImageManager;
use Webkul\Core\Eloquent\Repository;
use Webkul\Theme\Contracts\ThemeCustomization;
class ThemeCustomizationRepository extends Repository
{
/**
* Specify model class name.
*/
public function model(): string
{
return ThemeCustomization::class;
}
/**
* Update the specified theme
*
* @param array $data
* @param int $id
*/
public function update($data, $id): ThemeCustomization
{
$locale = core()->getRequestedLocaleCode();
if ($data['type'] == 'static_content') {
$data[$locale]['options']['html'] = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $data[$locale]['options']['html']);
$data[$locale]['options']['css'] = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $data[$locale]['options']['css']);
}
if (in_array($data['type'], ['image_carousel', 'services_content'])) {
unset($data[$locale]['options']);
}
$theme = parent::update($data, $id);
if (in_array($data['type'], ['image_carousel', 'services_content'])) {
$this->uploadImage(request()->all(), $theme);
}
return $theme;
}
/**
* Upload images
*
* @return void|string
*/
public function uploadImage(array $data, ThemeCustomization $theme)
{
$locale = core()->getRequestedLocaleCode();
if (isset($data[$locale]['deleted_sliders'])) {
foreach ($data[$locale]['deleted_sliders'] as $slider) {
Storage::delete(str_replace('storage/', '', $slider['image']));
}
}
if (! isset($data[$locale]['options'])) {
return;
}
$options = [];
foreach ($data[$locale]['options'] as $image) {
if (isset($image['service_icon'])) {
$options['services'][] = [
'service_icon' => $image['service_icon'],
'description' => $image['description'],
'title' => $image['title'],
];
} elseif ($image['image'] instanceof UploadedFile) {
try {
$manager = new ImageManager();
$path = 'theme/'.$theme->id.'/'.Str::random(40).'.webp';
Storage::put($path, $manager->make($image['image'])->encode('webp'));
} catch (\Exception $e) {
session()->flash('error', $e->getMessage());
return redirect()->back();
}
if (($data['type'] ?? '') == 'static_content') {
return Storage::url($path);
}
$options['images'][] = [
'image' => 'storage/'.$path,
'link' => $image['link'],
'title' => $image['title'],
];
} else {
$options['images'][] = $image;
}
}
$translatedModel = $theme->translate($locale);
$translatedModel->options = $options ?? [];
$translatedModel->theme_customization_id = $theme->id;
$translatedModel->save();
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Webkul\Theme\Repositories;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\ImageManager;
use Webkul\Core\Eloquent\Repository;
use Webkul\Theme\Contracts\ThemeCustomization;
class ThemeCustomizationRepository extends Repository
{
/**
* Specify model class name.
*/
public function model(): string
{
return ThemeCustomization::class;
}
/**
* Update the specified theme
*
* @param array $data
* @param int $id
*/
public function update($data, $id): ThemeCustomization
{
$locale = core()->getRequestedLocaleCode();
if ($data['type'] == 'static_content') {
$data[$locale]['options']['html'] = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $data[$locale]['options']['html']);
$data[$locale]['options']['css'] = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $data[$locale]['options']['css']);
}
if (in_array($data['type'], ['image_carousel', 'services_content'])) {
unset($data[$locale]['options']);
}
$theme = parent::update($data, $id);
if (in_array($data['type'], ['image_carousel', 'services_content'])) {
$this->uploadImage(request()->all(), $theme);
}
return $theme;
}
/**
* Upload images
*
* @return void|string
*/
public function uploadImage(array $data, ThemeCustomization $theme)
{
$locale = core()->getRequestedLocaleCode();
if (isset($data[$locale]['deleted_sliders'])) {
foreach ($data[$locale]['deleted_sliders'] as $slider) {
Storage::delete(str_replace('storage/', '', $slider['image']));
}
}
if (! isset($data[$locale]['options'])) {
return;
}
$options = [];
foreach ($data[$locale]['options'] as $image) {
if (isset($image['service_icon'])) {
$options['services'][] = [
'service_icon' => $image['service_icon'],
'description' => $image['description'],
'title' => $image['title'],
];
} elseif ($image['image'] instanceof UploadedFile) {
try {
$manager = new ImageManager();
$path = 'theme/'.$theme->id.'/'.Str::random(40).'.webp';
Storage::put($path, $manager->make($image['image'])->encode('webp'));
} catch (\Exception $e) {
session()->flash('error', $e->getMessage());
return redirect()->back();
}
if (($data['type'] ?? '') == 'static_content') {
return Storage::url($path);
}
$options['images'][] = [
'image' => 'storage/'.$path,
'link' => $image['link'],
'title' => $image['title'],
];
} else {
$options['images'][] = $image;
}
}
$translatedModel = $theme->translate($locale);
$translatedModel->options = $options ?? [];
$translatedModel->theme_customization_id = $theme->id;
$translatedModel->save();
}
}
Function Calls
None |
Stats
MD5 | f7a2c189103e3e18cc49f13c21adf28b |
Eval Count | 0 |
Decode Time | 107 ms |