Vergleich search.php - 1.8.7 - 1.8.17

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 13Zeile 13
define('THIS_SCRIPT', 'search.php');

$templatelist = "search,forumdisplay_thread_gotounread,search_results_threads_thread,search_results_threads,search_results_posts,search_results_posts_post,search_results_icon,search_forumlist_forum,search_forumlist";

define('THIS_SCRIPT', 'search.php');

$templatelist = "search,forumdisplay_thread_gotounread,search_results_threads_thread,search_results_threads,search_results_posts,search_results_posts_post,search_results_icon,search_forumlist_forum,search_forumlist";

$templatelist .= ",multipage,multipage_breadcrumb,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,forumdisplay_thread_multipage_more,forumdisplay_thread_multipage_page,forumdisplay_thread_multipage";
$templatelist .= ",search_results_posts_inlinecheck,search_results_posts_nocheck,search_results_threads_inlinecheck,search_results_threads_nocheck,search_results_inlinemodcol,search_results_posts_inlinemoderation_custom_tool";
$templatelist .= ",search_results_posts_inlinemoderation_custom,search_results_posts_inlinemoderation,search_results_threads_inlinemoderation_custom_tool,search_results_threads_inlinemoderation_custom,search_results_threads_inlinemoderation,search_orderarrow,search_moderator_options";
$templatelist .= ",forumdisplay_thread_attachment_count,search_threads_inlinemoderation_selectall,search_posts_inlinemoderation_selectall,post_prefixselect_prefix,post_prefixselect_multiple";


$templatelist .= ",multipage,multipage_breadcrumb,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start";
$templatelist .= ",search_results_posts_inlinecheck,search_results_posts_nocheck,search_results_threads_inlinecheck,search_results_threads_nocheck,search_results_inlinemodcol,search_results_inlinemodcol_empty,search_results_posts_inlinemoderation_custom_tool";
$templatelist .= ",search_results_posts_inlinemoderation_custom,search_results_posts_inlinemoderation,search_results_threads_inlinemoderation_custom_tool,search_results_threads_inlinemoderation_custom,search_results_threads_inlinemoderation";
$templatelist .= ",forumdisplay_thread_attachment_count,search_threads_inlinemoderation_selectall,search_posts_inlinemoderation_selectall,post_prefixselect_prefix,post_prefixselect_multiple,search_orderarrow";
$templatelist .= ",search_results_posts_forumlink,search_results_threads_forumlink,forumdisplay_thread_multipage_more,forumdisplay_thread_multipage_page,forumdisplay_thread_multipage,search_moderator_options";


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 89Zeile 90
			}
break;
case "forum":

			}
break;
case "forum":

			$sortfield = "t.fid";

			$sortfield = "f.name";

			break;
case "starter":
if($search['resulttype'] == "threads")

			break;
case "starter":
if($search['resulttype'] == "threads")

Zeile 216Zeile 217

// Inline Mod Column for moderators
$inlinemodcol = $inlinecookie = '';


// Inline Mod Column for moderators
$inlinemodcol = $inlinecookie = '';

	$is_mod = $is_supermod = false;

	$is_mod = $is_supermod = $show_inline_moderation = false;

	if($mybb->usergroup['issupermod'])
{
$is_supermod = true;
}
if($is_supermod || is_moderator())
{

	if($mybb->usergroup['issupermod'])
{
$is_supermod = true;
}
if($is_supermod || is_moderator())
{

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

 
		$inlinecookie = "inlinemod_search".$sid;
$inlinecount = 0;
$is_mod = true;

		$inlinecookie = "inlinemod_search".$sid;
$inlinecount = 0;
$is_mod = true;

Zeile 352Zeile 352
			SELECT t.*, u.username AS userusername
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)

			SELECT t.*, u.username AS userusername
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)

 
			LEFT JOIN ".TABLE_PREFIX."forums f ON (t.fid=f.fid)

			WHERE $where_conditions AND {$unapproved_where} {$permsql} AND t.closed NOT LIKE 'moved|%'
ORDER BY $sortfield $order
LIMIT $start, $perpage

			WHERE $where_conditions AND {$unapproved_where} {$permsql} AND t.closed NOT LIKE 'moved|%'
ORDER BY $sortfield $order
LIMIT $start, $perpage

Zeile 423Zeile 424
			{
$thread['username'] = $thread['userusername'];
}

			{
$thread['username'] = $thread['userusername'];
}

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

			$thread['profilelink'] = build_profile_link($thread['username'], $thread['uid']);

// If this thread has a prefix, insert a space between prefix and subject

			$thread['profilelink'] = build_profile_link($thread['username'], $thread['uid']);

// If this thread has a prefix, insert a space between prefix and subject

Zeile 522Zeile 524
			}
if($thread['closed'] == 1)
{

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

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

				$folder .= "close";
$folder_label .= $lang->icon_close;

			}
$folder .= "folder";


			}
$folder .= "folder";


Zeile 537Zeile 539
			$threadpages = '';
$morelink = '';
$thread['posts'] = $thread['replies'] + 1;

			$threadpages = '';
$morelink = '';
$thread['posts'] = $thread['replies'] + 1;

			if(is_moderator($thread['fid'], "canviewunapprove"))

			if(is_moderator($thread['fid'], "canviewdeleted") == true || is_moderator($thread['fid'], "canviewunapprove") == true)

			{

			{

				$thread['posts'] += $thread['unapprovedposts'];








				if(is_moderator($thread['fid'], "canviewdeleted") == true)
{
$thread['posts'] += $thread['deletedposts'];
}
if(is_moderator($thread['fid'], "canviewunapprove") == true)
{
$thread['posts'] += $thread['unapprovedposts'];
}

			}

			}

			if(is_moderator($thread['fid'], "canviewdeleted"))

			elseif($group_permissions[$thread['fid']]['canviewdeletionnotice'] != 0)

			{
$thread['posts'] += $thread['deletedposts'];
}

			{
$thread['posts'] += $thread['deletedposts'];
}

Zeile 566Zeile 575
					eval("\$threadpages .= \"".$templates->get("forumdisplay_thread_multipage_page")."\";");
}
eval("\$thread['multipage'] = \"".$templates->get("forumdisplay_thread_multipage")."\";");

					eval("\$threadpages .= \"".$templates->get("forumdisplay_thread_multipage_page")."\";");
}
eval("\$thread['multipage'] = \"".$templates->get("forumdisplay_thread_multipage")."\";");

			}
else
{

			}
else
{

				$threadpages = '';
$morelink = '';
$thread['multipage'] = '';

				$threadpages = '';
$morelink = '';
$thread['multipage'] = '';

			}

			}

			$lastpostdate = my_date('relative', $thread['lastpost']);

			$lastpostdate = my_date('relative', $thread['lastpost']);

			$lastposter = $thread['lastposter'];

 
			$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");
$lastposteruid = $thread['lastposteruid'];

			$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");
$lastposteruid = $thread['lastposteruid'];

 
			if(!$lastposteruid && !$thread['lastposter'])
{
$lastposter = htmlspecialchars_uni($lang->guest);
}
else
{
$lastposter = htmlspecialchars_uni($thread['lastposter']);
}

			$thread_link = get_thread_link($thread['tid']);

// Don't link to guest's profiles (they have no profile).
if($lastposteruid == 0)
{
$lastposterlink = $lastposter;

			$thread_link = get_thread_link($thread['tid']);

// Don't link to guest's profiles (they have no profile).
if($lastposteruid == 0)
{
$lastposterlink = $lastposter;

			}
else
{

			}
else
{

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

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

			}

			}


$thread['replies'] = my_number_format($thread['replies']);
$thread['views'] = my_number_format($thread['views']);



$thread['replies'] = my_number_format($thread['replies']);
$thread['views'] = my_number_format($thread['views']);


 
			$thread['forumlink'] = '';

			if($forumcache[$thread['fid']])

			if($forumcache[$thread['fid']])

			{
$thread['forumlink'] = "<a href=\"".get_forum_link($thread['fid'])."\">".$forumcache[$thread['fid']]['name']."</a>";
}
else
{
$thread['forumlink'] = "";

			{
$thread['forumlink_link'] = get_forum_link($thread['fid']);
$thread['forumlink_name'] = $forumcache[$thread['fid']]['name'];
eval("\$thread['forumlink'] = \"".$templates->get("search_results_threads_forumlink")."\";");



			}

// If this user is the author of the thread and it is not closed or they are a moderator, they can edit

			}

// If this user is the author of the thread and it is not closed or they are a moderator, they can edit

Zeile 626Zeile 641
				eval("\$attachment_count = \"".$templates->get("forumdisplay_thread_attachment_count")."\";");
}
else

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

			{

			{

				$attachment_count = '';
}


				$attachment_count = '';
}


Zeile 636Zeile 651
			$inline_mod_checkbox = '';
if($is_supermod || is_moderator($thread['fid']))
{

			$inline_mod_checkbox = '';
if($is_supermod || is_moderator($thread['fid']))
{

				if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|{$thread['tid']}|"))

				if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|{$thread['tid']}|") !== false)

				{
$inlinecheck = "checked=\"checked\"";
++$inlinecount;

				{
$inlinecheck = "checked=\"checked\"";
++$inlinecount;

Zeile 645Zeile 660
				{
$inlinecheck = '';
}

				{
$inlinecheck = '';
}

 

// If this user is allowed to use the inline moderation tools for at least one thread, include the necessary scripts
$show_inline_moderation = true;


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

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

			}

			}

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

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

Zeile 654Zeile 673

$plugins->run_hooks("search_results_thread");
eval("\$results .= \"".$templates->get("search_results_threads_thread")."\";");


$plugins->run_hooks("search_results_thread");
eval("\$results .= \"".$templates->get("search_results_threads_thread")."\";");

		}

		}

		if(!$results)

		if(!$results)

		{

		{

			error($lang->error_nosearchresults);
}
$multipage = multipage($threadcount, $perpage, $page, "search.php?action=results&amp;sid=$sid&amp;sortby=$sortby&amp;order=$order&amp;uid=".$mybb->get_input('uid', MyBB::INPUT_INT));

			error($lang->error_nosearchresults);
}
$multipage = multipage($threadcount, $perpage, $page, "search.php?action=results&amp;sid=$sid&amp;sortby=$sortby&amp;order=$order&amp;uid=".$mybb->get_input('uid', MyBB::INPUT_INT));

Zeile 666Zeile 685
		}

// Inline Thread Moderation Options

		}

// Inline Thread Moderation Options

		if($is_mod)

		if($show_inline_moderation)

		{

		{

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


			// If user has moderation tools available, prepare the Select All feature
$lang->page_selected = $lang->sprintf($lang->page_selected, count($thread_cache));
$lang->all_selected = $lang->sprintf($lang->all_selected, (int)$threadcount);

			// If user has moderation tools available, prepare the Select All feature
$lang->page_selected = $lang->sprintf($lang->page_selected, count($thread_cache));
$lang->all_selected = $lang->sprintf($lang->all_selected, (int)$threadcount);

Zeile 683Zeile 704
					break;
default:
$query = $db->simple_select("modtools", "tid, name", "type='t' AND (CONCAT(',',forums,',') LIKE '%,-1,%' OR forums='')");

					break;
default:
$query = $db->simple_select("modtools", "tid, name", "type='t' AND (CONCAT(',',forums,',') LIKE '%,-1,%' OR forums='')");

			}


			}


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

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

 
				$tool['name'] = htmlspecialchars_uni($tool['name']);

				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");





		}
elseif($is_mod)
{
eval("\$inlinemodcol = \"".$templates->get("search_results_inlinemodcol_empty")."\";");
}

$plugins->run_hooks("search_results_end");


eval("\$searchresults = \"".$templates->get("search_results_threads")."\";");
output_page($searchresults);


eval("\$searchresults = \"".$templates->get("search_results_threads")."\";");
output_page($searchresults);

Zeile 707Zeile 733
		if(!$search['posts'])
{
error($lang->error_nosearchresults);

		if(!$search['posts'])
{
error($lang->error_nosearchresults);

		}

$postcount = 0;


		}

$postcount = 0;


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

		{

		{

			// Super moderators (and admins)
$unapproved_where = "visible >= -1";
}

			// Super moderators (and admins)
$unapproved_where = "visible >= -1";
}

Zeile 724Zeile 750
			$unapprove_forums = array();
$deleted_forums = array();
$unapproved_where = '(visible = 1';

			$unapprove_forums = array();
$deleted_forums = array();
$unapproved_where = '(visible = 1';





			while($moderator = $db->fetch_array($query))
{
if($moderator['canviewunapprove'] == 1)

			while($moderator = $db->fetch_array($query))
{
if($moderator['canviewunapprove'] == 1)

Zeile 752Zeile 778
		{
// Normal users
$unapproved_where = 'visible = 1';

		{
// Normal users
$unapproved_where = 'visible = 1';

		}


		}


		$post_cache_options = array();
if((int)$mybb->settings['searchhardlimit'] > 0)

		$post_cache_options = array();
if((int)$mybb->settings['searchhardlimit'] > 0)

		{

		{

			$post_cache_options['limit'] = (int)$mybb->settings['searchhardlimit'];

			$post_cache_options['limit'] = (int)$mybb->settings['searchhardlimit'];

		}


		}


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

		if(strpos($sortfield, 'p.') !== false)
{
$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 864Zeile 890
			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)

			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)

 
			LEFT JOIN ".TABLE_PREFIX."forums f ON (t.fid=f.fid)

			WHERE p.pid IN (".$db->escape_string($search['posts']).")
ORDER BY $sortfield $order
LIMIT $start, $perpage

			WHERE p.pid IN (".$db->escape_string($search['posts']).")
ORDER BY $sortfield $order
LIMIT $start, $perpage

Zeile 883Zeile 910
			{
$post['username'] = $post['userusername'];
}

			{
$post['username'] = $post['userusername'];
}

 
			$post['username'] = htmlspecialchars_uni($post['username']);

			$post['profilelink'] = build_profile_link($post['username'], $post['uid']);
$post['subject'] = $parser->parse_badwords($post['subject']);
$post['thread_subject'] = $parser->parse_badwords($post['thread_subject']);

			$post['profilelink'] = build_profile_link($post['username'], $post['uid']);
$post['subject'] = $parser->parse_badwords($post['subject']);
$post['thread_subject'] = $parser->parse_badwords($post['thread_subject']);

Zeile 901Zeile 929
				$icon = "&nbsp;";
}


				$icon = "&nbsp;";
}


 
			$post['forumlink'] = '';

			if(!empty($forumcache[$thread['fid']]))
{

			if(!empty($forumcache[$thread['fid']]))
{

				$post['forumlink'] = "<a href=\"".get_forum_link($post['fid'])."\">".$forumcache[$post['fid']]['name']."</a>";
}
else
{
$post['forumlink'] = "";

				$post['forumlink_link'] = get_forum_link($post['fid']);
$post['forumlink_name'] = $forumcache[$post['fid']]['name'];
eval("\$post['forumlink'] = \"".$templates->get("search_results_posts_forumlink")."\";");



			}

			}

 


			// Determine the folder
$folder = '';
$folder_label = '';

			// Determine the folder
$folder = '';
$folder_label = '';

Zeile 991Zeile 1019
			}
if($post['thread_closed'] == 1)
{

			}
if($post['thread_closed'] == 1)
{

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

				$folder .= "close";
$folder_label .= $lang->icon_close;

			}
$folder .= "folder";

$post['thread_replies'] = my_number_format($post['thread_replies']);
$post['thread_views'] = my_number_format($post['thread_views']);


			}
$folder .= "folder";

$post['thread_replies'] = my_number_format($post['thread_replies']);
$post['thread_views'] = my_number_format($post['thread_views']);


 
			$post['forumlink'] = '';

			if($forumcache[$post['fid']])
{

			if($forumcache[$post['fid']])
{

				$post['forumlink'] = "<a href=\"".get_forum_link($post['fid'])."\">".$forumcache[$post['fid']]['name']."</a>";
}
else
{
$post['forumlink'] = "";

				$post['forumlink_link'] = get_forum_link($post['fid']);
$post['forumlink_name'] = $forumcache[$post['fid']]['name'];
eval("\$post['forumlink'] = \"".$templates->get("search_results_posts_forumlink")."\";");



			}

if(!$post['subject'])

			}

if(!$post['subject'])

Zeile 1030Zeile 1057
			);
$post['message'] = strip_tags($parser->parse_message($post['message'], $parser_options));
if(my_strlen($post['message']) > 200)

			);
$post['message'] = strip_tags($parser->parse_message($post['message'], $parser_options));
if(my_strlen($post['message']) > 200)

			{

			{

				$prev = my_substr($post['message'], 0, 200)."...";
}
else

				$prev = my_substr($post['message'], 0, 200)."...";
}
else

Zeile 1046Zeile 1073
			$inline_mod_checkbox = '';
if($is_supermod || is_moderator($post['fid']))
{

			$inline_mod_checkbox = '';
if($is_supermod || is_moderator($post['fid']))
{

				if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|{$post['pid']}|"))

				if(isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|{$post['pid']}|") !== false)

				{
$inlinecheck = "checked=\"checked\"";
++$inlinecount;

				{
$inlinecheck = "checked=\"checked\"";
++$inlinecount;

Zeile 1055Zeile 1082
				{
$inlinecheck = '';
}

				{
$inlinecheck = '';
}

 

$show_inline_moderation = true;


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

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

Zeile 1076Zeile 1106
		}

// Inline Post Moderation Options

		}

// Inline Post Moderation Options

		if($is_mod)

		if($show_inline_moderation)

		{

		{

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


			// If user has moderation tools available, prepare the Select All feature
$num_results = $db->num_rows($query);
$lang->page_selected = $lang->sprintf($lang->page_selected, (int)$num_results);

			// If user has moderation tools available, prepare the Select All feature
$num_results = $db->num_rows($query);
$lang->page_selected = $lang->sprintf($lang->page_selected, (int)$num_results);

Zeile 1106Zeile 1138
				eval("\$customposttools = \"".$templates->get("search_results_posts_inlinemoderation_custom")."\";");
}
eval("\$inlinemod = \"".$templates->get("search_results_posts_inlinemoderation")."\";");

				eval("\$customposttools = \"".$templates->get("search_results_posts_inlinemoderation_custom")."\";");
}
eval("\$inlinemod = \"".$templates->get("search_results_posts_inlinemoderation")."\";");

 
		}
elseif($is_mod)
{
eval("\$inlinemodcol = \"".$templates->get("search_results_inlinemodcol_empty")."\";");

		}

$plugins->run_hooks("search_results_end");

		}

$plugins->run_hooks("search_results_end");

Zeile 1114Zeile 1150
		output_page($searchresults);
}
}

		output_page($searchresults);
}
}

elseif($mybb->input['action'] == "findguest")














































































elseif($mybb->input['action'] == "findguest")
{
$where_sql = "uid='0'";

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND fid NOT IN ($inactiveforums)";
}

$permsql = "";
$onlyusfids = array();

// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)
{
if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}
}
if(!empty($onlyusfids))
{
$where_sql .= " AND fid NOT IN(".implode(',', $onlyusfids).")";
}

$options = array(
'order_by' => 'dateline',
'order_dir' => 'desc'
);

// Do we have a hard search limit?
if($mybb->settings['searchhardlimit'] > 0)
{
$options['limit'] = (int)$mybb->settings['searchhardlimit'];
}

$pids = '';
$comma = '';
$query = $db->simple_select("posts", "pid", "{$where_sql}", $options);
while($pid = $db->fetch_field($query, "pid"))
{
$pids .= $comma.$pid;
$comma = ',';
}

$tids = '';
$comma = '';
$query = $db->simple_select("threads", "tid", $where_sql);
while($tid = $db->fetch_field($query, "tid"))
{
$tids .= $comma.$tid;
$comma = ',';
}

$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),
"threads" => $db->escape_string($tids),
"posts" => $db->escape_string($pids),
"resulttype" => "posts",
"querycache" => '',
"keywords" => ''
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
elseif($mybb->input['action'] == "finduser")

{

{

	$where_sql = "uid='0'";

	$where_sql = "uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'";


$unsearchforums = get_unsearchable_forums();
if($unsearchforums)


$unsearchforums = get_unsearchable_forums();
if($unsearchforums)

	{

	{

		$where_sql .= " AND fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();

		$where_sql .= " AND fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();

Zeile 1143Zeile 1256
	}
if(!empty($onlyusfids))
{

	}
if(!empty($onlyusfids))
{

		$where_sql .= " AND fid NOT IN(".implode(',', $onlyusfids).")";

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

	}

$options = array(

	}

$options = array(

Zeile 1185Zeile 1298
		"posts" => $db->escape_string($pids),
"resulttype" => "posts",
"querycache" => '',

		"posts" => $db->escape_string($pids),
"resulttype" => "posts",
"querycache" => '',

		"keywords" => ''
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
elseif($mybb->input['action'] == "finduser")
{
$where_sql = "uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'";

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND fid NOT IN ($inactiveforums)";
}

$permsql = "";
$onlyusfids = array();

// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)
{
if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}
}
if(!empty($onlyusfids))
{
$where_sql .= "AND ((fid IN(".implode(',', $onlyusfids).") AND uid='{$mybb->user['uid']}') OR fid NOT IN(".implode(',', $onlyusfids)."))";
}

$options = array(
'order_by' => 'dateline',
'order_dir' => 'desc'
);

// Do we have a hard search limit?
if($mybb->settings['searchhardlimit'] > 0)
{
$options['limit'] = (int)$mybb->settings['searchhardlimit'];
}

$pids = '';
$comma = '';
$query = $db->simple_select("posts", "pid", "{$where_sql}", $options);
while($pid = $db->fetch_field($query, "pid"))
{
$pids .= $comma.$pid;
$comma = ',';
}

$tids = '';
$comma = '';
$query = $db->simple_select("threads", "tid", $where_sql);
while($tid = $db->fetch_field($query, "tid"))
{
$tids .= $comma.$tid;
$comma = ',';
}

$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),
"threads" => $db->escape_string($tids),
"posts" => $db->escape_string($pids),
"resulttype" => "posts",
"querycache" => '',
"keywords" => ''
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}

		"keywords" => ''
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}














































































elseif($mybb->input['action'] == "finduserthreads")
{

elseif($mybb->input['action'] == "finduserthreads")
{

	$where_sql = "t.uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'";













































































	$where_sql = "uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'";

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND fid NOT IN ($inactiveforums)";
}

$permsql = "";
$onlyusfids = array();

// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)
{
if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}
}
if(!empty($onlyusfids))
{
$where_sql .= "AND ((fid IN(".implode(',', $onlyusfids).") AND uid='{$mybb->user['uid']}') OR fid NOT IN(".implode(',', $onlyusfids)."))";
}

$tids = '';
$comma = '';
$query = $db->simple_select("threads", "tid", $where_sql);
while($tid = $db->fetch_field($query, "tid"))
{
$tids .= $comma.$tid;
$comma = ',';
}

$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),
"threads" => $db->escape_string($tids),
"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
"keywords" => ''
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
elseif($mybb->input['action'] == "getnew")
{

$where_sql = "lastpost >= '".(int)$mybb->user['lastvisit']."'";

if($mybb->get_input('fid', MyBB::INPUT_INT))
{
$where_sql .= " AND fid='".$mybb->get_input('fid', MyBB::INPUT_INT)."'";
}
else if($mybb->get_input('fids'))
{
$fids = explode(',', $mybb->get_input('fids'));
foreach($fids as $key => $fid)
{
$fids[$key] = (int)$fid;
}

if(!empty($fids))
{
$where_sql .= " AND fid IN (".implode(',', $fids).")";
}
}


$unsearchforums = get_unsearchable_forums();
if($unsearchforums)


$unsearchforums = get_unsearchable_forums();
if($unsearchforums)

	{
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
}

	{
$where_sql .= " AND fid NOT IN ($unsearchforums)";
}

	$inactiveforums = get_inactive_forums();
if($inactiveforums)
{

	$inactiveforums = get_inactive_forums();
if($inactiveforums)
{

		$where_sql .= " AND t.fid NOT IN ($inactiveforums)";

		$where_sql .= " AND fid NOT IN ($inactiveforums)";

	}

$permsql = "";

	}

$permsql = "";

	$onlyusfids = array();


	$onlyusfids = array();


	// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)

	// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)

	{

	{

		if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}

		if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}

	}

	}

	if(!empty($onlyusfids))

	if(!empty($onlyusfids))

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











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

$tids = '';
$comma = '';
$query = $db->simple_select("threads", "tid", $where_sql);
while($tid = $db->fetch_field($query, "tid"))
{
$tids .= $comma.$tid;
$comma = ',';
}


	$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),

	$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),

		"threads" => '',

		"threads" => $db->escape_string($tids),

		"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
"keywords" => ''
);

		"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
"keywords" => ''
);

 


	$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}

	$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}

elseif($mybb->input['action'] == "getnew")

elseif($mybb->input['action'] == "getdaily")

{

{


$where_sql = "t.lastpost >= '".(int)$mybb->user['lastvisit']."'";










	if($mybb->get_input('days', MyBB::INPUT_INT) < 1)
{
$days = 1;
}
else
{
$days = $mybb->get_input('days', MyBB::INPUT_INT);
}
$datecut = TIME_NOW-(86400*$days);

$where_sql = "lastpost >='".$datecut."'";


if($mybb->get_input('fid', MyBB::INPUT_INT))


if($mybb->get_input('fid', MyBB::INPUT_INT))

	{
$where_sql .= " AND t.fid='".$mybb->get_input('fid', MyBB::INPUT_INT)."'";
}
else if($mybb->get_input('fids'))
{
$fids = explode(',', $mybb->get_input('fids'));
foreach($fids as $key => $fid)
{
$fids[$key] = (int)$fid;
}

if(!empty($fids))
{
$where_sql .= " AND t.fid IN (".implode(',', $fids).")";
}
}

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND t.fid NOT IN ($inactiveforums)";
}

$permsql = "";
$onlyusfids = array();

// Check group permissions if we can't view threads not started by us
$group_permissions = forum_permissions();
foreach($group_permissions as $fid => $forum_permissions)
{
if(isset($forum_permissions['canonlyviewownthreads']) && $forum_permissions['canonlyviewownthreads'] == 1)
{
$onlyusfids[] = $fid;
}
}
if(!empty($onlyusfids))
{
$where_sql .= "AND ((t.fid IN(".implode(',', $onlyusfids).") AND t.uid='{$mybb->user['uid']}') OR t.fid NOT IN(".implode(',', $onlyusfids)."))";
}

$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),
"threads" => '',
"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
"keywords" => ''
);

$plugins->run_hooks("search_do_search_process");
$db->insert_query("searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
elseif($mybb->input['action'] == "getdaily")
{
if($mybb->get_input('days', MyBB::INPUT_INT) < 1)
{
$days = 1;
}
else
{
$days = $mybb->get_input('days', MyBB::INPUT_INT);
}
$datecut = TIME_NOW-(86400*$days);

$where_sql = "t.lastpost >='".$datecut."'";

if($mybb->get_input('fid', MyBB::INPUT_INT))
{
$where_sql .= " AND t.fid='".$mybb->get_input('fid', MyBB::INPUT_INT)."'";

	{
$where_sql .= " AND fid='".$mybb->get_input('fid', MyBB::INPUT_INT)."'";














































































	}
else if($mybb->get_input('fids'))
{

	}
else if($mybb->get_input('fids'))
{

Zeile 1411Zeile 1465
		}

if(!empty($fids))

		}

if(!empty($fids))

		{
$where_sql .= " AND t.fid IN (".implode(',', $fids).")";
}

		{
$where_sql .= " AND fid IN (".implode(',', $fids).")";
}

	}

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)

	}

$unsearchforums = get_unsearchable_forums();
if($unsearchforums)

	{
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
}

	{
$where_sql .= " AND fid NOT IN ($unsearchforums)";
}

	$inactiveforums = get_inactive_forums();
if($inactiveforums)

	$inactiveforums = get_inactive_forums();
if($inactiveforums)

	{
$where_sql .= " AND t.fid NOT IN ($inactiveforums)";
}


	{
$where_sql .= " AND fid NOT IN ($inactiveforums)";
}


	$permsql = "";
$onlyusfids = array();


	$permsql = "";
$onlyusfids = array();


Zeile 1441Zeile 1495
	}
if(!empty($onlyusfids))
{

	}
if(!empty($onlyusfids))
{

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

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

	}


	}


 
	$tids = '';
$comma = '';
$query = $db->simple_select("threads", "tid", $where_sql);
while($tid = $db->fetch_field($query, "tid"))
{
$tids .= $comma.$tid;
$comma = ',';
}


	$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),

	$sid = md5(uniqid(microtime(), true));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"ipaddress" => $db->escape_binary($session->packedip),

		"threads" => '',

		"threads" => $db->escape_string($tids),

		"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),

		"posts" => '',
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),