<!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>[11668] sites/trunk/wordpress.org/public_html/wp-content: Make: Enable the Components page for Meta Trac.</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 { white-space: pre-line; 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://meta.trac.wordpress.org/changeset/11668">11668</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/11668","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2022-03-11 21:41:43 +0000 (Fri, 11 Mar 2022)</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'>Make: Enable the Components page for Meta Trac.

See <a href="http://meta.trac.wordpress.org/ticket/6182">#6182</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginstracnotificationstraccomponentsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-components.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginstracnotificationstracnotificationsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgbreathearchivecomponentphp">sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/archive-component.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginstracnotificationstraccomponentsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-components.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-components.php   2022-03-11 17:47:13 UTC (rev 11667)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-components.php     2022-03-11 21:41:43 UTC (rev 11668)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5,8 +5,20 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        const POST_TYPE_NAME = 'component';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        protected $trac;
+
+       protected $tracs_supported = array( 'core', 'meta' );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         function __construct( $api ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->api = $api;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $make_site = explode( '/', home_url( '' ) );
+               $trac = $make_site[3];
+               if ( $make_site[2] !== 'make.wordpress.org' || ! in_array( $trac, $this->tracs_supported ) ) {
+                       return;
+               }
+
+               $this->trac = $trac;
+               $this->api  = $api;
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 add_action( 'init', array( $this, 'init' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                add_action( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                add_action( 'admin_menu', array( $this, 'admin_menu' ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -21,6 +33,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                add_filter( 'map_meta_cap', [ $this, 'map_meta_cap' ], 10, 4 );
</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">+        function trac_url() {
+               return 'https://' . $this->trac . '.trac.wordpress.org';
+       }
+
+       function trac_name() {
+               return ucfirst( $this->trac );
+       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">         function init() {
</span><span class="cx" style="display: block; padding: 0 10px">                add_shortcode( 'trac-select', array( $this, 'shortcode_select' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                add_shortcode( 'logged-in', array( $this, 'shortcode_logged_in' ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -341,7 +361,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'tag_slug__in' => $post->post_name
</span><span class="cx" style="display: block; padding: 0 10px">                ) );
</span><span class="cx" style="display: block; padding: 0 10px">                if ( $recent_posts->have_posts() ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        echo "<h3>Recent posts on the make/core blog</h3>\n<ul>";
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 echo "<h3>Recent posts on the make/{$this->trac} blog</h3>\n<ul>";
</ins><span class="cx" style="display: block; padding: 0 10px">                         while ( $recent_posts->have_posts() ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                $recent_posts->the_post();
</span><span class="cx" style="display: block; padding: 0 10px">                                echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a> (' . get_the_date() . ")</li>\n";
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -403,8 +423,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        echo "</ul>\n\n";
</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">-                echo "\n" . "Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of core are always seeking to mentor others to impart their knowledge.\n\n";
-               echo "<strong>Want to help? Start following this component!</strong> <a href='/core/notifications/'>Adjust your notifications here</a>. Feel free to dig into any ticket." . "\n\n";
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         echo "\n" . "Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of {$this->trac_name()} are always seeking to mentor others to impart their knowledge.\n\n";
+               echo "<strong>Want to help? Start following this component!</strong> <a href='/{$this->trac}/notifications/'>Adjust your notifications here</a>. Feel free to dig into any ticket." . "\n\n";
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $followers = $this->api->get_component_followers( $post->post_title );
</span><span class="cx" style="display: block; padding: 0 10px">                if ( $followers ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -478,7 +498,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $component_count = isset( $component_type[ $component ] ) ? array_sum( $component_type[ $component ] ) : 0;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( is_singular() ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        echo '<div><a class="create-new-ticket button button-large button-primary" href="https://login.wordpress.org/?redirect_to=' . urlencode( 'https://core.trac.wordpress.org/newticket?component=' . urlencode( $component ) ) . '" rel="nofollow">Create a new ticket</a></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 echo '<div><a class="create-new-ticket button button-large button-primary" href="https://login.wordpress.org/?redirect_to=' . urlencode( $this->trac_url() . '/newticket?component=' . urlencode( $component ) ) . '" rel="nofollow">Create a new ticket</a></div>';
</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">                if ( ! $component_count ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -595,7 +615,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                if ( ! isset( $args['status'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $args['status'] = '!closed';
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                return add_query_arg( $args, 'https://core.trac.wordpress.org/query' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         return add_query_arg( $args, $this->trac_url() . '/query' );
</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">        function render_tickets( $tickets ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -602,7 +622,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                echo '<ul class="ticket-list">';
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $tickets as $ticket ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $ticket = (object) $ticket;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        echo '<li><a href="https://core.trac.wordpress.org/ticket/' . $ticket->id . '">#' . $ticket->id . '</a> &nbsp;' . esc_html( $ticket->summary );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 echo '<li><a href="' . $this->trac_url() . '/ticket/' . $ticket->id . '">#' . $ticket->id . '</a> &nbsp;' . esc_html( $ticket->summary );
</ins><span class="cx" style="display: block; padding: 0 10px">                         if ( ! empty( $ticket->focuses ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                echo ' <span class="focus">' . implode( '</span> <span class="focus">', explode( ', ', esc_html( $ticket->focuses ) ) ) . '</span>';
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -624,7 +644,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $topics = explode( ' ', $attr[0] );
</span><span class="cx" style="display: block; padding: 0 10px">                $both = in_array( 'focus', $topics ) && in_array( 'component', $topics );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                echo '<select class="tickets-by-topic" data-location="https://core.trac.wordpress.org/">';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         echo '<select class="tickets-by-topic" data-location="' . $this->trac_url() . '/">';
</ins><span class="cx" style="display: block; padding: 0 10px">                 if ( $both ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $default = 'Select a focus or component';
</span><span class="cx" style="display: block; padding: 0 10px">                } elseif ( in_array( 'focus', $topics ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -690,7 +710,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                if ( ! empty( $this->breakdown_component_type[ $component ] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $open_tickets = array_sum( $this->breakdown_component_type[ $component ] );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                echo '<td class="right"><a href="https://core.trac.wordpress.org/component/' . esc_attr( rawurlencode( $component ) ) . '">' . $open_tickets . '</a></td>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         echo '<td class="right"><a href="' . $this->trac_url() . '/component/' . esc_attr( rawurlencode( $component ) ) . '">' . $open_tickets . '</a></td>';
</ins><span class="cx" style="display: block; padding: 0 10px">                 if ( $history['change'] ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $count = sprintf( "%+d", $history['change'] );
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( $history['change'] > 0 ) {
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginstracnotificationstracnotificationsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php        2022-03-11 17:47:13 UTC (rev 11667)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php  2022-03-11 21:41:43 UTC (rev 11668)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -29,7 +29,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $this->trac = $trac;
</span><span class="cx" style="display: block; padding: 0 10px">                $this->api  = new Trac_Notifications_HTTP_Client( $this->trac_url() . '/wpapi', TRAC_NOTIFICATIONS_API_KEY );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( 'core' === $trac ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( 'core' === $trac || 'meta' === $trac ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         require __DIR__ . '/trac-components.php';
</span><span class="cx" style="display: block; padding: 0 10px">                        $this->components = new Make_Core_Trac_Components( $this->api );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentthemespubwporgbreathearchivecomponentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/archive-component.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/archive-component.php   2022-03-11 17:47:13 UTC (rev 11667)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/archive-component.php     2022-03-11 21:41:43 UTC (rev 11668)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3,12 +3,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * Template for component pages, for make/core.
</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">+$trac_name = 'Core';
+if ( isset( $wporg_trac_notifications ) ) {
+       $trac_name = $wporg_trac_notifications->trac_name();
+}
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php get_header(); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <div id="primary" class="content-area">
</span><span class="cx" style="display: block; padding: 0 10px">                <div role="main">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <h1>WordPress Core Components</h1>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <h1><?php printf( 'WordPress %s Components', $trac_name ); ?></h1>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px">        if ( $cached = get_transient( 'trac_components_page' ) ) {
</span></span></pre>
</div>
</div>

</body>
</html>