*
* @var object
*/
- static private $_singleton = array();
+ static private $_singleton = [];
const MAX_SMS_CHAR = 460;
/**
* @param bool $force
*
* @return object
+ * @throws CRM_Core_Exception
*/
- public static function &singleton($providerParams = array(), $force = FALSE) {
- $mailingID = CRM_Utils_Array::value('mailing_id', $providerParams);
- $providerID = CRM_Utils_Array::value('provider_id', $providerParams);
- $providerName = CRM_Utils_Array::value('provider', $providerParams);
+ public static function &singleton($providerParams = [], $force = FALSE) {
+ $mailingID = $providerParams['mailing_id'] ?? NULL;
+ $providerID = $providerParams['provider_id'] ?? NULL;
+ $providerName = $providerParams['provider'] ?? NULL;
if (!$providerID && $mailingID) {
$providerID = CRM_Core_DAO::getFieldValue('CRM_Mailing_DAO_Mailing', $mailingID, 'sms_provider_id', 'id');
}
if (!$providerName) {
- CRM_Core_Error::fatal('Provider not known or not provided.');
+ throw new CRM_Core_Exception('Provider not known or not provided.');
}
$providerName = CRM_Utils_Type::escape($providerName, 'String');
else {
// If we are running unit tests we simulate an SMS provider with the name "CiviTestSMSProvider"
if ($providerName !== 'CiviTestSMSProvider') {
- CRM_Core_Error::fatal("Could not locate extension for {$providerName}.");
+ throw new CRM_Core_Exception("Could not locate extension for {$providerName}.");
}
$providerClass = 'CiviTestSMSProvider';
}
* @return self|null|object
* @throws CRM_Core_Exception
*/
- public function createActivity($apiMsgID, $message, $headers = array(), $jobID = NULL, $userID = NULL) {
+ public function createActivity($apiMsgID, $message, $headers = [], $jobID = NULL, $userID = NULL) {
if ($jobID) {
$sql = "
SELECT scheduled_id FROM civicrm_mailing m
}
if (!$sourceContactID) {
- $sourceContactID = CRM_Utils_Array::value('Contact', $headers);
+ $sourceContactID = $headers['Contact'] ?? NULL;
}
if (!$sourceContactID) {
return FALSE;