]> git.mxchange.org Git - friendica.git/blobdiff - include/config.php
make 'PHP "register_argc_argv"' easier to translate, may require fix for po2php
[friendica.git] / include / config.php
old mode 100644 (file)
new mode 100755 (executable)
index f565ab1..4cff380
@@ -80,6 +80,7 @@ function set_config($family,$key,$value) {
        
        // manage array value
        $dbvalue = (is_array($value)?serialize($value):$value);
+       $dbvalue = (is_bool($value) ? intval($value) : $value);
 
        if(get_config($family,$key,true) === false) {
                $a->config[$family][$key] = $value;
@@ -145,8 +146,9 @@ function get_pconfig($uid,$family, $key, $instore = false) {
        );
 
        if(count($ret)) {
-               $a->config[$uid][$family][$key] = $ret[0]['v'];
-               return $ret[0]['v'];
+               $val = (preg_match("|^a:[0-9]+:{.*}$|", $ret[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
+               $a->config[$uid][$family][$key] = $val;
+               return $val;
        }
        else {
                $a->config[$uid][$family][$key] = '!<unset>!';
@@ -161,7 +163,7 @@ function del_config($family,$key) {
        if(x($a->config[$family],$key))
                unset($a->config[$family][$key]);
        $ret = q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
-               dbesc($cat),
+               dbesc($family),
                dbesc($key)
        );
        return $ret;
@@ -177,20 +179,23 @@ function set_pconfig($uid,$family,$key,$value) {
 
        global $a;
 
+       // manage array value
+       $dbvalue = (is_array($value)?serialize($value):$value);
+
        if(get_pconfig($uid,$family,$key,true) === false) {
                $a->config[$uid][$family][$key] = $value;
                $ret = q("INSERT INTO `pconfig` ( `uid`, `cat`, `k`, `v` ) VALUES ( %d, '%s', '%s', '%s' ) ",
                        intval($uid),
                        dbesc($family),
                        dbesc($key),
-                       dbesc($value)
+                       dbesc($dbvalue)
                );
                if($ret) 
                        return $value;
                return $ret;
        }
        $ret = q("UPDATE `pconfig` SET `v` = '%s' WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
-               dbesc($value),
+               dbesc($dbvalue),
                intval($uid),
                dbesc($family),
                dbesc($key)