forked from BitweaverCMS/users
/
module_controls_inc.php
63 lines (62 loc) · 2.54 KB
/
module_controls_inc.php
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
61
62
63
<?php
/**
* @version $Header$
* @package users
* @subpackage functions
*
* Copyright (c) 2004 bitweaver.org
* Copyright (c) 2003 tikwiki.org
* 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
*
* $Id$
*/
/**
* Initialization
*/
$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', tra("You dont have permission to use this feature"));
$gBitSystem->display( 'error.tpl' , NULL, array( 'display_mode' => 'display' ));
die;
}
if ($site_user_assigned_modules != 'y' && $check_req) {
$gBitSmarty->assign('msg', tra("This feature is disabled").": site_user_assigned_modules");
$gBitSystem->display( 'error.tpl' , NULL, array( 'display_mode' => 'display' ));
die;
}
if ( !$gBitUser->isRegistered() && $check_req) {
$gBitSmarty->assign('msg', tra("You must log in to use this feature"));
$gBitSystem->display( 'error.tpl' , NULL, array( '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, '?') ? '&' : '?'));
?>