/** * the initializer code, called before the processing * * @return void * @access public */ function init() { $activityContact = CRM_Activity_BAO_ActivityContact::import(); $activityTarget['target_contact_id'] = $activityContact['contact_id']; $fields = array_merge(CRM_Activity_BAO_Activity::importableFields(), $activityTarget); $fields = array_merge($fields, array('source_contact_id' => array('title' => ts('Source Contact'), 'headerPattern' => '/Source.Contact?/i'), 'activity_label' => array('title' => ts('Activity Type Label'), 'headerPattern' => '/(activity.)?type label?/i'))); foreach ($fields as $name => $field) { $field['type'] = CRM_Utils_Array::value('type', $field, CRM_Utils_Type::T_INT); $field['dataPattern'] = CRM_Utils_Array::value('dataPattern', $field, '//'); $field['headerPattern'] = CRM_Utils_Array::value('headerPattern', $field, '//'); $this->addField($name, $field['title'], $field['type'], $field['headerPattern'], $field['dataPattern']); } $this->_newActivity = array(); $this->setActiveFields($this->_mapperKeys); // FIXME: we should do this in one place together with Form/MapField.php $this->_contactIdIndex = -1; $this->_activityTypeIndex = -1; $this->_activityLabelIndex = -1; $this->_activityDateIndex = -1; $index = 0; foreach ($this->_mapperKeys as $key) { switch ($key) { case 'target_contact_id': case 'external_identifier': $this->_contactIdIndex = $index; break; case 'activity_label': $this->_activityLabelIndex = $index; break; case 'activity_type_id': $this->_activityTypeIndex = $index; break; case 'activity_date_time': $this->_activityDateIndex = $index; break; } $index++; } }
/** * the initializer code, called before the processing * * @return void * @access public */ function init() { require_once 'CRM/Activity/BAO/Activity.php'; require_once 'CRM/Activity/BAO/ActivityTarget.php'; $fields = array_merge(CRM_Activity_BAO_Activity::importableFields(), CRM_Activity_BAO_ActivityTarget::import()); $fields = array_merge($fields, array('activity_name' => array('title' => ts('Activity Type Label'), 'headerPattern' => '/(activity.)?type label?/i'))); foreach ($fields as $name => $field) { $this->addField($name, $field['title'], $field['type'], $field['headerPattern'], $field['dataPattern']); } $this->_newActivity = array(); $this->setActiveFields($this->_mapperKeys); // FIXME: we should do this in one place together with Form/MapField.php $this->_contactIdIndex = -1; $this->_activityTypeIndex = -1; $this->_activityNameIndex = -1; $this->_activityDateIndex = -1; $index = 0; foreach ($this->_mapperKeys as $key) { switch ($key) { case 'target_contact_id': case 'external_identifier': $this->_contactIdIndex = $index; break; case 'activity_name': $this->_activityNameIndex = $index; break; case 'activity_type_id': $this->_activityTypeIndex = $index; break; case 'activity_date_time': $this->_activityDateIndex = $index; break; } $index++; } }