<?php
//Include common content applicable to all pages of the web site
include("PhpSampleTemplate.php");
?>
<HTML>
<head>
<title>
Display Members of Group
</title>
</head>
<BODY>
<h1>
<b>Members belonging to <?php echo($_GET['name'])?> group </b>
</h1>
<table border="1">
<tr>
<th>Object Id</th>
<th>Display Name</th>
</tr>
<?php
// If this is a post back, add the user to the group.
if (isset($_POST['submit'])) {
// Validate that display name is non-empty.
if((empty($_POST['dname']))) {
echo('<p><b>Please provide a valid user display name for the user to be added. User display name can not be empty</b></p>');
}
else {
// First get the object id of the user that needs to be createed to this group
// Use the $filter syntax from OData.
$filteredusers = GraphServiceAccessHelper::getFeedWithFilterClause('users','displayName', $_POST['dname']);
// If the query did not return any members, display an error to the user.
if(count($filteredusers) === 0)
{
echo('<p><b>Please provide a valid user display name for the user to be added. User display name:\''. $_POST['dname'] .'\' is not valid</b></p>');
}
else
{
// We should ideally handle the case where there are multiple members with the same diplay name but let's
// make the simple assumption that they are distinct.
foreach ($filteredusers as $filtereduser){
$userid = $filtereduser->{'objectId'};
}
$useruri = array(
'url'=> 'https://graph.windows.net/'.Settings::$appTenantDomainName.'/users(\''.$userid. '\')'
);
$groupUrl = "groups(" . '\''.($_GET['id']).'\')';
$addedLink = GraphServiceAccessHelper::addLinkForEntries($groupUrl, $useruri, 'members');
}
}
}
// Get the list of members for this group and diplay. A simplistic assumption that all members
// are users for this sample.
$users = GraphServiceAccessHelper::getLinkedFeed('groups',$_GET['id'],'members');
foreach ($users as $user){
echo('<tr><td>'. $user->{'objectId'}. '</td><td>'. $user->{'displayName'} .'</td></tr>');
}
?>
</table>
<br/><br/>
<form method="post" action="<?php echo($_SERVER['PHP_SELF'].'?id='.$_GET['id']. '&name='.$_GET['name']);?>">
<b>To create another user to this group, Provide the display name and click submit(only supported for users with unique display name):<input type="text" size="20" maxlength="100" name="dname"></b>
<br/><br/>
<input type="submit" value="submit" name="submit">
</form>
</BODY>
</HTML>
|