-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmobile_number.module
More file actions
executable file
·61 lines (52 loc) · 1.35 KB
/
Copy pathmobile_number.module
File metadata and controls
executable file
·61 lines (52 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
* @file
* mobile_number.module
*/
use Drupal\sms\Exception\RecipientRouteException;
use Drupal\sms\Message\SmsMessage;
/**
* Implements hook_menu().
*/
function mobile_number_menu() {
$items = [];
return $items;
}
/**
* Implements hook_form_alter().
*/
function mobile_number_form_alter($form, $form_state, $form_id) {
// print_r($form_id);
}
/**
* Sms framework integration, send sms callback.
*
* @param string $number
* E.164 Number.
* @param string $message
* The Message.
*
* @return bool
* Send status.
*/
function mobile_number_send_sms($number, $message) {
/** @var \Drupal\sms\Provider\DefaultSmsProvider $sms_provider */
$sms_provider = \Drupal::service('sms.provider');
try {
$sms_message = new SmsMessage(NULL, [$number], $message);
/** @var \Drupal\sms\Message\SmsMessageResultInterface $result */
$result = $sms_provider->send($sms_message)[0];
return $result->getResult()->getReport($number)->getStatus();
}
catch (RecipientRouteException $e) {
return FALSE;
}
}
/**
* Helper function for get all supported countries for views.
*/
function mobile_number_views_country_options($allowed_countries = []) {
/** @var \Drupal\mobile_number\MobileNumberUtilInterface $util */
$util = \Drupal::service('mobile_number.util');
return $util->getCountryOptions($allowed_countries, TRUE);
}