Zeile 101 | Zeile 101 |
---|
$this->set_error("missing_message"); return false; }
|
$this->set_error("missing_message"); return false; }
|
| // If the length of message is beyond SQL limitation for 'text' field else if(strlen($message) > 65535) { $this->set_error("message_too_long", array('65535', strlen($message))); return false; }
|
return true; }
| return true; }
|
Zeile 110 | Zeile 118 |
---|
* @return boolean True when valid, false when invalid. */ function verify_sender()
|
* @return boolean True when valid, false when invalid. */ function verify_sender()
|
{
| {
|
global $db, $mybb, $lang;
|
global $db, $mybb, $lang;
|
|
|
$pm = &$this->data;
|
$pm = &$this->data;
|
|
|
// Return if we've already validated if(!empty($pm['sender'])) { return true;
|
// Return if we've already validated if(!empty($pm['sender'])) { return true;
|
}
| }
|
// Fetch the senders profile data. $sender = get_user($pm['fromid']);
|
// Fetch the senders profile data. $sender = get_user($pm['fromid']);
|
|
|
// Collect user permissions for the sender. $sender_permissions = user_permissions($pm['fromid']);
// Check if the sender is over their quota or not - if they are, disable draft sending if(isset($pm['options']['savecopy']) && $pm['options']['savecopy'] != 0 && empty($pm['saveasdraft']))
|
// Collect user permissions for the sender. $sender_permissions = user_permissions($pm['fromid']);
// Check if the sender is over their quota or not - if they are, disable draft sending if(isset($pm['options']['savecopy']) && $pm['options']['savecopy'] != 0 && empty($pm['saveasdraft']))
|
{ if($sender_permissions['pmquota'] != "0" && $sender['totalpms'] >= $sender_permissions['pmquota'] && $this->admin_override != true) {
| { if($sender_permissions['pmquota'] != 0 && $sender['totalpms'] >= $sender_permissions['pmquota'] && $this->admin_override != true) {
|
$pm['options']['savecopy'] = 0; } }
| $pm['options']['savecopy'] = 0; } }
|
Zeile 141 | Zeile 149 |
---|
"uid" => $sender['uid'], "username" => $sender['username'] );
|
"uid" => $sender['uid'], "username" => $sender['username'] );
|
|
|
return true; }
| return true; }
|
Zeile 180 | Zeile 188 |
---|
if(empty($pm[$recipient_type])) { if($recipient_type == 'to' && !$pm['saveasdraft'])
|
if(empty($pm[$recipient_type])) { if($recipient_type == 'to' && !$pm['saveasdraft'])
|
{
| {
|
$this->set_error("no_recipients"); return false; }
| $this->set_error("no_recipients"); return false; }
|
Zeile 197 | Zeile 205 |
---|
while($user = $db->fetch_array($query)) { if($recipient_type == "bcc")
|
while($user = $db->fetch_array($query)) { if($recipient_type == "bcc")
|
{ $user['bcc'] = 1; }
| { $user['bcc'] = 1; }
|
$recipients[] = $user; $validUsernames[] = $user['username']; }
| $recipients[] = $user; $validUsernames[] = $user['username']; }
|
Zeile 208 | Zeile 216 |
---|
foreach($pm[$recipient_type] as $username) { if(!in_array($username, $validUsernames))
|
foreach($pm[$recipient_type] as $username) { if(!in_array($username, $validUsernames))
|
{ $invalid_recipients[] = $username; }
| { $invalid_recipients[] = $username; }
|
} } }
| } } }
|
Zeile 220 | Zeile 228 |
---|
foreach(array("toid", "bccid") as $recipient_type) { if(!isset($pm[$recipient_type]))
|
foreach(array("toid", "bccid") as $recipient_type) { if(!isset($pm[$recipient_type]))
|
{
| {
|
$pm[$recipient_type] = array(); } if(!is_array($pm[$recipient_type]))
| $pm[$recipient_type] = array(); } if(!is_array($pm[$recipient_type]))
|
Zeile 239 | Zeile 247 |
---|
return false; } continue;
|
return false; } continue;
|
}
| }
|
$recipientUids = "'".implode("','", $pm[$recipient_type])."'";
$query = $db->simple_select('users', '*', 'uid IN('.$recipientUids.')');
| $recipientUids = "'".implode("','", $pm[$recipient_type])."'";
$query = $db->simple_select('users', '*', 'uid IN('.$recipientUids.')');
|
Zeile 259 | Zeile 267 |
---|
}
foreach($pm[$recipient_type] as $uid)
|
}
foreach($pm[$recipient_type] as $uid)
|
{
| {
|
if(!in_array($uid, $validUids)) { $invalid_recipients[] = $uid;
| if(!in_array($uid, $validUids)) { $invalid_recipients[] = $uid;
|
Zeile 293 | Zeile 301 |
---|
// See if the sender is on the recipients ignore list and that either // - admin_override is set or // - sender is an administrator
|
// See if the sender is on the recipients ignore list and that either // - admin_override is set or // - sender is an administrator
|
if(($this->admin_override != true && $sender_permissions['cancp'] != 1) && $sender_permissions['canoverridepm'] != 1)
| if($this->admin_override != true && $sender_permissions['canoverridepm'] != 1)
|
{ if(!empty($user['ignorelist']) && strpos(','.$user['ignorelist'].',', ','.$pm['fromid'].',') !== false) {
| { if(!empty($user['ignorelist']) && strpos(','.$user['ignorelist'].',', ','.$pm['fromid'].',') !== false) {
|
Zeile 301 | Zeile 309 |
---|
}
// Is the recipient only allowing private messages from their buddy list?
|
}
// Is the recipient only allowing private messages from their buddy list?
|
if($mybb->settings['allowbuddyonly'] == 1 && $user['receivefrombuddy'] == 1 && !empty($user['buddylist']) && strpos(','.$user['buddylist'].',', ','.$pm['fromid'].',') === false)
| if(empty($pm['saveasdraft']) && $mybb->settings['allowbuddyonly'] == 1 && $user['receivefrombuddy'] == 1 && !empty($user['buddylist']) && strpos(','.$user['buddylist'].',', ','.$pm['fromid'].',') === false)
|
{ $this->set_error('recipient_has_buddy_only', array(htmlspecialchars_uni($user['username']))); }
| { $this->set_error('recipient_has_buddy_only', array(htmlspecialchars_uni($user['username']))); }
|
Zeile 315 | Zeile 323 |
---|
}
// Check to see if the user has reached their private message quota - if they have, email them.
|
}
// Check to see if the user has reached their private message quota - if they have, email them.
|
if($recipient_permissions['pmquota'] != "0" && $user['totalpms'] >= $recipient_permissions['pmquota'] && $recipient_permissions['cancp'] != 1 && $sender_permissions['cancp'] != 1 && empty($pm['saveasdraft']) && !$this->admin_override)
| if($recipient_permissions['pmquota'] != 0 && $user['totalpms'] >= $recipient_permissions['pmquota'] && $sender_permissions['cancp'] != 1 && empty($pm['saveasdraft']) && !$this->admin_override)
|
{ if(trim($user['language']) != '' && $lang->language_exists($user['language'])) {
| { if(trim($user['language']) != '' && $lang->language_exists($user['language'])) {
|
Zeile 418 | Zeile 426 |
---|
$this->set_error("pm_flooding", array($time_to_wait)); } return false;
|
$this->set_error("pm_flooding", array($time_to_wait)); } return false;
|
} }
| } }
|
// All is well that ends well - return true. return true; }
| // All is well that ends well - return true. return true; }
|
Zeile 602 | Zeile 610 |
---|
}
$plugins->run_hooks("datahandler_pm_insert_updatedraft", $this);
|
}
$plugins->run_hooks("datahandler_pm_insert_updatedraft", $this);
|
$db->insert_query("privatemessages", $this->pm_insert_data);
| $this->pmid = $db->insert_query("privatemessages", $this->pm_insert_data);
$plugins->run_hooks("datahandler_pm_insert_updatedraft_commit", $this);
|
// If this is a draft, end it here - below deals with complete messages return array(
| // If this is a draft, end it here - below deals with complete messages return array(
|
Zeile 681 | Zeile 692 |
---|
$this->pm_insert_data['toid'] = $recipient['uid'];
$plugins->run_hooks("datahandler_pm_insert", $this);
|
$this->pm_insert_data['toid'] = $recipient['uid'];
$plugins->run_hooks("datahandler_pm_insert", $this);
|
|
|
$this->pmid[] = $db->insert_query("privatemessages", $this->pm_insert_data);
|
$this->pmid[] = $db->insert_query("privatemessages", $this->pm_insert_data);
|
| $plugins->run_hooks("datahandler_pm_insert_commit", $this);
|
// If PM noices/alerts are on, show! if($recipient['pmnotice'] == 1)
| // If PM noices/alerts are on, show! if($recipient['pmnotice'] == 1)
|
Zeile 701 | Zeile 715 |
---|
if($pm['pmid']) { if($pm['do'] == "reply" || $pm['do'] == "replyall")
|
if($pm['pmid']) { if($pm['do'] == "reply" || $pm['do'] == "replyall")
|
{
| {
|
$sql_array = array( 'status' => 3,
|
$sql_array = array( 'status' => 3,
|
'statustime' => TIME_NOW ); $db->update_query("privatemessages", $sql_array, "pmid={$pm['pmid']} AND uid={$pm['sender']['uid']}"); }
| 'statustime' => TIME_NOW ); $db->update_query("privatemessages", $sql_array, "pmid={$pm['pmid']} AND uid={$pm['sender']['uid']}"); }
|
elseif($pm['do'] == "forward") { $sql_array = array(
| elseif($pm['do'] == "forward") { $sql_array = array(
|
Zeile 721 | Zeile 735 |
---|
// If we're saving a copy if($pm['options']['savecopy'] != 0) {
|
// If we're saving a copy if($pm['options']['savecopy'] != 0) {
|
if(isset($recipient_list['to']) && count($recipient_list['to']) == 1) {
| if(isset($recipient_list['to']) && is_array($recipient_list['to']) && count($recipient_list['to']) == 1) {
|
$this->pm_insert_data['toid'] = $uid; } else
| $this->pm_insert_data['toid'] = $uid; } else
|
Zeile 735 | Zeile 749 |
---|
$this->pm_insert_data['receipt'] = 0;
$plugins->run_hooks("datahandler_pm_insert_savedcopy", $this);
|
$this->pm_insert_data['receipt'] = 0;
$plugins->run_hooks("datahandler_pm_insert_savedcopy", $this);
|
|
|
$db->insert_query("privatemessages", $this->pm_insert_data);
|
$db->insert_query("privatemessages", $this->pm_insert_data);
|
| $plugins->run_hooks("datahandler_pm_insert_savedcopy_commit", $this);
|
// Because the sender saved a copy, update their total pm count require_once MYBB_ROOT."/inc/functions_user.php";
| // Because the sender saved a copy, update their total pm count require_once MYBB_ROOT."/inc/functions_user.php";
|