Example #1
0
 /**
  * @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];
 }
Example #2
0
 /**
  * @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;
 }
Example #3
0
 /**
  * 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;
 }