diff --git a/phpBB/privmsg.php b/phpBB/privmsg.php new file mode 100644 index 0000000000..df90b24e3e --- /dev/null +++ b/phpBB/privmsg.php @@ -0,0 +1,361 @@ +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"); + + $inbox_url = " "; + $inbox_url .= ($mode == "sent") ? "" . $lang['Inbox'] . "" : "" . $lang['Inbox'] . ""; + $sent_url = " "; + $sent_url .= ($mode == "inbox") ? "" . $lang['Sent'] . "" : "" . $lang['Sent'] . ""; + + $template->assign_vars(array( + "INBOX_FOLDER" => $inbox_url, + "SENT_FOLDER" => $sent_url, + + "L_FLAG" => $lang['Flag'], + "L_SUBJECT" => $lang['Subject'], + "L_DATE" => $lang['Date'], + "L_FROM_OR_TO" => (($mode == "inbox") ? $lang['From'] : $lang['To']), + + "U_FOLDER2" => $u_folder2) + ); + + if($mode == "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; + + $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 . " + ORDER BY pm.privmsgs_date DESC + LIMIT $start, " . $board_config['topics_per_page']; + } + else + { + $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']; + } + 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++) + { + + $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_id = $pm_list[$i]['privmsgs_id']; + + $msg_subject = stripslashes($pm_list[$i]['privmsgs_subject']); + $u_subject = "privmsg.$phpEx?mode=read&box=$mode&" . POST_POST_URL . "=$msg_id"; + + $msg_date = create_date($board_config['default_dateformat'], $pm_list[$i]['privmsgs_date'], $board_config['default_timezone']); + + if($flag == PRIVMSGS_NEW_MAIL) + { + $msg_subject = "" . $msg_subject . ""; + $msg_date = "" . $msg_date . ""; + $msg_username = "" . $msg_username . ""; + } + + if(!($i % 2)) + { + $row_color = "#".$theme['td_color1']; + } + else + { + $row_color = "#".$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, + + "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']) + ); + +} +else if($mode == "read") +{ + + if(!empty($HTTP_GET_VARS[POST_POST_URL])) + { + $privmsgs_id = $HTTP_GET_VARS[POST_POST_URL]; + } + else + { + // Error out + + } + if(!empty($HTTP_GET_VARS['box'])) + { + $box_type = $HTTP_GET_VARS['box']; + if($box_type == "inbox" || $box_type == "saved") + { + $user_to_sql = "AND pm.privmsgs_to_groupid = ug2.group_id AND ug2.user_id = " . $userdata['user_id']; + $user_from_sql = "AND pm.privmsgs_from_groupid = ug.group_id AND u.user_id = ug.user_id"; + } + else + { + $user_to_sql = "AND pm.privmsgs_to_groupid = ug.group_id AND u.user_id = ug.user_id"; + $user_from_sql = "AND pm.privmsgs_from_groupid = ug2.group_id AND ug2.user_id = " . $userdata['user_id']; + } + } + else + { + // Error out + + } + + // + // Load templates + // + $template->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) + { + $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__); + } + } + + $inbox_url = " " . $lang['Inbox'] . ""; + $sent_url = " " . $lang['Sent'] . ""; + + $template->assign_vars(array( + "INBOX_FOLDER" => $inbox_url, + "SENT_FOLDER" => $sent_url, + + "L_FLAG" => $lang['Flag'], + "L_SUBJECT" => $lang['Subject'], + "L_DATE" => $lang['Date'], + "L_FROM_OR_TO" => (($mode == "inbox") ? $lang['From'] : $lang['To']), + + "U_FOLDER2" => $u_folder2) + ); + + $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']) ? "" : ""; + + $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, + + "L_FROM" => $lang['From']) + ); + +} + +$template->pparse("body"); + +include('includes/page_tail.'.$phpEx); + +?> \ No newline at end of file diff --git a/phpBB/templates/PSO/privmsgs_body.tpl b/phpBB/templates/PSO/privmsgs_body.tpl new file mode 100644 index 0000000000..acb8cc8794 --- /dev/null +++ b/phpBB/templates/PSO/privmsgs_body.tpl @@ -0,0 +1,50 @@ +
+ + + +
{SITENAME} {L_INDEX}
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + +
 {INBOX_FOLDER}   {SENT_FOLDER}
{L_FROM_OR_TO}{L_SUBJECT}{L_DATE}
{listrow.ICON_FLAG_IMG} {listrow.FROM} {listrow.SUBJECT}{listrow.DATE}
+ + + + + +
   {L_PAGE} {ON_PAGE} {L_OF} {TOTAL_PAGES} {L_GOTO_PAGE}: {PAGINATION} 
+ +
+ + + + +
{S_TIMEZONE}{JUMPBOX}
\ No newline at end of file diff --git a/phpBB/templates/PSO/privmsgs_read_body.tpl b/phpBB/templates/PSO/privmsgs_read_body.tpl new file mode 100644 index 0000000000..0226ee5fc4 --- /dev/null +++ b/phpBB/templates/PSO/privmsgs_read_body.tpl @@ -0,0 +1,56 @@ +
+ + + +
{SITENAME} {L_INDEX}
+ +
+ + + +
+ + + + + + + + + + + + + + +
+ + + + +
 {INBOX_FOLDER}   {SENT_FOLDER}  
{L_FROM}{L_MESSAGE}
+ + + +
{POSTER_NAME}

{POSTER_AVATAR}

+ + + + + + + + + +
Post image icon{L_POSTED}: {POST_DATE}     Post Subject: {POST_SUBJECT}
{MESSAGE}

{PROFILE_IMG} {EMAIL_IMG} {WWW_IMG} {ICQ_STATUS_IMG} {ICQ_ADD_IMG} {AIM_IMG} {YIM_IMG} {MSN_IMG}  {QUOTE_IMG} 
+ + + +
  
+ +
+ + + + +
{S_TIMEZONE}

{S_TOPIC_ADMIN}
{JUMPBOX}
{S_AUTH_LIST}
\ No newline at end of file