/** * The constructor. Sets domain id if defined, otherwise assumes * single instance installation. */ public function __construct() { parent::__construct(); }
/** * Take a config_backend blob and produce an equivalent list of settings. * * @param int $domainId * Domain ID. * @param string $config_backend * Serialized blob. * @return array */ public static function convertBackendToSettings($domainId, $config_backend) { if (!$config_backend) { return array(); } $backend = unserialize($config_backend); if (!$backend) { return array(); } $mappings = \CRM_Core_Config_MagicMerge::getPropertyMap(); $settings = array(); foreach ($backend as $propertyName => $propertyValue) { if (isset($mappings[$propertyName][0]) && preg_match('/^setting/', $mappings[$propertyName][0])) { // $mapping format: $propertyName => Array(0 => $type, 1 => $setting|NULL). $settingName = isset($mappings[$propertyName][1]) ? $mappings[$propertyName][1] : $propertyName; $settings[$settingName] = $propertyValue; } } return $settings; }