Zeile 121 | Zeile 121 |
---|
{ $user = get_user($post['uid']); $post['username'] = $user['username'];
|
{ $user = get_user($post['uid']); $post['username'] = $user['username'];
|
| } // if the uid is 0 verify the username else if($post['uid'] == 0 && $post['username'] != $lang->guest) { // Set up user handler require_once MYBB_ROOT."inc/datahandlers/user.php"; $userhandler = new UserDataHandler();
$data_array = array('username' => $post['username']); $userhandler->set_data($data_array);
if(!$userhandler->verify_username()) { // invalid username $this->errors = array_merge($this->errors, $userhandler->get_errors()); return false; }
|
}
// After all of this, if we still don't have a username, force the username as "Guest" (Note, this is not translatable as it is always a fallback)
| }
// After all of this, if we still don't have a username, force the username as "Guest" (Note, this is not translatable as it is always a fallback)
|
Zeile 146 | Zeile 163 |
---|
$post = &$this->data; $subject = &$post['subject']; $subject = trim_blank_chrs($subject);
|
$post = &$this->data; $subject = &$post['subject']; $subject = trim_blank_chrs($subject);
|
$subject = utf8_handle_4byte_string($subject);
| |
// Are we editing an existing thread or post? if($this->method == "update" && $post['pid'])
| // Are we editing an existing thread or post? if($this->method == "update" && $post['pid'])
|
Zeile 240 | Zeile 256 |
---|
$post = &$this->data; $post['message'] = trim_blank_chrs($post['message']);
|
$post = &$this->data; $post['message'] = trim_blank_chrs($post['message']);
|
$post['message'] = utf8_handle_4byte_string($post['message']);
| |
// Do we even have a message at all? if(my_strlen($post['message']) == 0)
| // Do we even have a message at all? if(my_strlen($post['message']) == 0)
|
Zeile 414 | Zeile 429 |
---|
* @return boolean True when valid, false when not valid. */ function verify_image_count()
|
* @return boolean True when valid, false when not valid. */ function verify_image_count()
|
{ global $mybb, $db;
| { global $mybb, $db;
|
$post = &$this->data;
// Get the permissions of the user who is making this post or thread $permissions = user_permissions($post['uid']);
|
$post = &$this->data;
// Get the permissions of the user who is making this post or thread $permissions = user_permissions($post['uid']);
|
|
|
// Fetch the forum this post is being made in if(!$post['fid'])
|
// 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'); }
| $query = $db->simple_select('posts', 'fid', "pid = '{$post['pid']}'"); $post['fid'] = $db->fetch_field($query, 'fid'); }
|
Zeile 435 | Zeile 450 |
---|
{ require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
|
{ require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
|
|
|
// Parse the message. $parser_options = array( "allow_html" => $forum['allowhtml'],
| // Parse the message. $parser_options = array( "allow_html" => $forum['allowhtml'],
|
Zeile 452 | Zeile 467 |
---|
else { $parser_options['allow_smilies'] = 0;
|
else { $parser_options['allow_smilies'] = 0;
|
}
$image_check = $parser->parse_message($post['message'], $parser_options);
| }
$image_check = $parser->parse_message($post['message'], $parser_options);
|
// And count the number of image tags in the message. $image_count = substr_count($image_check, "<img");
| // And count the number of image tags in the message. $image_count = substr_count($image_check, "<img");
|
Zeile 469 | Zeile 484 |
---|
/** * Verifies the video count.
|
/** * Verifies the video count.
|
* * @return boolean True when valid, false when not valid. */
| * * @return boolean True when valid, false when not valid. */
|
function verify_video_count() { global $mybb, $db;
| function verify_video_count() { global $mybb, $db;
|
Zeile 543 | Zeile 558 |
---|
* @return boolean True when valid, false when not valid. */ function verify_post_icon()
|
* @return boolean True when valid, false when not valid. */ function verify_post_icon()
|
{ global $cache;
| { global $cache;
|
$post = &$this->data;
|
$post = &$this->data;
|
// If we don't assign it as 0. if(!$post['icon'] || $post['icon'] < 0)
| $posticons_cache = $cache->read("posticons");
// If we don't have a post icon assign it as 0. if(empty($post['icon']) || !isset($posticons_cache[$post['icon']]))
|
{ $post['icon'] = 0; }
| { $post['icon'] = 0; }
|
Zeile 564 | Zeile 581 |
---|
function verify_dateline() { $dateline = &$this->data['dateline'];
|
function verify_dateline() { $dateline = &$this->data['dateline'];
|
|
|
// The date has to be numeric and > 0. if($dateline < 0 || is_numeric($dateline) == false) {
| // The date has to be numeric and > 0. if($dateline < 0 || is_numeric($dateline) == false) {
|
Zeile 582 | Zeile 599 |
---|
$prefix = &$this->data['prefix'];
// If a valid prefix isn't supplied, don't assign one.
|
$prefix = &$this->data['prefix'];
// If a valid prefix isn't supplied, don't assign one.
|
if(!$prefix || $prefix < 1)
| if(empty($prefix))
|
{ $prefix = 0;
|
{ $prefix = 0;
|
| } else { $verification = build_prefixes($prefix); if(!$verification) { $this->set_error('invalid_prefix'); return false; } if($verification['groups'] != "-1") { if(!empty($this->data['edit_uid'])) { // Post is being edited $user = get_user($this->data['edit_uid']); } else { $user = get_user($this->data['uid']); } $groups = array($user['usergroup']); if(!empty($user['additionalgroups'])) { $groups = array_merge($groups, explode(',', $user['additionalgroups'])); } $prefix_groups = explode(",", $verification['groups']);
$valid_group = false; foreach($groups as $group) { if(in_array($group, $prefix_groups)) { $valid_group = true; break; } } if(!$valid_group) { $this->set_error('invalid_prefix'); return false; } } if($verification['forums'] != "-1") { // Decide whether this prefix can be used in our forum $forums = explode(",", $verification['forums']);
if(!in_array($this->data['fid'], $forums)) { $this->set_error('invalid_prefix'); return false; } }
|
}
return true;
| }
return true;
|
Zeile 602 | Zeile 672 |
---|
$post = &$this->data; $time = TIME_NOW;
|
$post = &$this->data; $time = TIME_NOW;
|
$this->action = "post";
| $this->action = "post";
|
if($this->method != "update" && !$post['savedraft']) { $this->verify_post_flooding();
|
if($this->method != "update" && !$post['savedraft']) { $this->verify_post_flooding();
|
}
| }
|
// Verify all post assets.
if($this->method == "insert" || array_key_exists('uid', $post))
|
// Verify all post assets.
if($this->method == "insert" || array_key_exists('uid', $post))
|
{
| {
|
$this->verify_author(); }
if($this->method == "insert" || array_key_exists('subject', $post)) { $this->verify_subject();
|
$this->verify_author(); }
if($this->method == "insert" || array_key_exists('subject', $post)) { $this->verify_subject();
|
}
| }
|
if($this->method == "insert" || array_key_exists('message', $post)) { $this->verify_message();
| if($this->method == "insert" || array_key_exists('message', $post)) { $this->verify_message();
|
Zeile 655 | Zeile 725 |
---|
if(count($this->get_errors()) > 0) { return false;
|
if(count($this->get_errors()) > 0) { return false;
|
} else {
| } else {
|
return true; } }
| return true; } }
|
Zeile 710 | Zeile 780 |
---|
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']);
|
}
| }
|
// Perform any selected moderation tools. if(is_moderator($post['fid'], "", $post['uid'])) { $lang->load($this->language_file, true);
|
// Perform any selected moderation tools. if(is_moderator($post['fid'], "", $post['uid'])) { $lang->load($this->language_file, true);
|
|
|
$modoptions = $post['modoptions']; $modlogdata['fid'] = $thread['fid']; $modlogdata['tid'] = $thread['tid'];
| $modoptions = $post['modoptions']; $modlogdata['fid'] = $thread['fid']; $modlogdata['tid'] = $thread['tid'];
|
Zeile 730 | Zeile 800 |
---|
// Open the thread. if($modoptions['closethread'] != 1 && $thread['closed'] == 1)
|
// Open the thread. if($modoptions['closethread'] != 1 && $thread['closed'] == 1)
|
{
| {
|
$newclosed = "closed=0"; log_moderator_action($modlogdata, $lang->thread_opened);
|
$newclosed = "closed=0"; log_moderator_action($modlogdata, $lang->thread_opened);
|
}
| }
|
// Stick the thread. if($modoptions['stickthread'] == 1 && $thread['sticky'] != 1) { $newstick = "sticky='1'"; log_moderator_action($modlogdata, $lang->thread_stuck);
|
// Stick the thread. if($modoptions['stickthread'] == 1 && $thread['sticky'] != 1) { $newstick = "sticky='1'"; log_moderator_action($modlogdata, $lang->thread_stuck);
|
}
| }
|
// Unstick the thread. if($modoptions['stickthread'] != 1 && $thread['sticky']) { $newstick = "sticky='0'"; log_moderator_action($modlogdata, $lang->thread_unstuck);
|
// Unstick the thread. if($modoptions['stickthread'] != 1 && $thread['sticky']) { $newstick = "sticky='0'"; log_moderator_action($modlogdata, $lang->thread_unstuck);
|
}
| }
|
// Execute moderation options. if($newstick && $newclosed)
|
// Execute moderation options. if($newstick && $newclosed)
|
{
| {
|
$sep = ",";
|
$sep = ",";
|
}
| }
|
if($newstick || $newclosed) { $db->write_query("
| if($newstick || $newclosed) { $db->write_query("
|
Zeile 765 | Zeile 835 |
---|
}
// Fetch the forum this post is being made in
|
}
// Fetch the forum this post is being made in
|
$forum = get_forum($post['fid']);
| $forum = get_forum($post['fid']);
|
// Decide on the visibility of this post. if($forum['modposts'] == 1 && !is_moderator($thread['fid'], "", $post['uid'])) {
| // Decide on the visibility of this post. if($forum['modposts'] == 1 && !is_moderator($thread['fid'], "", $post['uid'])) {
|
Zeile 839 | Zeile 909 |
---|
); $db->update_query("attachments", $attachmentassign, "posthash='{$post['posthash']}' AND pid='0'"); }
|
); $db->update_query("attachments", $attachmentassign, "posthash='{$post['posthash']}' AND pid='0'"); }
|
|
|
// Return the post's pid and whether or not it is visible. return array( "pid" => $double_post['pid'],
| // Return the post's pid and whether or not it is visible. return array( "pid" => $double_post['pid'],
|
Zeile 857 | Zeile 927 |
---|
'lastpost' => "'{$now}'" ); if($forum['usepostcounts'] != 0)
|
'lastpost' => "'{$now}'" ); if($forum['usepostcounts'] != 0)
|
{
| {
|
$update_array['postnum'] = 'postnum+1'; }
| $update_array['postnum'] = 'postnum+1'; }
|
Zeile 1148 | Zeile 1218 |
---|
if($thread['savedraft']) { $visible = -2;
|
if($thread['savedraft']) { $visible = -2;
|
}
| }
|
// Thread is being made now and we have a bit to do. else {
// Decide on the visibility of this post. if(($forum['modthreads'] == 1 || $forum['modposts'] == 1) && !is_moderator($thread['fid'], "", $thread['uid']))
|
// Thread is being made now and we have a bit to do. else {
// Decide on the visibility of this post. if(($forum['modthreads'] == 1 || $forum['modposts'] == 1) && !is_moderator($thread['fid'], "", $thread['uid']))
|
{ $visible = 0;
| { $visible = 0;
|
} else {
| } else {
|
Zeile 1168 | Zeile 1238 |
---|
if($mybb->user['uid'] == $thread['uid'] && $mybb->user['moderateposts'] == 1) { $visible = 0;
|
if($mybb->user['uid'] == $thread['uid'] && $mybb->user['moderateposts'] == 1) { $visible = 0;
|
}
| }
|
}
// Have a post ID but not a thread ID - fetch thread ID if($thread['pid'] && !$thread['tid'])
|
}
// Have a post ID but not a thread ID - fetch thread ID if($thread['pid'] && !$thread['tid'])
|
{
| {
|
$query = $db->simple_select("posts", "tid", "pid='{$thread['pid']}"); $thread['tid'] = $db->fetch_field($query, "tid"); }
| $query = $db->simple_select("posts", "tid", "pid='{$thread['pid']}"); $thread['tid'] = $db->fetch_field($query, "tid"); }
|
Zeile 1186 | Zeile 1256 |
---|
else { $draft_check = false;
|
else { $draft_check = false;
|
}
| }
|
// 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)
|
Zeile 1200 | Zeile 1270 |
---|
"lastposter" => $db->escape_string($thread['username']), "visible" => $visible );
|
"lastposter" => $db->escape_string($thread['username']), "visible" => $visible );
|
|
|
$plugins->run_hooks("datahandler_post_insert_thread", $this);
$db->update_query("threads", $this->thread_insert_data, "tid='{$thread['tid']}'");
|
$plugins->run_hooks("datahandler_post_insert_thread", $this);
$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']),
| $this->post_insert_data = array( "subject" => $db->escape_string($thread['subject']), "icon" => intval($thread['icon']),
|
Zeile 1221 | Zeile 1291 |
---|
$db->update_query("posts", $this->post_insert_data, "pid='{$thread['pid']}'"); $this->tid = $thread['tid']; $this->pid = $thread['pid'];
|
$db->update_query("posts", $this->post_insert_data, "pid='{$thread['pid']}'"); $this->tid = $thread['tid']; $this->pid = $thread['pid'];
|
}
| }
|
// Inserting a new thread into the database. else {
| // Inserting a new thread into the database. else {
|
Zeile 1240 | Zeile 1310 |
---|
"replies" => 0, "visible" => $visible, "notes" => ''
|
"replies" => 0, "visible" => $visible, "notes" => ''
|
);
| );
|
$plugins->run_hooks("datahandler_post_insert_thread", $this);
| $plugins->run_hooks("datahandler_post_insert_thread", $this);
|
Zeile 1294 | Zeile 1364 |
---|
$lang->load($this->language_file, true);
$modoptions = $thread['modoptions'];
|
$lang->load($this->language_file, true);
$modoptions = $thread['modoptions'];
|
$modlogdata['fid'] = $this->tid; $modlogdata['tid'] = $thread['tid'];
| $modlogdata['fid'] = $thread['fid']; $modlogdata['tid'] = $this->tid;
|
// Close the thread. if($modoptions['closethread'] == 1)
| // Close the thread. if($modoptions['closethread'] == 1)
|