-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathactivateDeactivateForm.php
54 lines (43 loc) · 1.55 KB
/
activateDeactivateForm.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
<?php
namespace Vanderbilt\EmailTriggerExternalModule;
use ExternalModules\AbstractExternalModule;
use ExternalModules\ExternalModules;
$pid = $_GET['pid'];
$index = $_REQUEST['index_modal_deactivate'];
$status = $_REQUEST['index_modal_status'];
$email_deactivate = empty($module->getProjectSetting('email-deactivate'))?array():$module->getProjectSetting('email-deactivate');
$email_queue = empty($module->getProjectSetting('email-queue'))?array():$module->getProjectSetting('email-queue');
$message = '';
if($status == "Activate"){
//Active
$email_deactivate[$index] = "0";
$message = "T";
$deactivated = 0;
}else if($status == "Deactivate"){
//Not Active
$email_deactivate[$index] = "1";
$message = "E";
$deactivated = 1;
}
#Deactivate queued alerts
if(!empty($email_queue)){
$scheduled_records_changed = "";
$queue = $email_queue;
foreach ($email_queue as $id=>$email){
if($email['project_id'] == $pid && $email['alert']==$index){
$queue[$id]['deactivated'] = $deactivated;
$scheduled_records_changed .= $email['record'].",";
}
}
$module->setProjectSetting('email-queue', $queue);
#Add logs
$action_description = $status." Scheduled Alert ".$index;
$changes_made = "Record IDs deactivated: ".rtrim($scheduled_records_changed,",");
\REDCap::logEvent($action_description,$changes_made,null,null,null,$pid);
}
$module->setProjectSetting('email-deactivate', $email_deactivate);
echo json_encode(array(
'status' => 'success',
'message' => $message
));
?>