3 namespace Friendica\Core\Config\Adapter;
5 use Friendica\Database\DBA;
7 abstract class AbstractDbaConfigAdapter
10 * The connection state of the adapter
14 protected $connected = true;
16 public function __construct()
18 $this->connected = DBA::connected();
22 * Checks if the adapter is currently connected
26 public function isConnected()
28 return $this->connected;
32 * Formats a DB value to a config value
33 * - null = The db-value isn't set
34 * - bool = The db-value is either '0' or '1'
35 * - array = The db-value is a serialized array
36 * - string = The db-value is a string
38 * Keep in mind that there aren't any numeric/integer config values in the database
40 * @param null|string $value
42 * @return null|array|string
44 protected function toConfigValue($value)
52 case preg_match("|^a:[0-9]+:{.*}$|s", $value):
53 return unserialize($value);
61 * Formats a config value to a DB value (string)
67 protected function toDbValue($value)
69 // if not set, save an empty string
76 case is_array($value):
77 return serialize($value);
80 return (string)$value;