本文整理汇总了PHP中AllPermissionsOptimizationUtil::userAddedToGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP AllPermissionsOptimizationUtil::userAddedToGroup方法的具体用法?PHP AllPermissionsOptimizationUtil::userAddedToGroup怎么用?PHP AllPermissionsOptimizationUtil::userAddedToGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AllPermissionsOptimizationUtil
的用法示例。
在下文中一共展示了AllPermissionsOptimizationUtil::userAddedToGroup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setMembershipFromForm
/**
* Takes post data and prepares it for setting the membership on the group.
* Adds and removes users to group based on a form's userMembershipData
* @param $form
* @param $group
* @return boolean. True if membership was set successfully.
*/
public static function setMembershipFromForm($form, $group)
{
assert('$group instanceof Group');
assert('$form instanceof GroupUserMembershipForm');
$removedUsers = array();
$addedUsers = array();
foreach ($group->users as $index => $user) {
if (empty($form->userMembershipData[$user->id]) && !$user->isSystemUser && !$user->isRootUser) {
$removedUsers[] = $user;
}
}
foreach ($removedUsers as $user) {
$group->users->remove($user);
}
$users = GroupUserMembershipFormUtil::makeUsersFromUserMembershipData($form->userMembershipData);
foreach ($users as $user) {
if (!$group->users->contains($user)) {
$group->users->add($user);
$addedUsers[] = $user;
}
}
$group->save();
foreach ($removedUsers as $user) {
AllPermissionsOptimizationUtil::userRemovedFromGroup($group, $user);
}
foreach ($addedUsers as $user) {
AllPermissionsOptimizationUtil::userAddedToGroup($group, $user);
}
if (!empty($removedUsers)) {
ReadPermissionsSubscriptionUtil::userRemovedFromGroup();
}
if (!empty($addedUsers)) {
ReadPermissionsSubscriptionUtil::userAddedToGroup();
}
return true;
}