/** * Build layout structure. * * @param array $params * Associated array of submitted values. * * @return array * array formatted array */ public static function buildLayout(&$params) { $layoutParams = array('id' => $params['badge_id']); CRM_Badge_BAO_Layout::retrieve($layoutParams, $layoutInfo); $formatProperties = CRM_Core_OptionGroup::getValue('name_badge', $layoutInfo['label_format_name'], 'name'); $layoutInfo['format'] = json_decode($formatProperties, TRUE); $layoutInfo['data'] = CRM_Badge_BAO_Layout::getDecodedData($layoutInfo['data']); return $layoutInfo; }
/** * This function sets the default values for the form. MobileProvider that in edit/view mode * the default values are retrieved from the database * * @access public * * @return void */ function setDefaultValues() { if (isset($this->_id)) { $defaults = array_merge($this->_values, CRM_Badge_BAO_Layout::getDecodedData($this->_values['data'])); } else { for ($i = 1; $i <= self::FIELD_ROWCOUNT; $i++) { $defaults['text_alignment'][$i] = "C"; } } if ($this->_action == CRM_Core_Action::DELETE && isset($defaults['title'])) { $this->assign('delName', $defaults['title']); } // its ok if there is no element called is_active $defaults['is_active'] = $this->_id ? CRM_Utils_Array::value('is_active', $defaults) : 1; return $defaults; }