Zeile 13 | Zeile 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 216 | Zeile 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 423 | Zeile 423 |
---|
{ $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 537 | Zeile 538 |
---|
$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 566 | Zeile 574 |
---|
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 626 | Zeile 640 |
---|
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 636 | Zeile 650 |
---|
$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 645 | Zeile 659 |
---|
{ $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 654 | Zeile 672 |
---|
$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&sid=$sid&sortby=$sortby&order=$order&uid=".$mybb->get_input('uid', MyBB::INPUT_INT));
| error($lang->error_nosearchresults); } $multipage = multipage($threadcount, $perpage, $page, "search.php?action=results&sid=$sid&sortby=$sortby&order=$order&uid=".$mybb->get_input('uid', MyBB::INPUT_INT));
|
Zeile 666 | Zeile 684 |
---|
}
// 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 683 | Zeile 703 |
---|
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 707 | Zeile 732 |
---|
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 724 | Zeile 749 |
---|
$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 752 | Zeile 777 |
---|
{ // 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 883 | Zeile 908 |
---|
{ $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 901 | Zeile 927 |
---|
$icon = " "; }
|
$icon = " "; }
|
| $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 999 | Zeile 1025 |
---|
$post['thread_replies'] = my_number_format($post['thread_replies']); $post['thread_views'] = my_number_format($post['thread_views']);
|
$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 1030 | Zeile 1055 |
---|
); $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 1046 | Zeile 1071 |
---|
$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 1055 | Zeile 1080 |
---|
{ $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 1076 | Zeile 1104 |
---|
}
// 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 1106 | Zeile 1136 |
---|
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 1114 | Zeile 1148 |
---|
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 1143 | Zeile 1254 |
---|
} 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 1185 | Zeile 1296 |
---|
"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" => ''
| "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") { $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); }
|
); $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'] == "getnew")
|
{
|
{
|
$where_sql = "t.uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'";
| $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 = "";
|
Zeile 1297 | Zeile 1407 |
---|
} 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));
| }
$sid = md5(uniqid(microtime(), true));
|
Zeile 1306 | Zeile 1425 |
---|
"uid" => $mybb->user['uid'], "dateline" => TIME_NOW, "ipaddress" => $db->escape_binary($session->packedip),
|
"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")
|
{
|
{
|
| 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 >= '".(int)$mybb->user['lastvisit']."'";
| $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)."'";
| $where_sql .= " AND fid='".$mybb->get_input('fid', MyBB::INPUT_INT)."'";
|
} else if($mybb->get_input('fids')) {
| } else if($mybb->get_input('fids')) {
|
Zeile 1335 | Zeile 1464 |
---|
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)"; } $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)."'"; } 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)";
| $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),
| "posts" => '', "resulttype" => "threads", "querycache" => $db->escape_string($where_sql),
|