<!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][9941] trunk/src/bp-groups/bp-groups-template.php: Groups: Add `$step` parameter to `bp_is_last_group_creation_step()` & `bp_is_first_group_creation_step()` to allow comparing any step to first & last.</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/9941">9941</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/9941","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>johnjamesjacoby</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2015-06-12 14:55:33 +0000 (Fri, 12 Jun 2015)</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'>Groups: Add `$step` parameter to `bp_is_last_group_creation_step()` & `bp_is_first_group_creation_step()` to allow comparing any step to first & last. Retains default behavior if no step is passed.

This change improves group creation step calculations by enabling simpler comparisons in circumstances where the creation step in question may not be the current one.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcbpgroupsbpgroupstemplatephp">trunk/src/bp-groups/bp-groups-template.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcbpgroupsbpgroupstemplatephp"></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/bp-groups-template.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/bp-groups/bp-groups-template.php        2015-06-12 14:44:08 UTC (rev 9940)
+++ trunk/src/bp-groups/bp-groups-template.php  2015-06-12 14:55:33 UTC (rev 9941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4777,14 +4777,24 @@
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since BuddyPress (1.1.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">- * @return bool True if yes, False if no
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @param  string $step Step to compare
+ * @return bool         True if yes, False if no
</ins><span class="cx" style="display: block; padding: 0 10px">  */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-function bp_is_last_group_creation_step() {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+function bp_is_last_group_creation_step( $step = '' ) {
+
+       // Use current step, if no step passed
+       if ( empty( $step ) ) {
+               $step = bp_get_groups_current_create_step();
+       }
+
+       // Get the last step
</ins><span class="cx" style="display: block; padding: 0 10px">         $bp     = buddypress();
</span><span class="cx" style="display: block; padding: 0 10px">        $steps  = array_keys( $bp->groups->group_creation_steps );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $step   = array_pop( $steps );
-       $retval = ( $step === bp_get_groups_current_create_step() );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $l_step = array_pop( $steps );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        // Compare last step to step
+       $retval = ( $l_step === $step );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         return (bool) apply_filters( 'bp_is_last_group_creation_step', $retval, $steps, $step );
</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">@@ -4793,14 +4803,24 @@
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since BuddyPress (1.1.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">- * @return bool True if yes, False if no
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @param  string $step Step to compare
+ * @return bool         True if yes, False if no
</ins><span class="cx" style="display: block; padding: 0 10px">  */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-function bp_is_first_group_creation_step() {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+function bp_is_first_group_creation_step( $step = '' ) {
+
+       // Use current step, if no step passed
+       if ( empty( $step ) ) {
+               $step = bp_get_groups_current_create_step();
+       }
+
+       // Get the first step
</ins><span class="cx" style="display: block; padding: 0 10px">         $bp     = buddypress();
</span><span class="cx" style="display: block; padding: 0 10px">        $steps  = array_keys( $bp->groups->group_creation_steps );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $step   = array_shift( $steps );
-       $retval = ( $step === bp_get_groups_current_create_step() );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $f_step = array_shift( $steps );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        // Compare first step to step
+       $retval = ( $f_step === $step );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         return (bool) apply_filters( 'bp_is_first_group_creation_step', $retval, $steps, $step );
</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">@@ -4865,7 +4885,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since BuddyPress (1.0.0)
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param array $items Array of friends.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 */             
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          */
</ins><span class="cx" style="display: block; padding: 0 10px">                 $invitable_friends = apply_filters( 'bp_get_new_group_invite_friend_list', $items, $r, $args );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( ! empty( $invitable_friends ) && is_array( $invitable_friends ) ) {
</span></span></pre>
</div>
</div>

</body>
</html>