diff options
Diffstat (limited to 'my_groups.php')
| -rwxr-xr-x | my_groups.php | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/my_groups.php b/my_groups.php deleted file mode 100755 index 58ac0be..0000000 --- a/my_groups.php +++ /dev/null @@ -1,212 +0,0 @@ -<?php -/** - * my groups - * - * @copyright (c) 2004-15 bitweaver.org - * - * @package users - * @subpackage functions - */ - -/** - * required setup - */ -require_once '../kernel/includes/setup_inc.php'; -use Bitweaver\KernelTools; - -global $gBitUser, $gBitSystem; - -// PERMISSIONS: registered user required -if ( !$gBitUser->isRegistered() ) { - $gBitSystem->fatalError( KernelTools::tra( "You are not logged in." )); -} - -if( !empty( $_REQUEST["cancel"] ) ) { - bit_redirect( USERS_PKG_URL.'my_groups.php' ); -} - -if ( $gBitUser->hasPermission('p_users_create_personal_groups' ) ) { - if( !empty( $_REQUEST['group_id'] ) ) { - $allPerms = $gBitUser->getGroupPermissions( [ 'sort_mode' => !empty( $_REQUEST['sort_mode'] ) ? $_REQUEST['sort_mode'] : null ]); - // get grouplist separately from the $users stuff to avoid splitting of data due to pagination - $listHash = [ 'sort_mode' => 'group_name_asc' ]; - $groupList = $gBitUser->getAllGroups( $listHash ); - } else { - // get grouplist separately from the $users stuff to avoid splitting of data due to pagination - $listHash = [ 'sort_mode' => !empty( $_REQUEST['sort_mode'] ) ? $_REQUEST['sort_mode'] : 'group_name_asc' ]; - $groupList = $gBitUser->getAllGroups( $listHash ); - } - - // Remember a package limit if it is set. - $gBitSmarty->assign( 'package',$_REQUEST['package'] ?? 'all' ); - - // Save the join - if( isset($_REQUEST["save"] ) ) { - if( empty($_REQUEST["name"] ) ) { - $_REQUEST["name"] = $_REQUEST["olgroup"]; - } - if( $gBitUser->storeGroup( $_REQUEST ) ) { - $successMsg = KernelTools::tra( "Group changes were saved sucessfully." ); - } else { - $errorMsg = $gBitUser->mErrors['groups']; - } - // Update Permissions - } elseif (isset($_REQUEST['updateperms'])) { - $listHash = [ 'group_id' => $_REQUEST['group_id'] ]; - $updatePerms = $gBitUser->getgroupPermissions( $listHash ); - foreach (array_keys($_REQUEST['perm']) as $per) { - if( isset($_REQUEST['perm'][$per]) && !isset($updatePerms[$per]) ) { - // we have an unselected perm that is now selected - $gBitUser->assignPermissionToGroup($per, $_REQUEST['group_id']); - } elseif( empty($_REQUEST['perm'][$per]) && isset($updatePerms[$per]) ) { - // we have a selected perm that is now UNselected - $gBitUser->removePermissionFromGroup($per, $_REQUEST['group_id']); - } - } - // let's reload just to be safe. - $allPerms = $gBitUser->getGroupPermissions(); - // Do some action - } elseif (isset($_REQUEST["action"])) { - // Process a form to remove a group - if( $_REQUEST["action"] == 'delete' ) { - if( $gBitUser->getDefaultGroup( $_REQUEST['group_id'] ) ) { - $errorMsg = KernelTools::tra( "You cannot remove this group, as it is currently set as your 'Default' group" ); - } else { - $gBitUser->expungeGroup( $_REQUEST['group_id'] ); - $successMsg = KernelTools::tra( "The group was deleted."); - unset( $_REQUEST['group_id'] ); - } - // remove a permission from a group - } elseif ($_REQUEST["action"] == 'remove') { - $gBitUser->removePermissionFromGroup( $_REQUEST["permission"], $_REQUEST['group_id'] ); - $successMsg = KernelTools::tra( "Permission Removed"); - $mid = 'bitpackage:users/my_group_edit.tpl'; - // Create a new group - } elseif( $_REQUEST["action"] == 'create' ) { - $gBitSystem->setBrowserTitle( KernelTools::tra( 'Create New Group') ); - $mid = 'bitpackage:users/my_group_edit.tpl'; - // Assign a permission to a group - } elseif ($_REQUEST["action"] == 'assign') { - $gBitUser->assignPermissionToGroup($_REQUEST["perm"], $_REQUEST['group_id']); - $successMsg = KernelTools::tra( "Permission Assigned" ); - $mid = 'bitpackage:users/my_group_edit.tpl'; - } - // Search for users to add - } elseif (!empty($_REQUEST['submitUserSearch'])) { - $searchParams = ['find' => $_REQUEST['find']]; - $gBitUser->getList($searchParams); - $foundUsers = $searchParams['data']; - $mid = 'bitpackage:users/my_group_edit.tpl'; - $gBitSmarty->assign('foundUsers', $foundUsers); - } elseif (!empty($_REQUEST['assignuser'])) { - if( !empty($_REQUEST['group_id'] ) ) { - if ($_REQUEST['group_id'] != -1 && $groupList[$_REQUEST['group_id']]['user_id'] == $gBitUser->mUserId) { - $gBitUser->addUserToGroup( $_REQUEST['assignuser'], $_REQUEST['group_id'] ); - } - else { - $errorMsg = KernelTools::tra( "You can not assign users to this group." ); - } - } - $mid = 'bitpackage:users/my_group_edit.tpl'; - } - - // get pagination url - // get grouplist separately from the $users stuff to avoid splitting of data due to pagination - $listHash = [ 'sort_mode' => 'group_name_asc' ]; - $groupList = $gBitUser->getAllUserGroups(); - - if( !empty( $_REQUEST['group_id'] ) ) { - // we don't want our own group listed when editing - if( !empty( $groupList[$_REQUEST['group_id']] ) ) { - unset( $groupList[$_REQUEST['group_id']] ); - } - $groupInfo = $gBitUser->getGroupInfo( $_REQUEST['group_id'] ); - $groupUsers = $gBitUser->getGroupUsers( $_REQUEST['group_id'] ); - $gBitSmarty->assign('groupUsers', $groupUsers); - $gBitSmarty->assign('groupInfo', $groupInfo); - $gBitSmarty->assign( 'allPerms', $allPerms ); - $gBitSystem->setBrowserTitle( 'Admininster Group: '.$groupInfo['group_name'].' '.($_REQUEST['tab'] ?? '') ); - $mid = 'bitpackage:users/my_group_edit.tpl'; - } - - $gBitSmarty->assign('groups', $groupList); - // $gBitSmarty->assign( (!empty( $_REQUEST['tab'] ) ? $_REQUEST['tab'] : 'edit').'TabSelect', 'tdefault' ); -} - -/* join or leave a public group. */ -if ( ( !empty( $_REQUEST['add_public_group'] ) || !empty( $_REQUEST['remove_public_group'] ) ) && !empty( $_REQUEST['public_group_id'] ) ) { - $groupInfo = $gBitUser->getGroupInfo( $_REQUEST['public_group_id'] ); - if ( empty($groupInfo) || $groupInfo['is_public'] != 'y' ) { - if (empty($_REQUEST['add_public_group'])) { - $errorMsg[] = KernelTools::tra( "You can't join this group." ); - } - else { - $errorMsg[] = KernelTools::tra( "You can't leave this group." ); - } - } elseif ( !empty( $_REQUEST['add_public_group'] ) ) { - $gBitUser->addUserToGroup( $gBitUser->mUserId, $_REQUEST['public_group_id'] ); - } elseif ( !empty( $_REQUEST['remove_public_group'] ) ) { - $gBitUser->removeUserFromGroup( $gBitUser->mUserId, $_REQUEST['public_group_id'] ); - } - $gBitUser->loadPermissions(); - if ( !empty( $_REQUEST['add_public_group'] ) && !empty( $groupInfo['after_registration_page'] ) ) { - if ( $gBitUser->verifyId( $groupInfo['after_registration_page'] ) ) { - $url = BIT_ROOT_URL."index.php?content_id=".$groupInfo['after_registration_page']; - } elseif( strpos( $groupInfo['after_registration_page'], '/' ) === false ) { - $url = BitPage::getDisplayUrlFromHash( $groupInfo['after_registration_page'] ); - } else { - $url = $groupInfo['after_registration_page']; - } - bit_redirect( $url ); - } -} - -/* Load up public groups and check if the user can join or leave them */ -$systemGroups = $gBitUser->getGroups( $gBitUser->mUserId, true ); -$gBitSmarty->assign( 'systemGroups', $systemGroups); -$listHash = [ - 'is_public'=>'y', - 'sort_mode' => [ 'is_default_asc', 'group_desc_asc' ], -]; -$publicGroups = $gBitUser->getAllGroups( $listHash ); -if( count( $publicGroups )) { - foreach ( $systemGroups as $groupId=>$groupInfo ) { - foreach ( $publicGroups as $key=>$publicGroup) { - if ( $publicGroups[$key]['group_id'] == $groupId) { - if ($publicGroups[$key]['is_default'] != 'y' ) { - $systemGroups[$groupId]['public'] = 'y'; - $canRemovePublic = 'y'; - } - $publicGroups[$key]['used'] = 'y'; - break; - } - } - } - foreach ( $publicGroups as $groupInfo) { - if ( empty($groupInfo['used'] ) && $groupInfo['is_default'] != 'y' ) { - $gBitSmarty->assign( 'canAddPublic' , 'y'); - break; - } - } - $gBitSmarty->assign( 'publicGroups', $publicGroups ); - if (isset($canRemovePublic)) { - $gBitSmarty->assign( 'canRemovePublic' , 'y'); - } -} - -// Remember error and success messages. -if (!empty($errorMsg)) { - $gBitSmarty->assign('errorMsg',$errorMsg); -} -if (!empty($successMsg)) { - $gBitSmarty->assign('successMsg',$successMsg); -} - -// Default the template if we aren't doing an edit. -if (empty($mid)) { - $mid = 'bitpackage:users/my_groups_list.tpl'; -} - -// Display the template for group administration -$gBitSystem->display( $mid , null, [ 'display_mode' => 'display' ]); -?> |
