-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhelpers.php
More file actions
72 lines (57 loc) · 1.64 KB
/
helpers.php
File metadata and controls
72 lines (57 loc) · 1.64 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
62
63
64
65
66
67
68
69
70
71
72
<?php
function render_xml($xml_content) {
header('Content-Type: application/xml');
return <<<XML
<?xml version="1.0" encoding="utf-8"?>
<Response>{$xml_content}</Response>
XML;
}
/** VERB SHORTCUTS **/
function conference($conference_id, $beep = true) {
return dial(generate_verb('Conference', $conference_id, array(
'beep' => $beep ? 'true' : 'false'
)));
}
function dial($inner_content) {
return generate_verb('Dial', $inner_content);
}
function gather($inner_content, $action = null, $numDigits = null) {
return generate_verb('Gather', $inner_content, array(
'action' => $action,
'numDigits' => $numDigits
));
}
function generate_attr($k, $v) {
return " {$k}=\"{$v}\"";
}
function generate_verb($verb_type, $inner_content = null, $attrs = array()) {
$attr_string = ' ';
if($attrs) {
foreach($attrs as $k => $v)
$attr_string .= generate_attr($k, $v);
}
return "<{$verb_type}{$attr_string}>{$inner_content}</{$verb_type}>";
}
function hangup() {
return generate_verb('Hangup');
}
function number($address) {
return dial(generate_verb('Number', $address));
}
function play($url) {
return generate_verb('Play', $url);
}
function record($action, $playBeep = false) {
return generate_verb('Record', null, array(
'action' => $action,
'background' => 'false',
'playBeep' => $playBeep ? 'true' : 'false'
));
}
function say($message) {
return generate_verb('Say', $message);
}
function stream($inner_content) {
$stream_method = strtolower(VERB_TYPE);
return $stream_method($inner_content);
}