]> git.mxchange.org Git - friendica.git/commitdiff
add array support to set_config and get_config
authorfabrixxm <fabrix.xm@gmail.com>
Sun, 19 Jun 2011 13:10:31 +0000 (15:10 +0200)
committerfabrixxm <fabrix.xm@gmail.com>
Sun, 19 Jun 2011 13:10:31 +0000 (15:10 +0200)
boot.php

index 5165dc990ef468ea4536119ad14d8eb364a2cff5..3f69fd0847aa9b46e0ecad4269dfe5ba6e31a8b7 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1243,8 +1243,10 @@ function get_config($family, $key, $instore = false) {
                dbesc($key)
        );
        if(count($ret)) {
-               $a->config[$family][$key] = $ret[0]['v'];
-               return $ret[0]['v'];
+               // manage array value
+               $val = (preg_match("|^a:[0-9]+:{.*}$|", $ret[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
+               $a->config[$family][$key] = $val;
+               return $val;
        }
        else {
                $a->config[$family][$key] = '!<unset>!';
@@ -1258,22 +1260,25 @@ function get_config($family, $key, $instore = false) {
 
 if(! function_exists('set_config')) {
 function set_config($family,$key,$value) {
-
        global $a;
+       
+       // manage array value
+       $dbvalue = (is_array($value)?serialize($value):$value);
 
        if(get_config($family,$key,true) === false) {
                $a->config[$family][$key] = $value;
                $ret = q("INSERT INTO `config` ( `cat`, `k`, `v` ) VALUES ( '%s', '%s', '%s' ) ",
                        dbesc($family),
                        dbesc($key),
-                       dbesc($value)
+                       dbesc($dbvalue)
                );
                if($ret) 
                        return $value;
                return $ret;
        }
+       
        $ret = q("UPDATE `config` SET `v` = '%s' WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
-               dbesc($value),
+               dbesc($dbvalue),
                dbesc($family),
                dbesc($key)
        );