63 lines
1.3 KiB
PHP

<?php
class Crunchbutton_Config extends Cana_Table {
public static function store($key, $value, $site = null) {
$q = '
select * from config where `key`="'.$key.'" and id_site
';
if ($site) {
$q .= ' ="'.$site.'"';
} else {
$q .= ' is null';
}
$config = Crunchbutton_Config::q($q);
if (!$config->id_config) {
$config = Crunchbutton_Config::blank($key, $value, $site);
}
$config->set($value);
return $config;
}
public static function getVal( $key ){
$config = Crunchbutton_Config::q( "SELECT * FROM config WHERE `key` = '{$key}'" );
if( $config->value ){
return $config->value;
}
return false;
}
public static function getConfigByKey( $key ){
return Crunchbutton_Config::q( "SELECT * FROM config WHERE `key` = '{$key}' LIMIT 1 " );
}
public static function blank($key, $value, $site = null) {
$config = new Crunchbutton_Config;
$config->id_site = $site;
$config->key = $key;
return $config;
}
public function set($value) {
if (is_array($value)) {
$value = json_encode($value);
}
$this->value = $value;
$this->save();
}
public function val() {
$val = json_decode($this->value);
if (is_array($val)) {
return $val;
}
return $this->value;
}
public function __construct($id = null) {
parent::__construct();
$this
->table('config')
->idVar('id_config')
->load($id);
}
}