summaryrefslogtreecommitdiff
path: root/my_groups.php
diff options
context:
space:
mode:
Diffstat (limited to 'my_groups.php')
-rwxr-xr-xmy_groups.php212
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' ]);
-?>