<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[BuddyPress][11080] trunk/src: Use WP page titles for BP directory pages headings</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://buddypress.trac.wordpress.org/changeset/11080">11080</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://buddypress.trac.wordpress.org/changeset/11080","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>hnla</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2016-09-10 14:25:50 +0000 (Sat, 10 Sep 2016)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Use WP page titles for BP directory pages headings

The activity directory heading historically used a hardcoded string for it's WP page title (post_title), with other component directories taking the name from the actual WP page title.

This commit brings all page headings for BP directories into parity, screens will look to the WP page(post_title) for the string to use, & BP sets a new series of initial default strings for new installs page creation.

An update routine is provided to ensure that no existing sites will suddenly see a new title string, if a previous install then update the post_title to older hardcoded strings (unless the page title changed by user), thereafter changes to the WP page title determine what BP will display.

Props boonebgorges, imath, dcavins, hnla
Fixes <a href="http://buddypress.trac.wordpress.org/ticket/6765">#6765</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcbpactivityclassesclassbpactivitycomponentphp">trunk/src/bp-activity/classes/class-bp-activity-component.php</a></li>
<li><a href="#trunksrcbpblogsclassesclassbpblogscomponentphp">trunk/src/bp-blogs/classes/class-bp-blogs-component.php</a></li>
<li><a href="#trunksrcbpcorebpcorefunctionsphp">trunk/src/bp-core/bp-core-functions.php</a></li>
<li><a href="#trunksrcbpcorebpcoreupdatephp">trunk/src/bp-core/bp-core-update.php</a></li>
<li><a href="#trunksrcbpgroupsclassesclassbpgroupscomponentphp">trunk/src/bp-groups/classes/class-bp-groups-component.php</a></li>
<li><a href="#trunksrcbpmembersclassesclassbpmemberscomponentphp">trunk/src/bp-members/classes/class-bp-members-component.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcbpactivityclassesclassbpactivitycomponentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-activity/classes/class-bp-activity-component.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-activity/classes/class-bp-activity-component.php     2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-activity/classes/class-bp-activity-component.php       2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -120,13 +120,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'activity' => $bp->table_prefix . 'bp_activity_meta',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                // Fetch the default directory title.
+               $default_directory_titles = bp_core_get_directory_page_default_titles();
+               $default_directory_title  = $default_directory_titles[$this->id];
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 // All globals for activity component.
</span><span class="cx" style="display: block; padding: 0 10px">                // Note that global_tables is included in this array.
</span><span class="cx" style="display: block; padding: 0 10px">                $args = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'slug'                  => BP_ACTIVITY_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'root_slug'             => isset( $bp->pages->activity->slug ) ? $bp->pages->activity->slug : BP_ACTIVITY_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'has_directory'         => true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'directory_title'       => _x( 'Site-Wide Activity', 'component directory title', 'buddypress' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'directory_title'       => isset( $bp->pages->activity->title ) ? $bp->pages->activity->title : $default_directory_title,
</ins><span class="cx" style="display: block; padding: 0 10px">                         'notification_callback' => 'bp_activity_format_notifications',
</span><span class="cx" style="display: block; padding: 0 10px">                        'search_string'         => __( 'Search Activity...', 'buddypress' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'global_tables'         => $global_tables,
</span></span></pre></div>
<a id="trunksrcbpblogsclassesclassbpblogscomponentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-blogs/classes/class-bp-blogs-component.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-blogs/classes/class-bp-blogs-component.php   2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-blogs/classes/class-bp-blogs-component.php     2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6,7 +6,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * shows blogs the member can post to in their profiles, and caches useful
</span><span class="cx" style="display: block; padding: 0 10px">  * information from those blogs to make querying blogs in bulk more performant.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @package BuddyPress
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @package BuddyPress
</ins><span class="cx" style="display: block; padding: 0 10px">  * @subpackage BlogsCore
</span><span class="cx" style="display: block; padding: 0 10px">  * @since 1.5.0
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -44,7 +44,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 1.5.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @see BP_Component::setup_globals() for description of parameters.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @see BP_Component::setup_globals() for description of parameters.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $args See {@link BP_Component::setup_globals()}.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -65,12 +65,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                // Fetch the default directory title.
+               $default_directory_titles = bp_core_get_directory_page_default_titles();
+               $default_directory_title  = $default_directory_titles[$this->id];
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 // All globals for blogs component.
</span><span class="cx" style="display: block; padding: 0 10px">                $args = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'slug'                  => BP_BLOGS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'root_slug'             => isset( $bp->pages->blogs->slug ) ? $bp->pages->blogs->slug : BP_BLOGS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'has_directory'         => is_multisite(), // Non-multisite installs don't need a top-level Sites directory, since there's only one site.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'directory_title'       => _x( 'Sites', 'component directory title', 'buddypress' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'directory_title'       => isset( $bp->pages->blogs->title ) ? $bp->pages->blogs->title : $default_directory_title,
</ins><span class="cx" style="display: block; padding: 0 10px">                         'notification_callback' => 'bp_blogs_format_notifications',
</span><span class="cx" style="display: block; padding: 0 10px">                        'search_string'         => __( 'Search sites...', 'buddypress' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'autocomplete_all'      => defined( 'BP_MESSAGES_AUTOCOMPLETE_ALL' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -150,7 +154,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $main_nav Optional. See BP_Component::setup_nav() for
</span><span class="cx" style="display: block; padding: 0 10px">         *                        description.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param array $sub_nav  Optional. See BP_Component::setup_nav() for
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @param array $sub_nav  Optional. See BP_Component::setup_nav() for
</ins><span class="cx" style="display: block; padding: 0 10px">          *                        description.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function setup_nav( $main_nav = array(), $sub_nav = array() ) {
</span></span></pre></div>
<a id="trunksrcbpcorebpcorefunctionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-core/bp-core-functions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-core/bp-core-functions.php   2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-core/bp-core-functions.php     2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -630,14 +630,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $pages = array();
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $page_titles = array(
-               'activity' => _x( 'Activity', 'Page title for the Activity directory.',       'buddypress' ),
-               'groups'   => _x( 'Groups',   'Page title for the Groups directory.',         'buddypress' ),
-               'blogs'    => _x( 'Sites',    'Page title for the Sites directory.',          'buddypress' ),
-               'members'  => _x( 'Members',  'Page title for the Members directory.',        'buddypress' ),
-               'activate' => _x( 'Activate', 'Page title for the user activation screen.',   'buddypress' ),
-               'register' => _x( 'Register', 'Page title for the user registration screen.', 'buddypress' ),
-       );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $page_titles = bp_core_get_directory_page_default_titles();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        $pages_to_create = array();
</span><span class="cx" style="display: block; padding: 0 10px">        foreach ( array_keys( $components ) as $component_name ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -694,6 +687,24 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Get the default page titles for BP directory pages.
+ *
+ * @since 2.7.0
+ *
+ * @return array
+ */
+function bp_core_get_directory_page_default_titles() {
+ return array(
+       'activity' => _x( 'Activity', 'Page title for the Activity directory.',       'buddypress' ),
+       'groups'   => _x( 'Groups',   'Page title for the Groups directory.',         'buddypress' ),
+       'blogs'    => _x( 'Sites',    'Page title for the Sites directory.',          'buddypress' ),
+       'members'  => _x( 'Members',  'Page title for the Members directory.',        'buddypress' ),
+       'activate' => _x( 'Activate', 'Page title for the user activation screen.',   'buddypress' ),
+       'register' => _x( 'Register', 'Page title for the user registration screen.', 'buddypress' ),
+ );
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Remove the entry from bp_pages when the corresponding WP page is deleted.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * Bails early on multisite installations when not viewing the root site.
</span></span></pre></div>
<a id="trunksrcbpcorebpcoreupdatephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-core/bp-core-update.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-core/bp-core-update.php      2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-core/bp-core-update.php        2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -265,7 +265,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Version 2.7.0.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $raw_db_version < 10940 ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $raw_db_version < 11079 ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         bp_update_to_2_7();
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -394,6 +394,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * bp-default would no longer be available, with no obvious way (outside of
</span><span class="cx" style="display: block; padding: 0 10px">  * a manual filter) to restore it. In 1.9.2, we add an option that flags
</span><span class="cx" style="display: block; padding: 0 10px">  * whether bp-default or a child theme is active at the time of upgrade; if so,
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ *
</ins><span class="cx" style="display: block; padding: 0 10px">  * the theme directory will continue to be registered even if the theme is
</span><span class="cx" style="display: block; padding: 0 10px">  * deactivated temporarily. Thus, new installations will not see bp-default,
</span><span class="cx" style="display: block; padding: 0 10px">  * but legacy installations using the theme will continue to see it.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -509,10 +510,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * - Add email unsubscribe salt.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * - Save legacy directory titles to the corresponding WP pages.
+ *
</ins><span class="cx" style="display: block; padding: 0 10px">  * @since 2.7.0
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> function bp_update_to_2_7() {
</span><span class="cx" style="display: block; padding: 0 10px">        bp_add_option( 'bp-emails-unsubscribe-salt', base64_encode( wp_generate_password( 64, true, true ) ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+       // Update post_titles
+       bp_270_migrate_directory_page_titles();
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -563,6 +569,55 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Update WP pages so that their post_title matches the legacy component directory title.
+ *
+ * As of 2.7.0, component directory titles come from the `post_title` attribute of the corresponding WP post object,
+ * instead of being hardcoded. To ensure that directory titles don't change for existing installations, we update these
+ * WP posts with the formerly hardcoded titles.
+ *
+ * @since 2.7.0
+ */
+function bp_270_migrate_directory_page_titles() {
+       $bp_pages = bp_core_get_directory_page_ids( 'all' );
+
+       $default_titles = bp_core_get_directory_page_default_titles();
+
+       $legacy_titles = array(
+               'activity' => _x( 'Site-Wide Activity', 'component directory title', 'buddypress' ),
+               'blogs'    => _x( 'Sites', 'component directory title', 'buddypress' ),
+               'groups'   => _x( 'Groups', 'component directory title', 'buddypress' ),
+               'members'  => _x( 'Members', 'component directory title', 'buddypress' ),
+       );
+
+       foreach ( $bp_pages as $component => $page_id ) {
+               if ( ! isset( $legacy_titles[ $component ] ) ) {
+                       continue;
+               }
+
+               $page = get_post( $page_id );
+               if ( ! $page ) {
+                       continue;
+               }
+
+               // If the admin has changed the default title, don't touch it.
+               if ( isset( $default_titles[ $component ] ) && $default_titles[ $component ] !== $page->post_title ) {
+                       continue;
+               }
+
+               // If the saved page title is the same as the legacy title, there's nothing to do.
+               if ( $legacy_titles[ $component ] == $page->post_title ) {
+                       continue;
+               }
+
+               // Update the page with the legacy title.
+               wp_update_post( array(
+                       'ID' => $page_id,
+                       'post_title' => $legacy_titles[ $component ],
+               ) );
+       }
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Redirect user to BP's What's New page on first page load after activation.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since 1.7.0
</span></span></pre></div>
<a id="trunksrcbpgroupsclassesclassbpgroupscomponentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-groups/classes/class-bp-groups-component.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-groups/classes/class-bp-groups-component.php 2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-groups/classes/class-bp-groups-component.php   2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -168,13 +168,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'group' => $bp->table_prefix . 'bp_groups_groupmeta',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                // Fetch the default directory title.
+               $default_directory_titles = bp_core_get_directory_page_default_titles();
+               $default_directory_title  = $default_directory_titles[$this->id];
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 // All globals for groups component.
</span><span class="cx" style="display: block; padding: 0 10px">                // Note that global_tables is included in this array.
</span><span class="cx" style="display: block; padding: 0 10px">                $args = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'slug'                  => BP_GROUPS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'root_slug'             => isset( $bp->pages->groups->slug ) ? $bp->pages->groups->slug : BP_GROUPS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'has_directory'         => true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'directory_title'       => _x( 'Groups', 'component directory title', 'buddypress' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'directory_title'       => isset( $bp->pages->groups->title ) ? $bp->pages->groups->title : $default_directory_title,
</ins><span class="cx" style="display: block; padding: 0 10px">                         'notification_callback' => 'groups_format_notifications',
</span><span class="cx" style="display: block; padding: 0 10px">                        'search_string'         => _x( 'Search Groups...', 'Component directory search', 'buddypress' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'global_tables'         => $global_tables,
</span></span></pre></div>
<a id="trunksrcbpmembersclassesclassbpmemberscomponentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/bp-members/classes/class-bp-members-component.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-members/classes/class-bp-members-component.php       2016-09-09 20:57:19 UTC (rev 11079)
+++ trunk/src/bp-members/classes/class-bp-members-component.php 2016-09-10 14:25:50 UTC (rev 11080)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -108,12 +108,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        define( 'BP_MEMBERS_SLUG', $this->id );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                // Fetch the default directory title.
+               $default_directory_titles = bp_core_get_directory_page_default_titles();
+               $default_directory_title  = $default_directory_titles[$this->id];
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 // Override any passed args.
</span><span class="cx" style="display: block; padding: 0 10px">                $args = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'slug'            => BP_MEMBERS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'root_slug'       => isset( $bp->pages->members->slug ) ? $bp->pages->members->slug : BP_MEMBERS_SLUG,
</span><span class="cx" style="display: block; padding: 0 10px">                        'has_directory'   => true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'directory_title' => _x( 'Members', 'component directory title', 'buddypress' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'directory_title' => isset( $bp->pages->members->title ) ? $bp->pages->members->title : $default_directory_title,
</ins><span class="cx" style="display: block; padding: 0 10px">                         'search_string'   => __( 'Search Members...', 'buddypress' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'global_tables'   => array(
</span><span class="cx" style="display: block; padding: 0 10px">                                'table_name_last_activity' => bp_core_get_table_prefix() . 'bp_activity',
</span></span></pre>
</div>
</div>

</body>
</html>