<!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][9001] trunk/src/bp-core: On BuddyPress pages, make sure the edit link is not displayed if the corresponding post ID is not set</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">
<dt>Revision</dt> <dd><a href="http://buddypress.trac.wordpress.org/changeset/9001">9001</a></dd>
<dt>Author</dt> <dd>imath</dd>
<dt>Date</dt> <dd>2014-09-10 21:29:19 +0000 (Wed, 10 Sep 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>On BuddyPress pages, make sure the edit link is not displayed if the corresponding post ID is not set

This prevents the edit link to show at the bottom of BuddyPress pages and allow plugins to get an edit link in case they are using it (providing a post ID) in a BuddyPress page.

Fixes <a href="http://buddypress.trac.wordpress.org/ticket/5853">#5853</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcbpcorebpcorefiltersphp">trunk/src/bp-core/bp-core-filters.php</a></li>
<li><a href="#trunksrcbpcorebpcorethemecompatibilityphp">trunk/src/bp-core/bp-core-theme-compatibility.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcbpcorebpcorefiltersphp"></a>
<div class="modfile"><h4>Modified: trunk/src/bp-core/bp-core-filters.php (9000 => 9001)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/bp-core/bp-core-filters.php    2014-09-10 17:30:42 UTC (rev 9000)
+++ trunk/src/bp-core/bp-core-filters.php       2014-09-10 21:29:19 UTC (rev 9001)
</span><span class="lines">@@ -370,7 +370,7 @@
</span><span class="cx">                          return $user;
</span><span class="cx">                  }
</span><span class="cx"> 
</span><del>-               /** 
</del><ins>+                /**
</ins><span class="cx">            * There can be a case where the user was created without the skip confirmation
</span><span class="cx">           * And the super admin goes in pending accounts to resend it. In this case, as the
</span><span class="cx">           * meta['password'] is not set, the activation url must be WordPress one
</span><span class="lines">@@ -605,3 +605,21 @@
</span><span class="cx"> function bp_filter_metaid_column_name( $q ) {
</span><span class="cx">  return str_replace( 'meta_id', 'id', $q );
</span><span class="cx"> }
</span><ins>+
+/**
+ * Filter the edit post link to avoid its display in BuddyPress pages
+ *
+ * @since BuddyPress (2.1.0)
+ *
+ * @param  string $link    The edit link.
+ * @param  int    $post_id Post ID.
+ * @return mixed  Will be a boolean (false) if $post_id is 0. Will be a string (the unchanged edit link)
+ *                otherwise
+ */
+function bp_core_filter_edit_post_link( $edit_link = '', $post_id = 0 ) {
+       if ( 0 === $post_id ) {
+               $edit_link = false;
+       }
+
+       return $edit_link;
+}
</ins></span></pre></div>
<a id="trunksrcbpcorebpcorethemecompatibilityphp"></a>
<div class="modfile"><h4>Modified: trunk/src/bp-core/bp-core-theme-compatibility.php (9000 => 9001)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/bp-core/bp-core-theme-compatibility.php        2014-09-10 17:30:42 UTC (rev 9000)
+++ trunk/src/bp-core/bp-core-theme-compatibility.php   2014-09-10 21:29:19 UTC (rev 9001)
</span><span class="lines">@@ -558,7 +558,7 @@
</span><span class="cx">  bp_set_theme_compat_active( true );
</span><span class="cx"> 
</span><span class="cx">  // If we are in theme compat, we don't need the 'Edit' post link
</span><del>-       add_filter( 'get_edit_post_link', '__return_false' );
</del><ins>+        add_filter( 'get_edit_post_link', 'bp_core_filter_edit_post_link', 10, 2 );
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre>
</div>
</div>

</body>
</html>