<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 5 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
+ | Copyright CiviCRM LLC. All rights reserved. |
| |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
- | |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2019
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
*/
abstract class CRM_SMS_Provider {
*
* @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;