/** * @param int $providerID * @param null $returnParam * @param null $returnDefaultString * * @return mixed */ public static function getProviderInfo($providerID, $returnParam = NULL, $returnDefaultString = NULL) { static $providerInfo = array(); if (!array_key_exists($providerID, $providerInfo)) { $providerInfo[$providerID] = array(); $dao = new CRM_SMS_DAO_Provider(); $dao->id = $providerID; if ($dao->find(TRUE)) { CRM_Core_DAO::storeValues($dao, $providerInfo[$providerID]); $inputLines = explode("\n", $providerInfo[$providerID]['api_params']); $inputVals = array(); foreach ($inputLines as $value) { if ($value) { list($key, $val) = explode("=", $value); $inputVals[trim($key)] = trim($val); } } $providerInfo[$providerID]['api_params'] = $inputVals; // Replace the api_type ID with the string value $apiTypes = CRM_Core_OptionGroup::values('sms_api_type'); $apiTypeId = $providerInfo[$providerID]['api_type']; $providerInfo[$providerID]['api_type'] = CRM_Utils_Array::value($apiTypeId, $apiTypes, $apiTypeId); } } if ($returnParam) { return CRM_Utils_Array::value($returnParam, $providerInfo[$providerID], $returnDefaultString); } return $providerInfo[$providerID]; }
/** * @return array */ function setDefaultValues() { $defaults = array(); $name = CRM_Utils_Request::retrieve('key', 'String', $this, FALSE, NULL); if ($name) { $defaults['name'] = $name; $provider = CRM_SMS_Provider::singleton(array('provider' => $name)); $defaults['api_url'] = $provider->_apiURL; } if (!$this->_id) { $defaults['is_active'] = $defaults['is_default'] = 1; return $defaults; } $dao = new CRM_SMS_DAO_Provider(); $dao->id = $this->_id; if ($name) { $dao->name = $name; } if (!$dao->find(TRUE)) { return $defaults; } CRM_Core_DAO::storeValues($dao, $defaults); return $defaults; }
/** * returns the list of fields that can be exported * * @access public * return array * @static */ static function &export($prefix = false) { if (!self::$_export) { self::$_export = array(); $fields = self::fields(); foreach ($fields as $name => $field) { if (CRM_Utils_Array::value('export', $field)) { if ($prefix) { self::$_export['sms_provider'] =& $fields[$name]; } else { self::$_export[$name] =& $fields[$name]; } } } } return self::$_export; }
function setDefaultValues() { $defaults = array(); $providerValues = CRM_SMS_Provider::singleton(array('provider' => 'Clickatell')); $defaults['api_url'] = $providerValues->_apiURL; if (!$this->_id) { $defaults['is_active'] = $defaults['is_default'] = 1; return $defaults; } $dao = new CRM_SMS_DAO_Provider(); $dao->id = $this->_id; if (!$dao->find(TRUE)) { return $defaults; } CRM_Core_DAO::storeValues($dao, $defaults); return $defaults; }