/** * returns the list of fields that can be exported * * @access public * return array * @static */ static function &export($prefix = false) { if (!self::$_export) { self::$_export = array(); $fields = self::fields(); foreach ($fields as $name => $field) { if (CRM_Utils_Array::value('export', $field)) { if ($prefix) { self::$_export['volunteer_project'] =& $fields[$name]; } else { self::$_export[$name] =& $fields[$name]; } } } } return self::$_export; }
/** * Initialize this object with provided values. This override adds a little * data massaging prior to calling its parent. * * @param mixed $params * An associative array of name/value pairs or a CRM_Core_DAO object * * @return boolean did we copy all null values into the object * @access public */ public function copyValues(&$params) { if (is_a($params, 'CRM_Core_DAO')) { $params = get_object_vars($params); } if (array_key_exists('is_active', $params)) { /* * don't force is_active to have a value if none was set, to allow searches * where the is_active state of Projects is irrelevant */ $params['is_active'] = CRM_Volunteer_BAO_Project::isOff($params['is_active']) ? 0 : 1; } return parent::copyValues($params); }
/** * This is an implementation of hook_civicrm_fieldOptions * It includes `civicrm_volunteer_project` in the whitelist * of tables allowed to have UFJoins * * @param $entity * @param $field * @param $options * @param $params */ function volunteer_civicrm_fieldOptions($entity, $field, &$options, $params) { if ($entity == "UFJoin" && $field == "entity_table" && $params['context'] == "validate") { $options[CRM_Volunteer_DAO_Project::getTableName()] = CRM_Volunteer_DAO_Project::getTableName(); } }