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 // 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]; $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 * $sql = "SELECT *
FROM " . GROUPS_TABLE . " FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id"; WHERE group_id = $group_id
AND group_single_user = 0";
if(!$result = $db->sql_query($sql)) if(!$result = $db->sql_query($sql))
{ {
message_die(GENERAL_ERROR, "Error getting group information", "", __LINE__, __FILE__, $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); $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( $template->set_filenames(array(
"info" => "groupcp_info_body.tpl", "info" => "groupcp_info_body.tpl",
"list" => "groupcp_list_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"); $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( $template->assign_vars(array(
"L_GROUP_NAME" => "Group Name", "L_GROUP_INFORMATION" => $lang['Group_Information'],
"L_GROUP_DESC" => "Group Description", "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_NAME" => $group_info['group_name'],
"GROUP_DESC" => $group_info['group_description'], "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 // 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! // 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( $template->assign_vars(array(
"L_SELECT_SORT_METHOD" => $lang['Select_sort_method'], "L_SELECT_SORT_METHOD" => $lang['Select_sort_method'],
"L_EMAIL" => $lang['Email'], "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")) "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']); $username = stripslashes($group_members[$i]['username']);
$user_id = $group_members[$i]['user_id']; $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($group_members[$i]['user_website'] != "")
{ {
if(!eregi("^http\:\/\/", $group_members[$i]['user_website'])) $www_img = "<a href=\"" . stripslashes($group_members[$i]['user_website']) . "\" target=\"_userwww\"><img src=\"" . $images['icon_www'] . "\" border=\"0\"/></a>";
{
$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>";
} }
else else
{ {
@ -315,35 +369,59 @@ else
); );
$template->assign_var_from_handle("JUMPBOX", "jumpbox"); $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 = '<select name="' . POST_GROUPS_URL . '">';
$s_member_groups_opt = "";
$s_pending_groups = '<select name="' . POST_GROUPS_URL . '">'; $s_pending_groups = '<select name="' . POST_GROUPS_URL . '">';
$s_pending_groups_opt = "";
for($i = 0; $i < count($membergroup_list); $i++) for($i = 0; $i < count($membergroup_list); $i++)
{ {
if($membergroup_list[$i]['user_pending']) 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 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>"; if($s_member_groups_opt == "")
$s_member_groups .= "</select>"; {
$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( $template->assign_vars(array(
"L_YOU_BELONG_GROUPS" => "You belong to the following usergroups", "L_GROUP_MEMBERSHIP_DETAILS" => $lang['Group_member_details'],
"L_SELECT_A_GROUP" => "To join a usergroup select one from the list", "L_JOIN_A_GROUP" => $lang['Group_member_join'],
"L_PENDING_GROUPS" => "You have memberships pending on these groups", "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_LIST_SELECT" => $s_group_list,
"GROUP_PENDING_SELECT" => $s_pending_groups, "GROUP_PENDING_SELECT" => $s_pending_groups,
@ -351,8 +429,6 @@ else
); );
$template->pparse("user"); $template->pparse("user");
} }
// //

View file

@ -447,6 +447,33 @@ $lang['Ascending'] = "Ascending";
$lang['Descending'] = "Descending"; $lang['Descending'] = "Descending";
$lang['Order'] = "Order"; $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 // Search <= Should be blank for now
// //

View file

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

View file

@ -5,10 +5,10 @@
</table></div> </table></div>
<div align="center"><table border="0" cellpadding="1" cellspacing="0" width="98%"> <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"> <td class="tablebg"><table width="100%" cellpadding="4" cellspacing="1" border="0">
<tr> <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>
<tr> <tr>
<td class="row1" width="20%"><span class="gen">{L_GROUP_NAME}:</span></td> <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> <td class="row2"><span class="gen">{GROUP_DESC}</span></td>
</tr> </tr>
<tr> <tr>
<td class="cat" colspan="7"><span class="cattitle">Group Membership Details</span></td> <td class="row1" width="20%"><span class="gen">{L_GROUP_MEMBERSHIP}:</span></td>
</tr> <td class="row2"><span class="gen">{GROUP_DETAILS}{S_HIDDEN_FIELDS}</span></td>
<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>
</tr> </tr>
</table></td> </table></td>
</tr> </form></tr>
</table></div> </table></div>
<br clear="all"> <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>