-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
group_edit.php
114 lines (95 loc) · 3.55 KB
/
group_edit.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
define('IN_FORUM', true);
define('BB_SCRIPT', 'group_edit');
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
require(INC_DIR .'functions_group.php');
$page_cfg['include_bbcode_js'] = true;
// Start session management
$user->session_start(array('req_login' => true));
$group_id = isset($_REQUEST[POST_GROUPS_URL]) ? intval($_REQUEST[POST_GROUPS_URL]) : null;
$group_info = array();
$is_moderator = false;
$submit = !empty($_POST['submit']);
if ($group_id)
{
if (!$group_info = get_group_data($group_id))
{
bb_die($lang['GROUP_NOT_EXIST']);
}
if (!$group_info['group_id'] || !$group_info['group_moderator'] || !$group_info['moderator_name'])
{
bb_die("Invalid group data [group_id: $group_id]");
}
$is_moderator = ($userdata['user_id'] == $group_info['group_moderator'] || IS_ADMIN);
}
if ($is_moderator)
{
// TODO Admin panel, some tasty features
// Avatar
if ($submit)
{
if (!empty($_FILES['avatar']['name']) && $bb_cfg['group_avatars']['up_allowed'])
{
require(INC_DIR .'functions_upload.php');
$upload = new upload_common();
if ($upload->init($bb_cfg['group_avatars'], $_FILES['avatar']) AND $upload->store('avatar', array("user_id" => GROUP_AVATAR_MASK . $group_id, "avatar_ext_id" => $group_info['avatar_ext_id'])))
{
$avatar_ext_id = (int) $upload->file_ext_id;
}
else
{
bb_die(implode($upload->errors));
}
DB()->query("UPDATE ". BB_GROUPS ." SET avatar_ext_id = $avatar_ext_id WHERE group_id = $group_id LIMIT 1");
}
}
$group_type = '';
if ($group_info['group_type'] == GROUP_OPEN)
{
$group_type = $lang['GROUP_OPEN'];
}
elseif ($group_info['group_type'] == GROUP_CLOSED)
{
$group_type = $lang['GROUP_CLOSED'];
}
elseif ($group_info['group_type'] == GROUP_HIDDEN)
{
$group_type = $lang['GROUP_HIDDEN'];
}
$s_hidden_fields = '<input type="hidden" name="'. POST_GROUPS_URL .'" value="'. $group_id .'" />';
$template->assign_vars(array(
'PAGE_TITLE' => $lang['GROUP_CONTROL_PANEL'],
'GROUP_NAME' => htmlCHR($group_info['group_name']),
'GROUP_ID' => $group_id,
'GROUP_DESCRIPTION' => htmlCHR($group_info['group_description']),
'GROUP_SIGNATURE' => htmlCHR($group_info['group_signature']),
'U_GROUP_URL' => GROUP_URL . $group_id,
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
'GROUP_TYPE' => $group_type,
'S_GROUP_OPEN_TYPE' => GROUP_OPEN,
'S_GROUP_CLOSED_TYPE' => GROUP_CLOSED,
'S_GROUP_HIDDEN_TYPE' => GROUP_HIDDEN,
'S_GROUP_OPEN_CHECKED' => ($group_info['group_type'] == GROUP_OPEN) ? ' checked="checked"' : '',
'S_GROUP_CLOSED_CHECKED' => ($group_info['group_type'] == GROUP_CLOSED) ? ' checked="checked"' : '',
'S_GROUP_HIDDEN_CHECKED' => ($group_info['group_type'] == GROUP_HIDDEN) ? ' checked="checked"' : '',
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_GROUP_CONFIG_ACTION' => "group_edit.php?" . POST_GROUPS_URL . "=$group_id",
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['group_avatars']['max_width'], $bb_cfg['group_avatars']['max_height'], humn_size($bb_cfg['group_avatars']['max_size'])),
'AVATAR_IMG' => get_avatar(GROUP_AVATAR_MASK . $group_id, $group_info['avatar_ext_id']),
));
$template->set_filenames(array('body' => 'group_edit.tpl'));
$template->assign_vars(array('PAGE_TITLE' => $lang['GROUP_CONFIGURATION']));
require(PAGE_HEADER);
$template->pparse('body');
require(PAGE_FOOTER);
}
else
{
$redirect = 'index.php';
if ($group_id)
{
$redirect = GROUP_URL . $group_id;
}
redirect($redirect);
}