mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-07-14 09:01:42 -04:00
68 lines
1.8 KiB
PHP
68 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace Modules\MenuPlus\Repositories;
|
|
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Modules\ExtraSettings\Entities\Setting;
|
|
use Modules\MenuPlus\Entities\Meta;
|
|
|
|
class MetaRepository
|
|
{
|
|
public function add($id, $name, $value) {
|
|
$setting = Meta::where('element_id', $id)->where('meta_name', $name)->first();
|
|
if (!$setting) {
|
|
if (is_array($value)) {
|
|
$value = json_encode($value);
|
|
}
|
|
|
|
Meta::create([
|
|
'element_id' => $id,
|
|
'meta_name' => $name,
|
|
'meta_value' => $value
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function update($id, $name, $value, $create = true) {
|
|
$setting = Meta::where('element_id', $id)->where('meta_name', $name)->first();
|
|
if ($setting) {
|
|
if (is_array($value)) {
|
|
$value = json_encode($value);
|
|
}
|
|
|
|
$setting->meta_value = $value;
|
|
$setting->update();
|
|
}
|
|
else {
|
|
if ($create) {
|
|
$this->add($id, $name, $value);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function getValue($id, $name, $default = null, $convert = false) {
|
|
$setting = Meta::where('element_id', $id)->where('meta_name', $name)->first();
|
|
if ($setting) {
|
|
if ($convert) {
|
|
$value = json_encode($setting->value);
|
|
|
|
if (json_last_error() === JSON_ERROR_NONE) {
|
|
return $value;
|
|
}
|
|
}
|
|
|
|
return $setting->meta_value;
|
|
}
|
|
|
|
return $default;
|
|
}
|
|
|
|
public function delete($id, $name) {
|
|
$setting = Meta::where('element_id', $id)->where('name', $name)->first();
|
|
if ($setting) {
|
|
$setting->delete();
|
|
}
|
|
}
|
|
}
|