addRadio('onDuplicate', ts('Import mode'), [ CRM_Import_Parser::DUPLICATE_SKIP => ts('Insert new contributions'), CRM_Import_Parser::DUPLICATE_UPDATE => ts('Update existing contributions'), ]); $this->setDefaults(['onDuplicate' => CRM_Import_Parser::DUPLICATE_SKIP]); $this->addElement('xbutton', 'loadMapping', ts('Load Mapping'), [ 'type' => 'submit', 'onclick' => 'checkSelect()', ]); $this->addContactTypeSelector(); } /** * @return \CRM_Contribute_Import_Parser_Contribution */ protected function getParser(): CRM_Contribute_Import_Parser_Contribution { if (!$this->parser) { $this->parser = new CRM_Contribute_Import_Parser_Contribution(); $this->parser->setUserJobID($this->getUserJobID()); $this->parser->init(); } return $this->parser; } }