Zeile 6 | Zeile 6 |
---|
* 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: pm.php 4188 2008-09-14 05:05:26Z Tikitiki $
| * $Id: pm.php 4502 2009-11-12 17:02:09Z Tomm $
|
*/
// Disallow direct access to this file for security reasons
| */
// Disallow direct access to this file for security reasons
|
Zeile 322 | Zeile 322 |
---|
$pm['recipients'][$user['uid']]['bcc'] = 1; } }
|
$pm['recipients'][$user['uid']]['bcc'] = 1; } }
|
| return true; } /** * Verify that the user is not flooding the system. * Temporary fix until a better one can be made for 1.6 * * @return boolean True */ function verify_pm_flooding() { global $mybb, $db;
$pm = &$this->data; // Check if post flooding is enabled within MyBB or if the admin override option is specified. if($mybb->settings['postfloodcheck'] == 1 && $pm['fromid'] != 0 && $this->admin_override == false) { // Fetch the senders profile data. $sender = get_user($pm['fromid']); // Calculate last post $query = $db->simple_select("privatemessages", "dateline", "fromid='".$db->escape_string($pm['fromid'])."' AND toid != '0'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => 1)); $sender['lastpm'] = $db->fetch_field($query, "dateline");
// A little bit of calculation magic and moderator status checking. if(TIME_NOW-$sender['lastpm'] <= $mybb->settings['postfloodsecs'] && !is_moderator("", "", $pm['fromid'])) { // Oops, user has been flooding - throw back error message. $time_to_wait = ($mybb->settings['postfloodsecs'] - (TIME_NOW-$sender['lastpm'])) + 1; if($time_to_wait == 1) { $this->set_error("pm_flooding_one_second"); } else { $this->set_error("pm_flooding", array($time_to_wait)); } return false; } } // All is well that ends well - return true.
|
return true; }
| return true; }
|
Zeile 386 | Zeile 428 |
---|
// We are done validating, return. $this->set_validated(true);
|
// We are done validating, return. $this->set_validated(true);
|
if(count($this->get_errors()) > 0) {
| if(count($this->get_errors()) > 0) {
|
return false; } else
| return false; } else
|
Zeile 450 | Zeile 492 |
---|
$recipient_list = serialize($recipient_list);
$this->pm_insert_data = array(
|
$recipient_list = serialize($recipient_list);
$this->pm_insert_data = array(
|
'fromid' => $pm['sender']['uid'],
| 'fromid' => intval($pm['sender']['uid']),
|
'folder' => $pm['folder'], 'subject' => $db->escape_string($pm['subject']), 'icon' => intval($pm['icon']),
| 'folder' => $pm['folder'], 'subject' => $db->escape_string($pm['subject']), 'icon' => intval($pm['icon']),
|
Zeile 465 | Zeile 507 |
---|
);
// Check if we're updating a draft or not.
|
);
// Check if we're updating a draft or not.
|
$query = $db->simple_select("privatemessages", "pmid", "folder='3' AND uid='{$pm['sender']['uid']}' AND pmid='{$pm['pmid']}'");
| $query = $db->simple_select("privatemessages", "pmid, deletetime", "folder='3' AND uid='".intval($pm['sender']['uid'])."' AND pmid='{$pm['pmid']}'");
|
$draftcheck = $db->fetch_array($query);
// This PM was previously a draft if($draftcheck['pmid']) {
|
$draftcheck = $db->fetch_array($query);
// This PM was previously a draft if($draftcheck['pmid']) {
|
| if($draftcheck['deletetime']) { // This draft was a reply to a PM $pm['pmid'] = $draftcheck['deletetime']; $pm['do'] = "reply"; }
|
// Delete the old draft as we no longer need it $db->delete_query("privatemessages", "pmid='{$draftcheck['pmid']}'"); }
|
// Delete the old draft as we no longer need it $db->delete_query("privatemessages", "pmid='{$draftcheck['pmid']}'"); }
|
|
|
// Saving this message as a draft if($pm['saveasdraft']) { $this->pm_insert_data['uid'] = $pm['sender']['uid'];
|
// Saving this message as a draft if($pm['saveasdraft']) { $this->pm_insert_data['uid'] = $pm['sender']['uid'];
|
| // If this is a reply, then piggyback into the deletetime to let us know in the future if($pm['do'] == "reply" || $pm['do'] == "replyall") { $this->pm_insert_data['deletetime'] = $pm['pmid']; }
|
$plugins->run_hooks_by_ref("datahandler_pm_insert_updatedraft", $this); $db->insert_query("privatemessages", $this->pm_insert_data);
| $plugins->run_hooks_by_ref("datahandler_pm_insert_updatedraft", $this); $db->insert_query("privatemessages", $this->pm_insert_data);
|
Zeile 522 | Zeile 578 |
---|
$emailsubject = $userlang->emailsubject_newpm; $emailmessage = $userlang->email_newpm; }
|
$emailsubject = $userlang->emailsubject_newpm; $emailmessage = $userlang->email_newpm; }
|
| if(!$pm['sender']['username']) { $pm['sender']['username'] = 'MyBB Engine'; }
|
$emailmessage = $lang->sprintf($emailmessage, $recipient['username'], $pm['sender']['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); $emailsubject = $lang->sprintf($emailsubject, $mybb->settings['bbname']); my_mail($recipient['email'], $emailsubject, $emailmessage);
| $emailmessage = $lang->sprintf($emailmessage, $recipient['username'], $pm['sender']['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); $emailsubject = $lang->sprintf($emailsubject, $mybb->settings['bbname']); my_mail($recipient['email'], $emailsubject, $emailmessage);
|
Zeile 550 | Zeile 612 |
---|
// Are we replying or forwarding an existing PM? if($pm['pmid']) {
|
// Are we replying or forwarding an existing PM? if($pm['pmid']) {
|
if($pm['do'] == "reply")
| if($pm['do'] == "reply" || $pm['do'] == "replyall")
|
{ $sql_array = array( 'status' => 3,
| { $sql_array = array( 'status' => 3,
|
Zeile 579 | Zeile 641 |
---|
{ $this->pm_insert_data['toid'] = 0; }
|
{ $this->pm_insert_data['toid'] = 0; }
|
$this->pm_insert_data['uid'] = $pm['sender']['uid'];
| $this->pm_insert_data['uid'] = intval($pm['sender']['uid']);
|
$this->pm_insert_data['folder'] = 2; $this->pm_insert_data['status'] = 1; $this->pm_insert_data['receipt'] = 0;
| $this->pm_insert_data['folder'] = 2; $this->pm_insert_data['status'] = 1; $this->pm_insert_data['receipt'] = 0;
|