Commit | Line | Data |
---|---|---|
1a7f0799 MW |
1 | <?php |
2 | /* | |
3 | +--------------------------------------------------------------------+ | |
7d61e75f | 4 | | Copyright CiviCRM LLC. All rights reserved. | |
1a7f0799 | 5 | | | |
7d61e75f TO |
6 | | This work is published under the GNU AGPLv3 license with some | |
7 | | permitted exceptions and without any warranty. For full license | | |
8 | | and copyright information, see https://civicrm.org/licensing | | |
1a7f0799 MW |
9 | +--------------------------------------------------------------------+ |
10 | */ | |
11 | ||
12 | /** | |
13 | * Test SMS provider to allow for testing | |
14 | */ | |
15 | class CiviTestSMSProvider extends CRM_SMS_Provider { | |
affcc9d2 | 16 | protected $_providerInfo = []; |
1a7f0799 | 17 | protected $_id = 0; |
affcc9d2 | 18 | static private $_singleton = []; |
1a7f0799 MW |
19 | |
20 | public function __construct($provider, $skipAuth = TRUE) { | |
21 | $this->provider = $provider; | |
22 | } | |
23 | ||
affcc9d2 | 24 | public static function &singleton($providerParams = [], $force = FALSE) { |
1a7f0799 MW |
25 | if (isset($providerParams['provider'])) { |
26 | $providers = CRM_SMS_BAO_Provider::getProviders(NULL, array('name' => $providerParams['provider'])); | |
27 | $provider = current($providers); | |
28 | $providerID = $provider['id']; | |
29 | } | |
30 | else { | |
849ac823 | 31 | $providerID = $providerParams['provider_id'] ?? NULL; |
1a7f0799 MW |
32 | } |
33 | $skipAuth = $providerID ? FALSE : TRUE; | |
34 | $cacheKey = (int) $providerID; | |
35 | ||
36 | if (!isset(self::$_singleton[$cacheKey]) || $force) { | |
affcc9d2 | 37 | $provider = []; |
1a7f0799 MW |
38 | if ($providerID) { |
39 | $provider = CRM_SMS_BAO_Provider::getProviderInfo($providerID); | |
40 | } | |
41 | self::$_singleton[$cacheKey] = new CiviTestSMSProvider($provider, $skipAuth); | |
42 | } | |
43 | return self::$_singleton[$cacheKey]; | |
44 | } | |
45 | ||
46 | public function send($recipients, $header, $message, $dncID = NULL) { | |
47 | } | |
48 | ||
49 | } |