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); } }