Vergleich editpost.php - 1.6.4 - 1.6.11

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * Website: http://mybb.com
* License: http://mybb.com/about/license
*

 * $Id: editpost.php 5487 2011-07-12 13:16:58Z Tomm $

 * $Id$

 */

define("IN_MYBB", 1);
define('THIS_SCRIPT', 'editpost.php');


 */

define("IN_MYBB", 1);
define('THIS_SCRIPT', 'editpost.php');


$templatelist = "editpost,previewpost,redirect_postedited,loginbox,posticons,changeuserbox,attachment,posticons,codebuttons,smilieinsert,post_attachments_attachment_postinsert,post_attachments_attachment_mod_approve,post_attachments_attachment_unapproved,post_attachments_attachment_mod_unapprove,post_attachments_attachment,post_attachments_new,post_attachments,newthread_postpoll,editpost_disablesmilies,post_subscription_method";

$templatelist = "editpost,previewpost,loginbox,posticons,changeuserbox,codebuttons,smilieinsert,smilieinsert_getmore,post_attachments_attachment_postinsert,post_attachments_attachment_mod_approve,post_attachments_attachment_unapproved,post_attachments_attachment_mod_unapprove,post_attachments_attachment,post_attachments_new,post_attachments,newthread_postpoll,editpost_disablesmilies,post_subscription_method,post_attachments_attachment_remove,post_attachments_update,postbit_author_guest,error_attacherror,forumdisplay_password_wrongpass,forumdisplay_password";


require_once "./global.php";
require_once MYBB_ROOT."inc/functions_post.php";


require_once "./global.php";
require_once MYBB_ROOT."inc/functions_post.php";

Zeile 62Zeile 62
// Get forum info
$fid = $post['fid'];
$forum = get_forum($fid);

// Get forum info
$fid = $post['fid'];
$forum = get_forum($fid);

 

if(($thread['visible'] == 0 && !is_moderator($fid)) || ($thread['visible'] < 0 && $thread['uid'] != $mybb->user['uid']))
{
error($lang->error_invalidthread);
}

if(!$forum || $forum['type'] != "f")
{
error($lang->error_closedinvalidforum);
}

if(!$forum || $forum['type'] != "f")
{
error($lang->error_closedinvalidforum);
}

if($forum['open'] == 0 || $mybb->user['suspendposting'] == 1)

if(($forum['open'] == 0 && !is_moderator($fid, "caneditposts")) || $mybb->user['suspendposting'] == 1)

{
error_no_permission();
}

{
error_no_permission();
}

Zeile 104Zeile 109
if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
if(!is_moderator($fid, "candeleteposts"))

if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
if(!is_moderator($fid, "candeleteposts"))

	{
if($thread['closed'] == 1)
{
error($lang->redirect_threadclosed);
}
if($forumpermissions['candeleteposts'] == 0)
{
error_no_permission();
}
if($mybb->user['uid'] != $post['uid'])

	{
if($thread['closed'] == 1)









		{

		{

			error_no_permission();














			error($lang->redirect_threadclosed);
}
if($forumpermissions['candeleteposts'] == 0)
{
error_no_permission();
}
if($mybb->user['uid'] != $post['uid'])
{
error_no_permission();
}
// User can't delete unapproved post
if($post['visible'] == 0)
{
error_no_permission();

		}
}
}

		}
}
}

Zeile 132Zeile 142
			error_no_permission();
}
if($mybb->user['uid'] != $post['uid'])

			error_no_permission();
}
if($mybb->user['uid'] != $post['uid'])

		{
error_no_permission();
}

		{
error_no_permission();
}

		// Edit time limit
$time = TIME_NOW;
if($mybb->settings['edittimelimit'] != 0 && $post['dateline'] < ($time-($mybb->settings['edittimelimit']*60)))
{
$lang->edit_time_limit = $lang->sprintf($lang->edit_time_limit, $mybb->settings['edittimelimit']);
error($lang->edit_time_limit);

		// Edit time limit
$time = TIME_NOW;
if($mybb->settings['edittimelimit'] != 0 && $post['dateline'] < ($time-($mybb->settings['edittimelimit']*60)))
{
$lang->edit_time_limit = $lang->sprintf($lang->edit_time_limit, $mybb->settings['edittimelimit']);
error($lang->edit_time_limit);

		}
}
}






		}
// User can't edit unapproved post
if($post['visible'] == 0)
{
error_no_permission();
}
}
}


// Check if this forum is password protected and we have a valid password
check_forum_password($forum['fid']);


// Check if this forum is password protected and we have a valid password
check_forum_password($forum['fid']);

Zeile 151Zeile 166
if((empty($_POST) && empty($_FILES)) && $mybb->input['processed'] == '1')
{
error($lang->error_cannot_upload_php_post);

if((empty($_POST) && empty($_FILES)) && $mybb->input['processed'] == '1')
{
error($lang->error_cannot_upload_php_post);

}


}


if(!$mybb->input['attachmentaid'] && ($mybb->input['newattachment'] || $mybb->input['updateattachment'] || ($mybb->input['action'] == "do_editpost" && $mybb->input['submit'] && $_FILES['attachment'])))

if(!$mybb->input['attachmentaid'] && ($mybb->input['newattachment'] || $mybb->input['updateattachment'] || ($mybb->input['action'] == "do_editpost" && $mybb->input['submit'] && $_FILES['attachment'])))

{
// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

if($mybb->input['posthash'])
{
$posthash_query = "posthash='".$db->escape_string($mybb->input['posthash'])."' OR ";
}
else
{
$posthash_query = "";
}
$query = $db->simple_select("attachments", "COUNT(aid) as numattachs", "{$posthash_query}pid='{$pid}'");

{
// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

$query = $db->simple_select("attachments", "COUNT(aid) as numattachs", "pid='{$pid}'");









	$attachcount = $db->fetch_field($query, "numattachs");

	$attachcount = $db->fetch_field($query, "numattachs");

	



	// If there's an attachment, check it and upload it
if($_FILES['attachment']['size'] > 0 && $forumpermissions['canpostattachments'] != 0 && ($mybb->settings['maxattachments'] == 0 || $attachcount < $mybb->settings['maxattachments']))
{

	// If there's an attachment, check it and upload it
if($_FILES['attachment']['size'] > 0 && $forumpermissions['canpostattachments'] != 0 && ($mybb->settings['maxattachments'] == 0 || $attachcount < $mybb->settings['maxattachments']))
{

Zeile 184Zeile 191
		eval("\$attacherror = \"".$templates->get("error_attacherror")."\";");
$mybb->input['action'] = "editpost";
}

		eval("\$attacherror = \"".$templates->get("error_attacherror")."\";");
$mybb->input['action'] = "editpost";
}

	if(!$mybb->input['submit'])
{
$mybb->input['action'] = "editpost";
}

	if(!$mybb->input['submit'])
{
$mybb->input['action'] = "editpost";
}

}

}





if($mybb->input['attachmentaid'] && isset($mybb->input['attachmentact']) && $mybb->input['action'] == "do_editpost" && $mybb->request_method == "post") // Lets remove/approve/unapprove the attachment

if($mybb->input['attachmentaid'] && isset($mybb->input['attachmentact']) && $mybb->input['action'] == "do_editpost" && $mybb->request_method == "post") // Lets remove/approve/unapprove the attachment

{ 

{

	// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

	// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

	



	$mybb->input['attachmentaid'] = intval($mybb->input['attachmentaid']);
if($mybb->input['attachmentact'] == "remove")
{

	$mybb->input['attachmentaid'] = intval($mybb->input['attachmentaid']);
if($mybb->input['attachmentact'] == "remove")
{

Zeile 204Zeile 211
	{
$update_sql = array("visible" => 1);
$db->update_query("attachments", $update_sql, "aid='{$mybb->input['attachmentaid']}'");

	{
$update_sql = array("visible" => 1);
$db->update_query("attachments", $update_sql, "aid='{$mybb->input['attachmentaid']}'");

 
		update_thread_counters($post['tid'], array('attachmentcount' => "+1"));

	}
elseif($mybb->input['attachmentact'] == "unapprove" && is_moderator($fid, 'caneditposts'))
{
$update_sql = array("visible" => 0);
$db->update_query("attachments", $update_sql, "aid='{$mybb->input['attachmentaid']}'");

	}
elseif($mybb->input['attachmentact'] == "unapprove" && is_moderator($fid, 'caneditposts'))
{
$update_sql = array("visible" => 0);
$db->update_query("attachments", $update_sql, "aid='{$mybb->input['attachmentaid']}'");

 
		update_thread_counters($post['tid'], array('attachmentcount' => "-1"));

	}
if(!$mybb->input['submit'])

	}
if(!$mybb->input['submit'])

	{
$mybb->input['action'] = "editpost";
}

	{
$mybb->input['action'] = "editpost";
}

}

}





if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

$plugins->run_hooks("editpost_deletepost");

if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);

$plugins->run_hooks("editpost_deletepost");





	if($mybb->input['delete'] == 1)
{
$query = $db->simple_select("posts", "pid", "tid='{$tid}'", array("limit" => 1, "order_by" => "dateline", "order_dir" => "asc"));

	if($mybb->input['delete'] == 1)
{
$query = $db->simple_select("posts", "pid", "tid='{$tid}'", array("limit" => 1, "order_by" => "dateline", "order_dir" => "asc"));

Zeile 230Zeile 239
		if($firstcheck['pid'] == $pid)
{
$firstpost = 1;

		if($firstcheck['pid'] == $pid)
{
$firstpost = 1;

		}
else

		}
else

		{
$firstpost = 0;
}

		{
$firstpost = 0;
}

		



		$modlogdata['fid'] = $fid;
$modlogdata['tid'] = $tid;
if($firstpost)
{
if($forumpermissions['candeletethreads'] == 1 || is_moderator($fid, "candeletethreads"))

		$modlogdata['fid'] = $fid;
$modlogdata['tid'] = $tid;
if($firstpost)
{
if($forumpermissions['candeletethreads'] == 1 || is_moderator($fid, "candeletethreads"))

			{

			{

				delete_thread($tid);
mark_reports($tid, "thread");
log_moderator_action($modlogdata, $lang->thread_deleted);
redirect(get_forum_link($fid), $lang->redirect_threaddeleted);

				delete_thread($tid);
mark_reports($tid, "thread");
log_moderator_action($modlogdata, $lang->thread_deleted);
redirect(get_forum_link($fid), $lang->redirect_threaddeleted);

			}
else
{
error_no_permission();
}

			}
else
{
error_no_permission();
}

		}
else
{

		}
else
{

Zeile 277Zeile 286
				error_no_permission();
}
}

				error_no_permission();
}
}

	}

	}

	else
{
error($lang->redirect_nodelete);

	else
{
error($lang->redirect_nodelete);

Zeile 285Zeile 294
}

if($mybb->input['action'] == "do_editpost" && $mybb->request_method == "post")

}

if($mybb->input['action'] == "do_editpost" && $mybb->request_method == "post")

{

{

	// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);


	// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);


Zeile 330Zeile 339
		$postinfo = $posthandler->update_post();
$visible = $postinfo['visible'];
$first_post = $postinfo['first_post'];

		$postinfo = $posthandler->update_post();
$visible = $postinfo['visible'];
$first_post = $postinfo['first_post'];





		// Help keep our attachments table clean.
$db->delete_query("attachments", "filename='' OR filesize<1");


		// Help keep our attachments table clean.
$db->delete_query("attachments", "filename='' OR filesize<1");


Zeile 339Zeile 348
		{
$url = "polls.php?action=newpoll&tid=$tid&polloptions=".intval($mybb->input['numpolloptions']);
$lang->redirect_postedited = $lang->redirect_postedited_poll;

		{
$url = "polls.php?action=newpoll&tid=$tid&polloptions=".intval($mybb->input['numpolloptions']);
$lang->redirect_postedited = $lang->redirect_postedited_poll;

		}

		}

		else if($visible == 0 && $first_post && !is_moderator($fid, "", $mybb->user['uid']))
{
// Moderated post

		else if($visible == 0 && $first_post && !is_moderator($fid, "", $mybb->user['uid']))
{
// Moderated post

Zeile 356Zeile 365
		{
$lang->redirect_postedited .= $lang->redirect_postedited_redirect;
$url = get_post_link($pid, $tid)."#pid{$pid}";

		{
$lang->redirect_postedited .= $lang->redirect_postedited_redirect;
$url = get_post_link($pid, $tid)."#pid{$pid}";

		}

		}

		$plugins->run_hooks("editpost_do_editpost_end");

redirect($url, $lang->redirect_postedited);

		$plugins->run_hooks("editpost_do_editpost_end");

redirect($url, $lang->redirect_postedited);

Zeile 380Zeile 389
	if($mybb->user['uid'] != 0)
{
eval("\$loginbox = \"".$templates->get("changeuserbox")."\";");

	if($mybb->user['uid'] != 0)
{
eval("\$loginbox = \"".$templates->get("changeuserbox")."\";");

	}

	}

	else
{
eval("\$loginbox = \"".$templates->get("loginbox")."\";");
}

	else
{
eval("\$loginbox = \"".$templates->get("loginbox")."\";");
}


// Setup a unique posthash for attachment management
$posthash = htmlspecialchars_uni($post['posthash']);

 

$bgcolor = "trow1";
if($forumpermissions['canpostattachments'] != 0)
{ // Get a listing of the current attachments, if there are any
$attachcount = 0;


$bgcolor = "trow1";
if($forumpermissions['canpostattachments'] != 0)
{ // Get a listing of the current attachments, if there are any
$attachcount = 0;

		if($posthash)
{
$posthash_query = "posthash='{$posthash}' OR ";
}
else
{
$posthash_query = "";
}
$query = $db->simple_select("attachments", "*", "{$posthash_query}pid='{$pid}'");

		$query = $db->simple_select("attachments", "*", "pid='{$pid}'");









		$attachments = '';
while($attachment = $db->fetch_array($query))
{
$attachment['size'] = get_friendly_size($attachment['filesize']);
$attachment['icon'] = get_attachment_icon(get_extension($attachment['filename']));

		$attachments = '';
while($attachment = $db->fetch_array($query))
{
$attachment['size'] = get_friendly_size($attachment['filesize']);
$attachment['icon'] = get_attachment_icon(get_extension($attachment['filename']));

 
			$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);


			if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && (!$mybb->user['uid'] || $mybb->user['showcodebuttons'] != 0))
{
eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";");

			if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && (!$mybb->user['uid'] || $mybb->user['showcodebuttons'] != 0))
{
eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";");

Zeile 414Zeile 414
			// Moderating options
$attach_mod_options = '';
if(is_moderator($fid))

			// Moderating options
$attach_mod_options = '';
if(is_moderator($fid))

			{

			{

				if($attachment['visible'] == 1)
{
eval("\$attach_mod_options = \"".$templates->get("post_attachments_attachment_mod_unapprove")."\";");

				if($attachment['visible'] == 1)
{
eval("\$attach_mod_options = \"".$templates->get("post_attachments_attachment_mod_unapprove")."\";");

Zeile 431Zeile 431
			if($attachment['visible'] != 1)
{
eval("\$attachments .= \"".$templates->get("post_attachments_attachment_unapproved")."\";");

			if($attachment['visible'] != 1)
{
eval("\$attachments .= \"".$templates->get("post_attachments_attachment_unapproved")."\";");

			}
else
{

			}
else
{

				eval("\$attachments .= \"".$templates->get("post_attachments_attachment")."\";");
}
$attachcount++;

				eval("\$attachments .= \"".$templates->get("post_attachments_attachment")."\";");
}
$attachcount++;

Zeile 451Zeile 451
		else
{
$friendlyquota = get_friendly_size($mybb->usergroup['attachquota']*1024);

		else
{
$friendlyquota = get_friendly_size($mybb->usergroup['attachquota']*1024);

		}

		}

		$friendlyusage = get_friendly_size($usage['ausage']);
$lang->attach_quota = $lang->sprintf($lang->attach_quota, $friendlyusage, $friendlyquota);
if($mybb->settings['maxattachments'] == 0 || ($mybb->settings['maxattachments'] != 0 && $attachcount < $mybb->settings['maxattachments']) && !$noshowattach)

		$friendlyusage = get_friendly_size($usage['ausage']);
$lang->attach_quota = $lang->sprintf($lang->attach_quota, $friendlyusage, $friendlyquota);
if($mybb->settings['maxattachments'] == 0 || ($mybb->settings['maxattachments'] != 0 && $attachcount < $mybb->settings['maxattachments']) && !$noshowattach)

Zeile 460Zeile 460
			{
eval("\$attach_update_options = \"".$templates->get("post_attachments_update")."\";");
}

			{
eval("\$attach_update_options = \"".$templates->get("post_attachments_update")."\";");
}





			eval("\$newattach = \"".$templates->get("post_attachments_new")."\";");
}
eval("\$attachbox = \"".$templates->get("post_attachments")."\";");

			eval("\$newattach = \"".$templates->get("post_attachments_new")."\";");
}
eval("\$attachbox = \"".$templates->get("post_attachments")."\";");

Zeile 482Zeile 482
		require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("update");
$posthandler->action = "post";

		require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("update");
$posthandler->action = "post";

	



		// Set the post data that came from the input to the $post array.
$post = array(
"pid" => $mybb->input['pid'],

		// Set the post data that came from the input to the $post array.
$post = array(
"pid" => $mybb->input['pid'],

Zeile 499Zeile 499
			$post['uid'] = $mybb->user['uid'];
$post['username'] = $mybb->user['username'];
}

			$post['uid'] = $mybb->user['uid'];
$post['username'] = $mybb->user['username'];
}

	



		// Set up the post options from the input.
$post['options'] = array(
"signature" => $mybb->input['postoptions']['signature'],
"emailnotify" => $mybb->input['postoptions']['emailnotify'],
"disablesmilies" => $mybb->input['postoptions']['disablesmilies']
);

		// Set up the post options from the input.
$post['options'] = array(
"signature" => $mybb->input['postoptions']['signature'],
"emailnotify" => $mybb->input['postoptions']['emailnotify'],
"disablesmilies" => $mybb->input['postoptions']['disablesmilies']
);

	



		$posthandler->set_data($post);

		$posthandler->set_data($post);

	



		// Now let the post handler do all the hard work.
if(!$posthandler->validate_post())
{

		// Now let the post handler do all the hard work.
if(!$posthandler->validate_post())
{

Zeile 579Zeile 579

$postbit = build_postbit($postinfo, 1);
eval("\$preview = \"".$templates->get("previewpost")."\";");


$postbit = build_postbit($postinfo, 1);
eval("\$preview = \"".$templates->get("previewpost")."\";");

	}

	}

	else if(!$post_errors)
{
$message = htmlspecialchars_uni($message);

	else if(!$post_errors)
{
$message = htmlspecialchars_uni($message);

Zeile 588Zeile 588
		if($post['includesig'] != 0)
{
$postoptionschecked['signature'] = " checked=\"checked\"";

		if($post['includesig'] != 0)
{
$postoptionschecked['signature'] = " checked=\"checked\"";

		}

		}


if($post['smilieoff'] == 1)
{


if($post['smilieoff'] == 1)
{

Zeile 597Zeile 597

$query = $db->simple_select("threadsubscriptions", "notification", "tid='{$tid}' AND uid='{$mybb->user['uid']}'");
if($db->num_rows($query) > 0)


$query = $db->simple_select("threadsubscriptions", "notification", "tid='{$tid}' AND uid='{$mybb->user['uid']}'");
if($db->num_rows($query) > 0)

		{

		{

			$notification = $db->fetch_field($query, 'notification');

if($notification == 0)

			$notification = $db->fetch_field($query, 'notification');

if($notification == 0)

Zeile 614Zeile 614
			}
}
}

			}
}
}

	



	// Generate thread prefix selector if this is the first post of the thread
if($thread['firstpost'] == $pid)
{

	// Generate thread prefix selector if this is the first post of the thread
if($thread['firstpost'] == $pid)
{

Zeile 622Zeile 622
		{
$mybb->input['threadprefix'] = $thread['prefix'];
}

		{
$mybb->input['threadprefix'] = $thread['prefix'];
}

		



		$prefixselect = build_prefix_select($forum['fid'], $mybb->input['threadprefix']);

		$prefixselect = build_prefix_select($forum['fid'], $mybb->input['threadprefix']);

	}
else
{

	}
else
{

		$prefixselect = "";
}

		$prefixselect = "";
}

	



	// Fetch subscription select box
$bgcolor = "trow1";
eval("\$subscriptionmethod = \"".$templates->get("post_subscription_method")."\";");

	// Fetch subscription select box
$bgcolor = "trow1";
eval("\$subscriptionmethod = \"".$templates->get("post_subscription_method")."\";");

Zeile 643Zeile 643
		$numpolloptions = "2";
eval("\$pollbox = \"".$templates->get("newthread_postpoll")."\";");
}

		$numpolloptions = "2";
eval("\$pollbox = \"".$templates->get("newthread_postpoll")."\";");
}

	



	// Can we disable smilies or are they disabled already?
if($forum['allowsmilies'] != 0)

	// Can we disable smilies or are they disabled already?
if($forum['allowsmilies'] != 0)

	{

	{

		eval("\$disablesmilies = \"".$templates->get("editpost_disablesmilies")."\";");

		eval("\$disablesmilies = \"".$templates->get("editpost_disablesmilies")."\";");

	}

	}

	else
{
$disablesmilies = "<input type=\"hidden\" name=\"postoptions[disablesmilies]\" value=\"no\" />";
}

	else
{
$disablesmilies = "<input type=\"hidden\" name=\"postoptions[disablesmilies]\" value=\"no\" />";
}





	$plugins->run_hooks("editpost_end");

	$plugins->run_hooks("editpost_end");

	



	$forum['name'] = strip_tags($forum['name']);

eval("\$editpost = \"".$templates->get("editpost")."\";");

	$forum['name'] = strip_tags($forum['name']);

eval("\$editpost = \"".$templates->get("editpost")."\";");