/** * Add new mail Settings. * * @param array $params * Reference array contains the values submitted by the form. * * * @return object */ public static function add(&$params) { $result = NULL; if (empty($params)) { return $result; } if (empty($params['id'])) { $params['is_ssl'] = CRM_Utils_Array::value('is_ssl', $params, FALSE); $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE); } //handle is_default. if (!empty($params['is_default'])) { $query = 'UPDATE civicrm_mail_settings SET is_default = 0 WHERE domain_id = %1'; $queryParams = array(1 => array(CRM_Core_Config::domainID(), 'Integer')); CRM_Core_DAO::executeQuery($query, $queryParams); } $mailSettings = new CRM_Core_DAO_MailSettings(); $mailSettings->copyValues($params); $result = $mailSettings->save(); return $result; }