[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.
|