Vergleich inc/datahandlers/pm.php - 1.4.3 - 1.4.13

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 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 322Zeile 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 386Zeile 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 450Zeile 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 465Zeile 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 522Zeile 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 550Zeile 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 579Zeile 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;