<!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][8037] trunk/bp-groups/bp-groups-notifications.php: Set bp_notifications_add_notification() arguments correctly in case of a new_membership_request</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/8037">8037</a></dd>
<dt>Author</dt> <dd>imath</dd>
<dt>Date</dt> <dd>2014-03-04 21:55:52 +0000 (Tue, 04 Mar 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Set bp_notifications_add_notification() arguments correctly in case of a new_membership_request

The group id needs to be the item_id argument of bp_notifications_add_notification() in case a member requested to join the group. The patch also makes sure the link to the user notification settings page is the one of the administrator of the group in the email sent to inform him of a new membership request.

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

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkbpgroupsbpgroupsnotificationsphp">trunk/bp-groups/bp-groups-notifications.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkbpgroupsbpgroupsnotificationsphp"></a>
<div class="modfile"><h4>Modified: trunk/bp-groups/bp-groups-notifications.php (8036 => 8037)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/bp-groups/bp-groups-notifications.php      2014-03-04 21:35:17 UTC (rev 8036)
+++ trunk/bp-groups/bp-groups-notifications.php 2014-03-04 21:55:52 UTC (rev 8037)
</span><span class="lines">@@ -61,8 +61,8 @@
</span><span class="cx">  if ( bp_is_active( 'notifications' ) ) {
</span><span class="cx">          bp_notifications_add_notification( array(
</span><span class="cx">                  'user_id'           => $admin_id,
</span><del>-                       'item_id'           => $requesting_user_id,
-                       'secondary_item_id' => $group_id,
</del><ins>+                        'item_id'           => $group_id,
+                       'secondary_item_id' => $requesting_user_id,
</ins><span class="cx">                   'component_name'    => buddypress()->groups->id,
</span><span class="cx">                  'component_action'  => 'new_membership_request'
</span><span class="cx">          ) );
</span><span class="lines">@@ -71,14 +71,20 @@
</span><span class="cx">  if ( 'no' == bp_get_user_meta( $admin_id, 'notification_groups_membership_request', true ) )
</span><span class="cx">          return false;
</span><span class="cx"> 
</span><ins>+       // Username of the user requesting a membership: %1$s in mail
</ins><span class="cx">   $requesting_user_name = bp_core_get_user_displayname( $requesting_user_id );
</span><span class="cx">  $group                = groups_get_group( array( 'group_id' => $group_id ) );
</span><span class="cx"> 
</span><ins>+       // Group Administrator user's data
</ins><span class="cx">   $ud             = bp_core_get_core_userdata( $admin_id );
</span><span class="cx">  $group_requests = bp_get_group_permalink( $group ) . 'admin/membership-requests';
</span><ins>+
+       // Link to the user's profile who's requesting a membership: %3$s in mail
</ins><span class="cx">   $profile_link   = bp_core_get_user_domain( $requesting_user_id );
</span><ins>+
</ins><span class="cx">   $settings_slug  = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
</span><del>-       $settings_link  = bp_core_get_user_domain( $requesting_user_id ) . $settings_slug . '/notifications/';
</del><ins>+        // Link to the group administrator email settings: %s in "disable notifications" part of the email
+       $settings_link  = bp_core_get_user_domain( $admin_id ) . $settings_slug . '/notifications/';
</ins><span class="cx"> 
</span><span class="cx">  // Set up and send the message
</span><span class="cx">  $to       = $ud->user_email;
</span><span class="lines">@@ -316,8 +322,8 @@
</span><span class="cx"> 
</span><span class="cx">  switch ( $action ) {
</span><span class="cx">          case 'new_membership_request':
</span><del>-                       $group_id = $secondary_item_id;
-                       $requesting_user_id = $item_id;
</del><ins>+                        $group_id = $item_id;
+                       $requesting_user_id = $secondary_item_id;
</ins><span class="cx"> 
</span><span class="cx">                  $group = groups_get_group( array( 'group_id' => $group_id ) );
</span><span class="cx">                  $group_link = bp_get_group_permalink( $group );
</span></span></pre>
</div>
</div>

</body>
</html>