copyValues($params); if ($dao->find(TRUE)) { CRM_Core_DAO::storeValues($dao, $defaults); if (CRM_Utils_Array::value('is_config', $defaults) == 1) { $defaults['data'] = unserialize($defaults['data']); } return $dao; } return NULL; } /** * Add the Persistent Record * * @param array $params * Reference array contains the values submitted by the form. * @param array $ids * Reference array contains the id. * * @static * * @return object */ public static function add(&$params, &$ids) { if (CRM_Utils_Array::value('is_config', $params) == 1) { $params['data'] = serialize(explode(',', $params['data'])); } $persistentDAO = new CRM_Core_DAO_Persistent(); $persistentDAO->copyValues($params); $persistentDAO->id = CRM_Utils_Array::value('persistent', $ids); $persistentDAO->save(); return $persistentDAO; } /** * @param $context * @param null $name * * @return mixed */ public static function getContext($context, $name = NULL) { static $contextNameData = array(); if (!array_key_exists($context, $contextNameData)) { $contextNameData[$context] = array(); $persisntentDAO = new CRM_Core_DAO_Persistent(); $persisntentDAO->context = $context; $persisntentDAO->find(); while ($persisntentDAO->fetch()) { $contextNameData[$context][$persisntentDAO->name] = $persisntentDAO->is_config == 1 ? unserialize($persisntentDAO->data) : $persisntentDAO->data; } } if (empty($name)) { return $contextNameData[$context]; } else { return CRM_Utils_Array::value($name, $contextNameData[$context]); } } }