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 |