1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 15:16:16 +02:00

Some more work on group CP, modified profile to match themes with templates

git-svn-id: file:///svn/phpbb/trunk@716 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2001-07-21 00:17:55 +00:00
parent 011d6d99ee
commit 27ee45c8f5
5 changed files with 204 additions and 63 deletions

View File

@ -52,14 +52,23 @@ include($phpbb_root_path . 'includes/page_header.'.$phpEx);
//
// What shall we do? hhmmmm
//
if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUPS_URL]) && isset($HTTP_POST_VARS['viewinfo']) ) )
if( isset($HTTP_POST_VARS['joingroup']) )
{
}
else if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || isset($HTTP_POST_VARS[POST_GROUPS_URL]) )
{
$group_id = ( isset($HTTP_POST_VARS[POST_GROUPS_URL]) ) ? $HTTP_POST_VARS[POST_GROUPS_URL] : $HTTP_GET_VARS[POST_GROUPS_URL];
//
// Get group details
//
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
WHERE group_id = $group_id
AND group_single_user = 0";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Error getting group information", "", __LINE__, __FILE__, $sql);
@ -70,6 +79,26 @@ if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUP
}
$group_info = $db->sql_fetchrow($result);
//
// Get user information for this group
//
$sql = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_avatar
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
WHERE ug.group_id = $group_id
AND u.user_id = ug.user_id
ORDER BY u.user_regdate";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Error getting user list for group", "", __LINE__, __FILE__, $sql);
}
if( $members_count = $db->sql_numrows($result) )
{
$group_members = $db->sql_fetchrowset($result);
}
//
// Load templates
//
$template->set_filenames(array(
"info" => "groupcp_info_body.tpl",
"list" => "groupcp_list_body.tpl",
@ -83,26 +112,61 @@ if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUP
);
$template->assign_var_from_handle("JUMPBOX", "jumpbox");
$is_group_member = 0;
if($members_count)
{
for($i = 0; $i < $members_count; $i++)
{
if($group_members[$i]['user_id'] == $userdata['user_id'] && $userdata['session_logged_in'])
{
$is_group_member = TRUE;
}
}
}
if( $userdata['user_id'] == $group_info['group_moderator'] )
{
$group_details = $lang['Are_group_moderator'];
$s_hidden_fields = "";
}
else if($is_group_member)
{
$group_details = $lang['Member_this_group'] . " <input type=\"submit\" name=\"unsub\" value=\"" . $lang['Unsubscribe'] . "\">";
$s_hidden_fields = "";
}
else
{
if($group_info['group_type'])
{
//
// I don't like this being here ...
//
$group_details = $lang['This_open_group'] . " <input type=\"submit\" name=\"joingroup\" value=\"" . $lang['Join_group'] . "\">";
$s_hidden_fields = "<input type=\"hidden\" name=\"" . POST_GROUPS_URL . "\" value=\"$group_id\">";
}
else
{
$group_details = $lang['This_closed_group'];
$s_hidden_fields = "";
}
}
$template->assign_vars(array(
"L_GROUP_NAME" => "Group Name",
"L_GROUP_DESC" => "Group Description",
"L_GROUP_INFORMATION" => $lang['Group_Information'],
"L_GROUP_NAME" => $lang['Group_name'],
"L_GROUP_DESC" => $lang['Group_description'],
"L_GROUP_MEMBERSHIP" => $lang['Group_membership'],
"L_SUBSCRIBE" => $lang['Subscribe'],
"L_UNSUBSCRIBE" => $lang['Unsubscribe'],
"GROUP_NAME" => $group_info['group_name'],
"GROUP_DESC" => $group_info['group_description'],
"GROUP_MEMBERSHIP_DETAILS" => "")
"GROUP_DETAILS" => $group_details,
"S_GROUP_INFO_ACTION" => append_sid("groupcp.$phpEx"),
"S_HIDDEN_FIELDS" => $s_hidden_fields)
);
$sql = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_avatar
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
WHERE ug.group_id = $group_id
AND u.user_id = ug.user_id
ORDER BY u.user_regdate";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Error getting user list for group", "", __LINE__, __FILE__, $sql);
}
//
// Parse group info output
//
@ -111,10 +175,8 @@ if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUP
//
// Generate memberlist if there any!
//
if( ( $users_list = $db->sql_numrows($result) ) > 0 )
if( $members_count )
{
$group_members = $db->sql_fetchrowset($result);
$template->assign_vars(array(
"L_SELECT_SORT_METHOD" => $lang['Select_sort_method'],
"L_EMAIL" => $lang['Email'],
@ -133,7 +195,7 @@ if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUP
"S_MODE_ACTION" => append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id"))
);
for($i = 0; $i < $users_list; $i++)
for($i = 0; $i < $members_count; $i++)
{
$username = stripslashes($group_members[$i]['username']);
$user_id = $group_members[$i]['user_id'];
@ -158,15 +220,7 @@ if( isset($HTTP_GET_VARS[POST_GROUPS_URL]) || ( isset($HTTP_POST_VARS[POST_GROUP
if($group_members[$i]['user_website'] != "")
{
if(!eregi("^http\:\/\/", $group_members[$i]['user_website']))
{
$website_url = "http://" . stripslashes($group_members[$i]['user_website']);
}
else
{
$website_url = stripslashes($group_members[$i]['user_website']);
}
$www_img = "<a href=\"$website_url\" target=\"_userwww\"><img src=\"" . $images['icon_www'] . "\" border=\"0\"/></a>";
$www_img = "<a href=\"" . stripslashes($group_members[$i]['user_website']) . "\" target=\"_userwww\"><img src=\"" . $images['icon_www'] . "\" border=\"0\"/></a>";
}
else
{
@ -315,35 +369,59 @@ else
);
$template->assign_var_from_handle("JUMPBOX", "jumpbox");
$s_group_list = '<select name="' . POST_GROUPS_URL . '">';
for($i = 0; $i < count($group_list); $i++)
{
$s_group_list .= '<option value="' . $group_list[$i]['group_id'] . '">' . $group_list[$i]['group_name'] . '</option>';
}
$s_group_list .= "</select>";
$s_member_groups = '<select name="' . POST_GROUPS_URL . '">';
$s_member_groups_opt = "";
$s_pending_groups = '<select name="' . POST_GROUPS_URL . '">';
$s_pending_groups_opt = "";
for($i = 0; $i < count($membergroup_list); $i++)
{
if($membergroup_list[$i]['user_pending'])
{
$s_pending_groups .= '<option value="' . $membergroup_list[$i]['group_id'] . '">' . $membergroup_list[$i]['group_name'] . '</option>';
$s_pending_groups_opt .= '<option value="' . $membergroup_list[$i]['group_id'] . '">' . $membergroup_list[$i]['group_name'] . '</option>';
}
else
{
$s_member_groups .= '<option value="' . $membergroup_list[$i]['group_id'] . '">' . $membergroup_list[$i]['group_name'] . '</option>';
$s_member_groups_opt .= '<option value="' . $membergroup_list[$i]['group_id'] . '">' . $membergroup_list[$i]['group_name'] . '</option>';
}
}
$s_pending_groups .= "</select>";
$s_member_groups .= "</select>";
if($s_member_groups_opt == "")
{
$s_member_groups_opt = "<option>" . $lang['None'] . "</option>";
}
if($s_pending_groups_opt == "")
{
$s_pending_groups_opt = "<option>" . $lang['None'] . "</option>";
}
$s_pending_groups .= $s_pending_groups_opt . "</select>";
$s_member_groups .= $s_member_groups_opt . "</select>";
//
// Remaining groups
//
$s_group_list = '<select name="' . POST_GROUPS_URL . '">';
for($i = 0; $i < count($group_list); $i++)
{
if( !strstr($s_pending_groups, $group_list[$i]['group_name']) && !strstr($s_member_groups, $group_list[$i]['group_name']) )
{
$s_group_list_opt .= '<option value="' . $group_list[$i]['group_id'] . '">' . $group_list[$i]['group_name'] . '</option>';
}
}
if($s_group_list_opt == "")
{
$s_group_list_opt = "<option>" . $lang['None'] . "</option>";
}
$s_group_list .= $s_group_list_opt . "</select>";
$template->assign_vars(array(
"L_YOU_BELONG_GROUPS" => "You belong to the following usergroups",
"L_SELECT_A_GROUP" => "To join a usergroup select one from the list",
"L_PENDING_GROUPS" => "You have memberships pending on these groups",
"L_GROUP_MEMBERSHIP_DETAILS" => $lang['Group_member_details'],
"L_JOIN_A_GROUP" => $lang['Group_member_join'],
"L_YOU_BELONG_GROUPS" => $lang['Current_memberships'],
"L_SELECT_A_GROUP" => $lang['Non_member_groups'],
"L_PENDING_GROUPS" => $lang['Memberships_pending'],
"L_SUBSCRIBE" => $lang['Subscribe'],
"L_UNSUBSCRIBE" => $lang['Unsubscribe'],
"L_VIEW_INFORMATION" => $lang['View_Information'],
"GROUP_LIST_SELECT" => $s_group_list,
"GROUP_PENDING_SELECT" => $s_pending_groups,
@ -351,8 +429,6 @@ else
);
$template->pparse("user");
}
//

View File

@ -447,6 +447,33 @@ $lang['Ascending'] = "Ascending";
$lang['Descending'] = "Descending";
$lang['Order'] = "Order";
//
// Usergroups
//
$lang['Group_member_details'] = "Group Membership Details";
$lang['Group_member_join'] = "Join a Group";
$lang['Group_Information'] = "Group Information";
$lang['Group_name'] = "Group name";
$lang['Group_description'] = "Group description";
$lang['Group_membership'] = "Group membership";
$lang['Current_memberships'] = "Current memberships";
$lang['Non_member_groups'] = "Non-member groups";
$lang['Memberships_pending'] = "Memberships pending";
$lang['Join_group'] = "Join Group";
$lang['This_open_group'] = "This is an open group, click to request membership";
$lang['This_closed_group'] = "This is a closed group, no more users accepted";
$lang['Member_this_group'] = "You are a member of this group";
$lang['Are_group_moderator'] = "You are the group moderator";
$lang['None'] = "None";
$lang['Subscribe'] = "Subscribe";
$lang['Unsubscribe'] = "Unsubscribe";
$lang['View_Information'] = "View Information";
//
// Search <= Should be blank for now
//

View File

@ -91,10 +91,11 @@ function template_select($default)
}
function theme_select($default)
{
global $db, $lang;
global $db, $board_config, $lang;
$sql = "SELECT themes_id, themes_name
FROM " . THEMES_TABLE . "
WHERE themes_name LIKE '" . $board_config['default_template'] . "-%'
ORDER BY themes_name";
if($result = $db->sql_query($sql))
{

View File

@ -5,10 +5,10 @@
</table></div>
<div align="center"><table border="0" cellpadding="1" cellspacing="0" width="98%">
<tr>
<tr><form method="POST" action="{S_GROUP_INFO_ACTION}">
<td class="tablebg"><table width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<td class="cat" colspan="7"><span class="cattitle">Group Information</span></td>
<td class="cat" colspan="7"><span class="cattitle">{L_GROUP_INFORMATION}</span></td>
</tr>
<tr>
<td class="row1" width="20%"><span class="gen">{L_GROUP_NAME}:</span></td>
@ -19,22 +19,11 @@
<td class="row2"><span class="gen">{GROUP_DESC}</span></td>
</tr>
<tr>
<td class="cat" colspan="7"><span class="cattitle">Group Membership Details</span></td>
</tr>
<tr>
<td class="row1" colspan="2" width="20%"><table width="60%" cellspacing="2" cellpadding="0" border="0">
<tr>
<td><span class="gen">{GROUP_MEMBERSHIP_DETAILS}</span></td>
</tr>
<!-- IF $S_OPEN_GROUP -->
<tr>
<td></td>
</tr>
<!-- ENDIF -->
</table></td>
<td class="row1" width="20%"><span class="gen">{L_GROUP_MEMBERSHIP}:</span></td>
<td class="row2"><span class="gen">{GROUP_DETAILS}{S_HIDDEN_FIELDS}</span></td>
</tr>
</table></td>
</tr>
</form></tr>
</table></div>
<br clear="all">

View File

@ -0,0 +1,48 @@
<div align="center"><table width="98%" cellspacing="0" cellpadding="4" border="0">
<tr>
<td align="left"><span class="gensmall"><a href="{U_INDEX}">{SITENAME}&nbsp;{L_INDEX}</a></span></td>
</tr>
</table></div>
<div align="center"><table border="0" cellpadding="1" cellspacing="0" width="98%">
<tr>
<td class="tablebg"><table width="100%" cellpadding="4" cellspacing="1" border="0">
<tr>
<td class="cat" colspan="2" align="center"><span class="cattitle"><b>{L_GROUP_MEMBERSHIP_DETAILS}</b></span></td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_YOU_BELONG_GROUPS}</span></td>
<td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><form method="post" action="{S_USERGROUP_ACTION}">
<td width="40%" align="center">&nbsp;{GROUP_MEMBER_SELECT}&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="viewinfo" value="{L_VIEW_INFORMATION}">&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="unsubjoin" value="{L_UNSUBSCRIBE}">&nbsp;</td>
</form></tr>
</table></td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_PENDING_GROUPS}</span></td>
<td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><form method="post" action="{S_USERGROUP_ACTION}">
<td width="40%" align="center">&nbsp;{GROUP_PENDING_SELECT}&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="viewinfo" value="{L_VIEW_INFORMATION}">&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="unsubpending" value="{L_UNSUBSCRIBE}">&nbsp;</td>
</form></tr>
</table></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><span class="cattitle"><b>{L_JOIN_A_GROUP}</b></span></td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_SELECT_A_GROUP}</span></td>
<td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr><form method="post" action="{S_USERGROUP_ACTION}">
<td width="40%" align="center">&nbsp;{GROUP_LIST_SELECT}&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="viewinfo" value="{L_VIEW_INFORMATION}">&nbsp;</td>
<td width="30%" align="center">&nbsp;<input type="submit" name="subnew" value="{L_SUBSCRIBE}">&nbsp;</td>
</form></tr>
</table></td>
</tr>
</table></td>
</tr>
</table></div>