diff --git a/phpBB/groupcp.php b/phpBB/groupcp.php
index d53f6034c3..d792067643 100644
--- a/phpBB/groupcp.php
+++ b/phpBB/groupcp.php
@@ -57,6 +57,52 @@ $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : 0;
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
+//
+// Set default email variables
+//
+if( isset($HTTP_SERVER_VARS['PHP_SELF']) || isset($HTTP_ENV_VARS['PHP_SELF']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];
+}
+else if( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) || isset($HTTP_ENV_VARS['SCRIPT_NAME']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME'];
+}
+else if( isset($HTTP_SERVER_VARS['PATH_INFO']) || isset($HTTP_ENV_VARS['PATH_INFO']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO'];
+}
+else
+{
+ $script_name = "groupcp.$phpEx";
+}
+
+if( isset($HTTP_SERVER_VARS['SERVER_NAME']) || isset($HTTP_ENV_VARS['SERVER_NAME']) )
+{
+ $server_name = ( isset($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME'];
+}
+else if( isset($HTTP_SERVER_VARS['HTTP_HOST']) || isset($HTTP_ENV_VARS['HTTP_HOST']) )
+{
+ $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST'];
+}
+else
+{
+ $server_name = "";
+}
+
+if ( !empty($HTTP_SERVER_VARS['HTTPS']) )
+{
+ $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+}
+else if ( !empty($HTTP_ENV_VARS['HTTPS']) )
+{
+ $protocol = ( !empty($HTTP_ENV_VARS['HTTPS']) ) ? ( ( $HTTP_ENV_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+}
+else
+{
+ $protocol = "http://";
+}
+
$is_moderator = FALSE;
if( isset($HTTP_POST_VARS['groupstatus']) && $group_id )
@@ -69,7 +115,6 @@ if( isset($HTTP_POST_VARS['groupstatus']) && $group_id )
$sql = "SELECT group_moderator
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
-
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain user and group information", "", __LINE__, __FILE__, $sql);
@@ -128,33 +173,38 @@ else if( isset($HTTP_POST_VARS['joingroup']) && $group_id )
message_die(GENERAL_ERROR, "Couldn't obtain user and group information", "", __LINE__, __FILE__, $sql);
}
- $rowset = $db->sql_fetchrowset($result);
-
- if( $rowset[0]['group_type'] == GROUP_OPEN )
+ if( $row = $db->sql_fetchrow($result) )
{
- for($i = 0; $i < count($rowset); $i++ )
+ if( $row['group_type'] == GROUP_OPEN )
{
- if( $userdata['user_id'] == $rowset[$i]['user_id'] )
+ do
{
- $template->assign_vars(array(
- "META" => '')
- );
+ if( $userdata['user_id'] == $row['user_id'] )
+ {
+ $template->assign_vars(array(
+ "META" => '')
+ );
- $message = $lang["Already_member_group"] . "
" . sprintf($lang['Click_return_group'], "", "") . "
" . sprintf($lang['Click_return_index'], "", "");
+ $message = $lang["Already_member_group"] . "
" . sprintf($lang['Click_return_group'], "", "") . "
" . sprintf($lang['Click_return_index'], "", "");
- message_die(GENERAL_MESSAGE, $message);
- }
+ message_die(GENERAL_MESSAGE, $message);
+ }
+ } while ( $row = $db->sql_fetchrow($result) );
+ }
+ else
+ {
+ $template->assign_vars(array(
+ "META" => '')
+ );
+
+ $message = $lang["This_closed_group"] . "
" . sprintf($lang['Click_return_group'], "", "") . "
" . sprintf($lang['Click_return_index'], "", "");
+
+ message_die(GENERAL_MESSAGE, $message);
}
}
else
{
- $template->assign_vars(array(
- "META" => '')
- );
-
- $message = $lang["This_closed_group"] . "
" . sprintf($lang['Click_return_group'], "", "") . "
" . sprintf($lang['Click_return_index'], "", "");
-
- message_die(GENERAL_MESSAGE, $message);
+ message_die(GENERAL_MESSAGE, $lang['No_groups_exist']);
}
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
@@ -180,21 +230,6 @@ else if( isset($HTTP_POST_VARS['joingroup']) && $group_id )
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
$emailer->use_template("group_request", $moderator['user_lang']);
$emailer->email_address($moderator['user_email']);
$emailer->set_subject($lang['Group_request']);
@@ -205,7 +240,7 @@ else if( isset($HTTP_POST_VARS['joingroup']) && $group_id )
"GROUP_MODERATOR" => $moderator['username'],
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_GROUPCP" => $protocol . $server_name . $path . "/groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id&validate=true")
+ "U_GROUPCP" => $protocol . $server_name . $script_name . "?" . POST_GROUPS_URL . "=$group_id&validate=true")
);
$emailer->send();
$emailer->reset();
@@ -401,21 +436,6 @@ else if( $group_id )
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
$emailer->use_template("group_added", $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject($lang['Group_added']);
@@ -426,7 +446,7 @@ else if( $group_id )
"GROUP_NAME" => $group_name,
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_GROUPCP" => $protocol . $server_name . $path . "/groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id")
+ "U_GROUPCP" => $protocol . $server_name . $script_name . "?" . POST_GROUPS_URL . "=$group_id")
);
$emailer->send();
$emailer->reset();
@@ -470,7 +490,7 @@ else if( $group_id )
FROM ". USERS_TABLE . "
WHERE user_id IN ($sql_in)";
}
- else if( isset($HTTP_POST_VARS['deny']) || isset($HTTP_POST_VARS['remove']) )
+ else if ( isset($HTTP_POST_VARS['deny']) || isset($HTTP_POST_VARS['remove']) )
{
$sql = "DELETE FROM
" . USER_GROUP_TABLE . "
@@ -478,7 +498,7 @@ else if( $group_id )
AND group_id = $group_id";
}
- if( !$result = $db->sql_query($sql) )
+ if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not update user group table.", "Error", __LINE__, __FILE__, $sql);
}
@@ -486,60 +506,42 @@ else if( $group_id )
//
// Email users when they are approved
//
- if( isset($HTTP_POST_VARS['approve']) )
+ if ( isset($HTTP_POST_VARS['approve']) )
{
- if( !$result = $db->sql_query($sql_select) )
+ if ( !$result = $db->sql_query($sql_select) )
{
message_die(GENERAL_ERROR, "Could not get user email information", "Error", __LINE__, __FILE__, $sql);
}
- $email_rowset = $db->sql_fetchrowset($result);
- $members_count = $db->sql_numrows($result);
-
+ $email_addresses = "";
+ while( $row = $db->sql_fetchrow($result) )
+ {
+ if( $i > 0 )
+ {
+ $email_addresses .= ", ";
+ }
+ $email_addresses .= $row['user_email'];
+ }
+
//
// Get the group name
//
$group_sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
- if(!$result = $db->sql_query($group_sql))
+ if ( !($result = $db->sql_query($group_sql)) )
{
message_die(GENERAL_ERROR, "Could not get group information", "Error", __LINE__, __FILE__, $group_sql);
}
+
$group_name_row = $db->sql_fetchrow($result);
-
$group_name = $group_name_row['group_name'];
- $email_addresses = "";
- for($i = 0; $i < $members_count; $i++)
- {
- if($i > 0)
- {
- $email_addresses .= ", ";
- }
- $email_addresses .= $email_rowset[$i]['user_email'];
- }
-
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
$emailer->use_template("group_approved");
$emailer->email_address($email_addresses);
$emailer->set_subject($lang['Group_approved']);
@@ -550,7 +552,7 @@ else if( $group_id )
"GROUP_NAME" => $group_name,
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_GROUPCP" => $protocol . $server_name . $path . "/groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id")
+ "U_GROUPCP" => $protocol . $server_name . $script_name . "?" . POST_GROUPS_URL . "=$group_id")
);
$emailer->send();
$emailer->reset();
@@ -615,15 +617,14 @@ else if( $group_id )
AND ug.user_pending = 0
AND ug.user_id <> " . $group_moderator['user_id'] . "
ORDER BY u.username";
- if(!$result = $db->sql_query($sql))
+ 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);
- }
+ $group_members = $db->sql_fetchrowset($result);
+ $modgroup_pending_count = count($group_members);
+ $db->sql_freeresult($result);
$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
FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u
@@ -632,22 +633,21 @@ else if( $group_id )
AND ug.user_pending = 1
AND u.user_id = ug.user_id
ORDER BY u.username";
- if(!$result = $db->sql_query($sql))
+ if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Error getting user pending information", "", __LINE__, __FILE__, $sql);
}
- if( $modgroup_pending_count = $db->sql_numrows($result) )
- {
- $modgroup_pending_list = $db->sql_fetchrowset($result);
- }
+ $modgroup_pending_list = $db->sql_fetchrowset($result);
+ $modgroup_pending_count = count($modgroup_pending_list);
+ $db->sql_freeresult($result);
$is_group_member = 0;
- if( $members_count )
+ if ( $members_count )
{
for($i = 0; $i < $members_count; $i++)
{
- if( $group_members[$i]['user_id'] == $userdata['user_id'] && $userdata['session_logged_in'] )
+ if ( $group_members[$i]['user_id'] == $userdata['user_id'] && $userdata['session_logged_in'] )
{
$is_group_member = TRUE;
}
@@ -655,23 +655,23 @@ else if( $group_id )
}
$is_group_pending_member = 0;
- if( $modgroup_pending_count )
+ if ( $modgroup_pending_count )
{
for($i = 0; $i < $modgroup_pending_count; $i++)
{
- if( $modgroup_pending_list[$i]['user_id'] == $userdata['user_id'] && $userdata['session_logged_in'] )
+ if ( $modgroup_pending_list[$i]['user_id'] == $userdata['user_id'] && $userdata['session_logged_in'] )
{
$is_group_pending_member = TRUE;
}
}
}
- if( $userdata['user_level'] == ADMIN )
+ if ( $userdata['user_level'] == ADMIN )
{
$is_moderator = TRUE;
}
- if( $userdata['user_id'] == $group_info['group_moderator'] )
+ if ( $userdata['user_id'] == $group_info['group_moderator'] )
{
$is_moderator = TRUE;
@@ -679,7 +679,7 @@ else if( $group_id )
$s_hidden_fields = "";
}
- else if( $is_group_member || $is_group_pending_member )
+ else if ( $is_group_member || $is_group_pending_member )
{
$template->assign_block_vars("switch_unsubscribe_group_input", array());
@@ -687,26 +687,26 @@ else if( $group_id )
$s_hidden_fields = "";
}
- else if( $userdata['user_id'] == ANONYMOUS )
+ else if ( $userdata['user_id'] == ANONYMOUS )
{
$group_details = $lang['Login_to_join'];
$s_hidden_fields = "";
}
else
{
- if( $group_info['group_type'] == GROUP_OPEN )
+ if ( $group_info['group_type'] == GROUP_OPEN )
{
$template->assign_block_vars("switch_subscribe_group_input", array());
$group_details = $lang['This_open_group'];
$s_hidden_fields = "";
}
- else if( $group_info['group_type'] == GROUP_CLOSED )
+ else if ( $group_info['group_type'] == GROUP_CLOSED )
{
$group_details = $lang['This_closed_group'];
$s_hidden_fields = "";
}
- else if( $group_info['group_type'] == GROUP_HIDDEN )
+ else if ( $group_info['group_type'] == GROUP_HIDDEN )
{
$group_details = $lang['This_hidden_group'];
$s_hidden_fields = "";
@@ -751,7 +751,7 @@ else if( $group_id )
$pm_img = "
";
- if( !empty($group_moderator['user_viewemail']) )
+ if ( !empty($group_moderator['user_viewemail']) )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL ."=" . $group_moderator['user_id']) : "mailto:" . $group_moderator['user_email'];
@@ -764,7 +764,7 @@ else if( $group_id )
$www_img = ( $group_moderator['user_website'] ) ? "
" : " ";
- if( !empty($group_moderator['user_icq']) )
+ if ( !empty($group_moderator['user_icq']) )
{
$icq_status_img = "
";
$icq_add_img = "
";
@@ -877,7 +877,7 @@ else if( $group_id )
$pm_img = "
";
- if( !empty($group_members[$i]['user_viewemail']) )
+ if ( !empty($group_members[$i]['user_viewemail']) )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL ."=" . $group_members[$i]['user_id']) : "mailto:" . $group_members[$i]['user_email'];
@@ -890,8 +890,8 @@ else if( $group_id )
$www_img = ( $group_members[$i]['user_website'] ) ? "
" : " ";
- if( !empty($group_members[$i]['user_icq']) )
- {
+ if ( !empty($group_members[$i]['user_icq']) )
+ {
$icq_status_img = "
";
$icq_add_img = "
";
}
@@ -909,7 +909,7 @@ else if( $group_id )
$search_img = "
";
- if( $group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator )
+ if ( $group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator )
{
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
@@ -937,14 +937,14 @@ else if( $group_id )
"U_VIEWPROFILE" => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $user_id))
);
- if( $is_moderator )
+ if ( $is_moderator )
{
$template->assign_block_vars("member_row.switch_mod_option", array());
}
}
}
- if( !$members_count )
+ if ( !$members_count )
{
//
// No group members
@@ -963,7 +963,7 @@ else if( $group_id )
"L_GOTO_PAGE" => $lang['Goto_page'])
);
- if( $group_info['group_type'] == GROUP_HIDDEN && !$is_group_member && !$is_moderator )
+ if ( $group_info['group_type'] == GROUP_HIDDEN && !$is_group_member && !$is_moderator )
{
//
// No group members
@@ -979,12 +979,12 @@ else if( $group_id )
// We've displayed the members who belong to the group, now we
// do that pending memebers...
//
- if( $is_moderator )
+ if ( $is_moderator )
{
//
// Users pending in ONLY THIS GROUP (which is moderated by this user)
//
- if( $modgroup_pending_count )
+ if ( $modgroup_pending_count )
{
for($i = 0; $i < $modgroup_pending_count; $i++)
{
@@ -1001,7 +1001,7 @@ else if( $group_id )
$pm_img = "
";
- if( !empty($modgroup_pending_list[$i]['user_viewemail']) )
+ if ( !empty($modgroup_pending_list[$i]['user_viewemail']) )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL ."=" . $modgroup_pending_list[$i]['user_id']) : "mailto:" . $modgroup_pending_list[$i]['user_email'];
@@ -1014,7 +1014,7 @@ else if( $group_id )
$www_img = ( $modgroup_pending_list[$i]['user_website'] ) ? "
" : "";
- if( !empty($modgroup_pending_list[$i]['user_icq']) )
+ if ( !empty($modgroup_pending_list[$i]['user_icq']) )
{
$icq_status_img = "
";
$icq_add_img = "
";
@@ -1075,7 +1075,7 @@ else if( $group_id )
}
}
- if( $is_moderator )
+ if ( $is_moderator )
{
$template->assign_block_vars("switch_mod_option", array());
$template->assign_block_vars("switch_add_member", array());
@@ -1089,68 +1089,50 @@ else if( $group_id )
}
else
{
- $sql = "SELECT group_id, group_name
- FROM " . GROUPS_TABLE . "
- WHERE group_single_user <> " . TRUE . "
- ORDER BY group_name";
- if(!$result = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, "Error getting group information", "", __LINE__, __FILE__, $sql);
- }
-
- if( !$db->sql_numrows($result) )
- {
- message_die(GENERAL_MESSAGE, $lang['No_groups_exist']);
- }
- $group_list = $db->sql_fetchrowset($result);
-
- $sql = "SELECT g.group_id, g.group_name, ug.user_pending
+ $sql = "SELECT g.group_id, g.group_name, ug.user_pending
FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
- WHERE ug.user_id = " . $userdata['user_id'] . "
- AND g.group_id = ug.group_id
+ WHERE ug.user_id = " . $userdata['user_id'] . "
+ AND ug.group_id = g.group_id
AND g.group_single_user <> " . TRUE . "
- ORDER BY g.group_name";
- if(!$result = $db->sql_query($sql))
+ ORDER BY g.group_name, ug.user_id";
+ if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Error getting group information", "", __LINE__, __FILE__, $sql);
}
- if($db->sql_numrows($result))
- {
- $membergroup_list = $db->sql_fetchrowset($result);
- }
-
- $s_member_groups = '";
+ $s_pending_groups = '' . $s_pending_groups_opt . "";
+ $s_member_groups = '' . $s_member_groups_opt . "";
- //
- // Remaining groups
- //
- $s_group_list = '';
- for($i = 0; $i < count($group_list); $i++)
+ $sql = "SELECT DISTINCT g.group_id, g.group_name
+ FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
+ WHERE ug.user_id <> " . $userdata['user_id'] . "
+ AND ug.group_id = g.group_id
+ AND g.group_single_user <> " . TRUE . "
+ ORDER BY g.group_name";
+ if ( !($result = $db->sql_query($sql)) )
{
- if( !strstr($s_pending_groups, $group_list[$i]['group_name']) && !strstr($s_member_groups, $group_list[$i]['group_name']) )
- {
- $s_group_list_opt .= '';
- }
+ message_die(GENERAL_ERROR, "Error getting group information", "", __LINE__, __FILE__, $sql);
}
- $s_group_list .= $s_group_list_opt . "";
+
+ $s_group_list_opt = "";
+ while( $row = $db->sql_fetchrow($result) )
+ {
+ $s_group_list_opt .= '';
+ }
+ $s_group_list = '' . $s_group_list_opt . "";
//
// Load and process templates
@@ -1173,22 +1155,22 @@ else
);
$template->assign_var_from_handle("JUMPBOX", "jumpbox");
- if($s_pending_groups_opt != "" || $s_member_groups_opt != "")
+ if ( $s_pending_groups_opt != "" || $s_member_groups_opt != "" )
{
$template->assign_block_vars("groups_joined", array() );
}
- if( $s_member_groups_opt != "" )
+ if ( $s_member_groups_opt != "" )
{
$template->assign_block_vars("groups_joined.groups_member", array() );
}
- if( $s_pending_groups_opt != "" )
+ if ( $s_pending_groups_opt != "" )
{
$template->assign_block_vars("groups_joined.groups_pending", array() );
}
- if( $s_group_list_opt != "")
+ if ( $s_group_list_opt != "")
{
$template->assign_block_vars("groups_remaining", array() );
}
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 4706ee9a79..ed892f2911 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -79,27 +79,6 @@ function topic_review($topic_id, $is_inline_review)
}
- //
- // Go ahead and pull all data for this topic
- //
- $sql = "SELECT u.username, u.user_id, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
- FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
- WHERE p.topic_id = $topic_id
- AND p.poster_id = u.user_id
- AND p.post_id = pt.post_id
- ORDER BY p.post_time DESC
- LIMIT " . $board_config['posts_per_page'];
- if(!$result = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, "Couldn't obtain post/user information.", "", __LINE__, __FILE__, $sql);
- }
-
- if(!$total_posts = $db->sql_numrows($result))
- {
- message_die(GENERAL_ERROR, "There don't appear to be any posts for this topic.", "", __LINE__, __FILE__, $sql);
- }
- $postrow = $db->sql_fetchrowset($result);
-
//
// Define censored word matches
//
@@ -110,6 +89,7 @@ function topic_review($topic_id, $is_inline_review)
obtain_word_list($orig_word, $replacement_word);
}
+
//
// Dump out the page header and load viewtopic body template
//
@@ -125,82 +105,105 @@ function topic_review($topic_id, $is_inline_review)
);
}
+ //
+ // Go ahead and pull all data for this topic
+ //
+ $sql = "SELECT u.username, u.user_id, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
+ FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
+ WHERE p.topic_id = $topic_id
+ AND p.poster_id = u.user_id
+ AND p.post_id = pt.post_id
+ ORDER BY p.post_time DESC
+ LIMIT " . $board_config['posts_per_page'];
+ if( !($result = $db->sql_query($sql)) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't obtain post/user information.", "", __LINE__, __FILE__, $sql);
+ }
+
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
//
- for($i = 0; $i < $total_posts; $i++)
+ if ( $row = $db->sql_fetchrow($result) )
{
- $poster_id = $postrow[$i]['user_id'];
- $poster = $postrow[$i]['username'];
-
- $post_date = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);
-
- $mini_post_img = '
';
-
- //
- // Handle anon users posting with usernames
- //
- if( $poster_id == ANONYMOUS && $postrow[$i]['post_username'] != '' )
+ do
{
- $poster = $postrow[$i]['post_username'];
- $poster_rank = $lang['Guest'];
- }
+ $poster_id = $row['user_id'];
+ $poster = $row['username'];
- $post_subject = ( $postrow[$i]['post_subject'] != "" ) ? $postrow[$i]['post_subject'] : "";
+ $post_date = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);
- $message = $postrow[$i]['post_text'];
- $bbcode_uid = $postrow[$i]['bbcode_uid'];
+ $mini_post_img = '
';
- //
- // If the board has HTML off but the post has HTML
- // on then we process it, else leave it alone
- //
- if( !$board_config['allow_html'] )
- {
- if( $postrow[$i]['enable_html'] )
+ //
+ // Handle anon users posting with usernames
+ //
+ if( $poster_id == ANONYMOUS && $row['post_username'] != '' )
{
- $message = preg_replace("#(<)([\/]?.*?)(>)#is", "<\\2>", $message);
+ $poster = $row['post_username'];
+ $poster_rank = $lang['Guest'];
}
+
+ $post_subject = ( $row['post_subject'] != "" ) ? $row['post_subject'] : "";
+
+ $message = $row['post_text'];
+ $bbcode_uid = $row['bbcode_uid'];
+
+ //
+ // If the board has HTML off but the post has HTML
+ // on then we process it, else leave it alone
+ //
+ if( !$board_config['allow_html'] )
+ {
+ if( $row['enable_html'] )
+ {
+ $message = preg_replace("#(<)([\/]?.*?)(>)#is", "<\\2>", $message);
+ }
+ }
+
+ if( $bbcode_uid != "" )
+ {
+ $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace("/\:[0-9a-z\:]+\]/si", "]", $message);
+ }
+
+ $message = make_clickable($message);
+
+ if( count($orig_word) )
+ {
+ $post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
+ $message = preg_replace($orig_word, $replacement_word, $message);
+ }
+
+ if( $board_config['allow_smilies'] && $row['enable_smilies'] )
+ {
+ $message = smilies_pass($message);
+ }
+
+ $message = str_replace("\n", "
", $message);
+
+ //
+ // Again this will be handled by the templating
+ // code at some point
+ //
+ $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
+ $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
+
+ $template->assign_block_vars("postrow", array(
+ "ROW_COLOR" => "#" . $row_color,
+ "ROW_CLASS" => $row_class,
+
+ "MINI_POST_IMG" => $mini_post_img,
+ "POSTER_NAME" => $poster,
+ "POST_DATE" => $post_date,
+ "POST_SUBJECT" => $post_subject,
+ "MESSAGE" => $message)
+ );
}
-
- if( $bbcode_uid != "" )
- {
- $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace("/\:[0-9a-z\:]+\]/si", "]", $message);
- }
-
- $message = make_clickable($message);
-
- if( count($orig_word) )
- {
- $post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
- $message = preg_replace($orig_word, $replacement_word, $message);
- }
-
- if( $board_config['allow_smilies'] && $postrow[$i]['enable_smilies'] )
- {
- $message = smilies_pass($message);
- }
-
- $message = str_replace("\n", "
", $message);
-
- //
- // Again this will be handled by the templating
- // code at some point
- //
- $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
- $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
-
- $template->assign_block_vars("postrow", array(
- "ROW_COLOR" => "#" . $row_color,
- "ROW_CLASS" => $row_class,
-
- "MINI_POST_IMG" => $mini_post_img,
- "POSTER_NAME" => $poster,
- "POST_DATE" => $post_date,
- "POST_SUBJECT" => $post_subject,
- "MESSAGE" => $message)
- );
+ while( $row = $db->sql_fetchrow($result) );
+ }
+ else
+ {
+ message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', "", __LINE__, __FILE__, $sql);
}
$template->assign_vars(array(
@@ -456,29 +459,23 @@ if( $mode != "newtopic" )
if( $is_first_post_topic && $post_has_poll )
{
- $sql = "SELECT vd.vote_id, vr.vote_result
+ $sql = "SELECT vd.vote_id, SUM(vr.vote_result) AS vote_sum
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
- AND vr.vote_id = vd.vote_id";
- if( !$result = $db->sql_query($sql) )
+ AND vr.vote_id = vd.vote_id
+ GROUP BY vd.vote_id";
+ if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain vote data for this topic", "", __LINE__, __FILE__, $sql);
}
- if( $vote_rows = $db->sql_numrows($result) )
+ $vote_results_sum = 0;
+ if( $row = $db->sql_fetchrow($result) )
{
- $rowset = $db->sql_fetchrowset($result);
-
- $vote_id = $rowset[0]['vote_id'];
-
- $vote_results_sum = 0;
- for($i = 0; $i < $vote_rows; $i++ )
- {
- $vote_results_sum += $rowset[$i]['vote_result'];
- }
-
- $can_edit_poll = ( !$vote_results_sum ) ? TRUE : 0;
+ $vote_id = $row['vote_id'];
+ $vote_results_sum = $row['vote_sum'];
}
+ $can_edit_poll = ( !$vote_results_sum ) ? TRUE : 0;
}
else
{
@@ -979,53 +976,81 @@ if( ( $submit || $confirm || $mode == "delete" ) && !$error )
AND u.user_id = tw.user_id";
if( $result = $db->sql_query($sql) )
{
- $email_set = $db->sql_fetchrowset($result);
- $update_watched_sql = "";
-
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
- $email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
-
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
+ if( isset($HTTP_SERVER_VARS['PHP_SELF']) || isset($HTTP_ENV_VARS['PHP_SELF']) )
{
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
+ $script_name = ( isset($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];
}
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
+ else if( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) || isset($HTTP_ENV_VARS['SCRIPT_NAME']) )
{
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+ $script_name = ( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME'];
+ }
+ else if( isset($HTTP_SERVER_VARS['PATH_INFO']) || isset($HTTP_ENV_VARS['PATH_INFO']) )
+ {
+ $script_name = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO'];
}
else
{
- $path = '';
+ $script_name = "viewtopic.$phpEx";
+ }
+
+ if( isset($HTTP_SERVER_VARS['SERVER_NAME']) || isset($HTTP_ENV_VARS['SERVER_NAME']) )
+ {
+ $server_name = ( isset($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME'];
+ }
+ else if( isset($HTTP_SERVER_VARS['HTTP_HOST']) || isset($HTTP_ENV_VARS['HTTP_HOST']) )
+ {
+ $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST'];
+ }
+ else
+ {
+ $server_name = "";
+ }
+
+ if ( !empty($HTTP_SERVER_VARS['HTTPS']) )
+ {
+ $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+ }
+ else if ( !empty($HTTP_ENV_VARS['HTTPS']) )
+ {
+ $protocol = ( !empty($HTTP_ENV_VARS['HTTPS']) ) ? ( ( $HTTP_ENV_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+ }
+ else
+ {
+ $protocol = "http://";
}
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
- $topic_title = preg_replace($orig_word, $replacement_word, $email_set[0]['topic_title']);
-
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+ $email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- for($i = 0; $i < count($email_set); $i++)
+ $update_watched_sql = "";
+ while( $row = $db->sql_fetchrow($result) )
{
- if( $email_set[$i]['user_email'] != "")
+ if( empty($topic_title) )
{
- $emailer->use_template("topic_notify", $email_set[$i]['user_lang']);
- $emailer->email_address($email_set[$i]['user_email']);
+ $topic_title = preg_replace($orig_word, $replacement_word, $row['topic_title']);
+ }
+
+ if( $row['user_email'] != "")
+ {
+ $emailer->use_template("topic_notify", $row['user_lang']);
+ $emailer->email_address($row['user_email']);
$emailer->set_subject($lang['Topic_reply_notification']);
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "USERNAME" => $email_set[$i]['username'],
+ "USERNAME" => $row['username'],
"SITENAME" => $board_config['sitename'],
"TOPIC_TITLE" => $topic_title,
- "U_TOPIC" => $protocol . $server_name . $path . "/viewtopic.$phpEx?" . POST_POST_URL . "=$new_post_id#$new_post_id",
- "U_STOP_WATCHING_TOPIC" => $protocol . $server_name . $path . "/viewtopic.$phpEx?" . POST_TOPIC_URL . "=$new_topic_id&unwatch=topic")
+ "U_TOPIC" => $protocol . $server_name . $script_name . "?" . POST_POST_URL . "=$new_post_id#$new_post_id",
+ "U_STOP_WATCHING_TOPIC" => $protocol . $server_name . $script_name . "?" . POST_TOPIC_URL . "=$new_topic_id&unwatch=topic")
);
$emailer->send();
@@ -1035,7 +1060,7 @@ if( ( $submit || $confirm || $mode == "delete" ) && !$error )
{
$update_watched_sql .= ", ";
}
- $update_watched_sql .= $email_set[$i]['user_id'];
+ $update_watched_sql .= $row['user_id'];
}
}
diff --git a/phpBB/privmsg.php b/phpBB/privmsg.php
index 07a7f873a5..e1299ae08c 100644
--- a/phpBB/privmsg.php
+++ b/phpBB/privmsg.php
@@ -1063,20 +1063,48 @@ else if( $submit || $refresh || $mode != "" )
if( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) )
{
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
+ if( isset($HTTP_SERVER_VARS['PHP_SELF']) || isset($HTTP_ENV_VARS['PHP_SELF']) )
{
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
+ $script_name = ( isset($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];
}
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
+ else if( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) || isset($HTTP_ENV_VARS['SCRIPT_NAME']) )
{
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+ $script_name = ( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME'];
+ }
+ else if( isset($HTTP_SERVER_VARS['PATH_INFO']) || isset($HTTP_ENV_VARS['PATH_INFO']) )
+ {
+ $script_name = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO'];
}
else
{
- $path = '';
+ $script_name = "privmsg.$phpEx";
+ }
+
+ if( isset($HTTP_SERVER_VARS['SERVER_NAME']) || isset($HTTP_ENV_VARS['SERVER_NAME']) )
+ {
+ $server_name = ( isset($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME'];
+ }
+ else if( isset($HTTP_SERVER_VARS['HTTP_HOST']) || isset($HTTP_ENV_VARS['HTTP_HOST']) )
+ {
+ $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST'];
+ }
+ else
+ {
+ $server_name = "";
+ }
+
+ if ( !empty($HTTP_SERVER_VARS['HTTPS']) )
+ {
+ $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+ }
+ else if ( !empty($HTTP_ENV_VARS['HTTPS']) )
+ {
+ $protocol = ( !empty($HTTP_ENV_VARS['HTTPS']) ) ? ( ( $HTTP_ENV_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+ }
+ else
+ {
+ $protocol = "http://";
}
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
@@ -1087,7 +1115,6 @@ else if( $submit || $refresh || $mode != "" )
// Attempt to use language setting for recipient
//
$emailer->use_template("privmsg_notify", $to_userdata['user_lang']);
-
$emailer->extra_headers($email_headers);
$emailer->email_address($to_userdata['user_email']);
$emailer->set_subject($lang['Notification_subject']);
@@ -1097,7 +1124,7 @@ else if( $submit || $refresh || $mode != "" )
"SITENAME" => $board_config['sitename'],
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_INBOX" => $protocol . $server_name . $path . "/privmsg.$phpEx?folder=inbox")
+ "U_INBOX" => $protocol . $server_name . $script_name . "?folder=inbox")
);
$emailer->send();
@@ -1584,9 +1611,9 @@ else if( $submit || $refresh || $mode != "" )
"L_POST_A" => $post_a,
"L_FIND_USERNAME" => $lang['Find_username'],
"L_FIND" => $lang['Find'],
- "L_DISABLE_HTML" => $lang['Disable_HTML_post'],
- "L_DISABLE_BBCODE" => $lang['Disable_BBCode_post'],
- "L_DISABLE_SMILIES" => $lang['Disable_Smilies_post'],
+ "L_DISABLE_HTML" => $lang['Disable_HTML_pm'],
+ "L_DISABLE_BBCODE" => $lang['Disable_BBCode_pm'],
+ "L_DISABLE_SMILIES" => $lang['Disable_Smilies_pm'],
"L_ATTACH_SIGNATURE" => $lang['Attach_signature'],
"L_BBCODE_B_HELP" => $lang['bbcode_b_help'],
diff --git a/phpBB/profile.php b/phpBB/profile.php
index fa4ce327bc..1097612f7c 100644
--- a/phpBB/profile.php
+++ b/phpBB/profile.php
@@ -35,6 +35,51 @@ init_userprefs($userdata);
// End session management
//
+//
+// Set default email variables
+//
+if( isset($HTTP_SERVER_VARS['PHP_SELF']) || isset($HTTP_ENV_VARS['PHP_SELF']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];
+}
+else if( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) || isset($HTTP_ENV_VARS['SCRIPT_NAME']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME'];
+}
+else if( isset($HTTP_SERVER_VARS['PATH_INFO']) || isset($HTTP_ENV_VARS['PATH_INFO']) )
+{
+ $script_name = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO'];
+}
+else
+{
+ $script_name = "profile.$phpEx";
+}
+
+if( isset($HTTP_SERVER_VARS['SERVER_NAME']) || isset($HTTP_ENV_VARS['SERVER_NAME']) )
+{
+ $server_name = ( isset($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME'];
+}
+else if( isset($HTTP_SERVER_VARS['HTTP_HOST']) || isset($HTTP_ENV_VARS['HTTP_HOST']) )
+{
+ $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST'];
+}
+else
+{
+ $server_name = "";
+}
+
+if ( !empty($HTTP_SERVER_VARS['HTTPS']) )
+{
+ $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+}
+else if ( !empty($HTTP_ENV_VARS['HTTPS']) )
+{
+ $protocol = ( !empty($HTTP_ENV_VARS['HTTPS']) ) ? ( ( $HTTP_ENV_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
+}
+else
+{
+ $protocol = "http://";
+}
// -----------------------
// Page specific functions
@@ -187,10 +232,10 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
//
// Begin page proper
//
- if( $mode == "viewprofile" )
+ if ( $mode == "viewprofile" )
{
- if( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
+ if ( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
{
message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}
@@ -199,11 +244,13 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$sql = "SELECT *
FROM " . RANKS_TABLE . "
ORDER BY rank_special, rank_min";
- if(!$ranks_result = $db->sql_query($sql))
+ if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain ranks information.", "", __LINE__, __FILE__, $sql);
}
- $ranksrow = $db->sql_fetchrowset($ranksresult);
+
+ $ranksrow = $db->sql_fetchrowset($result);
+ $db->sql_freeresult($result);
//
// Output page header and
@@ -238,7 +285,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$posts_per_day = $profiledata['user_posts'] / $memberdays;
// Get the users percentage of total posts
- if( $profiledata['user_posts'] != 0 )
+ if ( $profiledata['user_posts'] != 0 )
{
$total_posts = get_db_stat("postcount");
$percentage = ( $total_posts ) ? min(100, ($profiledata['user_posts'] / $total_posts) * 100) : 0;
@@ -248,7 +295,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$percentage = 0;
}
- if( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN )
+ if ( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN )
{
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL ."=" . $profiledata['user_id']) : "mailto:" . $profiledata['user_email'];
@@ -262,7 +309,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
}
$avatar_img = "";
- if( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] )
+ if ( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] )
{
switch( $profiledata['user_avatar_type'] )
{
@@ -280,11 +327,11 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$poster_rank = "";
$rank_image = "";
- if( $profiledata['user_rank'] )
+ if ( $profiledata['user_rank'] )
{
for($i = 0; $i < count($ranksrow); $i++)
{
- if( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
+ if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '
' : "";
@@ -295,7 +342,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
for($i = 0; $i < count($ranksrow); $i++)
{
- if( $profiledata['user_posts'] > $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
+ if ( $profiledata['user_posts'] > $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
{
$poster_rank = $ranksrow[$i]['rank_title'];
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '
' : "";
@@ -303,7 +350,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
}
}
- if( !empty($profiledata['user_icq']) )
+ if ( !empty($profiledata['user_icq']) )
{
$icq_status_img = '
';
$icq_add_img = '
';
@@ -391,10 +438,10 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
- else if( $mode == "editprofile" || $mode == "register" )
+ else if ( $mode == "editprofile" || $mode == "register" )
{
- if( !$userdata['session_logged_in'] && $mode == "editprofile" )
+ if ( !$userdata['session_logged_in'] && $mode == "editprofile" )
{
header("Location: " . append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
@@ -404,7 +451,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
//
// Start processing for output
//
- if( $mode == "register" && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )
+ if ( $mode == "register" && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )
{
if( !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )
{
@@ -1047,21 +1094,6 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
if( $board_config['require_activation'] == USER_ACTIVATION_SELF )
{
$emailer->use_template("user_activate", stripslashes($user_lang));
@@ -1080,7 +1112,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
"USERNAME" => $username,
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_ACTIVATE" => $protocol . $server_name . $path . "/profile.$phpEx?mode=activate&act_key=$user_actkey")
+ "U_ACTIVATE" => $protocol . $server_name . $script_name . "?mode=activate&act_key=$user_actkey")
);
$emailer->send();
$emailer->reset();
@@ -1165,21 +1197,6 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
$emailer->use_template($email_template, stripslashes($user_lang));
$emailer->email_address($email);
$emailer->set_subject(sprintf($lang['Welcome_subject'], $board_config['sitename']));
@@ -1193,7 +1210,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
"PASSWORD" => $password_confirm,
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_ACTIVATE" => $protocol . $server_name . $path . "/profile.$phpEx?mode=activate&act_key=$user_actkey",
+ "U_ACTIVATE" => $protocol . $server_name . $script_name . "?mode=activate&act_key=$user_actkey",
"FAX_INFO" => $board_config['coppa_fax'],
"MAIL_INFO" => $board_config['coppa_mail'],
"EMAIL_ADDRESS" => $email,
@@ -1737,21 +1754,6 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
- if( isset($HTTP_SERVER_VARS['PATH_INFO']) && dirname($HTTP_SERVER_VARS['PATH_INFO']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['PATH_INFO']);
- }
- else if( dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) != '/')
- {
- $path = dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
- }
- else
- {
- $path = '';
- }
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
- $protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
-
$emailer->use_template("user_activate_passwd", $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject($lang['New_password_activation']);
@@ -1763,7 +1765,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
"PASSWORD" => $user_password,
"EMAIL_SIG" => str_replace("
", "\n", "-- \n" . $board_config['board_email_sig']),
- "U_ACTIVATE" => $protocol . $server_name . $path . "/profile.$phpEx?mode=activate&act_key=$user_actkey")
+ "U_ACTIVATE" => $protocol . $server_name . $script_name . "?mode=activate&act_key=$user_actkey")
);
$emailer->send();
$emailer->reset();
@@ -1957,8 +1959,6 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
WHERE user_id = " . $userdata['user_id'];
if( $result = $db->sql_query($sql) )
{
- $server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
-
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
@@ -1971,7 +1971,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
$email_headers .= "X-AntiAbuse: Board servername - " . $server_name . "\n";
$email_headers .= "X-AntiAbuse: User_id - " . $userdata['user_id'] . "\n";
$email_headers .= "X-AntiAbuse: Username - " . $userdata['username'] . "\n";
- $email_headers .= "X-AntiAbuse: User IP - " . decode_ip($user_ip) . "\r\n";
+ $email_headers .= "X-AntiAbuse: User IP - " . decode_ip($user_ip) . "\n";
$emailer->use_template("profile_send_email", $user_lang);
$emailer->email_address($user_email);
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 32b9148b0a..d9e592e818 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -412,6 +412,7 @@ if(!$total_posts = $db->sql_numrows($result))
message_die(GENERAL_MESSAGE, $lang['No_posts_topic']);
}
$postrow = $db->sql_fetchrowset($result);
+$db->sql_freeresult($result);
$sql = "SELECT *
FROM " . RANKS_TABLE . "