-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathRestore.php
73 lines (68 loc) · 3.64 KB
/
Restore.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
<?php
namespace FreePBX\modules\Findmefollow;
use FreePBX\modules\Backup as Base;
class Restore Extends Base\RestoreBase{
public function runRestore(){
$configs = $this->getConfigs();
$this->importTables($configs['tables']);
$this->importFeatureCodes($configs['features']);
$astman = $this->FreePBX->astman;
$rows = $this->FreePBX->Database->query("SELECT * FROM findmefollow")->fetchAll(\PDO::FETCH_ASSOC);
foreach($rows as $row) {
$astman->database_put("AMPUSER",$row['grpnum']."/followme/strategy",$row['strategy']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/prering",$row['pre_ring']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grptime",$row['grptime']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grplist",$row['grplist']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grppre",$row['grppre']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/rvolume",$row['rvolume']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/dring",$row['dring']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/annmsg",$row['annmsg_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/remotealertmsg",$row['remotealert_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/toolatemsg",$row['toolate_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/postdest",$row['postdest']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/ringing",$row['ringing']);
$value = (isset($row['needsconf']) && $row['needsconf']=='CHECKED')? 'ENABLED' : 'DISABLED';
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grpconf",$value);
}
$fmstatus = $configs['fmstatus'];
if(!empty($fmstatus)) {
foreach($fmstatus as $rows) {
$rows['ddial'] = ($rows['ddial'])?false:true;
$this->FreePBX->Findmefollow->setDDial($rows['grpnum'],$rows['ddial']);
}
}
}
public function processLegacy($pdo, $data, $tables, $unknownTables){
$this->restoreLegacyDatabase($pdo);
$this->restoreLegacyFeatureCodes($pdo);
$astman = $this->FreePBX->astman;
$rows = $this->FreePBX->Database->query("SELECT * FROM findmefollow")->fetchAll(\PDO::FETCH_ASSOC);
foreach($rows as $row) {
$astman->database_put("AMPUSER",$row['grpnum']."/followme/strategy",$row['strategy']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/prering",$row['pre_ring']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grptime",$row['grptime']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grplist",$row['grplist']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/grppre",$row['grppre']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/rvolume",$row['rvolume']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/dring",$row['dring']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/annmsg",$row['annmsg_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/remotealertmsg",$row['remotealert_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/toolatemsg",$row['toolate_id']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/postdest",$row['postdest']);
$astman->database_put("AMPUSER",$row['grpnum']."/followme/ringing",$row['ringing']);
}
if(isset($data['astdb']['AMPUSER'])) {
foreach ($data['astdb']['AMPUSER'] as $key => $value) {
if(!str_contains((string) $key, 'ddial')) {
continue;
}
$parts = explode('/', (string) $key);
if($parts[2] !== 'ddial') {
continue;
}
$value = ($value == 'EXTENSION')?false:true;
$this->FreePBX->Findmefollow->setDDial($parts[0],$value);
}
}
}
}