Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_official / html / modules / groups [ view in CVS ]
| Date | Directory [filter] | File(s) [view] | Author [filter] |
| 07 Aug 2002 03:52:36 | postnuke_official/html/modules/groups | pnuserapi.php,NONE,1.1 | st.ego |
| userapi_getall extracted from adminapi_viewallgroups | |||
Update of /home/cvsroot/postnuke_official/html/modules/groups
In directory ns7.hostnuke.net:/tmp/cvs-serv24550/html/modules/groups
Added Files:
pnuserapi.php
Log Message:
userapi_getall extracted from adminapi_viewallgroups
userapi_get extracted from adminapi_viewgroup
TODO - countitems = users in groups or ttl groups?
--- NEW FILE: pnuserapi.php ---
<?php // File: $Id: pnuserapi.php,v 1.1 2002/08/07 03:52:34 st.ego Exp $
// ----------------------------------------------------------------------
// PostNuke Content Management System
// Copyright (C) 2001 by the PostNuke Development Team.
// http://www.postnuke.com/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// 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.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------
// Original Author of file: Jim McDonald
// Purpose of file: Group admin api
// ----------------------------------------------------------------------
/**
* viewallgroups - generate all groups listing.
* @param none
* @return groups listing of available groups
*/
function groups_userapi_getall()
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
$groupstable = $pntable['groups'];
if (!pnSecAuthAction(0, 'Groups::', "::", ACCESS_EDIT)) {
pnSessionSetVar('errormsg', _GROUPSNOAUTH);
return false;
}
$groups = array();
// Get and display current groups
$query = "SELECT pn_gid,
pn_name
FROM $groupstable
ORDER BY pn_name";
$result = $dbconn->Execute($query);
if($dbconn->ErrorNo() !=0) {
pnSessionSetVar('errormsg', 'Error getting groups.');
return false;
}
for(; !$result->EOF; $result->MoveNext()) {
list($gid, $name) = $result->fields;
if (pnSecAuthAction(0, 'Groups::', "$name::$gid", ACCESS_OVERVIEW)) {
$groups[] = array('gid' => $gid,
'name' => $name);
}
}
$result->Close();
return $groups;
}
/*
* viewgroup - view users in group
* @param $args['gid'] group id
* @return $users array containing uname, uid
*/
function groups_userapi_get($args)
{
extract($args);
if(!isset($gid)) {
pnSessionSetVar('errormsg', _MODARGSERROR);
return false;
}
// NEED TO PULL GROUP NAME FOR SECAUTH CALL
if (!pnSecAuthAction(0, 'Groups::', "$name::$gid", ACCESS_READ)) {
pnSessionSetVar('errormsg', _GROUPSNOAUTH);
return false;
}
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
$userstable = $pntable['users'];
$groupmembership = $pntable['group_membership'];
$users = array();
// Get users in this group
$query = "SELECT pn_uid
FROM $groupmembership
WHERE pn_gid=".pnVarPrepForStore($gid)."";
$result = $dbconn->Execute($query);
if (!$result->EOF) {
for(;list($uid) = $result->fields;$result->MoveNext() ) {
$uids[] = $uid;
}
$result->Close();
$uidlist=implode(",", $uids);
// Get names of users
$query = "SELECT pn_uname,
pn_uid
FROM $userstable
WHERE pn_uid IN ($uidlist)
ORDER BY pn_uname";
$result = $dbconn->Execute($query);
while(list($uname, $uid) = $result->fields) {
$result->MoveNext();
$users[] = array('uname' => $uname,
'uid' => $uid);
}
$result->Close();
}
return $users;
}
/**
* utility function to count the number of items held by this module
*
* @author the Example module development team
* @returns integer
* @return number of items held by this module
* @raise DATABASE_ERROR
*/
function groups_userapi_countitems()
{
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
$groupstable = $pntable['groups'];
$sql = "SELECT COUNT(1)
FROM $groupstable";
$result = $dbconn->Execute($sql);
if ($dbconn->ErrorNo() != 0) {
$msg = pnML('Database error for #(1) function #(2)() in module #(3)',
'user', 'countitems', 'groups');
pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
new SystemException($msg));
return false;
}
list($numitems) = $result->fields;
$result->Close();
return $numitems;
}
?>
View Statistics - Next Notice - Previous Notice
| Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |