Initial commit

This commit is contained in:
Ivan Petrov
2025-12-24 19:19:01 +03:00
commit a7097c6178
19493 changed files with 94306 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
<?php
// Работа с настройками BiveEngine
defined('ROOT_DIR') || exit;
trait Settings {
public array $setting_list = array();
public function setting_register($setting_key, $title, $field_key): string
{
$this->setting_list[$setting_key] = array("title" => $title, "field_key" => $field_key);
return $setting_key;
}
public function setting_get($setting_key)
{
$keys = $this->db_query("SELECT `value` FROM `bive_settings` WHERE `setting_key` = ?", array($setting_key), true);
if(!isset($keys[0])) return false;
return $keys[0]["value"];
}
public function setting_get_value($setting_key)
{
$value = $this->setting_get($setting_key);
if($value === false) return false;
$field_key = $this->setting_get_field($setting_key);
if($field_key === false) return false;
return $this->field_render_value($field_key, $setting_key, $value);
}
public function setting_get_field($setting_key)
{
if(!isset($this->setting_list[$setting_key])) return false;
return $this->setting_list[$setting_key]["field_key"];
}
public function setting_get_title($setting_key)
{
if(!isset($this->setting_list[$setting_key])) return false;
return $this->setting_list[$setting_key]["title"];
}
public function setting_set($setting_key, $value): bool
{
$field_key = $this->setting_get_field($setting_key);
if(!$field_key) return false;
$old_value = $this->setting_get($setting_key);
$value = $this->field_render_db_value($field_key, $setting_key, $value, $old_value);
if($old_value === false) return $this->setting_add($setting_key, $value);
$this->db_query("UPDATE `bive_settings` SET `value` = ? WHERE `setting_key` = ?", array($value, $setting_key), true);
return true;
}
public function setting_add($setting_key, $value)
{
return $this->db_insert("INSERT INTO `bive_settings`(`setting_key`, `value`) VALUES (?, ?)", array($setting_key, $value), true);
}
}