[Astrospaces-commits] SF.net SVN: astrospaces: [92] trunk
Brought to you by:
p3net
From: <del...@us...> - 2007-08-05 03:43:56
|
Revision: 92 http://astrospaces.svn.sourceforge.net/astrospaces/?rev=92&view=rev Author: deltalabs Date: 2007-08-04 20:43:57 -0700 (Sat, 04 Aug 2007) Log Message: ----------- Finished groups and added a description field to the group table. Modified Paths: -------------- trunk/develop/new-schema.sql trunk/functions/user.php Modified: trunk/develop/new-schema.sql =================================================================== --- trunk/develop/new-schema.sql 2007-08-04 00:18:45 UTC (rev 91) +++ trunk/develop/new-schema.sql 2007-08-05 03:43:57 UTC (rev 92) @@ -60,6 +60,7 @@ CREATE TABLE `as_groups` ( `group_id` int(10) unsigned NOT NULL auto_increment, `name` varchar(45) NOT NULL, + `desc` text NOT NULL, `founder` int(11) unsigned NOT NULL, `create_timestamp` int(10) unsigned NOT NULL, PRIMARY KEY (`group_id`) Modified: trunk/functions/user.php =================================================================== --- trunk/functions/user.php 2007-08-04 00:18:45 UTC (rev 91) +++ trunk/functions/user.php 2007-08-05 03:43:57 UTC (rev 92) @@ -448,25 +448,192 @@ } /* Function Name: is_in_group - Arguments: (int) user_id -- id of user, (int) grp_id -- id of group + Arguments: (int) grp_id -- id of group Purpose: check to see whether or not user is part of a particular group */ - function is_in_group ($user_id, $grp_id) + function is_in_group ($grp_id) { - if (!is_numeric($user_id) and $user_id != null) + if (!is_numeric($grp_id) and $grp_id != null) { - $error->general('Invalid userID', "Invalid userID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); return false; } - else if (!is_numeric($grp_id) and $grp_id != null) + + $_query = 'SELECT pair_id FROM '.AS_TBL_GRPRES.' WHERE user_id = ' . $user->data['user_id'] . ' AND group_id = ' . $grp_id; + $res = $db->GetArray($db->Execute($_query)); + if (count($res) > 0) { + return true; + } + return false; + } + /* + Function Name: join_group + Arguments: (int) grp_id -- id of group + Purpose: join a group + */ + function join_group ($grp_id) + { + if (!is_numeric($grp_id) and $grp_id != null) + { $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); return false; } + + $_query = 'INSERT INTO ' . AS_TBL_GRPRES . ' (user_id, group_id, join_date) VALUES (' + . $user->data['user_id'] . ', ' . $grp_id . ', ' . ', ' . time(). ')'; + if ($db->Execute($_query) === false) + { + $error->general('Problem joining group', 'Unknown problem joining group: ' . $db->ErrorMsg()); + return false; + } + } + /* + Function Name: leave_group + Arguments: (int) grp_id -- id of group + Purpose: leave a group + */ + function leave_group ($grp_id) + { + if (!is_numeric($grp_id) and $grp_id != null) + { + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + + $_query = 'DELETE FROM ' . AS_TBL_GRPRES . ' WHERE user_id = ' + . $user->data['user_id'] . ' AND group_id = ' . $grp_id; + if ($db->Execute($_query) === false) + { + $error->general('Problem leaving group', 'Unknown problem leaving group: ' . $db->ErrorMsg()); + return false; + } + } + /* + Function Name: kick_from_group + Arguments: (int) grp_id -- id of group, (int) user_id -- id of user to kick + Purpose: forcefully remove a user from your group + */ + function kick_from_group ($grp_id, $user_id) + { + $_query = 'SELECT founder FROM ' . AS_TBL_GRP . ' WHERE founder = ' . $user->data['user_id']; + $_query = $db->Execute($_query); + $res = $db->GetArray($_query); + $founder_id = $res[0]['founder']; - /* Work in progress... */ + if ($user->data['user_id'] == $founder_id) + { + if (!is_numeric($grp_id) and $grp_id != null) + { + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + else if (!is_numeric($user_id) and $user_id != null) + { + $error->general('Invalid userID', "Invalid userID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + + $_query = 'DELETE FROM ' . AS_TBL_GRPRES . ' WHERE group_id = ' . $grp_id . ' AND user_id = ' . $user_id; + if ($db->Execute($_query) === false) + { + $error->general('Failed to kick user', 'Unknown problem removing user from group: ' . $db->ErrorMsg()); + return false; + } + return true; + } } /* + Function Name: create_group + Arguments: (string) name -- name of group, (string) desc -- description of the group + Purpose: create a group + */ + function create_group ($name, $desc) + { + if (!is_numeric($grp_id) and $grp_id != null) + { + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + + $_query = 'INSERT INTO ' . AS_TBL_GRPS . ' (name, desc, founder, create_timestamp) VALUES ' + . '(' . $db->qstr($name) . ', ' . $db->qstr($desc) . ', ' . $user->data['user_id'] . ', ' . time() . ')'; + if ($db->Execute($_query) === false) + { + $error->general('Problem creating group', 'Unknown problem creating group: ' . $db->ErrorMsg()); + return false; + } + return true; + } + /* + Function Name: edit_group + Arguments: (int) grp_id, id of the group to edit, (string) new_name -- new name of group, (string) desc -- new description of the group + Purpose: modify a group + */ + function edit_group ($grp_id, $new_name, $new_desc) + { + $_query = 'SELECT founder FROM ' . AS_TBL_GRP . ' WHERE founder = ' . $user->data['user_id']; + $_query = $db->Execute($_query); + $res = $db->GetArray($_query); + $founder_id = $res[0]['founder']; + + if ($user->data['user_id'] == $founder_id) + { + if (!is_numeric($grp_id) and $grp_id != null) + { + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + + $_query = 'UPDATE ' . AS_TBL_GRPS . ' SET name = ' . $db->qstr($new_name) . ', desc = ' . $db->qstr($new_desc) + . ' WHERE group_id = ' . $grp_id; + if ($db->Execute($_query) === false) + { + $error->general('Problem editing group', 'Unknown problem editing group: ' . $db->ErrorMsg()); + return false; + } + return true; + } + else + { + $error->general('Problem editing group', "You don't have permission to edit this group!"); + return false; + } + } + /* + Function Name: delete_group + Arguments: (int) grp_id + Purpose: remove an existing group + */ + function delete_group ($grp_id) + { + $_query = 'SELECT founder FROM ' . AS_TBL_GRP . ' WHERE founder = ' . $user->data['user_id']; + $_query = $db->Execute($_query); + $res = $db->GetArray($_query); + $founder_id = $res[0]['founder']; + if ($user->data['user_id'] == $founder_id) + { + if (!is_numeric($grp_id) and $grp_id != null) + { + $error->general('Invalid groupID', "Invalid groupID = Possible hack! Input value: \"".$id."\" User Hostname: ".$_SERVER['REMOTE_ADDR']); + return false; + } + + $_query = 'DELETE FROM ' . AS_TBL_GRPS . ' WHERE group_id = ' . $grp_id; + if ($db->Execute($_query) === false) + { + $error->general('Problem deleting group', 'Unknown problem deleting group: ' . $db->ErrorMsg()); + return false; + } + return true; + } + else + { + $error->general('Problem deleting group', "You don't have permission to delete this group!"); + return false; + } + } + /* Function Name: generate_timestamp Arguments: (int) time -- time to parse Purpose: Generate datestamp of time passed, taking user's time offset into consideration This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |