<?php

namespace App\Model;

use App\Traits\Log;

class ContentModel extends Model {

	use Log { delete as deleteLog; }

	protected $table = 'content';
	protected $sort = 'title';

	// Attribute rules
	// Name | Type | Required | Filtered
	public $rules = [
		["content",         "textarea",  0, 0],
		["title",           "text",      0, 0],
		["type",            "dropdown",  1, 0],
		["hide_title",      "checkbox",  1, 0],
		["hide_background", "checkbox",  1, 0],
		["active",          "checkbox",  1, 0],
		["log_id",          "text",      1, 1],
	];

	//-------------------------------------//

	// Generate the dropdown data
	public function getDropdownData(string $type): array
	{
		if ($type == 'type') {
			return [0 => 'Select type', 1 => 'Page content', 2 => 'Side block'];
		}

		return [];
	}

	public function delete(): bool
	{
		if (self::query(
			"DELETE FROM `page_has_{$this->table}` WHERE `{$this->table}_$this->primaryKey` = :id", [
				[':id', $this->{$this->primaryKey}],
			]
		) === null) {
			return false;
		}

		return $this->deleteLog();
	}
}