Zeile 1 | Zeile 1 |
---|
<?php /** * MyBB 1.4
|
<?php /** * MyBB 1.4
|
* Copyright � 2008 MyBB Group, All Rights Reserved
| * Copyright © 2008 MyBB Group, All Rights Reserved
|
* * Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* * Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* $Id: private.php 4031 2008-07-20 20:56:39Z Tikitiki $
| * $Id: private.php 4864 2010-04-10 09:13:19Z RyanGordon $
|
*/
define("IN_MYBB", 1);
|
*/
define("IN_MYBB", 1);
|
| define('THIS_SCRIPT', 'private.php');
|
$templatelist = "private_send,private_send_buddyselect,private_read,private_tracking,private_tracking_readmessage,private_tracking_unreadmessage"; $templatelist .= ",private_folders,private_folders_folder,private_folders_folder_unremovable,private,usercp_nav_changename,usercp_nav,private_empty_folder,private_empty,posticons";
| $templatelist = "private_send,private_send_buddyselect,private_read,private_tracking,private_tracking_readmessage,private_tracking_unreadmessage"; $templatelist .= ",private_folders,private_folders_folder,private_folders_folder_unremovable,private,usercp_nav_changename,usercp_nav,private_empty_folder,private_empty,posticons";
|
Zeile 46 | Zeile 47 |
---|
}
// On a random occassion, recount the users pm's just to make sure everything is in sync.
|
}
// On a random occassion, recount the users pm's just to make sure everything is in sync.
|
$rand = rand(0, 9);
| $rand = my_rand(0, 9);
|
if($rand == 5) { update_pm_count();
| if($rand == 5) { update_pm_count();
|
Zeile 60 | Zeile 61 |
---|
foreach($foldersexploded as $key => $folders) { $folderinfo = explode("**", $folders, 2);
|
foreach($foldersexploded as $key => $folders) { $folderinfo = explode("**", $folders, 2);
|
if($fid == $folderinfo[0])
| if($mybb->input['fid'] == $folderinfo[0])
|
{ $sel = ' selected="selected"'; }
| { $sel = ' selected="selected"'; }
|
Zeile 346 | Zeile 347 |
---|
// Get list of recipients $recipients = unserialize($pm['recipients']); $comma = '';
|
// Get list of recipients $recipients = unserialize($pm['recipients']); $comma = '';
|
$recipientids = $pm['fromid'];
| |
if(isset($recipients['to']) && is_array($recipients['to'])) { foreach($recipients['to'] as $recipient)
| if(isset($recipients['to']) && is_array($recipients['to'])) { foreach($recipients['to'] as $recipient)
|
Zeile 356 | Zeile 356 |
---|
$comma = ','; } }
|
$comma = ','; } }
|
|
|
if(isset($recipients['bcc']) && is_array($recipients['bcc']))
|
if(isset($recipients['bcc']) && is_array($recipients['bcc']))
|
{
| {
|
foreach($recipients['bcc'] as $recipient)
|
foreach($recipients['bcc'] as $recipient)
|
{
| {
|
$recipient_list['bcc'][] = $recipient; $recipientids .= $comma.$recipient; $comma = ','; }
|
$recipient_list['bcc'][] = $recipient; $recipientids .= $comma.$recipient; $comma = ','; }
|
}
| }
|
|
|
$query = $db->simple_select("users", "uid, username", "uid IN ({$recipientids})"); while($user = $db->fetch_array($query)) { if(isset($recipients['bcc']) && is_array($recipients['bcc']) && in_array($user['uid'], $recipient_list['bcc'])) { $bcc .= htmlspecialchars_uni($user['username']).', '; } else { $to .= htmlspecialchars_uni($user['username']).', '; } } }
| if(!empty($recipientids)) { $query = $db->simple_select("users", "uid, username", "uid IN ({$recipientids})"); while($user = $db->fetch_array($query)) { if(isset($recipients['bcc']) && is_array($recipients['bcc']) && in_array($user['uid'], $recipient_list['bcc'])) { $bcc .= htmlspecialchars_uni($user['username']).', '; } else { $to .= htmlspecialchars_uni($user['username']).', '; } } } }
|
else { // forward/reply $subject = preg_replace("#(FW|RE):( *)#is", '', $subject); $postdate = my_date($mybb->settings['dateformat'], $pm['dateline']); $posttime = my_date($mybb->settings['timeformat'], $pm['dateline']); $message = "[quote={$pm['quotename']}]\n$message\n[/quote]";
|
else { // forward/reply $subject = preg_replace("#(FW|RE):( *)#is", '', $subject); $postdate = my_date($mybb->settings['dateformat'], $pm['dateline']); $posttime = my_date($mybb->settings['timeformat'], $pm['dateline']); $message = "[quote={$pm['quotename']}]\n$message\n[/quote]";
|
$quoted['message'] = preg_replace('#^/me (.*)$#im', "* ".$pm['quotename']." \\1", $quoted['message']);
| $message = preg_replace('#^/me (.*)$#im', "* ".$pm['quotename']." \\1", $message);
|
if($mybb->input['do'] == 'forward') {
| if($mybb->input['do'] == 'forward') {
|
Zeile 434 | Zeile 437 |
---|
} } }
|
} } }
|
}
| }
|
// New PM with recipient preset if($mybb->input['uid'] && !$mybb->input['preview'])
|
// New PM with recipient preset if($mybb->input['uid'] && !$mybb->input['preview'])
|
{
| {
|
$query = $db->simple_select('users', 'username', "uid='".$db->escape_string($mybb->input['uid'])."'"); $to = htmlspecialchars_uni($db->fetch_field($query, 'username')).', ';
|
$query = $db->simple_select('users', 'username', "uid='".$db->escape_string($mybb->input['uid'])."'"); $to = htmlspecialchars_uni($db->fetch_field($query, 'username')).', ';
|
}
| }
|
$max_recipients = ''; if($mybb->usergroup['maxpmrecipients'] > 0) {
| $max_recipients = ''; if($mybb->usergroup['maxpmrecipients'] > 0) {
|
Zeile 453 | Zeile 456 |
---|
{ $to = htmlspecialchars_uni($mybb->input['to']); $bcc = htmlspecialchars_uni($mybb->input['bcc']);
|
{ $to = htmlspecialchars_uni($mybb->input['to']); $bcc = htmlspecialchars_uni($mybb->input['bcc']);
|
}
| }
|
// Load the auto complete javascript if it is enabled. eval("\$autocompletejs = \"".$templates->get("private_send_autocomplete")."\";");
|
// Load the auto complete javascript if it is enabled. eval("\$autocompletejs = \"".$templates->get("private_send_autocomplete")."\";");
|
|
|
$pmid = $mybb->input['pmid']; $do = $mybb->input['do'];
|
$pmid = $mybb->input['pmid']; $do = $mybb->input['do'];
|
if($do != "forward" && $do != "reply")
| if($do != "forward" && $do != "reply" && $do != "replyall")
|
{ $do = ''; }
| { $do = ''; }
|
Zeile 472 | Zeile 475 |
---|
eval("\$buddy_select_to = \"".$templates->get("private_send_buddyselect")."\";"); $buddy_select = 'bcc'; eval("\$buddy_select_bcc = \"".$templates->get("private_send_buddyselect")."\";");
|
eval("\$buddy_select_to = \"".$templates->get("private_send_buddyselect")."\";"); $buddy_select = 'bcc'; eval("\$buddy_select_bcc = \"".$templates->get("private_send_buddyselect")."\";");
|
}
| }
|
eval("\$send = \"".$templates->get("private_send")."\";"); $plugins->run_hooks("private_send_end"); output_page($send);
| eval("\$send = \"".$templates->get("private_send")."\";"); $plugins->run_hooks("private_send_end"); output_page($send);
|
Zeile 509 | Zeile 512 |
---|
if($pm['receipt'] == 1) { if($mybb->usergroup['cantrackpms'] == 1 && $mybb->usergroup['candenypmreceipts'] == 1 && $mybb->input['denyreceipt'] == 1)
|
if($pm['receipt'] == 1) { if($mybb->usergroup['cantrackpms'] == 1 && $mybb->usergroup['candenypmreceipts'] == 1 && $mybb->input['denyreceipt'] == 1)
|
{
| {
|
$receiptadd = 0; } else
| $receiptadd = 0; } else
|
Zeile 552 | Zeile 555 |
---|
if($reply_date == $lang->today || $reply_date == $lang->yesterday) {
|
if($reply_date == $lang->today || $reply_date == $lang->yesterday) {
|
$reply_data .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']);
| $reply_date .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']);
|
$actioned_on = $lang->sprintf($lang->you_replied, $reply_date); } else {
|
$actioned_on = $lang->sprintf($lang->you_replied, $reply_date); } else {
|
$reply_data .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']);
| $reply_date .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']);
|
$actioned_on = $lang->sprintf($lang->you_replied_on, $reply_date); }
| $actioned_on = $lang->sprintf($lang->you_replied_on, $reply_date); }
|
Zeile 566 | Zeile 569 |
---|
else if($pm['status'] == 4 && $pm['statustime']) { $forward_date = my_date($mybb->settings['dateformat'], $pm['statustime']);
|
else if($pm['status'] == 4 && $pm['statustime']) { $forward_date = my_date($mybb->settings['dateformat'], $pm['statustime']);
|
if(strpos($forward_date, $lang->today) !== false || strpos($forward_date, $lang->yesturday) !== false)
| if(strpos($forward_date, $lang->today) !== false || strpos($forward_date, $lang->yesterday) !== false)
|
{ $forward_date .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']); $actioned_on = $lang->sprintf($lang->you_forwarded, $forward_date);
| { $forward_date .= ', '.my_date($mybb->settings['timeformat'], $pm['statustime']); $actioned_on = $lang->sprintf($lang->you_forwarded, $forward_date);
|
Zeile 640 | Zeile 643 |
---|
} if(count($to_recipients) > 0)
|
} if(count($to_recipients) > 0)
|
{
| {
|
$to_recipients = implode(", ", $to_recipients); } else { $to_recipients = $lang->nobody; }
|
$to_recipients = implode(", ", $to_recipients); } else { $to_recipients = $lang->nobody; }
|
|
|
eval("\$pm['subject_extra'] = \"".$templates->get("private_read_to")."\";"); add_breadcrumb($pm['subject']);
| eval("\$pm['subject_extra'] = \"".$templates->get("private_read_to")."\";"); add_breadcrumb($pm['subject']);
|
Zeile 658 | Zeile 661 |
---|
}
if($mybb->input['action'] == "tracking")
|
}
if($mybb->input['action'] == "tracking")
|
{
| {
|
$plugins->run_hooks("private_tracking_start"); $readmessages = ''; $unreadmessages = '';
| $plugins->run_hooks("private_tracking_start"); $readmessages = ''; $unreadmessages = '';
|
Zeile 722 | Zeile 725 |
---|
if(is_array($mybb->input['readcheck'])) { foreach($mybb->input['readcheck'] as $key => $val)
|
if(is_array($mybb->input['readcheck'])) { foreach($mybb->input['readcheck'] as $key => $val)
|
{ $sql_array = array( "receipt" => 0 ); $db->update_query("privatemessages", $sql_array, "pmid=".intval($key)." AND fromid=".$mybb->user['uid']); } } $plugins->run_hooks("private_do_tracking_end"); redirect("private.php", $lang->redirect_pmstrackingstopped);
| { $sql_array = array( "receipt" => 0 ); $db->update_query("privatemessages", $sql_array, "pmid=".intval($key)." AND fromid=".$mybb->user['uid']); } } $plugins->run_hooks("private_do_tracking_end"); redirect("private.php", $lang->redirect_pmstrackingstopped);
|
} elseif($mybb->input['stoptrackingunread']) {
| } elseif($mybb->input['stoptrackingunread']) {
|
Zeile 763 | Zeile 766 |
---|
$pmuids[$pm['uid']] = $pm['uid']; }
|
$pmuids[$pm['uid']] = $pm['uid']; }
|
$db->delete_query("privatemessages", "pmid IN ($pmids) AND fromid='".$mybb->user['uid']."'");
| $db->delete_query("privatemessages", "pmid IN ($pmids) AND receipt='1' AND status='0' AND fromid='".$mybb->user['uid']."'");
|
foreach($pmuids as $uid) { // Message is canceled, update PM count for this user
|
foreach($pmuids as $uid) { // Message is canceled, update PM count for this user
|
update_pm_count($pm['uid']);
| update_pm_count($uid);
|
}
|
}
|
}
| }
|
$plugins->run_hooks("private_do_tracking_end"); redirect("private.php", $lang->redirect_pmstrackingcanceled); }
| $plugins->run_hooks("private_do_tracking_end"); redirect("private.php", $lang->redirect_pmstrackingcanceled); }
|
Zeile 806 | Zeile 809 |
---|
$fid = "new$i"; $foldername = ''; eval("\$newfolders .= \"".$templates->get("private_folders_folder")."\";");
|
$fid = "new$i"; $foldername = ''; eval("\$newfolders .= \"".$templates->get("private_folders_folder")."\";");
|
}
| }
|
eval("\$folders = \"".$templates->get("private_folders")."\";"); $plugins->run_hooks("private_folders_end"); output_page($folders); }
|
eval("\$folders = \"".$templates->get("private_folders")."\";"); $plugins->run_hooks("private_folders_end"); output_page($folders); }
|
|
|
if($mybb->input['action'] == "do_folders" && $mybb->request_method == "post") { // Verify incoming POST request
| if($mybb->input['action'] == "do_folders" && $mybb->request_method == "post") { // Verify incoming POST request
|
Zeile 826 | Zeile 829 |
---|
foreach($mybb->input['folder'] as $key => $val) { if(!$donefolders[$val]) // Probably was a check for duplicate folder names, but doesn't seem to be used now
|
foreach($mybb->input['folder'] as $key => $val) { if(!$donefolders[$val]) // Probably was a check for duplicate folder names, but doesn't seem to be used now
|
{
| {
|
if(my_substr($key, 0, 3) == "new") // Create a new folder { ++$highestid;
| if(my_substr($key, 0, 3) == "new") // Create a new folder { ++$highestid;
|
Zeile 952 | Zeile 955 |
---|
foreach($mybb->input['empty'] as $key => $val) { if($val == 1)
|
foreach($mybb->input['empty'] as $key => $val) { if($val == 1)
|
{ $key = intval($key);
| { $key = intval($key);
|
if($emptyq) { $emptyq .= " OR ";
| if($emptyq) { $emptyq .= " OR ";
|
Zeile 980 | Zeile 983 |
---|
}
if($mybb->input['action'] == "do_stuff" && $mybb->request_method == "post")
|
}
if($mybb->input['action'] == "do_stuff" && $mybb->request_method == "post")
|
{ // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
| { // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
|
$plugins->run_hooks("private_do_stuff");
| $plugins->run_hooks("private_do_stuff");
|
Zeile 1010 | Zeile 1013 |
---|
redirect("private.php?fid=".intval($mybb->input['fromfid']), $lang->redirect_pmsmoved); } else
|
redirect("private.php?fid=".intval($mybb->input['fromfid']), $lang->redirect_pmsmoved); } else
|
{
| {
|
redirect("private.php", $lang->redirect_pmsmoved); } }
| redirect("private.php", $lang->redirect_pmsmoved); } }
|
Zeile 1039 | Zeile 1042 |
---|
{ $key = intval($key); if($deletepms[$key])
|
{ $key = intval($key); if($deletepms[$key])
|
{
| {
|
$db->delete_query("privatemessages", "pmid='$key' AND uid='".$mybb->user['uid']."'"); } else
| $db->delete_query("privatemessages", "pmid='$key' AND uid='".$mybb->user['uid']."'"); } else
|
Zeile 1066 | Zeile 1069 |
---|
$plugins->run_hooks("private_delete_start");
|
$plugins->run_hooks("private_delete_start");
|
$sql_array = array( "folder" => 4, "deletetime" => TIME_NOW ); $db->update_query("privatemessages", $sql_array, "pmid='".intval($mybb->input['pmid'])."' AND uid='".$mybb->user['uid']."'");
| $query = $db->simple_select("privatemessages", "*", "pmid='".intval($mybb->input['pmid'])."' AND uid='".$mybb->user['uid']."' AND folder='4'", array('order_by' => 'pmid')); if($db->num_rows($query) == 1) { $db->delete_query("privatemessages", "pmid='".intval($mybb->input['pmid'])."'"); } else { $sql_array = array( "folder" => 4, "deletetime" => TIME_NOW ); $db->update_query("privatemessages", $sql_array, "pmid='".intval($mybb->input['pmid'])."' AND uid='".$mybb->user['uid']."'"); }
|
// Update PM count update_pm_count();
| // Update PM count update_pm_count();
|
Zeile 1133 | Zeile 1144 |
---|
{ $wsql .= "<="; }
|
{ $wsql .= "<="; }
|
elseif($mybb->input['dayway'] == "newer")
| else
|
{ $wsql .= ">="; }
| { $wsql .= ">="; }
|
Zeile 1274 | Zeile 1285 |
---|
);
$message['message'] = $parser->parse_message($message['message'], $parser_options);
|
);
$message['message'] = $parser->parse_message($message['message'], $parser_options);
|
| $message['subject'] = htmlspecialchars_uni($message['subject']);
|
} if($mybb->input['exporttype'] == "txt" || $mybb->input['exporttype'] == "csv")
| } if($mybb->input['exporttype'] == "txt" || $mybb->input['exporttype'] == "csv")
|
Zeile 1302 | Zeile 1314 |
---|
$foldername = $folderinfo[1]; if($mybb->input['exporttype'] != "csv") {
|
$foldername = $folderinfo[1]; if($mybb->input['exporttype'] != "csv") {
|
eval("\$pmsdownload .= \"".$templates->get("private_archive_".$nmybb->input['exporttype']."_folderhead", 1, 0)."\";");
| if($mybb->input['exporttype'] != "html") { $mybb->input['exporttype'] == "txt"; } eval("\$pmsdownload .= \"".$templates->get("private_archive_".$mybb->input['exporttype']."_folderhead", 1, 0)."\";");
|
} else {
| } else {
|
Zeile 1319 | Zeile 1335 |
---|
$query = $db->simple_select("themestylesheets", "stylesheet", "sid=1", array('limit' => 1)); $css = $db->fetch_field($query, "stylesheet");
|
$query = $db->simple_select("themestylesheets", "stylesheet", "sid=1", array('limit' => 1)); $css = $db->fetch_field($query, "stylesheet");
|
|
|
eval("\$archived = \"".$templates->get("private_archive_".$mybb->input['exporttype'], 1, 0)."\";"); if($mybb->input['deletepms'] == 1) { // delete the archived pms
|
eval("\$archived = \"".$templates->get("private_archive_".$mybb->input['exporttype'], 1, 0)."\";"); if($mybb->input['deletepms'] == 1) { // delete the archived pms
|
$db->delete_query("privatemessages", "pmid IN (''$ids)");
| $db->delete_query("privatemessages", "pmid IN ('0'$ids)");
|
// Update PM count update_pm_count();
|
// Update PM count update_pm_count();
|
} if($mybb->input['exporttype'] == "html")
| } if($mybb->input['exporttype'] == "html")
|
{ $filename = "pm-archive.html"; $contenttype = "text/html";
| { $filename = "pm-archive.html"; $contenttype = "text/html";
|
Zeile 1368 | Zeile 1384 |
---|
{ $mybb->input['fid'] = 1; }
|
{ $mybb->input['fid'] = 1; }
|
| $folder = '';
|
$foldersexploded = explode("$%%$", $mybb->user['pmfolders']); foreach($foldersexploded as $key => $folders) {
| $foldersexploded = explode("$%%$", $mybb->user['pmfolders']); foreach($foldersexploded as $key => $folders) {
|
Zeile 1430 | Zeile 1447 |
---|
{ // Get all recipients into an array $cached_users = $get_users = array();
|
{ // Get all recipients into an array $cached_users = $get_users = array();
|
$users_query = $db->simple_select("privatemessages", "recipients", "folder='$folder' AND uid='{$mybb->user['uid']}'", array('limit_start' => $start, 'limit' => $per_page));
| $users_query = $db->simple_select("privatemessages", "recipients", "folder='$folder' AND uid='{$mybb->user['uid']}'", array('limit_start' => $start, 'limit' => $perpage, 'order_by' => 'dateline', 'order_dir' => 'DESC'));
|
while($row = $db->fetch_array($users_query)) { $recipients = unserialize($row['recipients']);
| while($row = $db->fetch_array($users_query)) { $recipients = unserialize($row['recipients']);
|
Zeile 1544 | Zeile 1561 |
---|
} }
|
} }
|
if($tofromuid != 0) { $tofromusername = build_profile_link($tofromusername, $tofromuid); }
| $tofromusername = build_profile_link($tofromusername, $tofromuid);
|
if($mybb->usergroup['cantrackpms'] == 1 && $mybb->usergroup['candenypmreceipts'] == 1 && $message['receipt'] == '1' && $message['folder'] != '3' && $message['folder'] != 2) {
| if($mybb->usergroup['cantrackpms'] == 1 && $mybb->usergroup['candenypmreceipts'] == 1 && $message['receipt'] == '1' && $message['folder'] != '3' && $message['folder'] != 2) {
|
Zeile 1561 | Zeile 1575 |
---|
if($message['icon'] > 0 && $icon_cache[$message['icon']]) { $icon = $icon_cache[$message['icon']];
|
if($message['icon'] > 0 && $icon_cache[$message['icon']]) { $icon = $icon_cache[$message['icon']];
|
$icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" valign=\"middle\" align=\"center\" /> ";
| $icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" align=\"center\" valign=\"middle\" />";
|
} else {
|
} else {
|
$icon = '';
| $icon = ' ';
|
} if(!trim($message['subject']))
| } if(!trim($message['subject']))
|