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
54
55
56
57
58
59
60
|
<?php
/**
* module controlls
*
* @copyright (c) 2004-15 bitweaver.org
*
* @package users
* @subpackage functions
*/
/**
* Initialization
*/
use Bitweaver\KernelTools;
$check_req = (isset($_REQUEST["mc_unassign"])
|| isset($_REQUEST["mc_up"])
|| isset($_REQUEST["mc_down"])
|| isset($_REQUEST["mc_move"]));
if (!$gBitUser->hasPermission( 'p_tidbits_configure_modules' ) && $check_req) {
$gBitSmarty->assign('msg', KernelTools::tra( "You dont have permission to use this feature" ));
$gBitSystem->display( 'error.tpl' , null, [ 'display_mode' => 'display' ]);
die;
}
if ($site_user_assigned_modules != 'y' && $check_req) {
$gBitSmarty->assign('msg', KernelTools::tra( "This feature is disabled").": site_user_assigned_modules" );
$gBitSystem->display( 'error.tpl' , null, [ 'display_mode' => 'display' ]);
die;
}
if ( !$gBitUser->isRegistered() && $check_req) {
$gBitSmarty->assign('msg', KernelTools::tra( "You must log in to use this feature" ));
$gBitSystem->display( 'error.tpl' , null, [ 'display_mode' => 'display' ]);
die;
}
$url = $_SERVER["REQUEST_URI"];
if ($check_req) {
// global $debugger;
// $debugger->msg('Module control clicked: '.$check_req);
// Make defaults if user still ot configure modules for himself
if (!$usermoduleslib->user_has_assigned_modules($user))
$usermoduleslib->create_user_assigned_modules($user);
// Handle control icon click
if (isset($_REQUEST["mc_up"]))
$usermoduleslib->swap_up_user_module($_REQUEST["mc_up"], $user);
elseif (isset($_REQUEST["mc_down"]))
$usermoduleslib->swap_down_user_module($_REQUEST["mc_down"], $user);
elseif (isset($_REQUEST["mc_move"]))
$usermoduleslib->move_module($_REQUEST["mc_move"], $user);
else
$usermoduleslib->unassign_user_module($_REQUEST["mc_unassign"], $user);
// Remove module movemet paramaters from an URL
// \todo What if 'mc_xxx' arg was not at the end? (if smbd fix URL by hands...)
// should I handle this very special (hack?) case?
$url = preg_replace('/(.*)(\?|&)[1](mc_up|mc_down|mc_move|mc_unassign)=[^&]*/','\1', $url);
}
// Fix locaton if parameter was removed...
if ($url != $_SERVER["REQUEST_URI"]) header('location: '.$url);
$gBitSmarty->assign('current_location', $url);
$gBitSmarty->assign('mpchar', (strpos($url, '?') ? '&' : '?'));
?>
|