summaryrefslogtreecommitdiff
path: root/admin/assign_user.php
blob: 696a445e97b36722d0a62c15eb0f106feecb98e5 (plain)
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
49
50
51
52
53
<?php
// $Header$
// Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
// All Rights Reserved. See below for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details.
// This script is used to assign groups to a particular user
// ASSIGN USER TO GROUPS
// Initialization
require_once( '../../kernel/includes/setup_inc.php' );
use Bitweaver\KernelTools;

$gBitSystem->verifyPermission( 'p_users_admin' );

if (!$gBitUser->userExists( [ 'user_id' => $_REQUEST["assign_user"] ] ) ) {
	$gBitSystem->fatalError( KernelTools::tra( "User doesnt exist" ));
}

$assignUser = new BitPermUser( $_REQUEST["assign_user"] );
$assignUser->setCacheableObject( false );
$assignUser->load( true );

if( $assignUser->isAdmin() && !$gBitUser->isAdmin() ) {
	$gBitSystem->fatalError( KernelTools::tra( 'You cannot modify a system administrator.' ));
}

if( isset( $_REQUEST["action"] ) ) {
	$gBitUser->verifyTicket();
	if ($_REQUEST["action"] == 'assign') {
		$assignUser->addUserToGroup( $assignUser->mUserId, $_REQUEST["group_id"] );
	} elseif ($_REQUEST["action"] == 'removegroup') {
		$assignUser->removeUserFromGroup($_REQUEST["assign_user"], $_REQUEST["group_id"]);
	}
	header( 'Location: '.$_SERVER['SCRIPT_NAME'].'?assign_user='.$assignUser->mUserId );
	die;
}elseif(isset($_REQUEST['set_default'])) {
	$gBitUser->verifyTicket();
	$assignUser->storeUserDefaultGroup( $assignUser->mUserId, $_REQUEST['default_group'] );
	$assignUser->load();
}
$gBitSmarty->assign( 'assignUser', $assignUser );

$listHash = [ 'sort_mode' => 'group_name_asc' ];
$gBitSmarty->assign('groups', $gBitUser->getAllGroups( $listHash ));

$gBitSystem->setBrowserTitle( 'Edit User: '.$assignUser->mUsername );

if($gBitSystem->isPackageActive("quota")) {
	include(QUOTA_PKG_INCLUDE_PATH.'quota_inc.php');
}

// Display the template
$gBitSystem->display( 'bitpackage:users/admin_assign_user.tpl', null, [ 'display_mode' => 'admin' ]);
?>