set_filenames(array( "body" => "privmsgs_read_body.tpl", "jumpbox" => "jumpbox.tpl") ); $jumpbox = make_jumpbox(); $template->assign_vars(array( "JUMPBOX_LIST" => $jumpbox, "SELECT_NAME" => POST_FORUM_URL) ); $template->assign_var_from_handle("JUMPBOX", "jumpbox"); $sql = "SELECT u.username, u.user_id, u.user_website, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, u.user_viewemail, u.user_sig, u.user_avatar, pm.privmsgs_id, pm.privmsgs_type, pm.privmsgs_date, pm.privmsgs_subject, pm.privmsgs_bbcode_uid, pmt.privmsgs_text FROM ".PRIVMSGS_TABLE." pm, " . PRIVMSGS_TEXT_TABLE . " pmt, ".USERS_TABLE." u, " . USER_GROUP_TABLE . " ug, " . USER_GROUP_TABLE . " ug2 WHERE pm.privmsgs_id = $privmsgs_id AND pmt.privmsgs_text_id = pm.privmsgs_id $user_to_sql $user_from_sql"; if(!$pm_status = $db->sql_query($sql)) { error_die(SQL_QUERY, "Could not query private message post information.", __LINE__, __FILE__); } $privmsg = $db->sql_fetchrow($pm_status); if($privmsg['privmsgs_type'] == PRIVMSGS_NEW_MAIL && $folder == "inbox") { $sql = "UPDATE " . PRIVMSGS_TABLE . " SET privmsgs_type = " . PRIVMSGS_READ_MAIL . " WHERE privmsgs_id = " . $privmsg['privmsgs_id']; if(!$pm_upd_status = $db->sql_query($sql)) { error_die(SQL_QUERY, "Could not update private message read status.", __LINE__, __FILE__); } } // // These may well be better handled in the // templates // $inbox_url = " " . $lang['Inbox'] . ""; $sentbox_url = " " . $lang['Sent'] . ""; $outbox_url = " " . $lang['Outbox'] . ""; $savebox_url = " " . $lang['Saved'] . ""; $post_new_mesg_url = ""; $post_reply_mesg_url = ($folder == "inbox") ? "" : ""; $template->assign_vars(array( "INBOX" => $inbox_url, "SENTBOX" => $sentbox_url, "OUTBOX" => $outbox_url, "SAVEBOX" => $savebox_url, "L_FLAG" => $lang['Flag'], "L_SUBJECT" => $lang['Subject'], "L_DATE" => $lang['Date'], "L_FROM_OR_TO" => (($folder == "inbox" || $folder == "savebox") ? $lang['From'] : $lang['To']), "S_POST_NEW_MSG" => $post_new_mesg_url, "S_POST_REPLY_MSG" => $post_reply_mesg_url) ); $poster = stripslashes($privmsg['username']); $poster_id = $privmsg['user_id']; $post_date = create_date($board_config['default_dateformat'], $privmsg['privmsgs_date'], $board_config['default_timezone']); $poster_avatar = ($privmsg['user_avatar'] != "" && $userdata['user_id'] != ANONYMOUS) ? "" : ""; $profile_img = "\"$l_profileof"; $email_img = ($privmsg['user_viewemail'] == 1) ? "\"$l_email" : ""; $www_img = ($privmsg['user_website']) ? "\"$l_viewsite\"" : ""; if($privmsg['user_icq']) { $icq_status_img = "\"$l_icqstatus\""; $icq_add_img = "\"$l_icq\""; } else { $icq_status_img = ""; $icq_add_img = ""; } $aim_img = ($privmsg['user_aim']) ? "" : ""; $msn_img = ($privmsg['user_msnm']) ? "" : ""; $yim_img = ($privmsg['user_yim']) ? "" : ""; if($folder == "inbox") { $quote_img = "\"$l_replyquote\""; } $post_subject = stripslashes($privmsg['privmsgs_subject']); $message = stripslashes($privmsg['privmsgs_text']); $bbcode_uid = $privmsg['privmsgs_bbcode_uid']; $user_sig = stripslashes($privmsg['user_sig']); if(!$board_config['allow_html']) { $user_sig = strip_tags($user_sig); $message = strip_tags($message); } if($board_config['allow_bbcode']) { // do bbcode stuff here $sig_uid = make_bbcode_uid(); $user_sig = bbencode_first_pass($user_sig, $sig_uid); $user_sig = bbencode_second_pass($user_sig, $sig_uid); $message = bbencode_second_pass($message, $bbcode_uid); } $message = make_clickable($message); $message = str_replace("\n", "
", $message); $message = eregi_replace("\[addsig]$", "

_________________
" . nl2br($user_sig), $message); $template->assign_vars(array( "POSTER_NAME" => $poster, "POSTER_AVATAR" => $poster_avatar, "POST_DATE" => $post_date, "POST_SUBJECT" => $post_subject, "MESSAGE" => $message, "PROFILE_IMG" => $profile_img, "EMAIL_IMG" => $email_img, "WWW_IMG" => $www_img, "ICQ_STATUS_IMG" => $icq_status_img, "ICQ_ADD_IMG" => $icq_add_img, "AIM_IMG" => $aim_img, "MSN_IMG" => $msn_img, "YIM_IMG" => $yim_img, "QUOTE_IMG" => $quote_img, "S_PRIVMSGS_ACTION" => append_sid("privmsg.$phpEx?folder=$folder"), "L_FROM" => $lang['From']) ); $template->pparse("body"); include('includes/page_tail.'.$phpEx); } else if($mode == "post" || $mode == "reply") { if($mode == "reply") { if(!empty($HTTP_GET_VARS[POST_POST_URL])) { $privmsgs_id = $HTTP_GET_VARS[POST_POST_URL]; } else { // Error out } } // // Load templates // $template->set_filenames(array( "body" => "posting_body.tpl", "jumpbox" => "jumpbox.tpl") ); $jumpbox = make_jumpbox(); $template->assign_vars(array( "JUMPBOX_LIST" => $jumpbox, "SELECT_NAME" => POST_FORUM_URL) ); $template->assign_var_from_handle("JUMPBOX", "jumpbox"); $template->pparse("body"); include('includes/page_tail.'.$phpEx); } else if( ( isset($HTTP_POST_VARS['delete']) && !empty($HTTP_POST_VARS['mark']) ) || !empty($HTTP_POST_VARS['deleteall']) ) { if(!$userdata['session_logged_in']) { // Error } $sql = "SELECT g.group_id FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g WHERE ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id AND g.group_single_user = 1"; if(!$ug_status = $db->sql_query($sql)) { error_die(SQL_QUERY, "Could not obtain group_id information.", __LINE__, __FILE__); } $group_id_row = $db->sql_fetchrow($ug_status); $group_id = $group_id_row['group_id']; $delete_sql = "DELETE FROM " . PRIVMSGS_TABLE . " WHERE "; if(isset($HTTP_POST_VARS['delete'])) { $delete_ary = $HTTP_POST_VARS['mark']; for($i = 0; $i < count($delete_ary); $i++) { $delete_sql .= "privmsgs_id = " . $delete_ary[$i] . " "; if($i < count($delete_ary) -1) { $delete_sql .= "OR "; } } $delete_sql .= "AND "; } switch($folder) { case 'inbox': $delete_sql .= "privmsgs_to_groupid = $group_id AND ( privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " )"; break; case 'outbox': $delete_sql .= "privmsgs_from_groupid = $group_id AND privmsgs_type = " . PRIVMSGS_NEW_MAIL; break; case 'sentbox': $delete_sql .= "privmsgs_from_groupid = $group_id AND privmsgs_type = " . PRIVMSGS_SENT_MAIL; break; case 'savedbox': $delete_sql .= "( privmsgs_from_groupid = $group_id OR privmsgs_to_groupid = $group_id ) AND privmsgs_type = " . PRIVMSGS_SAVED_MAIL; break; } if(!$del_status = $db->sql_query($delete_sql)) { error_die(SQL_QUERY, "Could not delete private messages.", __LINE__, __FILE__); } } else if(isset($HTTP_POST_VARS['save']) && $folder != "savebox" && $folder != "outbox") { if(!$userdata['session_logged_in']) { // Error } $sql = "SELECT g.group_id FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g WHERE ug.user_id = " . $userdata['user_id'] . " AND ug.group_id = g.group_id AND g.group_single_user = 1"; if(!$ug_status = $db->sql_query($sql)) { error_die(SQL_QUERY, "Could not obtain group_id information.", __LINE__, __FILE__); } $group_id_row = $db->sql_fetchrow($ug_status); $group_id = $group_id_row['group_id']; $saved_sql = "UPDATE " . PRIVMSGS_TABLE . " SET privmsgs_type = " . PRIVMSGS_SAVED_MAIL . " WHERE "; if(isset($HTTP_POST_VARS['save'])) { $saved_ary = $HTTP_POST_VARS['mark']; for($i = 0; $i < count($saved_ary); $i++) { $saved_sql .= "privmsgs_id = " . $saved_ary[$i] . " "; if($i < count($saved_ary) -1) { $saved_sql .= "OR "; } } $saved_sql .= "AND "; } switch($folder) { case 'inbox': $saved_sql .= "privmsgs_to_groupid = $group_id AND ( privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " )"; break; case 'sentbox': $saved_sql .= "privmsgs_from_groupid = $group_id AND privmsgs_type = " . PRIVMSGS_SENT_MAIL; break; } if(!$save_status = $db->sql_query($saved_sql)) { error_die(SQL_QUERY, "Could not save private messages.", __LINE__, __FILE__); } $folder = "savebox"; } // // Default page // // // Load templates // $template->set_filenames(array( "body" => "privmsgs_body.tpl", "jumpbox" => "jumpbox.tpl") ); $jumpbox = make_jumpbox(); $template->assign_vars(array( "JUMPBOX_LIST" => $jumpbox, "SELECT_NAME" => POST_FORUM_URL) ); $template->assign_var_from_handle("JUMPBOX", "jumpbox"); // // These may well be better handled in the // templates // $inbox_url = " "; $inbox_url .= ($folder != "inbox") ? "" . $lang['Inbox'] . "" : "" . $lang['Inbox'] . ""; $sentbox_url = " "; $sentbox_url .= ($folder != "sentbox") ? "" . $lang['Sent'] . "" : "" . $lang['Sent'] . ""; $outbox_url = " "; $outbox_url .= ($folder != "outbox") ? "" . $lang['Outbox'] . "" : "" . $lang['Outbox'] . ""; $savebox_url = " "; $savebox_url .= ($folder != "savebox") ? "" . $lang['Saved'] . "" : "" . $lang['Saved'] . ""; $post_new_mesg_url = ""; //$s_hidden_folder = ""; $template->assign_vars(array( "INBOX" => $inbox_url, "SENTBOX" => $sentbox_url, "OUTBOX" => $outbox_url, "SAVEBOX" => $savebox_url, "L_MARK" => "Mark", "L_FLAG" => $lang['Flag'], "L_SUBJECT" => $lang['Subject'], "L_DATE" => $lang['Date'], "L_FROM_OR_TO" => (($folder == "inbox" || $folder == "savebox") ? $lang['From'] : $lang['To']), "S_HIDDEN_FIELDS" => "", "S_PRIVMSGS_ACTION" => append_sid("privmsg.$phpEx?folder=$folder"), "S_POST_NEW_MSG" => $post_new_mesg_url) ); switch($folder) { case 'inbox': $sql_tot = "SELECT COUNT(pm.privmsgs_id) AS pm_total FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = pm.privmsgs_to_groupid AND ug.user_id = " . $userdata['user_id'] . " AND ( pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL . " OR pm.privmsgs_type = " . PRIVMSGS_READ_MAIL . " )"; $sql = "SELECT pm.privmsgs_type, pm.privmsgs_id, pm.privmsgs_date, pm.privmsgs_subject, ug.user_id, g.group_name, g.group_single_user FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug, " . USER_GROUP_TABLE . " ug2, " . GROUPS_TABLE . " g WHERE ug.group_id = pm.privmsgs_from_groupid AND g.group_id = ug.group_id AND ug2.group_id = pm.privmsgs_to_groupid AND ug2.user_id = " . $userdata['user_id'] . " AND ( pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL . " OR pm.privmsgs_type = " . PRIVMSGS_READ_MAIL . " ) ORDER BY pm.privmsgs_date DESC LIMIT $start, " . $board_config['topics_per_page']; break; case 'outbox': $sql_tot = "SELECT COUNT(pm.privmsgs_id) AS pm_total FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = pm.privmsgs_from_groupid AND ug.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL; $sql = "SELECT pm.privmsgs_type, pm.privmsgs_id, pm.privmsgs_date, pm.privmsgs_subject, ug.user_id, g.group_name, g.group_single_user FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug, " . USER_GROUP_TABLE . " ug2, " . GROUPS_TABLE . " g WHERE ug.group_id = pm.privmsgs_to_groupid AND g.group_id = ug.group_id AND ug2.group_id = pm.privmsgs_from_groupid AND ug2.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_NEW_MAIL . " ORDER BY pm.privmsgs_date DESC LIMIT $start, " . $board_config['topics_per_page']; break; case 'sentbox': $sql_tot = "SELECT COUNT(pm.privmsgs_id) AS pm_total FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = pm.privmsgs_from_groupid AND ug.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL; $sql = "SELECT pm.privmsgs_type, pm.privmsgs_id, pm.privmsgs_date, pm.privmsgs_subject, ug.user_id, g.group_name, g.group_single_user FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug, " . USER_GROUP_TABLE . " ug2, " . GROUPS_TABLE . " g WHERE ug.group_id = pm.privmsgs_to_groupid AND g.group_id = ug.group_id AND ug2.group_id = pm.privmsgs_from_groupid AND ug2.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL . " ORDER BY pm.privmsgs_date DESC LIMIT $start, " . $board_config['topics_per_page']; break; case 'savebox': $sql_tot = "SELECT COUNT(pm.privmsgs_id) AS pm_total FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = pm.privmsgs_to_groupid AND ug.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_SAVED_MAIL; $sql = "SELECT pm.privmsgs_type, pm.privmsgs_id, pm.privmsgs_date, pm.privmsgs_subject, ug.user_id, g.group_name, g.group_single_user FROM " . PRIVMSGS_TABLE . " pm, " . USER_GROUP_TABLE . " ug, " . USER_GROUP_TABLE . " ug2, " . GROUPS_TABLE . " g WHERE ug.group_id = pm.privmsgs_from_groupid AND g.group_id = ug.group_id AND ug2.group_id = pm.privmsgs_to_groupid AND ug2.user_id = " . $userdata['user_id'] . " AND pm.privmsgs_type = " . PRIVMSGS_SAVED_MAIL . " ORDER BY pm.privmsgs_date DESC LIMIT $start, " . $board_config['topics_per_page']; break; } if(!$pm_tot_status = $db->sql_query($sql_tot)) { error_die(SQL_QUERY, "Could not query private message information.", __LINE__, __FILE__); } if(!$pm_status = $db->sql_query($sql)) { error_die(SQL_QUERY, "Could not query private message information.", __LINE__, __FILE__); } $pm_total = $db->sql_numrows($pm_tot_status); $pm_list = $db->sql_fetchrowset($pm_status); // // Okay, let's build the index // for($i = 0; $i < count($pm_list); $i++) { $privmsg_id = $pm_list[$i]['privmsgs_id']; $flag = $pm_list[$i]['privmsgs_type']; $icon_flag = ($flag == PRIVMSGS_READ_MAIL || $flag == PRIVMSGS_SENT_MAIL) ? "" : ""; $msg_userid = $pm_list[$i]['user_id']; $msg_username = stripslashes($pm_list[$i]['group_name']); if($pm_list[$i]['group_single_user']) { $u_from_user_profile = "profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$msg_userid"; } else { $u_from_user_profile = "groupadmin.$phpEx?" . POST_GROUPS_URL . "=$msg_userid"; } $msg_subject = stripslashes($pm_list[$i]['privmsgs_subject']); $u_subject = "privmsg.$phpEx?folder=$folder&mode=read&" . POST_POST_URL . "=$privmsg_id"; $msg_date = create_date($board_config['default_dateformat'], $pm_list[$i]['privmsgs_date'], $board_config['default_timezone']); if($flag == PRIVMSGS_NEW_MAIL && $mode == "inbox") { $msg_subject = "" . $msg_subject . ""; $msg_date = "" . $msg_date . ""; $msg_username = "" . $msg_username . ""; } $row_color = (!($i % 2)) ? "#".$theme['td_color1'] : "#".$theme['td_color2']; $template->assign_block_vars("listrow", array( "ICON_FLAG_IMG" => $icon_flag, "FROM" => $msg_username, "SUBJECT" => $msg_subject, "DATE" => $msg_date, "ROW_COLOR" => $row_color, "S_DEL_CHECKBOX" => "", "U_READ" => $u_subject, "U_FROM_USER_PROFILE" => $u_from_user_profile) ); } // for ... $template->assign_vars(array( "PAGINATION" => generate_pagination("privmsg.$phpEx?mode=$mode", $pm_total, $board_config['topics_per_page'], $start), "ON_PAGE" => (floor($start/$board_config['topics_per_page'])+1), "TOTAL_PAGES" => ceil(($pm_total)/$board_config['topics_per_page']), "L_OF" => $lang['of'], "L_PAGE" => $lang['Page'], "L_GOTO_PAGE" => $lang['Goto_page']) ); $template->pparse("body"); include('includes/page_tail.'.$phpEx); ?>