@@ -76,7 +76,7 @@ public function exists()
76
76
// Portal-facing methods, these are the methods called by scripts in webroot
77
77
//
78
78
79
- public function requestGroup ($ send_mail_to_admins , $ send_mail = true )
79
+ public function requestGroup ($ firstname , $ lastname , $ email , $ org , $ send_mail_to_admins , $ send_mail = true )
80
80
{
81
81
// check for edge cases...
82
82
if ($ this ->exists ()) {
@@ -88,7 +88,7 @@ public function requestGroup($send_mail_to_admins, $send_mail = true)
88
88
return ;
89
89
}
90
90
91
- $ this ->SQL ->addRequest ($ this ->getOwner ()->getUID ());
91
+ $ this ->SQL ->addRequest ($ this ->getOwner ()->getUID (), $ firstname , $ lastname , $ email , $ org );
92
92
93
93
if ($ send_mail ) {
94
94
// send email to requestor
@@ -101,9 +101,9 @@ public function requestGroup($send_mail_to_admins, $send_mail = true)
101
101
"group_request_admin " ,
102
102
array (
103
103
"user " => $ this ->getOwner ()->getUID (),
104
- "org " => $ this -> getOwner ()-> getOrg () ,
105
- "name " => $ this -> getOwner ()-> getFullname () ,
106
- "email " => $ this -> getOwner ()-> getMail ()
104
+ "org " => $ org ,
105
+ "name " => " $ firstname $ lastname " ,
106
+ "email " => $ email
107
107
)
108
108
);
109
109
@@ -113,9 +113,9 @@ public function requestGroup($send_mail_to_admins, $send_mail = true)
113
113
"group_request_admin " ,
114
114
array (
115
115
"user " => $ this ->getOwner ()->getUID (),
116
- "org " => $ this -> getOwner ()-> getOrg () ,
117
- "name " => $ this -> getOwner ()-> getFullname () ,
118
- "email " => $ this -> getOwner ()-> getMail ()
116
+ "org " => $ org ,
117
+ "name " => " $ firstname $ lastname " ,
118
+ "email " => $ email
119
119
)
120
120
);
121
121
}
@@ -125,9 +125,9 @@ public function requestGroup($send_mail_to_admins, $send_mail = true)
125
125
"group_request_admin " ,
126
126
array (
127
127
"user " => $ this ->getOwner ()->getUID (),
128
- "org " => $ this -> getOwner ()-> getOrg () ,
129
- "name " => $ this -> getOwner ()-> getFullname () ,
130
- "email " => $ this -> getOwner ()-> getMail ()
128
+ "org " => $ org ,
129
+ "name " => " $ firstname $ lastname " ,
130
+ "email " => $ email
131
131
)
132
132
);
133
133
}
@@ -138,10 +138,11 @@ public function requestGroup($send_mail_to_admins, $send_mail = true)
138
138
*/
139
139
public function approveGroup ($ operator = null , $ send_mail = true )
140
140
{
141
- if (!$ this ->SQL ->requestExists ($ this ->getOwner ()->getUID ())) {
142
- throw new Exception (
143
- "attempt to approve nonexistent request for group=' {$ this ->getPIUID ()}' uid=' $ new_user' "
144
- );
141
+ $ uid = $ this ->getOwner ()->getUID ();
142
+ $ gid = $ this ->getPIUID ();
143
+ $ request = $ this ->SQL ->getRequest ($ uid , $ gid );
144
+ if (is_null ($ request )) {
145
+ throw new Exception ("uid ' $ uid' does not have a group request! " );
145
146
}
146
147
147
148
// check for edge cases...
@@ -151,7 +152,13 @@ public function approveGroup($operator = null, $send_mail = true)
151
152
152
153
// check if owner exists
153
154
if (!$ this ->getOwner ()->exists ()) {
154
- $ this ->getOwner ()->init ();
155
+ $ this ->getOwner ()->init (
156
+ $ request ["firstname " ],
157
+ $ request ["lastname " ],
158
+ $ request ["email " ],
159
+ $ request ["org " ],
160
+ $ send_mail
161
+ );
155
162
}
156
163
157
164
// initialize ldap objects, if this fails the script will crash, but nothing will persistently break
@@ -288,15 +295,22 @@ public function cancelGroupJoinRequest($user, $send_mail = true)
288
295
*/
289
296
public function approveUser ($ new_user , $ send_mail = true )
290
297
{
291
- if (!$ this ->requestExists ($ new_user )) {
292
- throw new Exception (
293
- "attempt to approve nonexistent request for group=' {$ this ->getPIUID ()}' uid=' $ new_user' "
294
- );
298
+
299
+ $ uid = $ new_user ->getUID ();
300
+ $ gid = $ this ->getPIUID ();
301
+ $ request = $ this ->SQL ->getRequest ($ uid , $ gid );
302
+ if (is_null ($ request )) {
303
+ throw new Exception ("uid ' $ uid' does not have a request for group ' $ gid'! " );
295
304
}
296
305
297
306
// check if user exists
298
307
if (!$ new_user ->exists ()) {
299
- $ new_user ->init ();
308
+ $ new_user ->init (
309
+ $ request ["firstname " ],
310
+ $ request ["lastname " ],
311
+ $ request ["email " ],
312
+ $ request ["org " ],
313
+ );
300
314
}
301
315
302
316
// add user to the LDAP object
@@ -320,18 +334,21 @@ public function approveUser($new_user, $send_mail = true)
320
334
array (
321
335
"group " => $ this ->pi_uid ,
322
336
"user " => $ new_user ->getUID (),
323
- "name " => $ new_user -> getFullName () ,
324
- "email " => $ new_user -> getMail () ,
325
- "org " => $ new_user -> getOrg ()
337
+ "name " => $ request [ " firstname " ] . " " . $ request [ " lastname " ] ,
338
+ "email " => $ request [ " email " ] ,
339
+ "org " => $ request [ " org " ],
326
340
)
327
341
);
328
342
}
329
343
}
330
344
331
345
public function denyUser ($ new_user , $ send_mail = true )
332
346
{
333
- if (!$ this ->requestExists ($ new_user )) {
334
- return ;
347
+ $ uid = $ new_user ->getUID ();
348
+ $ gid = $ this ->getPIUID ();
349
+ $ request = $ this ->SQL ->getRequest ($ uid , $ gid );
350
+ if (is_null ($ request )) {
351
+ throw new Exception ("uid ' $ uid' does not have a request for group ' $ gid'! " );
335
352
}
336
353
337
354
// remove request, this will fail silently if the request doesn't exist
@@ -396,7 +413,7 @@ public function removeUser($new_user, $send_mail = true)
396
413
}
397
414
}
398
415
399
- public function newUserRequest ($ new_user , $ send_mail = true )
416
+ public function newUserRequest ($ new_user , $ firstname , $ lastname , $ email , $ org , $ send_mail = true )
400
417
{
401
418
if ($ this ->userExists ($ new_user )) {
402
419
UnitySite::errorLog ("warning " , "user ' $ new_user' already in group " );
@@ -413,7 +430,7 @@ public function newUserRequest($new_user, $send_mail = true)
413
430
return ;
414
431
}
415
432
416
- $ this ->addRequest ($ new_user ->getUID ());
433
+ $ this ->addRequest ($ new_user ->getUID (), $ firstname , $ lastname , $ email , $ org );
417
434
418
435
if ($ send_mail ) {
419
436
// send email to user
@@ -430,9 +447,9 @@ public function newUserRequest($new_user, $send_mail = true)
430
447
array (
431
448
"group " => $ this ->pi_uid ,
432
449
"user " => $ new_user ->getUID (),
433
- "name " => $ new_user -> getFullName () ,
434
- "email " => $ new_user -> getMail () ,
435
- "org " => $ new_user -> getOrg ()
450
+ "name " => " $ firstname $ lastname " ,
451
+ "email " => $ email ,
452
+ "org " => $ org ,
436
453
)
437
454
);
438
455
}
@@ -452,7 +469,17 @@ public function getRequests()
452
469
$ this ->REDIS ,
453
470
$ this ->WEBHOOK
454
471
);
455
- array_push ($ out , [$ user , $ request ["timestamp " ]]);
472
+ array_push (
473
+ $ out ,
474
+ [
475
+ $ user ,
476
+ $ request ["timestamp " ],
477
+ $ request ["firstname " ],
478
+ $ request ["lastname " ],
479
+ $ request ["email " ],
480
+ $ request ["org " ],
481
+ ]
482
+ );
456
483
}
457
484
458
485
return $ out ;
@@ -563,9 +590,9 @@ public function userExists($user)
563
590
return in_array ($ user ->getUID (), $ this ->getGroupMemberUIDs ());
564
591
}
565
592
566
- private function addRequest ($ uid )
593
+ private function addRequest ($ uid, $ firstname , $ lastname , $ email , $ org )
567
594
{
568
- $ this ->SQL ->addRequest ($ uid , $ this ->pi_uid );
595
+ $ this ->SQL ->addRequest ($ uid , $ firstname , $ lastname , $ email , $ org , $ this ->pi_uid );
569
596
}
570
597
571
598
//
0 commit comments