Vergleich search.php - 1.6.4 - 1.6.8

  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: search.php 5442 2011-04-16 09:09:38Z jammerx2 $

 * $Id: search.php 5828 2012-05-08 16:06:16Z Tomm $

 */



 */



Zeile 184Zeile 184
			ORDER BY pid, disporder
");


			ORDER BY pid, disporder
");


		$forumsread = unserialize($mybb->cookies['mybb']['forumread']);

		$forumsread = my_unserialize($mybb->cookies['mybb']['forumread']);

	}
else
{

	}
else
{

Zeile 197Zeile 197
			ORDER BY pid, disporder
");
}

			ORDER BY pid, disporder
");
}

 


	while($forum = $db->fetch_array($query))
{
if($mybb->user['uid'] == 0)

	while($forum = $db->fetch_array($query))
{
if($mybb->user['uid'] == 0)

Zeile 204Zeile 205
			if($forumsread[$forum['fid']])
{
$forum['lastread'] = $forumsread[$forum['fid']];

			if($forumsread[$forum['fid']])
{
$forum['lastread'] = $forumsread[$forum['fid']];

			}
}

			}
}

		$readforums[$forum['fid']] = $forum['lastread'];
}
$fpermissions = forum_permissions();

		$readforums[$forum['fid']] = $forum['lastread'];
}
$fpermissions = forum_permissions();

Zeile 214Zeile 215
	$inlinemodcol = $inlinecookie = '';
$is_mod = $is_supermod = false;
if($mybb->usergroup['issupermod'])

	$inlinemodcol = $inlinecookie = '';
$is_mod = $is_supermod = false;
if($mybb->usergroup['issupermod'])

	{

	{

		$is_supermod = true;
}
if($is_supermod || is_moderator())

		$is_supermod = true;
}
if($is_supermod || is_moderator())

Zeile 260Zeile 261
			$where_conditions = $search['querycache'];
$query = $db->simple_select("threads t", "t.tid", $where_conditions. " AND {$unapproved_where} AND t.closed NOT LIKE 'moved|%' {$limitsql}");
while($thread = $db->fetch_array($query))

			$where_conditions = $search['querycache'];
$query = $db->simple_select("threads t", "t.tid", $where_conditions. " AND {$unapproved_where} AND t.closed NOT LIKE 'moved|%' {$limitsql}");
while($thread = $db->fetch_array($query))

			{

			{

				$threads[$thread['tid']] = $thread['tid'];
$threadcount++;

				$threads[$thread['tid']] = $thread['tid'];
$threadcount++;

			}

			}

			// Build our list of threads.
if($threadcount > 0)

			// Build our list of threads.
if($threadcount > 0)

			{

			{

				$search['threads'] = implode(",", $threads);

				$search['threads'] = implode(",", $threads);

			}

			}

			// No results.

			// No results.

			else
{
error($lang->error_nosearchresults);
}
$where_conditions = "t.tid IN (".$search['threads'].")";

			else
{
error($lang->error_nosearchresults);
}
$where_conditions = "t.tid IN (".$search['threads'].")";

		}
// This search doesn't use a query cache, results stored in search table.
else

		}
// This search doesn't use a query cache, results stored in search table.
else

Zeile 284Zeile 285
			$count = $db->fetch_array($query);

if(!$count['resultcount'])

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

if(!$count['resultcount'])

			{

			{

				error($lang->error_nosearchresults);
}
$threadcount = $count['resultcount'];

				error($lang->error_nosearchresults);
}
$threadcount = $count['resultcount'];

Zeile 303Zeile 304
			}
}
if(!empty($onlyusfids))

			}
}
if(!empty($onlyusfids))

		{

		{

			$permsql .= "AND ((t.fid IN(".implode(',', $onlyusfids).") AND t.uid='{$mybb->user['uid']}') OR t.fid NOT IN(".implode(',', $onlyusfids)."))";
}


			$permsql .= "AND ((t.fid IN(".implode(',', $onlyusfids).") AND t.uid='{$mybb->user['uid']}') OR t.fid NOT IN(".implode(',', $onlyusfids)."))";
}


Zeile 342Zeile 343
		$thread_ids = implode(",", array_keys($thread_cache));

if(empty($thread_ids))

		$thread_ids = implode(",", array_keys($thread_cache));

if(empty($thread_ids))

		{

		{

			error($lang->error_nosearchresults);
}


			error($lang->error_nosearchresults);
}


Zeile 350Zeile 351
		if($mybb->settings['dotfolders'] != 0 && $mybb->user['uid'] && $thread_cache)
{
$query = $db->simple_select("posts", "DISTINCT tid,uid", "uid='".$mybb->user['uid']."' AND tid IN(".$thread_ids.")");

		if($mybb->settings['dotfolders'] != 0 && $mybb->user['uid'] && $thread_cache)
{
$query = $db->simple_select("posts", "DISTINCT tid,uid", "uid='".$mybb->user['uid']."' AND tid IN(".$thread_ids.")");

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

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

				$thread_cache[$thread['tid']]['dot_icon'] = 1;
}
}

				$thread_cache[$thread['tid']]['dot_icon'] = 1;
}
}

Zeile 365Zeile 366
				$thread_cache[$readthread['tid']]['lastread'] = $readthread['dateline'];
}
}

				$thread_cache[$readthread['tid']]['lastread'] = $readthread['dateline'];
}
}









if(!$mybb->settings['maxmultipagelinks'])
{
$mybb->settings['maxmultipagelinks'] = 5;
}


		foreach($thread_cache as $thread)
{
$bgcolor = alt_trow();

		foreach($thread_cache as $thread)
{
$bgcolor = alt_trow();

Zeile 394Zeile 400
			$thread['subject'] = htmlspecialchars_uni($thread['subject']);

if($icon_cache[$thread['icon']])

			$thread['subject'] = htmlspecialchars_uni($thread['subject']);

if($icon_cache[$thread['icon']])

			{

			{

				$posticon = $icon_cache[$thread['icon']];
$icon = "<img src=\"".$posticon['path']."\" alt=\"".$posticon['name']."\" />";

				$posticon = $icon_cache[$thread['icon']];
$icon = "<img src=\"".$posticon['path']."\" alt=\"".$posticon['name']."\" />";

			}

			}

			else

			else

			{

			{

				$icon = "&nbsp;";
}
if($thread['poll'])

				$icon = "&nbsp;";
}
if($thread['poll'])

			{

			{

				$prefix = $lang->poll_prefix;
}


				$prefix = $lang->poll_prefix;
}


Zeile 423Zeile 429
			if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'])
{
$forum_read = $readforums[$thread['fid']];

			if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'])
{
$forum_read = $readforums[$thread['fid']];

			
$read_cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;
if($forum_read == 0 || $forum_read < $read_cutoff)
{
$forum_read = $read_cutoff;
}

			
$read_cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;
if($forum_read == 0 || $forum_read < $read_cutoff)
{
$forum_read = $read_cutoff;
}

			}
else

			}
else

			{

			{

				$forum_read = $forumsread[$thread['fid']];
}

if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $thread['lastpost'] > $forum_read)
{
if($thread['lastread'])

				$forum_read = $forumsread[$thread['fid']];
}

if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $thread['lastpost'] > $forum_read)
{
if($thread['lastread'])

				{

				{

					$last_read = $thread['lastread'];
}
else

					$last_read = $thread['lastread'];
}
else

Zeile 457Zeile 463
			}

if($thread['lastpost'] > $last_read && $last_read)

			}

if($thread['lastpost'] > $last_read && $last_read)

			{

			{

				$folder .= "new";
$new_class = "subject_new";
$folder_label .= $lang->icon_new;

				$folder .= "new";
$new_class = "subject_new";
$folder_label .= $lang->icon_new;

Zeile 477Zeile 483
				$folder_label .= $lang->icon_hot;
}
if($thread['closed'] == 1)

				$folder_label .= $lang->icon_hot;
}
if($thread['closed'] == 1)

			{

			{

				$folder .= "lock";
$folder_label .= $lang->icon_lock;
}

				$folder .= "lock";
$folder_label .= $lang->icon_lock;
}

Zeile 486Zeile 492
			if(!$mybb->settings['postsperpage'])
{
$mybb->settings['postperpage'] = 20;

			if(!$mybb->settings['postsperpage'])
{
$mybb->settings['postperpage'] = 20;

			}

			}


$thread['pages'] = 0;
$thread['multipage'] = '';


$thread['pages'] = 0;
$thread['multipage'] = '';

Zeile 501Zeile 507
			{
$thread['pages'] = $thread['posts'] / $mybb->settings['postsperpage'];
$thread['pages'] = ceil($thread['pages']);

			{
$thread['pages'] = $thread['posts'] / $mybb->settings['postsperpage'];
$thread['pages'] = ceil($thread['pages']);

				if($thread['pages'] > 4)

				if($thread['pages'] > $mybb->settings['maxmultipagelinks'])

				{

				{

					$pagesstop = 4;

					$pagesstop = $mybb->settings['maxmultipagelinks'] - 1;

					$page_link = get_thread_link($thread['tid'], $thread['pages']).$highlight;
eval("\$morelink = \"".$templates->get("forumdisplay_thread_multipage_more")."\";");

					$page_link = get_thread_link($thread['tid'], $thread['pages']).$highlight;
eval("\$morelink = \"".$templates->get("forumdisplay_thread_multipage_more")."\";");

				}
else

				}
else

				{
$pagesstop = $thread['pages'];

				{
$pagesstop = $thread['pages'];

				}

				}

				for($i = 1; $i <= $pagesstop; ++$i)
{
$page_link = get_thread_link($thread['tid'], $i).$highlight;
eval("\$threadpages .= \"".$templates->get("forumdisplay_thread_multipage_page")."\";");
}
eval("\$thread['multipage'] = \"".$templates->get("forumdisplay_thread_multipage")."\";");

				for($i = 1; $i <= $pagesstop; ++$i)
{
$page_link = get_thread_link($thread['tid'], $i).$highlight;
eval("\$threadpages .= \"".$templates->get("forumdisplay_thread_multipage_page")."\";");
}
eval("\$thread['multipage'] = \"".$templates->get("forumdisplay_thread_multipage")."\";");

			}

			}

			else
{
$threadpages = '';

			else
{
$threadpages = '';

Zeile 535Zeile 541
			if($lastposteruid == 0)
{
$lastposterlink = $lastposter;

			if($lastposteruid == 0)
{
$lastposterlink = $lastposter;

			}
else

			}
else

			{
$lastposterlink = build_profile_link($lastposter, $lastposteruid);
}

			{
$lastposterlink = build_profile_link($lastposter, $lastposteruid);
}

Zeile 575Zeile 581
				{
$attachment_count = $lang->attachment_count;
}

				{
$attachment_count = $lang->attachment_count;
}





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

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

			}

			}

			else
{
$attachment_count = '';
}

$inline_edit_tid = $thread['tid'];

			else
{
$attachment_count = '';
}

$inline_edit_tid = $thread['tid'];

			

			

			// Inline thread moderation
$inline_mod_checkbox = '';
if($is_supermod || is_moderator($thread['fid']))

			// Inline thread moderation
$inline_mod_checkbox = '';
if($is_supermod || is_moderator($thread['fid']))

			{

			{

				eval("\$inline_mod_checkbox = \"".$templates->get("search_results_threads_inlinecheck")."\";");
}
elseif($is_mod)

				eval("\$inline_mod_checkbox = \"".$templates->get("search_results_threads_inlinecheck")."\";");
}
elseif($is_mod)

			{

			{

				eval("\$inline_mod_checkbox = \"".$templates->get("search_results_threads_nocheck")."\";");
}


				eval("\$inline_mod_checkbox = \"".$templates->get("search_results_threads_nocheck")."\";");
}


Zeile 600Zeile 606
			eval("\$results .= \"".$templates->get("search_results_threads_thread")."\";");
}
if(!$results)

			eval("\$results .= \"".$templates->get("search_results_threads_thread")."\";");
}
if(!$results)

		{
error($lang->error_nosearchresults);

		{
error($lang->error_nosearchresults);

		}
else
{

		}
else
{

Zeile 637Zeile 643
			}

while($tool = $db->fetch_array($query))

			}

while($tool = $db->fetch_array($query))

			{

			{

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

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

			}

			}

			// Build inline moderation dropdown
if(!empty($customthreadtools))
{
eval("\$customthreadtools = \"".$templates->get("search_results_threads_inlinemoderation_custom")."\";");
}
eval("\$inlinemod = \"".$templates->get("search_results_threads_inlinemoderation")."\";");

			// Build inline moderation dropdown
if(!empty($customthreadtools))
{
eval("\$customthreadtools = \"".$templates->get("search_results_threads_inlinemoderation_custom")."\";");
}
eval("\$inlinemod = \"".$templates->get("search_results_threads_inlinemoderation")."\";");

		}

		}

		
$plugins->run_hooks("search_results_end");

		
$plugins->run_hooks("search_results_end");

		

		

		eval("\$searchresults = \"".$templates->get("search_results_threads")."\";");
output_page($searchresults);
}
else // Displaying results as posts
{
if(!$search['posts'])

		eval("\$searchresults = \"".$templates->get("search_results_threads")."\";");
output_page($searchresults);
}
else // Displaying results as posts
{
if(!$search['posts'])

		{
error($lang->error_nosearchresults);
}

$postcount = 0;


		{
error($lang->error_nosearchresults);
}

$postcount = 0;


		// Moderators can view unapproved threads
$query = $db->simple_select("moderators", "fid", "(id='{$mybb->user['uid']}' AND isgroup='0') OR (id='{$mybb->user['usergroup']}' AND isgroup='1')");
if($mybb->usergroup['issupermod'] == 1)

		// Moderators can view unapproved threads
$query = $db->simple_select("moderators", "fid", "(id='{$mybb->user['uid']}' AND isgroup='0') OR (id='{$mybb->user['usergroup']}' AND isgroup='1')");
if($mybb->usergroup['issupermod'] == 1)

Zeile 671Zeile 677
			$t_unapproved_where = "visible < 0";
}
elseif($db->num_rows($query))

			$t_unapproved_where = "visible < 0";
}
elseif($db->num_rows($query))

		{

		{

			// Normal moderators
$moderated_forums = '0';
while($forum = $db->fetch_array($query))

			// Normal moderators
$moderated_forums = '0';
while($forum = $db->fetch_array($query))

Zeile 681Zeile 687
			}
$p_unapproved_where = "visible >= 0";
$t_unapproved_where = "visible < 0 AND fid NOT IN ({$moderated_forums})";

			}
$p_unapproved_where = "visible >= 0";
$t_unapproved_where = "visible < 0 AND fid NOT IN ({$moderated_forums})";

		}

		}

		else
{
// Normal users

		else
{
// Normal users

Zeile 699Zeile 705
		{
$post_cache_options['order_by'] = str_replace('p.', '', $sortfield);
$post_cache_options['order_dir'] = $order;

		{
$post_cache_options['order_by'] = str_replace('p.', '', $sortfield);
$post_cache_options['order_dir'] = $order;

		}


		}


		$tids = array();
$pids = array();
// Make sure the posts we're viewing we have permission to view.

		$tids = array();
$pids = array();
// Make sure the posts we're viewing we have permission to view.

Zeile 709Zeile 715
		{
$pids[$post['pid']] = $post['tid'];
$tids[$post['tid']][$post['pid']] = $post['pid'];

		{
$pids[$post['pid']] = $post['tid'];
$tids[$post['tid']][$post['pid']] = $post['pid'];

		}


		}


		if(!empty($pids))
{
$temp_pids = array();

		if(!empty($pids))
{
$temp_pids = array();

Zeile 738Zeile 744
		if(!$postcount)
{
error($lang->error_nosearchresults);

		if(!$postcount)
{
error($lang->error_nosearchresults);

		}

		}

		
// And now we have our sanatized post list
$search['posts'] = implode(',', array_keys($pids));

		
// And now we have our sanatized post list
$search['posts'] = implode(',', array_keys($pids));

Zeile 794Zeile 800
			{
$posticon = $icon_cache[$post['icon']];
$icon = "<img src=\"".$posticon['path']."\" alt=\"".$posticon['name']."\" />";

			{
$posticon = $icon_cache[$post['icon']];
$icon = "<img src=\"".$posticon['path']."\" alt=\"".$posticon['name']."\" />";

			}
else
{

			}
else
{

				$icon = "&nbsp;";
}


				$icon = "&nbsp;";
}


Zeile 816Zeile 822
			$donenew = 0;
$last_read = 0;
$post['thread_lastread'] = $readthreads[$post['tid']];

			$donenew = 0;
$last_read = 0;
$post['thread_lastread'] = $readthreads[$post['tid']];

			if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $post['thread_lastpost'] > $forumread)


















if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'])
{
$forum_read = $readforums[$post['fid']];

$read_cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;
if($forum_read == 0 || $forum_read < $read_cutoff)
{
$forum_read = $read_cutoff;
}
}
else
{
$forum_read = $forumsread[$post['fid']];
}

if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $post['thread_lastpost'] > $forum_read)

			{
$cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;
if($post['thread_lastpost'] > $cutoff)

			{
$cutoff = TIME_NOW-$mybb->settings['threadreadcut']*60*60*24;
if($post['thread_lastpost'] > $cutoff)

Zeile 841Zeile 863
			if(!$last_read)
{
$readcookie = $threadread = my_get_array_cookie("threadread", $post['tid']);

			if(!$last_read)
{
$readcookie = $threadread = my_get_array_cookie("threadread", $post['tid']);

				if($readcookie > $forumread)

				if($readcookie > $forum_read)

				{
$last_read = $readcookie;
}

				{
$last_read = $readcookie;
}

				elseif($forumread > $mybb->user['lastvisit'])

				elseif($forum_read > $mybb->user['lastvisit'])

				{

				{

					$last_read = $forumread;

					$last_read = $forum_read;

				}
else
{

				}
else
{