Skip to:
Content

bbPress.org

Changeset 4579 for trunk/bbpress.php


Ignore:
Timestamp:
12/16/2012 08:19:21 AM (13 years ago)
Author:
jmdodd
Message:

Introduce dedicated forum search.

  • Search forums, topics, and replies.
  • Add new search functions, including bbp_has_search_results().
  • Provide templates for search results.
  • Fixes #1575.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bbpress.php

    r4548 r4579  
    181181        /** Versions **********************************************************/
    182182
    183         $this->version    = '2.3-bleeding-4514';
     183        $this->version    = '2.3-bleeding-4579';
    184184        $this->db_version = '220';
    185185
     
    222222
    223223        // Other identifiers
    224         $this->user_id           = apply_filters( 'bbp_user_id', 'bbp_user' );
    225         $this->tops_id           = apply_filters( 'bbp_tops_id', 'bbp_tops' );
    226         $this->reps_id           = apply_filters( 'bbp_reps_id', 'bbp_reps' );
    227         $this->favs_id           = apply_filters( 'bbp_favs_id', 'bbp_favs' );
    228         $this->subs_id           = apply_filters( 'bbp_subs_id', 'bbp_subs' );
    229         $this->view_id           = apply_filters( 'bbp_view_id', 'bbp_view' );
    230         $this->edit_id           = apply_filters( 'bbp_edit_id', 'edit'     );
     224        $this->user_id           = apply_filters( 'bbp_user_id',   'bbp_user'   );
     225        $this->tops_id           = apply_filters( 'bbp_tops_id',   'bbp_tops'   );
     226        $this->reps_id           = apply_filters( 'bbp_reps_id',   'bbp_reps'   );
     227        $this->favs_id           = apply_filters( 'bbp_favs_id',   'bbp_favs'   );
     228        $this->subs_id           = apply_filters( 'bbp_subs_id',   'bbp_subs'   );
     229        $this->view_id           = apply_filters( 'bbp_view_id',   'bbp_view'   );
     230        $this->search_id         = apply_filters( 'bbp_search_id', 'bbp_search' );
     231        $this->edit_id           = apply_filters( 'bbp_edit_id',   'edit'       );
    231232
    232233        /** Queries ***********************************************************/
     
    240241        $this->topic_query    = new stdClass(); // Main topic query
    241242        $this->reply_query    = new stdClass(); // Main reply query
     243        $this->search_query   = new stdClass(); // Main search query
    242244
    243245        /** Theme Compat ******************************************************/
     
    309311        require( $this->includes_dir . 'replies/functions.php'     );
    310312        require( $this->includes_dir . 'replies/template-tags.php' );
     313
     314        // Search
     315        require( $this->includes_dir . 'search/functions.php'      );
     316        require( $this->includes_dir . 'search/template-tags.php'  );
    311317
    312318        // Users
     
    359365            'register_theme_packages',  // Register bundled theme packages (bbp-theme-compat/bbp-themes)
    360366            'load_textdomain',          // Load textdomain (bbpress)
    361             'add_rewrite_tags',         // Add rewrite tags (view|user|edit)
    362             'generate_rewrite_rules'    // Generate rewrite rules (view|edit)
     367            'add_rewrite_tags',         // Add rewrite tags (view|user|edit|search)
     368            'generate_rewrite_rules'    // Generate rewrite rules (view|edit|search)
    363369        );
    364370
     
    833839        add_rewrite_tag( '%%' . bbp_get_view_rewrite_id()               . '%%', '([^/]+)'   ); // View Page tag
    834840        add_rewrite_tag( '%%' . bbp_get_edit_rewrite_id()               . '%%', '([1]{1,})' ); // Edit Page tag
     841        add_rewrite_tag( '%%' . bbp_get_search_rewrite_id()             . '%%', '([^/]+)'   ); // Search Results tag
    835842        add_rewrite_tag( '%%' . bbp_get_user_rewrite_id()               . '%%', '([^/]+)'   ); // User Profile tag
    836843        add_rewrite_tag( '%%' . bbp_get_user_favorites_rewrite_id()     . '%%', '([1]{1,})' ); // User Favorites tag
     
    854861
    855862        // Slugs
    856         $view_slug = bbp_get_view_slug();
    857         $user_slug = bbp_get_user_slug();
     863        $view_slug   = bbp_get_view_slug();
     864        $search_slug = bbp_get_search_slug();
     865        $user_slug   = bbp_get_user_slug();
    858866
    859867        // Unique rewrite ID's
    860         $edit_id = bbp_get_edit_rewrite_id();
    861         $view_id = bbp_get_view_rewrite_id();
    862         $user_id = bbp_get_user_rewrite_id();
    863         $favs_id = bbp_get_user_favorites_rewrite_id();
    864         $subs_id = bbp_get_user_subscriptions_rewrite_id();
    865         $tops_id = bbp_get_user_topics_rewrite_id();
    866         $reps_id = bbp_get_user_replies_rewrite_id();
     868        $edit_id     = bbp_get_edit_rewrite_id();
     869        $view_id     = bbp_get_view_rewrite_id();
     870        $search_id   = bbp_get_search_rewrite_id();
     871        $user_id     = bbp_get_user_rewrite_id();
     872        $favs_id     = bbp_get_user_favorites_rewrite_id();
     873        $subs_id     = bbp_get_user_subscriptions_rewrite_id();
     874        $tops_id     = bbp_get_user_topics_rewrite_id();
     875        $reps_id     = bbp_get_user_replies_rewrite_id();
    867876
    868877        // Rewrite rule matches used repeatedly below
    869         $root_rule = '/([^/]+)/?$';
    870         $edit_rule = '/([^/]+)/edit/?$';
    871         $feed_rule = '/([^/]+)/feed/?$';
    872         $page_rule = '/([^/]+)/page/?([0-9]{1,})/?$';
     878        $root_rule   = '/([^/]+)/?$';
     879        $edit_rule   = '/([^/]+)/edit/?$';
     880        $feed_rule   = '/([^/]+)/feed/?$';
     881        $page_rule   = '/([^/]+)/page/?([0-9]{1,})/?$';
     882
     883        // Search rules (without slug check)
     884        $search_root_rule = '/?$';
     885        $search_page_rule = '/page/?([0-9]{1,})/?$';
    873886
    874887        // User profile rules
     
    908921            $view_slug . $feed_rule => 'index.php?' . $view_id . '=' . $wp_rewrite->preg_index( 1 ) . '&feed='  . $wp_rewrite->preg_index( 2 ),
    909922            $view_slug . $root_rule => 'index.php?' . $view_id . '=' . $wp_rewrite->preg_index( 1 ),
     923
     924            // Search All
     925            $search_slug . $search_page_rule => 'index.php?&paged=' . $wp_rewrite->preg_index( 1 ),
     926            $search_slug . $search_root_rule => 'index.php?',
    910927        );
    911928
Note: See TracChangeset for help on using the changeset viewer.