From 76308eca675505aa899ad647794b22b583bc698b Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 6 Feb 2012 16:41:05 -0800 Subject: [PATCH] add toggle to choose sending "friends with" activity even if contact is not hidden --- boot.php | 2 +- mod/dfrn_confirm.php | 87 ++++++++++++++++++++++--------------------- mod/notifications.php | 3 ++ view/intros.tpl | 1 + 4 files changed, 50 insertions(+), 43 deletions(-) diff --git a/boot.php b/boot.php index a861dff678..647290756b 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1243' ); +define ( 'FRIENDICA_VERSION', '2.3.1244' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1120 ); diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 26314f39be..abacd9906c 100755 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -72,6 +72,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { $intro_id = $handsfree['intro_id']; $duplex = $handsfree['duplex']; $hidden = ((array_key_exists('hidden',$handsfree)) ? intval($handsfree['hidden']) : 0 ); + $activity = ((array_key_exists('activity',$handsfree)) ? intval($handsfree['activity']) : 0 ); } else { $dfrn_id = ((x($_POST,'dfrn_id')) ? notags(trim($_POST['dfrn_id'])) : ""); @@ -79,6 +80,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { $duplex = ((x($_POST,'duplex')) ? intval($_POST['duplex']) : 0 ); $cid = ((x($_POST,'contact_id')) ? intval($_POST['contact_id']) : 0 ); $hidden = ((x($_POST,'hidden')) ? intval($_POST['hidden']) : 0 ); + $activity = ((x($_POST,'activity')) ? intval($_POST['activity']) : 0 ); } /** @@ -428,64 +430,65 @@ function dfrn_confirm_post(&$a,$handsfree = null) { else $contact = null; - // Send a new friend post if we are allowed to... + if(isset($new_relation) && $new_relation == CONTACT_IS_FRIEND) { - $r = q("SELECT `hide-friends` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", - intval($uid) - ); - if((count($r)) && (! $hidden) && ($r[0]['hide-friends'] == 0) && (is_array($contact)) && isset($new_relation) && ($new_relation == CONTACT_IS_FRIEND)) { - - if($r[0]['network'] === NETWORK_DIASPORA) { + if(($contact) && ($contact['network'] === NETWORK_DIASPORA)) { require_once('include/diaspora.php'); $ret = diaspora_share($user[0],$r[0]); logger('mod_follow: diaspora_share returns: ' . $ret); } - require_once('include/items.php'); + // Send a new friend post if we are allowed to... - $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", + $r = q("SELECT `hide-friends` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", intval($uid) ); + if((count($r)) && ($activity) && (! $hidden)) { - if(count($self)) { + require_once('include/items.php'); - $arr = array(); - $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $uid); - $arr['uid'] = $uid; - $arr['contact-id'] = $self[0]['id']; - $arr['wall'] = 1; - $arr['type'] = 'wall'; - $arr['gravity'] = 0; - $arr['origin'] = 1; - $arr['author-name'] = $arr['owner-name'] = $self[0]['name']; - $arr['author-link'] = $arr['owner-link'] = $self[0]['url']; - $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb']; - $arr['verb'] = ACTIVITY_FRIEND; - $arr['object-type'] = ACTIVITY_OBJ_PERSON; + $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", + intval($uid) + ); + + if(count($self)) { + + $arr = array(); + $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $uid); + $arr['uid'] = $uid; + $arr['contact-id'] = $self[0]['id']; + $arr['wall'] = 1; + $arr['type'] = 'wall'; + $arr['gravity'] = 0; + $arr['origin'] = 1; + $arr['author-name'] = $arr['owner-name'] = $self[0]['name']; + $arr['author-link'] = $arr['owner-link'] = $self[0]['url']; + $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb']; + $arr['verb'] = ACTIVITY_FRIEND; + $arr['object-type'] = ACTIVITY_OBJ_PERSON; - $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]'; - $B = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'; - $BPhoto = '[url=' . $contact['url'] . ']' . '[img]' . $contact['thumb'] . '[/img][/url]'; - $arr['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto; + $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]'; + $B = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'; + $BPhoto = '[url=' . $contact['url'] . ']' . '[img]' . $contact['thumb'] . '[/img][/url]'; + $arr['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$BPhoto; - $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $contact['name'] . '' - . '' . $contact['url'] . '/' . $contact['name'] . ''; - $arr['object'] .= '' . xmlify('' . "\n"); - $arr['object'] .= xmlify('' . "\n"); - $arr['object'] .= '' . "\n"; - $arr['last-child'] = 1; + $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $contact['name'] . '' + . '' . $contact['url'] . '/' . $contact['name'] . ''; + $arr['object'] .= '' . xmlify('' . "\n"); + $arr['object'] .= xmlify('' . "\n"); + $arr['object'] .= '' . "\n"; + $arr['last-child'] = 1; - $arr['allow_cid'] = $user[0]['allow_cid']; - $arr['allow_gid'] = $user[0]['allow_gid']; - $arr['deny_cid'] = $user[0]['deny_cid']; - $arr['deny_gid'] = $user[0]['deny_gid']; - - $i = item_store($arr); - if($i) - proc_run('php',"include/notifier.php","activity","$i"); + $arr['allow_cid'] = $user[0]['allow_cid']; + $arr['allow_gid'] = $user[0]['allow_gid']; + $arr['deny_cid'] = $user[0]['deny_cid']; + $arr['deny_gid'] = $user[0]['deny_gid']; + $i = item_store($arr); + if($i) + proc_run('php',"include/notifier.php","activity","$i"); + } } - } // Let's send our user to the contact editor in case they want to // do anything special with this new friend. diff --git a/mod/notifications.php b/mod/notifications.php index 82d450a880..635639d892 100755 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -142,6 +142,8 @@ function notifications_content(&$a) { '$fullname' => $rr['fname'], '$url' => $rr['furl'], '$hidden' => array('hidden', t('Hide this contact from others'), ($rr['hidden'] == 1), ''), + '$activity' => array('activity', t('Post a new friend activity'), 1, t('if applicable')), + '$knowyou' => $knowyou, '$approve' => t('Approve'), '$note' => $rr['note'], @@ -187,6 +189,7 @@ function notifications_content(&$a) { '$photo' => ((x($rr,'photo')) ? $rr['photo'] : "images/default-profile.jpg"), '$fullname' => $rr['name'], '$hidden' => array('hidden', t('Hide this contact from others'), ($rr['hidden'] == 1), ''), + '$activity' => array('activity', t('Post a new friend activity'), 1, t('if applicable')), '$url' => $rr['url'], '$knowyou' => $knowyou, '$approve' => t('Approve'), diff --git a/view/intros.tpl b/view/intros.tpl index d02fd57e6d..e7fd53ca4f 100755 --- a/view/intros.tpl +++ b/view/intros.tpl @@ -15,6 +15,7 @@
{{inc field_checkbox.tpl with $field=$hidden }}{{endinc}} +{{inc field_checkbox.tpl with $field=$activity }}{{endinc}}