10include
'../../../include/cp_header.php';
11$modid = isset($_POST[
'modid']) ? (int)$_POST[
'modid'] : 0;
16$root =& XCube_Root::getSingleton();
17$root->mLanguageManager->loadModuleAdminMessageCatalog(
'legacy');
20if ($modid <= 1 || !is_object($xoopsUser) || !$xoopsUser->isAdmin($modid)) {
21 redirect_header(XOOPS_URL.
'/index.php', 1, _NOPERM);
24$module_handler =& xoops_gethandler(
'module');
25$module =& $module_handler->get($modid);
26if (!is_object($module) || !$module->getVar(
'isactive')) {
27 redirect_header(XOOPS_URL.
'/admin.php', 1, _MODULENOEXIST);
30$member_handler =& xoops_gethandler(
'member');
31$group_list =& $member_handler->getGroupList();
32if (is_array($_POST[
'perms']) && !empty($_POST[
'perms'])) {
33 $gperm_handler = xoops_gethandler(
'groupperm');
34 foreach ($_POST[
'perms'] as $perm_name => $perm_data) {
35 if (
false !== $gperm_handler->deleteByModule($modid, $perm_name)) {
36 if (isset($perm_data[
'groups']) && is_array($perm_data[
'groups'])) {
37 foreach ($perm_data[
'groups'] as $group_id => $item_ids) {
38 foreach ($item_ids as $item_id => $selected) {
41 if (
'' !== $perm_data[
'parents'][$item_id]) {
42 $parent_ids = explode(
':', $perm_data[
'parents'][$item_id]);
43 foreach ($parent_ids as $pid) {
44 if (0 !== $pid && !array_key_exists($pid, $item_ids)) {
46 $msg[] = sprintf(_MD_AM_PERMADDNG,
'<b>'.$perm_name.
'</b>',
'<b>'.$perm_data[
'itemname'][$item_id].
'</b>',
'<b>'.$group_list[$group_id].
'</b>').
' ('._MD_AM_PERMADDNGP.
')';
51 $gperm =& $gperm_handler->create();
52 $gperm->setVar(
'gperm_groupid', $group_id);
53 $gperm->setVar(
'gperm_name', $perm_name);
54 $gperm->setVar(
'gperm_modid', $modid);
55 $gperm->setVar(
'gperm_itemid', $item_id);
56 if (!$gperm_handler->insert($gperm)) {
57 $msg[] = sprintf(_MD_AM_PERMADDNG,
'<b>'.$perm_name.
'</b>',
'<b>'.$perm_data[
'itemname'][$item_id].
'</b>',
'<b>'.$group_list[$group_id].
'</b>');
59 $msg[] = sprintf(_MD_AM_PERMADDOK,
'<b>'.$perm_name.
'</b>',
'<b>'.$perm_data[
'itemname'][$item_id].
'</b>',
'<b>'.$group_list[$group_id].
'</b>');
67 $msg[] = sprintf(_MD_AM_PERMRESETNG, $module->getVar(
'name').
'('.$perm_name.
')');
72$backlink = XOOPS_URL.
'/admin.php';
73if ($module->getVar(
'hasadmin')) {
74 $adminindex = $_POST[
'redirect_url'] ?? $module->getInfo(
'adminindex');
76 $backlink = XOOPS_URL.
'/modules/'.$module->getVar(
'dirname').
'/'.$adminindex;