48 lines
1.2 KiB
PHP
48 lines
1.2 KiB
PHP
<?php
|
||
|
||
// Работа с полями для данных
|
||
|
||
defined('ROOT_DIR') || exit;
|
||
|
||
trait Fields {
|
||
public array $fields = array();
|
||
|
||
public function field_register($key, $field): bool
|
||
{
|
||
$this->fields[$key] = $field;
|
||
return true;
|
||
}
|
||
|
||
public function field_render_edit($key, $name, $content = "")
|
||
{
|
||
$field = $this->field_get($key);
|
||
if(!$field) return "";
|
||
$field->set_name($name);
|
||
$field->set_content($content);
|
||
$field->render_edit();
|
||
}
|
||
|
||
public function field_render_value($key, $name, $content = "")
|
||
{
|
||
$field = $this->field_get($key);
|
||
if(!$field) return "";
|
||
$field->set_name($name);
|
||
$field->set_content($content);
|
||
return $field->render_value();
|
||
}
|
||
|
||
public function field_render_db_value($key, $name, $value = "", $old_value = "")
|
||
{
|
||
$field = $this->field_get($key);
|
||
if(!$field) return "";
|
||
$field->set_name($name);
|
||
$field->set_content($value);
|
||
return $field->render_db_value($old_value);
|
||
}
|
||
|
||
public function field_get($name)
|
||
{
|
||
if(!isset($this->fields[$name])) return false;
|
||
return $this->fields[$name];
|
||
}
|
||
} |