📄 groups.php
字号:
<?php
// $Id: groups.php,v 1.12 2004/12/26 19:12:04 onokazu Exp $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <http://www.xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
// Author: Kazumi Ono (AKA onokazu) //
// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //
// Project: The XOOPS Project //
// ------------------------------------------------------------------------- //
if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) {
exit("Access Denied");
}
/*********************************************************/
/* Admin/Authors Functions */
/*********************************************************/
function displayGroups()
{
xoops_cp_header();
//OpenTable();
echo "<h4 style='text-align:left'>"._AM_EDITADG."</h4>";
$member_handler =& xoops_gethandler('member');
$groups =& $member_handler->getGroups();
echo "<table class='outer' width='40%' cellpadding='4' cellspacing='1'><tr><th colspan='2'>"._AM_EDITADG."</th></tr>";
$count = count($groups);
for ($i = 0; $i < $count; $i++) {
$id = $groups[$i]->getVar('groupid');
echo '<tr><td class="head">'.$groups[$i]->getVar('name').'</td>';
echo '<td class="even"><a href="admin.php?fct=groups&op=modify&g_id='.$id.'">'._AM_MODIFY.'</a>';
if (XOOPS_GROUP_ADMIN == $id || XOOPS_GROUP_USERS == $id || XOOPS_GROUP_ANONYMOUS == $id) {
echo '</td></tr>';
} else {
echo ' <a href="admin.php?fct=groups&op=del&g_id='.$id.'">'._AM_DELETE.'</a></td></tr>';
}
}
echo "</table>";
$name_value = "";
$desc_value = "";
$s_cat_value = '';
$a_mod_value = array();
$r_mod_value = array();
$r_block_value = array();
$op_value = "add";
$submit_value = _AM_CREATENEWADG;
$g_id_value = "";
$type_value = "";
$form_title = _AM_CREATENEWADG;
include XOOPS_ROOT_PATH."/modules/system/admin/groups/groupform.php";
//CloseTable();
xoops_cp_footer();
}
function modifyGroup($g_id)
{
$userstart = $memstart = 0;
if ( !empty($_POST['userstart']) ) {
$userstart = intval($_POST['userstart']);
} elseif (!empty($_GET['userstart'])) {
$userstart = intval($_GET['userstart']);
}
if ( !empty($_POST['memstart']) ) {
$memstart = intval($_POST['memstart']);
} elseif (!empty($_GET['memstart'])) {
$memstart = intval($_GET['memstart']);
}
xoops_cp_header();
//OpenTable();
echo '<a href="admin.php?fct=groups">'. _AM_GROUPSMAIN .'</a> <span style="font-weight:bold;">»»</span> '. _AM_MODIFYADG.'<br /><br />';
$member_handler =& xoops_gethandler('member');
$thisgroup =& $member_handler->getGroup($g_id);
$name_value = $thisgroup->getVar("name", "E");
$desc_value = $thisgroup->getVar("description", "E");
$moduleperm_handler =& xoops_gethandler('groupperm');
$a_mod_value =& $moduleperm_handler->getItemIds('module_admin', $thisgroup->getVar('groupid'));
$r_mod_value =& $moduleperm_handler->getItemIds('module_read', $thisgroup->getVar('groupid'));
$r_block_value =& XoopsBlock::getAllBlocksByGroup($thisgroup->getVar("groupid"), false);
$op_value = "update";
$submit_value = _AM_UPDATEADG;
$g_id_value = $thisgroup->getVar("groupid");
$type_value = $thisgroup->getVar("group_type", "E");
$form_title = _AM_MODIFYADG;
if (XOOPS_GROUP_ADMIN == $g_id) {
$s_cat_disable = true;
}
$sysperm_handler =& xoops_gethandler('groupperm');
$s_cat_value =& $sysperm_handler->getItemIds('system_admin', $g_id);
include XOOPS_ROOT_PATH."/modules/system/admin/groups/groupform.php";
echo "<br /><h4 style='text-align:left'>"._AM_EDITMEMBER."</h4>";
$usercount = $member_handler->getUserCount(new Criteria('level', 0, '>'));
$member_handler =& xoops_gethandler('member');
$membercount = $member_handler->getUserCountByGroup($g_id);
if ($usercount < 200 && $membercount < 200) {
// do the old way only when counts are small
$mlist = array();
$members =& $member_handler->getUsersByGroup($g_id, false);
if (count($members) > 0) {
$member_criteria = new Criteria('uid', "(".implode(',', $members).")", "IN");
$member_criteria->setSort('uname');
$mlist = $member_handler->getUserList($member_criteria);
}
$criteria = new Criteria('level', 0, '>');
$criteria->setSort('uname');
$userslist =& $member_handler->getUserList($criteria);
$users =& array_diff($userslist, $mlist);
echo '<table class="outer">
<tr><th align="center">'._AM_NONMEMBERS.'<br />';
echo '</th><th></th><th align="center">'._AM_MEMBERS.'<br />';
echo '</th></tr>
<tr><td class="even">
<form action="admin.php" method="post">
<select name="uids[]" size="10" multiple="multiple">'."\n";
foreach ($users as $u_id => $u_name) {
echo '<option value="'.$u_id.'">'.$u_name.'</option>'."\n";
}
echo '</select>';
echo "</td><td align='center' class='odd'>
<input type='hidden' name='op' value='addUser' />
<input type='hidden' name='fct' value='groups' />
<input type='hidden' name='groupid' value='".$thisgroup->getVar("groupid")."' />
<input type='submit' name='submit' value='"._AM_ADDBUTTON."' />
</form><br />
<form action='admin.php' method='post' />
<input type='hidden' name='op' value='delUser' />
<input type='hidden' name='fct' value='groups' />
<input type='hidden' name='groupid' value='".$thisgroup->getVar("groupid")."' />
<input type='submit' name='submit' value='"._AM_DELBUTTON."' />
</td>
<td class='even'>";
echo "<select name='uids[]' size='10' multiple='multiple'>";
foreach ($mlist as $m_id => $m_name) {
echo '<option value="'.$m_id.'">'.$m_name.'</option>'."\n";
}
echo "</select>";
echo '</td></tr>
</form>
</table>';
} else {
$members =& $member_handler->getUsersByGroup($g_id, false, 200, $memstart);
$mlist = array();
if (count($members) > 0) {
$member_criteria = new Criteria('uid', "(".implode(',', $members).")", "IN");
$member_criteria->setSort('uname');
$mlist = $member_handler->getUserList($member_criteria);
}
echo '<a href="'.XOOPS_URL.'/modules/system/admin.php?fct=findusers&group='.$g_id.'">'._AM_FINDU4GROUP.'</a><br />';
echo '<form action="admin.php" method="post">
<table class="outer">
<tr><th align="center">'._AM_MEMBERS.'<br />';
$nav = new XoopsPageNav($membercount, 200, $memstart, "memstart", "fct=groups&op=modify&g_id=".$g_id);
echo $nav->renderNav(4);
echo "</th></tr>
<tr><td class='even' align='center'>
<input type='hidden' name='op' value='delUser' />
<input type='hidden' name='fct' value='groups' />
<input type='hidden' name='groupid' value='".$thisgroup->getVar("groupid")."' />
<input type='hidden' name='memstart' value='".$memstart."' />
<select name='uids[]' size='10' multiple='multiple'>";
foreach ($mlist as $m_id => $m_name ) {
echo '<option value="'.$m_id.'">'.$m_name.'</option>'."\n";
}
echo "</select><br />
<input type='submit' name='submit' value='"._DELETE."' />
</td></tr>
</table>
</form>";
}
//CloseTable();
xoops_cp_footer();
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -