_contactType; $class::buildQuickForm($this, 1); $this->addFormRule(array('CRM_Contact_Form_Inline_ContactName', 'formRule'), $this); } /** * Global validation rules for the form. * * @param array $fields * Posted values of the form. * @param array $errors * List of errors to be posted back to the form. * @param CRM_Contact_Form_Inline_ContactName $form * * @return array */ public static function formRule($fields, $errors, $form) { if (empty($fields['first_name']) && empty($fields['last_name']) && empty($fields['organization_name']) && empty($fields['household_name'])) { $emails = civicrm_api3('Email', 'getcount', array('contact_id' => $form->_contactId)); if (!$emails) { $errorField = $form->_contactType == 'Individual' ? 'last' : strtolower($form->_contactType); $errors[$errorField . '_name'] = ts('Contact with no email must have a name.'); } } return $errors; } /** * Process the form. * * @return void */ public function postProcess() { $params = $this->exportValues(); // Process / save contact info $params['contact_type'] = $this->_contactType; $params['contact_id'] = $this->_contactId; if (!empty($this->_contactSubType)) { $params['contact_sub_type'] = $this->_contactSubType; } CRM_Contact_BAO_Contact::create($params); $this->response(); } }