-
Notifications
You must be signed in to change notification settings - Fork 8
/
install.php
136 lines (123 loc) · 4.22 KB
/
install.php
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
if (!defined('FREEPBX_IS_AUTH')) { die('No direct script access allowed'); }
global $db;
//for translation only
if (false) {
_("Pickup ParkedCall Any");
_("Park Prefix");
_("Pickup ParkedCall Prefix");
_("Defines the Feature Code to use for Direct Call Pickup");
_('Parks to your Assigned Lot if using Park Pro. If using standard parking this parks to the default lot');
}
$fcc = new featurecode('parking', 'parkedcall');
$fcc->setDescription('Pickup ParkedCall Prefix');
$fcc->setHelpText(_('Defines the Feature Code to use to force pickup a call that is parked in a private lot that the extension picking up the call does not have permissions for. Example if a caller is parked in slot 81 and extension 8001 does not have permission to that private lot they could dial *8581 to pickup the parked call.'));
$fcc->setDefault('*85');
$fcc->setProvideDest();
$fcc->update();
unset($fcc);
$fcc = new featurecode('parking', 'parkto');
$fcc->setDescription(_('Park to your Assigned Lot'));
$fcc->setHelpText(_('Parks to your Assigned Lot if using Park Pro. If using standard parking this parks to the default lot'));
$fcc->setDefault('*88');
$fcc->setProvideDest();
$fcc->update();
unset($fcc);
$sql = "SELECT * FROM parkplus WHERE defaultlot = 'yes'";
$default_lot = sql($sql,"getAll",DB_FETCHMODE_ASSOC);
// There should never be more than a single default lot so just blow them
// all away if we or esomeone did something dumb.
if (count($default_lot) > 1) {
out(_("ERROR: too many default lots detected, deleting and reinitializing"));
$sql = "DELETE FROM parkplus WHERE defaultlot = 'yes'";
sql($sql);
//We deleted all default lots to we need to trick the system into reinstalling the default lot!
$default_lot = 0;
}
//If we have a default parking lot and we are within the new verion then we should check to make sure destination isn't blank
if(count($default_lot) == 1 && empty($default_lot[0]['dest'])) {
$sql = "UPDATE parkplus SET dest = 'app-blackhole,hangup,1' WHERE defaultlot = 'yes'";
sql($sql);
}
//Add default parking lot or try to migrate the old one.
if (count($default_lot) == 0) {
outn(_("Initializing default parkinglot.."));
$sql = "INSERT INTO parkplus (id, defaultlot, name, parkext, parkpos, numslots) VALUES (1, 'yes', '"._('Default Lot')."', '70', '71', 8)";
sql($sql);
out(_("done"));
$sql = "SELECT keyword,data FROM parkinglot WHERE id = '1'";
$results = $db->getAssoc($sql);
if (!DB::IsError($results)) {
out(_("migrating old parkinglot data"));
$var['name'] = "Default Lot";
$var['type'] = 'public';
$var['parkext'] = '';
$var['parkpos'] = '';
$var['numslots'] = 4;
$var['parkingtime'] = 45;
$var['parkedmusicclass'] = 'default';
$var['generatehints'] = 'yes';
$var['generatefc'] = 'yes';
$var['findslot'] = 'first';
$var['parkedplay'] = 'both';
$var['parkedcalltransfers'] = 'caller';
$var['parkedcallreparking'] = 'caller';
$var['alertinfo'] = '';
$var['cidpp'] = '';
$var['autocidpp'] = 'none';
$var['announcement_id'] = null;
$var['comebacktoorigin'] = 'yes';
$var['dest'] = '';
foreach ($results as $set => $val) {
switch($set) {
case 'numslots':
case 'parkingtime':
case 'parkedplay':
case 'parkedcalltransfers':
case 'parkedcallreparking':
case 'parkedmusicclass':
case 'findslot':
$var[$set] = $val;
break;
case 'parkext':
$var[$set] = $val;
$var['parkpos'] = $val + 1;
break;
case 'parkalertinfo':
$var['alertinfo'] = $val;
break;
case 'parkcid':
$var['cidpp'] = $val;
break;
case 'parkingannmsg_id':
$var['announcement_id'] = $val;
break;
case 'goto':
$var['dest'] = $val;
break;
case 'parkinghints':
$var['generatehints'] = $val;
break;
case 'parking_dest':
$var['comebacktoorigin'] = ($val == 'device' ? 'yes' : 'no');
break;
default:
/* parkedcallhangup
parkedcallrecording
adsipark
parkingcontext
*/
out(sprintf(_("%s no longer supported"),$set));
break;
}
}
foreach ($var as $key => $value) {
$sql = "UPDATE parkplus SET `$key` = " . q($value) . " WHERE defaultlot = 'yes'";
sql($sql);
}
out(_("migrated ... dropping old table parkinglot"));
sql('DROP TABLE IF EXISTS parkinglot');
unset($var);
unset($results);
}
}