Current_User.php
1.57 KB
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
<?php
namespace Wpo\Graph;
// Prevent public access to this script
defined('ABSPATH') or die();
use \Wpo\Services\Log_Service;
use \Wpo\Services\Options_Service;
if (!class_exists('\Wpo\Graph\Current_User')) {
class Current_User
{
/**
* Returns basic information for the current user incl. the user's (Azure AD) UPN and Object ID.
*
* @since 13.0
*
* @return array The user's login, email, display name, ID, UPN and AAD Object ID.
*/
public static function get_current_user()
{
Log_Service::write_log('DEBUG', '##### -> ' . __METHOD__);
$wp_usr_id = \get_current_user_id();
$user_info = \wp_get_current_user();
$user_login = !empty($user_info->user_login) ? $user_info->user_login : '';
$user_email = !empty($user_info->user_email) ? $user_info->user_email : '';
$display_name = !empty($user_info->display_name) ? $user_info->display_name : '';
$id = $user_info->ID;
$upn = \get_user_meta($wp_usr_id, 'userPrincipalName', true);
$aad_object_id = \get_user_meta($wp_usr_id, 'aadObjectId', true);
return array(
"user_login" => $user_login,
"user_email" => $user_email,
"display_name" => $display_name,
"id" => $id,
"upn" => !empty($upn) ? $upn : '',
"aad_object_id" => !empty($aad_object_id) ? $aad_object_id : '',
);
}
}
}