Пример #1
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']);
     }
 }