diff --git a/Admin/Install/db.json b/Admin/Install/db.json index 2538b84..89a6679 100755 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -17,8 +17,7 @@ "tag_icon": { "name": "tag_icon", "type": "VARCHAR(255)", - "null": true, - "default": null + "null": false }, "tag_type": { "name": "tag_type", diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 95201e6..dd4577b 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -74,7 +74,8 @@ final class ApiController extends Controller public function apiTagUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { /** @var Tag $old */ - $old = clone TagMapper::get()->where('id', (int) $request->getData('id'))->execute(); + $old = TagMapper::get()->where('id', (int) $request->getData('id'))->execute(); + $old = clone $old; $new = $this->updateTagFromRequest($request); $this->updateModel($request->header->account, $old, $new, TagMapper::class, 'tag', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Tag', 'Tag successfully updated', $new); @@ -190,7 +191,7 @@ final class ApiController extends Controller { $tag = new Tag(); $tag->color = \str_pad($request->getData('color') ?? '#000000ff', 9, 'f'); - $tag->icon = $request->getData('icon'); + $tag->icon = (string) ($request->getData('icon') ?? ''); return $tag; } diff --git a/Models/Tag.php b/Models/Tag.php index 8cc7b72..f4ada61 100755 --- a/Models/Tag.php +++ b/Models/Tag.php @@ -54,10 +54,10 @@ class Tag implements \JsonSerializable /** * Icon. * - * @var null|string + * @var string * @since 1.0.0 */ - public ?string $icon = null; + public string $icon = ''; /** * Creator. diff --git a/Theme/Backend/Components/TagSelector/BaseView.php b/Theme/Backend/Components/TagSelector/BaseView.php index 7f798df..50d0689 100755 --- a/Theme/Backend/Components/TagSelector/BaseView.php +++ b/Theme/Backend/Components/TagSelector/BaseView.php @@ -112,6 +112,7 @@ class BaseView extends View */ public function render(mixed ...$data) : string { + /** @var array{0:string, 1:string, 2:string, 3:null|bool} $data */ $this->id = $data[0]; $this->name = $data[1]; $this->form = $data[2]; diff --git a/Theme/Backend/tag-create.tpl.php b/Theme/Backend/tag-create.tpl.php index 31422ae..7d2ff99 100755 --- a/Theme/Backend/tag-create.tpl.php +++ b/Theme/Backend/tag-create.tpl.php @@ -28,7 +28,7 @@ echo $this->getData('nav')->render(); ?> - +
diff --git a/Theme/Backend/tag-single.tpl.php b/Theme/Backend/tag-single.tpl.php index b0f6991..ff945bc 100755 --- a/Theme/Backend/tag-single.tpl.php +++ b/Theme/Backend/tag-single.tpl.php @@ -33,7 +33,7 @@ echo $this->getData('nav')->render(); ?> - +