+++ /dev/null
-<?php
-
- class mw_data_config extends mw_data{
-
- function config($key = null){
- $sgbd = $this->sgbd();
- $value = false;
- if($rst = $sgbd->open_data("config")){
- if(isset($key)){
- while($v_rst = $sgbd->fetch_data($rst)){
- if(isset($v_rst)){
- if($v_rst["key"] == $key){
- $value = $v_rst["value"];
- }
- }
- else $value = null;
- }
- }
- else{
- $value = array();
- while($v_rst = $sgbd->fetch_data($rst)){
- if(isset($v_rst)){
- if(is_array($v_rst)) foreach($v_rst as $key => $_value){
- $value[$key] = $_value;
- break;
- }
- }
- else $value = null;
- }
- }
- $sgbd->close_data($rst);
- }
- if(!isset($value)) return false;
- return $value;
- }
-
- function config_exists($key){
- $sgbd = $this->sgbd();
- $exists = 0;
- if($rst = $sgbd->open_data("config")){
- while($v_rst = $sgbd->fetch_data($rst)){
- if(isset($v_rst)){
- if(isset($v_rst[$key])) $exists++;
- }
- else{
- $exists = false;
- break;
- }
- }
- $sgbd->close_data($rst);
- }
- else $exists = false;
- return $exists;
- }
-
- function set_config($key, $value){
- $sgbd = $this->sgbd();
- $FOUND = false;
- if($rst = $sgbd->open_data("config")){
- while($v_rst = $sgbd->fetch_data($rst)){
- if(isset($v_rst)){
- if(array_key_exists($key, $v_rst)){
- $FOUND = $sgbd->set_data("config", $v_rst["id"], array($key => $value));
- break;
- }
- }
- else{
- $FOUND = null;
- break;
- }
- }
- $sgbd->close_data($rst);
- }
- else $FOUND = null;
- if(isset($FOUND)){
- if($FOUND) return true;
- else{
- if($sgbd->add_data("config", array($key => $value))) return true;
- }
- }
- return false;
- }
-
- function del_config($key){
- $ids = array();
- $sgbd = $this->sgbd();
- if($rst = $sgbd->open_data("config")){
- while($v_rst = $sgbd->fetch_data($rst)){
- if(isset($v_rst)){
- if(isset($v_rst[$key]) && isset($v_rst["id"])){
- $ids[] = $v_rst["id"];
- }
- }
- else $ids = false;
- }
- $sgbd->close_data($rst);
- }
- if($ids === false) return false;
- foreach($ids as $id) if(!$sgbd->del_data("config", $id)) return false;
- return true;
- }
-
- }
-
-?>
\ No newline at end of file