Skip to content

Commit dcba20b

Browse files
authored
Merge pull request #101 from bryank-cs/reminders
Send weekly reminders to PIs for 4 weeks
2 parents a716b8a + 3c1ee4f commit dcba20b

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
/**
4+
Emails PIs that have oustanding member requests once a week for 4 weeks.
5+
Removes the request after 34 days have passed.
6+
*/
7+
8+
require_once "../resources/autoload.php";
9+
use UnityWebPortal\lib\UnityGroup;
10+
11+
$today = time();
12+
$accounts = $LDAP->getAllPIGroups($SQL, $MAILER, $REDIS);
13+
foreach ($accounts as $pi_group) {
14+
$pi_user = $pi_group->getOwner();
15+
$requests = $pi_group->getRequests();
16+
foreach ($requests as $request) {
17+
$request_date = strtotime($request[1]);
18+
$daysDifference = ($today - $request_date) / (60 * 60 * 24);
19+
if ($daysDifference > 34) {
20+
// No interface in UnityGroup for this, so use DB directly
21+
$SQL->removeRequest($request[0], $pi_group->getPIUID());
22+
} elseif ($daysDifference > 1 && $daysDifference % 7 == 0) {
23+
$new_user = $request[0];
24+
// send email to PI
25+
$MAILER->sendMail(
26+
$pi_user->getMail(),
27+
"group_user_request_owner",
28+
array(
29+
"group" => $pi_group->getPIUID(),
30+
"user" => $new_user->getUID(),
31+
"name" => $new_user->getFullName(),
32+
"email" => $new_user->getMail(),
33+
"org" => $new_user->getOrg()
34+
)
35+
);
36+
}
37+
}
38+
}

0 commit comments

Comments
 (0)