add( 'text', // field type 'url', // field name ts('Url', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'site', // field name ts('Site', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), FALSE // is required, ); $this->add( 'text', // field type 'username', // field name ts('Username', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'password', // field type 'password', // field name ts('Password', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'library', // field name ts('Library name', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'contact_id_field_name', // field name ts('Contact ID field name', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'case_id_field_name', // field name ts('Case ID field name', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'civicrm_link_field_name', // field name ts('Link To CiviCRM field name', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'title_field', // field name ts('Title field name', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'contact_documentset_contenttype_id', // field name ts('Content Type ID for the contact documentset', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); $this->add( 'text', // field type 'case_documentset_contenttype_id', // field name ts('Content Type ID for the case documentset', array('domain' => 'sharepoint')), // field label array( 'class' => 'huge40', ), TRUE // is required, ); parent::buildQuickForm(); } public function setDefaultValues() { $defaults = parent::setDefaultValues(); $settings = _sharepoint_settings(); return array_merge($defaults, $settings); } public function postProcess() { $values = $this->exportValues(); $settings = _sharepoint_settings(); foreach($settings as $setting_name => $old_value) { if (isset($values[$setting_name])) { CRM_Core_BAO_Setting::setItem($values[$setting_name], 'sharepoint', $setting_name); } } CRM_Core_Session::setStatus(ts('Saved sharepoint settings', array('domain' => 'sharepoint')), '', 'success'); parent::postProcess(); } }