Vergleich showthread.php - 1.8.18 - 1.8.22

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 13Zeile 13

$templatelist = "showthread,postbit,postbit_author_user,postbit_author_guest,showthread_newthread,showthread_newreply,showthread_newreply_closed,postbit_avatar,postbit_find,postbit_pm,postbit_www,postbit_email,postbit_edit,postbit_quote,postbit_report";
$templatelist .= ",multipage,multipage_breadcrumb,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,showthread_inlinemoderation_softdelete,showthread_poll_editpoll";


$templatelist = "showthread,postbit,postbit_author_user,postbit_author_guest,showthread_newthread,showthread_newreply,showthread_newreply_closed,postbit_avatar,postbit_find,postbit_pm,postbit_www,postbit_email,postbit_edit,postbit_quote,postbit_report";
$templatelist .= ",multipage,multipage_breadcrumb,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,showthread_inlinemoderation_softdelete,showthread_poll_editpoll";

$templatelist .= ",postbit_editedby,showthread_similarthreads,showthread_similarthreads_bit,postbit_iplogged_show,postbit_iplogged_hiden,postbit_profilefield,showthread_quickreply,showthread_add_poll,showthread_send_thread,showthread_inlinemoderation_restore";

$templatelist .= ",postbit_editedby,showthread_similarthreads,showthread_similarthreads_bit,postbit_iplogged_show,postbit_iplogged_hiden,postbit_profilefield,showthread_quickreply,showthread_printthread,showthread_add_poll,showthread_send_thread,showthread_inlinemoderation_restore";

$templatelist .= ",forumjump_advanced,forumjump_special,forumjump_bit,postbit_attachments,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images_image,postbit_attachments_images,showthread_quickreply_options_stick,postbit_status";
$templatelist .= ",postbit_inlinecheck,showthread_inlinemoderation,postbit_attachments_thumbnails_thumbnail,postbit_ignored,postbit_multiquote,showthread_moderationoptions_custom_tool,showthread_moderationoptions_custom,showthread_inlinemoderation_custom_tool";
$templatelist .= ",showthread_usersbrowsing,showthread_usersbrowsing_user,showthread_poll_option,showthread_poll,showthread_quickreply_options_signature,showthread_threaded_bitactive,showthread_threaded_bit,postbit_attachments_attachment_unapproved";

$templatelist .= ",forumjump_advanced,forumjump_special,forumjump_bit,postbit_attachments,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images_image,postbit_attachments_images,showthread_quickreply_options_stick,postbit_status";
$templatelist .= ",postbit_inlinecheck,showthread_inlinemoderation,postbit_attachments_thumbnails_thumbnail,postbit_ignored,postbit_multiquote,showthread_moderationoptions_custom_tool,showthread_moderationoptions_custom,showthread_inlinemoderation_custom_tool";
$templatelist .= ",showthread_usersbrowsing,showthread_usersbrowsing_user,showthread_poll_option,showthread_poll,showthread_quickreply_options_signature,showthread_threaded_bitactive,showthread_threaded_bit,postbit_attachments_attachment_unapproved";

Zeile 145Zeile 145
// Make sure we are looking at a real thread here.
if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] == 0 && !is_moderator($fid, "canviewunapprove")) || ($thread['visible'] == -1 && !is_moderator($fid, "canviewdeleted")))
{

// Make sure we are looking at a real thread here.
if(($thread['visible'] != 1 && $ismod == false) || ($thread['visible'] == 0 && !is_moderator($fid, "canviewunapprove")) || ($thread['visible'] == -1 && !is_moderator($fid, "canviewdeleted")))
{

	error($lang->error_invalidthread);
}






	// Allow viewing own unapproved thread
if (!($mybb->user['uid'] && $mybb->settings['showownunapproved'] && $thread['visible'] == 0 && ($thread['uid'] == $mybb->user['uid'])))
{
error($lang->error_invalidthread);
}
}


// Does the user have permission to view this thread?
if($forumpermissions['canview'] != 1 || $forumpermissions['canviewthreads'] != 1)
{
error_no_permission();
}

// Does the user have permission to view this thread?
if($forumpermissions['canview'] != 1 || $forumpermissions['canviewthreads'] != 1)
{
error_no_permission();
}


if(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid'])
{
error_no_permission();
}



if(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid'])
{
error_no_permission();
}


$archive_url = build_archive_link("thread", $tid);

// Does the thread belong to a valid forum?

$archive_url = build_archive_link("thread", $tid);

// Does the thread belong to a valid forum?

Zeile 166Zeile 170
if(!$forum || $forum['type'] != "f")
{
error($lang->error_invalidforum);

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

}

}


$threadnoteslink = '';
if(is_moderator($fid, "canmanagethreads") && !empty($thread['notes']))


$threadnoteslink = '';
if(is_moderator($fid, "canmanagethreads") && !empty($thread['notes']))

Zeile 273Zeile 277
	{
// show them to the last post
$mybb->input['action'] = "lastpost";

	{
// show them to the last post
$mybb->input['action'] = "lastpost";

	}

	}

}

// Jump to the last post.

}

// Jump to the last post.

Zeile 315Zeile 319
		"order_by" => "lastpost"
);
$query = $db->simple_select('threads', '*', "fid={$thread['fid']} AND lastpost > {$thread['lastpost']} {$visibleonly} AND closed NOT LIKE 'moved|%'", $options);

		"order_by" => "lastpost"
);
$query = $db->simple_select('threads', '*', "fid={$thread['fid']} AND lastpost > {$thread['lastpost']} {$visibleonly} AND closed NOT LIKE 'moved|%'", $options);

	$nextthread = $db->fetch_array($query);

	$nextthread = $db->fetch_array($query);


// Are there actually next newest posts?
if(!$nextthread['tid'])


// Are there actually next newest posts?
if(!$nextthread['tid'])

Zeile 358Zeile 362
		"limit" => 1,
"order_by" => "dateline",
"order_dir" => "desc"

		"limit" => 1,
"order_by" => "dateline",
"order_dir" => "desc"

	);

	);

	$query = $db->simple_select("posts", "pid", "tid='".$nextthread['tid']."'", $options);

	$query = $db->simple_select("posts", "pid", "tid='".$nextthread['tid']."'", $options);





	// Redirect to the proper page.
$pid = $db->fetch_field($query, "pid");
header("Location: ".htmlspecialchars_decode(get_post_link($pid, $nextthread['tid']))."#pid{$pid}");

	// Redirect to the proper page.
$pid = $db->fetch_field($query, "pid");
header("Location: ".htmlspecialchars_decode(get_post_link($pid, $nextthread['tid']))."#pid{$pid}");

Zeile 368Zeile 372
}

$pid = $mybb->input['pid'] = $mybb->get_input('pid', MyBB::INPUT_INT);

}

$pid = $mybb->input['pid'] = $mybb->get_input('pid', MyBB::INPUT_INT);





// Forumdisplay cache
$forum_stats = $cache->read("forumsdisplay");

// Forumdisplay cache
$forum_stats = $cache->read("forumsdisplay");





$breadcrumb_multipage = array();
if($mybb->settings['showforumpagesbreadcrumb'])
{

$breadcrumb_multipage = array();
if($mybb->settings['showforumpagesbreadcrumb'])
{

Zeile 379Zeile 383
	if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)
{
$mybb->settings['threadsperpage'] = 20;

	if(!$mybb->settings['threadsperpage'] || (int)$mybb->settings['threadsperpage'] < 1)
{
$mybb->settings['threadsperpage'] = 20;

	}


	}


	$query = $db->simple_select("forums", "threads, unapprovedthreads, deletedthreads", "fid = '{$fid}'", array('limit' => 1));
$forum_threads = $db->fetch_array($query);
$threadcount = $forum_threads['threads'];

	$query = $db->simple_select("forums", "threads, unapprovedthreads, deletedthreads", "fid = '{$fid}'", array('limit' => 1));
$forum_threads = $db->fetch_array($query);
$threadcount = $forum_threads['threads'];

Zeile 391Zeile 395
		if(is_moderator($fid, "canviewdeleted") == true)
{
$threadcount += $forum_threads['deletedthreads'];

		if(is_moderator($fid, "canviewdeleted") == true)
{
$threadcount += $forum_threads['deletedthreads'];

		}

		}

		if(is_moderator($fid, "canviewunapprove") == true)
{
$threadcount += $forum_threads['unapprovedthreads'];

		if(is_moderator($fid, "canviewunapprove") == true)
{
$threadcount += $forum_threads['unapprovedthreads'];

Zeile 400Zeile 404
	elseif($forumpermissions['canviewdeletionnotice'] != 0)
{
$threadcount += $forum_threads['deletedthreads'];

	elseif($forumpermissions['canviewdeletionnotice'] != 0)
{
$threadcount += $forum_threads['deletedthreads'];

	}


	}


	// Limit to only our own threads
$uid_only = '';
if(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1)

	// Limit to only our own threads
$uid_only = '';
if(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1)

Zeile 486Zeile 490
		if($forumpermissions['canvotepolls'] != 1)
{
$nopermission = 1;

		if($forumpermissions['canvotepolls'] != 1)
{
$nopermission = 1;

		}

		}


// Check if the user has voted before...
if($mybb->user['uid'])


// Check if the user has voted before...
if($mybb->user['uid'])

Zeile 828Zeile 832
		$defaultmode = $mybb->user['threadmode'];
}
else if($mybb->settings['threadusenetstyle'] == 1)

		$defaultmode = $mybb->user['threadmode'];
}
else if($mybb->settings['threadusenetstyle'] == 1)

	{

	{

		$defaultmode = 'threaded';
}
else
{
$defaultmode = 'linear';

		$defaultmode = 'threaded';
}
else
{
$defaultmode = 'linear';

	}

	}


// If mode is unset, set the default mode
if(!isset($mybb->input['mode']))


// If mode is unset, set the default mode
if(!isset($mybb->input['mode']))

Zeile 850Zeile 854

// Are we linked to a specific pid?
if($mybb->input['pid'])


// Are we linked to a specific pid?
if($mybb->input['pid'])

		{

		{

			$where = "AND p.pid='".$mybb->input['pid']."'";

			$where = "AND p.pid='".$mybb->input['pid']."'";

		}

		}

		else

		else

		{

		{

			$where = " ORDER BY dateline LIMIT 0, 1";
}
$query = $db->query("

			$where = " ORDER BY dateline LIMIT 0, 1";
}
$query = $db->query("

			SELECT u.*, u.username AS userusername, p.*, f.*, eu.username AS editusername

			SELECT u.*, u.username AS userusername, p.*, f.*, r.reporters, eu.username AS editusername

			FROM ".TABLE_PREFIX."posts p

			FROM ".TABLE_PREFIX."posts p

 
			LEFT JOIN ".TABLE_PREFIX."reportedcontent r ON (r.id=p.pid AND r.type='post' AND r.reportstatus != 1)

			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid)

			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid)

Zeile 871Zeile 876
		if(!$mybb->input['pid'])
{
$mybb->input['pid'] = $showpost['pid'];

		if(!$mybb->input['pid'])
{
$mybb->input['pid'] = $showpost['pid'];

		}


		}


		// Is there actually a pid to display?
if(!$showpost['pid'])
{

		// Is there actually a pid to display?
if(!$showpost['pid'])
{

Zeile 915Zeile 920
                $postsdone[$post['pid']] = 1;
}
}

                $postsdone[$post['pid']] = 1;
}
}





		$threadedbits = buildtree();
$posts = build_postbit($showpost);
eval("\$threadexbox = \"".$templates->get("showthread_threadedbox")."\";");

		$threadedbits = buildtree();
$posts = build_postbit($showpost);
eval("\$threadexbox = \"".$templates->get("showthread_threadedbox")."\";");

Zeile 927Zeile 932
		if(!$mybb->settings['postsperpage'] || (int)$mybb->settings['postsperpage'] < 1)
{
$mybb->settings['postsperpage'] = 20;

		if(!$mybb->settings['postsperpage'] || (int)$mybb->settings['postsperpage'] < 1)
{
$mybb->settings['postsperpage'] = 20;

		}

		}


// Figure out if we need to display multiple pages.
$page = 1;


// Figure out if we need to display multiple pages.
$page = 1;

Zeile 935Zeile 940
		if($mybb->get_input('page', MyBB::INPUT_INT) && $mybb->get_input('page') != "last")
{
$page = $mybb->get_input('page', MyBB::INPUT_INT);

		if($mybb->get_input('page', MyBB::INPUT_INT) && $mybb->get_input('page') != "last")
{
$page = $mybb->get_input('page', MyBB::INPUT_INT);

		}


		}


		if(!empty($mybb->input['pid']))
{
$post = get_post($mybb->input['pid']);
if(empty($post) || ($post['visible'] == 0 && !is_moderator($post['fid'], 'canviewunapprove')) || ($post['visible'] == -1 && !is_moderator($post['fid'], 'canviewdeleted') && $forumpermissions['canviewdeletionnotice'] == 0))
{

		if(!empty($mybb->input['pid']))
{
$post = get_post($mybb->input['pid']);
if(empty($post) || ($post['visible'] == 0 && !is_moderator($post['fid'], 'canviewunapprove')) || ($post['visible'] == -1 && !is_moderator($post['fid'], 'canviewdeleted') && $forumpermissions['canviewdeletionnotice'] == 0))
{

				$footer .= '<script type="text/javascript">$(document).ready(function() { $.jGrowl(\''.$lang->error_invalidpost.'\', {theme: \'jgrowl_error\'}); });</script>';

				$footer .= '<script type="text/javascript">$(function() { $.jGrowl(\''.$lang->error_invalidpost.'\', {theme: \'jgrowl_error\'}); });</script>';

			}
else
{

			}
else
{

Zeile 980Zeile 985
			}
}
elseif($forumpermissions['canviewdeletionnotice'] != 0)

			}
}
elseif($forumpermissions['canviewdeletionnotice'] != 0)

		{

		{

			$thread['replies'] += $thread['deletedposts'];

			$thread['replies'] += $thread['deletedposts'];

		}


		}


		$postcount = (int)$thread['replies']+1;
$pages = $postcount / $perpage;
$pages = ceil($pages);

		$postcount = (int)$thread['replies']+1;
$pages = $postcount / $perpage;
$pages = ceil($pages);

Zeile 991Zeile 996
		if($mybb->get_input('page') == "last")
{
$page = $pages;

		if($mybb->get_input('page') == "last")
{
$page = $pages;

		}

		}


if($page > $pages || $page <= 0)


if($page > $pages || $page <= 0)

		{

		{

			$page = 1;
}

if($page)
{
$start = ($page-1) * $perpage;

			$page = 1;
}

if($page)
{
$start = ($page-1) * $perpage;

		}

		}

		else
{
$start = 0;

		else
{
$start = 0;

Zeile 1055Zeile 1060
        }

$multipage = multipage($postcount, $perpage, $page, str_replace("{tid}", $tid, THREAD_URL_PAGED.$highlight.$threadmode));

        }

$multipage = multipage($postcount, $perpage, $page, str_replace("{tid}", $tid, THREAD_URL_PAGED.$highlight.$threadmode));

 
		
// Allow originator to see own unapproved posts
if($mybb->user['uid'] && $mybb->settings['showownunapproved'])
{
$visible .= " OR (p.tid='$tid' AND p.visible='0' AND p.uid=".$mybb->user['uid'].")";
}


// Lets get the pids of the posts on this page.
$pids = "";


// Lets get the pids of the posts on this page.
$pids = "";

Zeile 1066Zeile 1077
			// to allow this value to be used for Thread Mode/Linear Mode links
// and ensure the user lands on the correct page after changing view mode
if(empty($pid))

			// to allow this value to be used for Thread Mode/Linear Mode links
// and ensure the user lands on the correct page after changing view mode
if(empty($pid))

			{

			{

				$pid = $getid['pid'];

				$pid = $getid['pid'];

			}

			}

			// Gather a comma separated list of post IDs
$pids .= "$comma'{$getid['pid']}'";
$comma = ",";

			// Gather a comma separated list of post IDs
$pids .= "$comma'{$getid['pid']}'";
$comma = ",";

Zeile 1086Zeile 1097
				{
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment;
}

				{
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment;
}

			}
}

			}
}

		else
{
// If there are no pid's the thread is probably awaiting approval.

		else
{
// If there are no pid's the thread is probably awaiting approval.

Zeile 1097Zeile 1108
		// Get the actual posts from the database here.
$posts = '';
$query = $db->query("

		// Get the actual posts from the database here.
$posts = '';
$query = $db->query("

			SELECT u.*, u.username AS userusername, p.*, f.*, eu.username AS editusername

			SELECT u.*, u.username AS userusername, p.*, f.*, r.reporters, eu.username AS editusername

			FROM ".TABLE_PREFIX."posts p

			FROM ".TABLE_PREFIX."posts p

 
			LEFT JOIN ".TABLE_PREFIX."reportedcontent r ON (r.id=p.pid AND r.type='post' AND r.reportstatus != 1)

			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid)

			LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid)

Zeile 1172Zeile 1184
			if(!$similar_thread['username'])
{
$similar_thread['username'] = $similar_thread['profilelink'] = htmlspecialchars_uni($similar_thread['threadusername']);

			if(!$similar_thread['username'])
{
$similar_thread['username'] = $similar_thread['profilelink'] = htmlspecialchars_uni($similar_thread['threadusername']);

			}
else

			}
else

			{
$similar_thread['username'] = htmlspecialchars_uni($similar_thread['username']);
$similar_thread['profilelink'] = build_profile_link($similar_thread['username'], $similar_thread['uid']);

			{
$similar_thread['username'] = htmlspecialchars_uni($similar_thread['username']);
$similar_thread['profilelink'] = build_profile_link($similar_thread['username'], $similar_thread['uid']);

Zeile 1506Zeile 1518
		$inviscount = 0;
$onlinemembers = '';
$doneusers = array();

		$inviscount = 0;
$onlinemembers = '';
$doneusers = array();

 

$query = $db->simple_select("sessions", "COUNT(DISTINCT ip) AS guestcount", "uid = 0 AND time > $timecut AND location2 = $tid AND nopermission != 1");
$guestcount = $db->fetch_field($query, 'guestcount');


$query = $db->query("


$query = $db->query("

			SELECT s.ip, s.uid, s.time, u.username, u.invisible, u.usergroup, u.displaygroup
FROM ".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.time > '$timecut' AND location2='$tid' AND nopermission != 1



			SELECT
s.ip, s.uid, s.time, u.username, u.invisible, u.usergroup, u.displaygroup
FROM
".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.uid != 0 AND s.time > '$timecut' AND location2='$tid' AND nopermission != 1

			ORDER BY u.username ASC, s.time DESC
");

while($user = $db->fetch_array($query))
{

			ORDER BY u.username ASC, s.time DESC
");

while($user = $db->fetch_array($query))
{

			if($user['uid'] == 0)
{
++$guestcount;
}
else if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])

			if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])





			{
++$membercount;
$doneusers[$user['uid']] = $user['time'];

			{
++$membercount;
$doneusers[$user['uid']] = $user['time'];