function fetch_titleonly_url($searchterms) { global $vbulletin; $url = array(); if ($vbulletin->options['fulltextsearch'] and !$searchterms['titleonly'] and !empty($searchterms['query'])) { if ($forumchoice = implode(',', fetch_search_forumids($searchterms['forumchoice'], $searchterms['childforums']))) { $searchforums = array_flip(explode(',', $forumchoice)); } else { $searchforums =& $vbulletin->forumcache; } foreach ($searchforums as $forumid => $foo) { if ($vbulletin->userinfo['forumpermissions']["{$forumid}"] & $vbulletin->bf_ugp_forumpermissions['canview'] and $vbulletin->userinfo['forumpermissions']["{$forumid}"] & $vbulletin->bf_ugp_forumpermissions['cansearch'] and !($vbulletin->userinfo['forumpermissions']["{$forumid}"] & $vbulletin->bf_ugp_forumpermissions['canviewthreads'])) { $url[] = 'forumchoice[]=' . intval($forumid); } } } if (!empty($url)) { $url[] = 'do=process'; $url[] = 'query=' . urlencode($searchterms['query']); $url[] = 'titleonly=1'; if ($searchterms['searchuser']) { $url[] = 'searchuser='******'searchuser']); } if ($searchterms['exactname']) { $url[] = 'exactname=1'; } if ($searchterms['searchdate']) { $url[] = 'searchdate=' . urlencode($searchterms['searchdate']); } if ($searchterms['beforeafter'] == 'before') { $url[] = 'beforeafter=before'; } if ($searchterms['replyless']) { $url[] = 'replyless=1'; } if ($searchterms['replylimit']) { $url[] = 'replylimit=' . intval($searchterms['replylimit']); } if ($searchterms['sortorder'] != 'descending') { $url[] = 'order=ascending'; } if ($searchterms['sortby'] != 'lastpost') { $url[] = 'sortby=' . urlencode($searchterms['sortby']); } if ($searchterms['starteronly']) { $url[] = 'starteronly=1'; } if ($searchterms['nocache']) { $url[] = 'nocache=1'; } return 'search.php?' . $vbulletin->session->vars['sessionurl'] . implode('&', $url); } else { return false; } }
//if ($search = $db->query_first("SELECT searchid FROM " . TABLE_PREFIX . "search AS search WHERE searchhash = '" . $db->escape_string($searchhash) . "'")) //{ // $vbulletin->url = 'search.php?' . $vbulletin->session->vars['sessionurl'] . "searchid=$search[searchid]"; // eval(print_standard_redirect('search')); //} // start search timer $searchtime = microtime(); $forumids = array(); $noforumids = array(); // ############################################################################# // check to see if we should be searching in a particular forum or forums if ($vbulletin->GPC['searchthreadid']) { $showforums = false; $sql = "AND thread.threadid = " . $vbulletin->GPC['searchthreadid']; } else { if ($forumids = fetch_search_forumids($vbulletin->GPC['forumchoice'], $vbulletin->GPC['childforums'])) { $showforums = true; } else { foreach ($vbulletin->forumcache as $forumid => $forum) { $fperms =& $vbulletin->userinfo['forumpermissions']["{$forumid}"]; if ($fperms & $vbulletin->bf_ugp_forumpermissions['canview']) { $forumids[] = $forumid; } } $showforums = false; } if (empty($forumids)) { eval(standard_error(fetch_error('searchnoresults', $displayCommon), '', false)); } else { $sql = "AND thread.forumid IN(" . implode(',', $forumids) . ")"; }
/** * Add a filter for forums to search. * * @param array $forumids * @param boolean $include_children -- If the children should be included. */ public function add_forumid_filter($forumids, $include_children) { global $vbulletin, $vbphrase; $forumids = fetch_search_forumids($forumids, $include_children); if ($forumids) { $this->add_filter('forumid', vB_Search_Core::OP_EQ, $forumids, true); $forum_string = vB_Search_Searchtools::getDisplayString('forum', $vbphrase['forums'], 'title', 'forumid', $forumids, vB_Search_Core::OP_EQ, false); $this->add_display_strings('forum', $forum_string . ($include_children ? ' ' . $vbphrase['and_child_forums'] : '')); } else { $this->add_error('invalidid', $vbphrase['forum'], $vbulletin->options['contactuslink']); } }
/** * Add a filter for forums to search. * * @param array $forumids * @param boolean $include_children -- If the children should be included. */ protected function add_forumid_filter($criteria, $forumids, $include_children) { if (in_array(' ', $forumids) or in_array('', $forumids)) { return; } global $vbulletin, $vbphrase; $all_forumids = fetch_search_forumids($forumids, $include_children); if ($all_forumids) { $names = array(); $criteria->add_filter('forumid', vB_Search_Core::OP_EQ, $all_forumids); foreach ($all_forumids as $forumid) { if (!empty($vbulletin->forumcache[$forumid])) { $names[$forumid] = $vbulletin->forumcache[$forumid]['title']; } } if (!empty($names)) { $forum_strings = vB_Search_Searchtools::generateDisplayString($vbphrase['forum'], $names, vB_Search_Core::OP_EQ, false); $criteria->add_display_strings('forumid', $forum_strings . ($include_children ? ' ' . $vbphrase['and_child_forums'] : '')); } else { $criteria->add_error('invalidid', $vbphrase['forum'], $vbulletin->options['contactuslink']); } } else { $criteria->add_error('invalidid', $vbphrase['forum'], $vbulletin->options['contactuslink']); } }
/** * Add a filter for forums to search. * * @param array $forumids * @param boolean $include_children -- If the children should be included. */ protected function add_forumid_filter($criteria, $forumids, $include_children) { if (in_array(' ', $forumids) OR in_array('', $forumids)) { return; } global $vbulletin, $vbphrase; $all_forumids = fetch_search_forumids($forumids, $include_children); if ($all_forumids) { $criteria->add_filter('forumid', vB_Search_Core::OP_EQ, $all_forumids); $forum_strings = vB_Search_Searchtools::getDisplayString('forum', $vbphrase['forum'], 'title', 'forumid', $all_forumids, vB_Search_Core::OP_EQ, false); $criteria->add_display_strings('forumid', $forum_strings . ( $include_children ? ' ' . $vbphrase['and_child_forums'] : '')); } else { $criteria->add_error('invalidid', $vbphrase['forum'], $vbulletin->options['contactuslink']); } }
$searchid = $db->insert_id(); $vbulletin->url = "search.php?" . $vbulletin->session->vars['sessionurl'] . "searchid={$searchid}"; eval(print_standard_redirect('search')); } // ############################################################################# if ($_REQUEST['do'] == 'findallthanked') { //find all thanked post $bbuserinfo = $vbulletin->userinfo; $vboptions = $vbulletin->options; // ############################################################################# // build search hash $query = ''; $searchuser = $user['username']; $exactname = 1; $starteronly = 0; $forumchoice = implode(',', fetch_search_forumids($foruminfo['forumid'], 1)); //This one does! $childforums = 1; $titleonly = 0; $showposts = 1; $searchdate = 0; $beforeafter = 'after'; $replyless = 0; $replylimit = 0; $searchthreadid = 0; $searchhash = md5(TIMENOW . "||" . $vbulletin->userinfo['userid'] . "||" . strtolower($searchuser) . "||{$exactname}||{$starteronly}||{$forumchoice}||{$childforums}||{$titleonly}||{$showposts}||{$searchdate}||{$beforeafter}||{$replyless}||{$replylimit}||{$searchthreadid}"); $searchtime = microtime(); // ############################################################################# // query post ids in dateline DESC order... $orderedids = array(); $posts = $db->query_read("\n\t\tSELECT award.postid AS postid\n\t\tFROM `" . TABLE_PREFIX . "kbank_donations` AS award\n\t\t" . iif($forumchoice, "INNER JOIN `" . TABLE_PREFIX . "post` AS post ON (post.postid = award.postid)\n\t\t\tINNER JOIN `" . TABLE_PREFIX . "thread` AS thread ON (thread.threadid = post.threadid)") . "WHERE award.postid <> 0\n\t\t\tAND award.from <> 0\n\t\t" . iif($forumchoice, "\tAND thread.forumid IN ({$forumchoice})") . "\n\t\tGROUP BY award.postid\n\t\tORDER BY award.time DESC\n\t\tLIMIT " . $vbulletin->options['maxresults'] * 2 . "\n\t");