[xoops-cvslog 4071] CVS update: xoops2jp/html/modules/base/include

アーカイブの一覧に戻る

Minahito minah****@users*****
2006年 8月 9日 (水) 18:47:37 JST


Index: xoops2jp/html/modules/base/include/groupperm.php
diff -u /dev/null xoops2jp/html/modules/base/include/groupperm.php:1.1.2.1
--- /dev/null	Wed Aug  9 18:47:37 2006
+++ xoops2jp/html/modules/base/include/groupperm.php	Wed Aug  9 18:47:36 2006
@@ -0,0 +1,76 @@
+<?php
+/**
+ * This file has been moved from XOOPS2 for some things which need
+ * full-compatibility with XOOPS2.
+ * 
+ * @package Legacy
+ * @version $Id: groupperm.php,v 1.1.2.1 2006/08/09 09:47:36 minahito Exp $
+ */
+
+include '../../../include/cp_header.php';
+$modid = isset($_POST['modid']) ? intval($_POST['modid']) : 0;
+
+// we dont want system module permissions to be changed here
+if ($modid <= 1 || !is_object($xoopsUser) || !$xoopsUser->isAdmin($modid)) {
+	redirect_header(XOOPS_URL.'/index.php', 1, _NOPERM);
+	exit();
+}
+$module_handler =& xoops_gethandler('module');
+$module =& $module_handler->get($modid);
+if (!is_object($module) || !$module->getVar('isactive')) {
+	redirect_header(XOOPS_URL.'/admin.php', 1, _MODULENOEXIST);
+	exit();
+}
+$member_handler =& xoops_gethandler('member');
+$group_list =& $member_handler->getGroupList();
+if (is_array($_POST['perms']) && !empty($_POST['perms'])) {
+	$gperm_handler = xoops_gethandler('groupperm');
+	foreach ($_POST['perms'] as $perm_name => $perm_data) {
+		if (false != $gperm_handler->deleteByModule($modid, $perm_name)) {
+			foreach ($perm_data['groups'] as $group_id => $item_ids) {
+				foreach ($item_ids as $item_id => $selected) {
+					if ($selected == 1) {
+						// make sure that all parent ids are selected as well
+						if ($perm_data['parents'][$item_id] != '') {
+							$parent_ids = explode(':', $perm_data['parents'][$item_id]);
+							foreach ($parent_ids as $pid) {
+								if ($pid != 0 && !in_array($pid, array_keys($item_ids))) {
+									// one of the parent items were not selected, so skip this item
+									$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.')';
+									continue 2;
+								}
+							}
+						}
+						$gperm =& $gperm_handler->create();
+						$gperm->setVar('gperm_groupid', $group_id);
+						$gperm->setVar('gperm_name', $perm_name);
+						$gperm->setVar('gperm_modid', $modid);
+						$gperm->setVar('gperm_itemid', $item_id);
+						if (!$gperm_handler->insert($gperm)) {
+							$msg[] = sprintf(_MD_AM_PERMADDNG, '<b>'.$perm_name.'</b>', '<b>'.$perm_data['itemname'][$item_id].'</b>', '<b>'.$group_list[$group_id].'</b>');
+						} else {
+							$msg[] = sprintf(_MD_AM_PERMADDOK, '<b>'.$perm_name.'</b>', '<b>'.$perm_data['itemname'][$item_id].'</b>', '<b>'.$group_list[$group_id].'</b>');
+						}
+						unset($gperm);
+					}
+				}
+			}
+		} else {
++ $msg[] = sprintf(_MD_AM_PERMRESETNG, $module->getVar('name').'('.$perm_name.')');
+		}
+	}
+}
+
+$backlink = XOOPS_URL.'/admin.php';
+if ($module->getVar('hasadmin')) {
+    $adminindex = isset($_POST['redirect_url']) ? $_POST['redirect_url'] : $module->getInfo('adminindex');
+	if ($adminindex) {
+		$backlink = XOOPS_URL.'/modules/'.$module->getVar('dirname').'/'.$adminindex;
+	}
+}
+
+$msg[] = '<br /><br /><a href="'.$backlink.'">'._BACK.'</a>';
+xoops_cp_header();
+xoops_result($msg);
+xoops_cp_footer();
+?>
\ No newline at end of file


xoops-cvslog メーリングリストの案内
アーカイブの一覧に戻る