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: post.php 4328 2009-03-09 21:58:37Z Tikitiki $
| * $Id: post.php 4867 2010-04-11 03:37:10Z RyanGordon $
|
*/
// Disallow direct access to this file for security reasons
| */
// Disallow direct access to this file for security reasons
|
Zeile 404 | Zeile 404 |
---|
$permissions = user_permissions($post['uid']);
// Fetch the forum this post is being made in
|
$permissions = user_permissions($post['uid']);
// Fetch the forum this post is being made in
|
| if(!$post['fid']) { $query = $db->simple_select('posts', 'fid', "pid = '{$post['pid']}'"); $post['fid'] = $db->fetch_field($query, 'fid'); }
|
$forum = get_forum($post['fid']);
|
$forum = get_forum($post['fid']);
|
|
|
// Check if this post contains more images than the forum allows if($post['savedraft'] != 1 && $mybb->settings['maxpostimages'] != 0 && $permissions['cancp'] != 1) {
| // Check if this post contains more images than the forum allows if($post['savedraft'] != 1 && $mybb->settings['maxpostimages'] != 0 && $permissions['cancp'] != 1) {
|
Zeile 418 | Zeile 423 |
---|
"allow_mycode" => $forum['allowmycode'], "allow_imgcode" => $forum['allowimgcode'], "filter_badwords" => 1
|
"allow_mycode" => $forum['allowmycode'], "allow_imgcode" => $forum['allowimgcode'], "filter_badwords" => 1
|
);
| );
|
if($post['options']['disablesmilies'] != 1) {
| if($post['options']['disablesmilies'] != 1) {
|
Zeile 444 | Zeile 449 |
---|
/** * Verify the reply-to post.
|
/** * Verify the reply-to post.
|
* * @return boolean True when valid, false when not valid. */
| * * @return boolean True when valid, false when not valid. */
|
function verify_reply_to() { global $db;
| function verify_reply_to() { global $db;
|
Zeile 460 | Zeile 465 |
---|
if(!$valid_post['pid']) { $post['replyto'] = 0;
|
if(!$valid_post['pid']) { $post['replyto'] = 0;
|
}
| }
|
else { return true;
| else { return true;
|
Zeile 516 | Zeile 521 |
---|
if($dateline < 0 || is_numeric($dateline) == false) { $dateline = TIME_NOW;
|
if($dateline < 0 || is_numeric($dateline) == false) { $dateline = TIME_NOW;
|
} }
| } }
|
/** * Validate a post.
| /** * Validate a post.
|
Zeile 543 | Zeile 548 |
---|
if($this->method == "insert" || array_key_exists('uid', $post)) { $this->verify_author();
|
if($this->method == "insert" || array_key_exists('uid', $post)) { $this->verify_author();
|
}
| }
|
if($this->method == "insert" || array_key_exists('subject', $post)) {
| if($this->method == "insert" || array_key_exists('subject', $post)) {
|
Zeile 569 | Zeile 574 |
---|
if($this->method == "insert" || array_key_exists('icon', $post)) { $this->verify_post_icon();
|
if($this->method == "insert" || array_key_exists('icon', $post)) { $this->verify_post_icon();
|
}
| }
|
if($this->method == "insert" || array_key_exists('options', $post))
|
if($this->method == "insert" || array_key_exists('options', $post))
|
{
| {
|
$this->verify_options();
|
$this->verify_options();
|
}
| }
|
$plugins->run_hooks_by_ref("datahandler_post_validate_post", $this);
// We are done validating, return.
| $plugins->run_hooks_by_ref("datahandler_post_validate_post", $this);
// We are done validating, return.
|
Zeile 583 | Zeile 588 |
---|
if(count($this->get_errors()) > 0) { return false;
|
if(count($this->get_errors()) > 0) { return false;
|
} else
| } else
|
{ return true; }
| { return true; }
|
Zeile 625 | Zeile 630 |
---|
if($post['options']['subscriptionmethod'] != "" && $post['uid'] > 0) { switch($post['options']['subscriptionmethod'])
|
if($post['options']['subscriptionmethod'] != "" && $post['uid'] > 0) { switch($post['options']['subscriptionmethod'])
|
{ case "instant": $notification = 1; break; default: $notification = 0; }
| { case "instant": $notification = 1; break; default: $notification = 0; }
|
require_once MYBB_ROOT."inc/functions_user.php"; add_subscribed_thread($post['tid'], $notification, $post['uid']);
| require_once MYBB_ROOT."inc/functions_user.php"; add_subscribed_thread($post['tid'], $notification, $post['uid']);
|
Zeile 703 | Zeile 708 |
---|
else { $visible = 1;
|
else { $visible = 1;
|
}
| }
|
// Are posts from this user being moderated? Change visibility if($mybb->user['uid'] == $post['uid'] && $mybb->user['moderateposts'] == 1)
| // Are posts from this user being moderated? Change visibility if($mybb->user['uid'] == $post['uid'] && $mybb->user['moderateposts'] == 1)
|
Zeile 716 | Zeile 721 |
---|
{ $double_post = $this->verify_post_merge();
|
{ $double_post = $this->verify_post_merge();
|
| // Only combine if they are both invisible (mod queue'd forum) or both visible
|
if($double_post !== true && $double_post['visible'] == $visible) {
|
if($double_post !== true && $double_post['visible'] == $visible) {
|
// Only combine if they are both invisible (mod queue'd forum) or both visible $double_post['message'] .= $mybb->settings['postmergesep']."\n".$post['message'];
| $this->pid = $double_post['pid']; $post['message'] = $double_post['message'] .= $mybb->settings['postmergesep']."\n".$post['message'];
|
$update_query = array( "message" => $db->escape_string($double_post['message']) );
| $update_query = array( "message" => $db->escape_string($double_post['message']) );
|
Zeile 747 | Zeile 754 |
---|
"posthash" => $double_post['posthash'], ); $db->update_query("attachments", $attachmentassign, "posthash='{$post['posthash']}'");
|
"posthash" => $double_post['posthash'], ); $db->update_query("attachments", $attachmentassign, "posthash='{$post['posthash']}'");
|
}
| $post['posthash'] = $double_post['posthash']; }
|
// Return the post's pid and whether or not it is visible. return array(
| // Return the post's pid and whether or not it is visible. return array(
|
Zeile 859 | Zeile 868 |
---|
// Fetch any users subscribed to this thread receiving instant notification and queue up their subscription notices $query = $db->query("
|
// Fetch any users subscribed to this thread receiving instant notification and queue up their subscription notices $query = $db->query("
|
SELECT u.username, u.email, u.uid, u.language, s.subscriptionkey
| SELECT u.username, u.email, u.uid, u.language, u.loginkey, u.salt, u.regdate, s.subscriptionkey
|
FROM ".TABLE_PREFIX."threadsubscriptions s LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid) WHERE s.notification='1' AND s.tid='{$post['tid']}'
| FROM ".TABLE_PREFIX."threadsubscriptions s LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid) WHERE s.notification='1' AND s.tid='{$post['tid']}'
|
Zeile 914 | Zeile 923 |
---|
$emailmessage = $langcache[$uselang]['email_subscription']; } $emailsubject = $lang->sprintf($emailsubject, $subject);
|
$emailmessage = $langcache[$uselang]['email_subscription']; } $emailsubject = $lang->sprintf($emailsubject, $subject);
|
$emailmessage = $lang->sprintf($emailmessage, $subscribedmember['username'], $post['username'], $mybb->settings['bbname'], $subject, $excerpt, $mybb->settings['bburl'], str_replace("&", "&", get_thread_link($thread['tid'], 0, "newpost")), $thread['tid'], $subscribedmember['subscriptionkey']);
| $post_code = md5($subscribedmember['loginkey'].$subscribedmember['salt'].$subscribedmember['regdate']); $emailmessage = $lang->sprintf($emailmessage, $subscribedmember['username'], $post['username'], $mybb->settings['bbname'], $subject, $excerpt, $mybb->settings['bburl'], str_replace("&", "&", get_thread_link($thread['tid'], 0, "newpost")), $thread['tid'], $subscribedmember['subscriptionkey'], $post_code);
|
$new_email = array( "mailto" => $db->escape_string($subscribedmember['email']), "mailfrom" => '',
| $new_email = array( "mailto" => $db->escape_string($subscribedmember['email']), "mailfrom" => '',
|
Zeile 1085 | Zeile 1096 |
---|
// Are we updating a post which is already a draft? Perhaps changing it into a visible post? if($draft_check)
|
// Are we updating a post which is already a draft? Perhaps changing it into a visible post? if($draft_check)
|
{ $this->thread_insert_data = array( "subject" => $db->escape_string($thread['subject']), "icon" => intval($thread['icon']), "username" => $db->escape_string($thread['username']), "dateline" => intval($thread['dateline']), "lastpost" => intval($thread['dateline']),
| { $this->thread_insert_data = array( "subject" => $db->escape_string($thread['subject']), "icon" => intval($thread['icon']), "username" => $db->escape_string($thread['username']), "dateline" => intval($thread['dateline']), "lastpost" => intval($thread['dateline']),
|
"lastposter" => $db->escape_string($thread['username']), "visible" => $visible );
|
"lastposter" => $db->escape_string($thread['username']), "visible" => $visible );
|
|
|
$plugins->run_hooks_by_ref("datahandler_post_insert_thread", $this);
|
$plugins->run_hooks_by_ref("datahandler_post_insert_thread", $this);
|
|
|
$db->update_query("threads", $this->thread_insert_data, "tid='{$thread['tid']}'");
|
$db->update_query("threads", $this->thread_insert_data, "tid='{$thread['tid']}'");
|
$this->post_insert_data = array( "subject" => $db->escape_string($thread['subject']), "icon" => intval($thread['icon']), "username" => $db->escape_string($thread['username']), "dateline" => intval($thread['dateline']), "message" => $db->escape_string($thread['message']), "ipaddress" => $db->escape_string(get_ip()),
| $this->post_insert_data = array( "subject" => $db->escape_string($thread['subject']), "icon" => intval($thread['icon']), "username" => $db->escape_string($thread['username']), "dateline" => intval($thread['dateline']), "message" => $db->escape_string($thread['message']), "ipaddress" => $db->escape_string(get_ip()),
|
"includesig" => $thread['options']['signature'], "smilieoff" => $thread['options']['disablesmilies'], "visible" => $visible,
| "includesig" => $thread['options']['signature'], "smilieoff" => $thread['options']['disablesmilies'], "visible" => $visible,
|
Zeile 1205 | Zeile 1216 |
---|
{ $newstick = "sticky='1'"; log_moderator_action($modlogdata, $lang->thread_stuck);
|
{ $newstick = "sticky='1'"; log_moderator_action($modlogdata, $lang->thread_stuck);
|
}
| }
|
// Execute moderation options. if($newstick && $newclosed)
| // Execute moderation options. if($newstick && $newclosed)
|
Zeile 1248 | Zeile 1259 |
---|
} if(!$forum['lastpost'])
|
} if(!$forum['lastpost'])
|
{
| {
|
$forum['lastpost'] = 0; }
| $forum['lastpost'] = 0; }
|
Zeile 1263 | Zeile 1274 |
---|
$excerpt = $parser->parse_badwords($excerpt);
$query = $db->query("
|
$excerpt = $parser->parse_badwords($excerpt);
$query = $db->query("
|
SELECT u.username, u.email, u.uid, u.language
| SELECT u.username, u.email, u.uid, u.language, u.loginkey, u.salt, u.regdate
|
FROM ".TABLE_PREFIX."forumsubscriptions fs LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=fs.uid) LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup)
| FROM ".TABLE_PREFIX."forumsubscriptions fs LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=fs.uid) LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup)
|
Zeile 1292 | Zeile 1303 |
---|
$uselang = $subscribedmember['language']; } else if($mybb->settings['bblanguage'])
|
$uselang = $subscribedmember['language']; } else if($mybb->settings['bblanguage'])
|
{
| {
|
$uselang = $mybb->settings['bblanguage']; } else
| $uselang = $mybb->settings['bblanguage']; } else
|
Zeile 1321 | Zeile 1332 |
---|
$emailmessage = $langcache[$uselang]['email_forumsubscription']; } $emailsubject = $lang->sprintf($emailsubject, $forum['name']);
|
$emailmessage = $langcache[$uselang]['email_forumsubscription']; } $emailsubject = $lang->sprintf($emailsubject, $forum['name']);
|
$emailmessage = $lang->sprintf($emailmessage, $subscribedmember['username'], $thread['username'], $forum['name'], $mybb->settings['bbname'], $thread['subject'], $excerpt, $mybb->settings['bburl'], get_thread_link($this->tid), $thread['fid']);
| $post_code = md5($subscribedmember['loginkey'].$subscribedmember['salt'].$subscribedmember['regdate']); $emailmessage = $lang->sprintf($emailmessage, $subscribedmember['username'], $thread['username'], $forum['name'], $mybb->settings['bbname'], $thread['subject'], $excerpt, $mybb->settings['bburl'], get_thread_link($this->tid), $thread['fid'], $post_code);
|
$new_email = array( "mailto" => $db->escape_string($subscribedmember['email']), "mailfrom" => '',
| $new_email = array( "mailto" => $db->escape_string($subscribedmember['email']), "mailfrom" => '',
|
Zeile 1359 | Zeile 1372 |
---|
else if($visible == 0) { update_thread_data($this->tid);
|
else if($visible == 0) { update_thread_data($this->tid);
|
update_thread_counters($thread['tid'], array("replies" => 0, "unapprovedposts" => 1));
| update_thread_counters($this->tid, array("replies" => 0, "unapprovedposts" => 1));
|
update_forum_counters($thread['fid'], array("unapprovedthreads" => "+1", "unapprovedposts" => "+1")); }
| update_forum_counters($thread['fid'], array("unapprovedthreads" => "+1", "unapprovedposts" => "+1")); }
|