Exemplo n.º 1
0
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;
    }
}
Exemplo n.º 2
0
 //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) . ")";
     }
Exemplo n.º 3
0
 /**
  *	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']);
     }
 }
Exemplo n.º 4
0
 /**
  *	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']);
     }
 }
Exemplo n.º 5
0
	/**
	*	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']);
		}
	}
Exemplo n.º 6
0
    $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");