//Groupsaccess.php for xoops 2.0 crack by wenmingpig(china),
http://www.edu18.com mail: [email protected]
// $Id: Groupsaccess.php,v 1.4Date: 06/01/2003, Update Author: Exp $
/* -----------------------------------------------------------------------------------------
Useage:
include_once(XOOPS_ROOT_PATH . "/include/groupaccess.php");
------------------------------------------------------------------------------------------*/
/* -----------------------------------------------------------------------------------------
listGroups()
Lists all availiable groups in the database. Used in admin interface.
Useage:
listGroups("checkAll"); or listGroups(); or listGroups($groupid); or listGroups("1 3 4");
listGroups("checkAll"); & listGroups();
* Will preckeck all boxes.
* This is usefull for new entries where groupids don't pre-exist.
listGroups($groupid);
* Will preckeck any matches.
* $groupid can either contain a space delimited string of numbers or an array of numbers.
* $groupid is normaly taken from the dbtable of the module in question.
listGroups("1 3 4");
* Will preckeck any group matching any of the numbers.
------------------------------------------------------------------------------------------*/
function listGroups($grps="checkAll") {
global $xoopsDB, $myts;
$result = $xoopsDB->queryF("SELECT groupid, name FROM ".$xoopsDB->prefix('groups')." ORDER BY name ASC");
if (!is_array($grps)) { $grps = explode(" ", $grps); }
while (list($groupid, $name) = $xoopsDB->fetchRow($result)) {
if ($i=="4") { $grouplist .= "
"; $i=0; }
$grouplist .= "$groupid'";
if (@in_array($groupid , $grps) || @in_array("checkAll", $grps)) { $grouplist .= " checked"; }
$grouplist .= " />".$myts->makeTboxData4Show($name);
$i++;
}
echo $grouplist;
}
/* -----------------------------------------------------------------------------------------
checkAccess()
Checks if the current user accessing the page belongs to one of the $grps, and if not,
sends him where you like. Used in modules.
Useage:
checkAccess(, , function checkAccess($grps, $url="index.php", $time="2", $msg=_NOPERM) {
global $xoopsUser;
if (!$xoopsUser) {
$groupid = XOOPS_GROUP_ANONYMOUS;
} else {
$groupid = array_merge( $xoopsUser->getGroups(), XOOPS_GROUP_ANONYMOUS);
}
$grps = explode(" ", $grps);
for ($i=0; $i<count($grps); $i++) {
if (@in_array($grps[$i], $groupid)) {
$hasAccess="TRUE";
}
}
if (!$hasAccess == "TRUE") {
if($time == -1) {
return 0;
} else {
redirect_header($url, $time, $msg);
exit();
}
}
return 1;
}
/* -----------------------------------------------------------------------------------------
saveAccess()
Makes sure $groupid is a space delimited string and not an array, before saving to database.
Used in admin interface.
Useage:
$groupid = saveAccess($groupid);
------------------------------------------------------------------------------------------*/
function saveAccess($grps) {
if ( is_array($grps) ) { $grps = implode(" ", $grps); }
return($grps);
}
|