From 972c01edb3009e835d7a5a0861867cea8c06283f Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 12 Apr 2012 21:10:32 -0700 Subject: profile change activities --- mod/profiles.php | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 3 deletions(-) (limited to 'mod/profiles.php') diff --git a/mod/profiles.php b/mod/profiles.php index eef58bb06..99b197fde 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -51,6 +51,7 @@ function profiles_post(&$a) { if($orig[0]['name'] != $name) $namechanged = true; + $pdesc = notags(trim($_POST['pdesc'])); $gender = notags(trim($_POST['gender'])); $address = notags(trim($_POST['address'])); @@ -61,8 +62,6 @@ function profiles_post(&$a) { $pub_keywords = notags(trim($_POST['pub_keywords'])); $prv_keywords = notags(trim($_POST['prv_keywords'])); $marital = notags(trim($_POST['marital'])); - if($marital != $orig[0]['marital']) - $maritalchanged = true; $with = ((x($_POST,'with')) ? notags(trim($_POST['with'])) : ''); @@ -134,6 +133,24 @@ function profiles_post(&$a) { $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0); + + + $changes = array(); + if($is_default) { + logger('changes'); + if($marital != $orig[0]['marital']) $changes[] = '♥ ' . t('Marital Status'); + if($work != $orig[0]['work']) $changes[] = t('Work/Employment'); + if($religion != $orig[0]['religion']) $changes[] = t('Religion'); + if($politic != $orig[0]['politic']) $changes[] = t('Political Views'); + + if($address != $orig[0]['address'] || $locality != $orig[0]['locality'] || $region != $orig[0]['region'] + || $country_name != $orig[0]['country_name']) + $changes[] = t('Location'); + + profile_activity($changes); + + } + $r = q("UPDATE `profile` SET `profile-name` = '%s', `name` = '%s', @@ -195,7 +212,7 @@ function profiles_post(&$a) { dbesc($education), intval($hide_friends), intval($a->argv[1]), - intval($_SESSION['uid']) + intval(local_user()) ); if($r) @@ -222,6 +239,80 @@ function profiles_post(&$a) { } +function profile_activity($changed) { + $a = get_app(); + + if(! local_user() || ! is_array($changed) || ! count($changed)) + return; + + if($a->user['hidewall'] || get_config('system','block_public')) + return; + + if(! get_pconfig(local_user(),'system','post_profilechange')) + return; + + logger('activity'); + require_once('include/items.php'); + + $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", + intval(local_user()) + ); + + if(! count($self)) + return; + + $arr = array(); + $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user()); + $arr['uid'] = local_user(); + $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_UPDATE; + $arr['object-type'] = ACTIVITY_OBJ_PROFILE; + + $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]'; + + + $changes = ''; + $t = count($changed); + $z = 0; + foreach($changed as $ch) { + if(strlen($changes)) { + if ($z == ($t - 1)) + $changes .= ' and '; + else + $changes .= ', '; + } + $z ++; + $changes .= $ch; + } + + $prof = '[url=' . $self[0]['url'] . ']' . t('public profile') . '[/url]'; + + $arr['body'] = sprintf( t('%1$s has an updated %2$s changing %3$s.'), $A, $prof, $changes); + + $arr['object'] = '' . ACTIVITY_OBJ_PROFILE . '' . $self[0]['name'] . '' + . '' . $self[0]['url'] . '/' . $self[0]['name'] . ''; + $arr['object'] .= '' . xmlify('' . "\n"); + $arr['object'] .= xmlify('' . "\n"); + $arr['object'] .= '' . "\n"; + $arr['last-child'] = 1; + + $arr['allow_cid'] = $a->user['allow_cid']; + $arr['allow_gid'] = $a->user['allow_gid']; + $arr['deny_cid'] = $a->user['deny_cid']; + $arr['deny_gid'] = $a->user['deny_gid']; + + $i = item_store($arr); + if($i) + proc_run('php',"include/notifier.php","activity","$i"); + +} function profiles_content(&$a) { -- cgit v1.2.3 From 2b339d5a6b3018618944e353cb5fc18c6f81aefb Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 12 Apr 2012 21:21:35 -0700 Subject: stray log statements --- mod/profiles.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'mod/profiles.php') diff --git a/mod/profiles.php b/mod/profiles.php index 99b197fde..64a0142ec 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -137,7 +137,6 @@ function profiles_post(&$a) { $changes = array(); if($is_default) { - logger('changes'); if($marital != $orig[0]['marital']) $changes[] = '♥ ' . t('Marital Status'); if($work != $orig[0]['work']) $changes[] = t('Work/Employment'); if($religion != $orig[0]['religion']) $changes[] = t('Religion'); @@ -251,7 +250,6 @@ function profile_activity($changed) { if(! get_pconfig(local_user(),'system','post_profilechange')) return; - logger('activity'); require_once('include/items.php'); $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", -- cgit v1.2.3 From 446e962bb85cf377d476734812318f6dc76bdfb2 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 12 Apr 2012 21:38:40 -0700 Subject: send link directly to profile tab --- mod/profiles.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mod/profiles.php') diff --git a/mod/profiles.php b/mod/profiles.php index 64a0142ec..227fb0763 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -290,13 +290,13 @@ function profile_activity($changed) { $changes .= $ch; } - $prof = '[url=' . $self[0]['url'] . ']' . t('public profile') . '[/url]'; + $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]'; - $arr['body'] = sprintf( t('%1$s has an updated %2$s changing %3$s.'), $A, $prof, $changes); + $arr['body'] = sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes); $arr['object'] = '' . ACTIVITY_OBJ_PROFILE . '' . $self[0]['name'] . '' . '' . $self[0]['url'] . '/' . $self[0]['name'] . ''; - $arr['object'] .= '' . xmlify('' . "\n"); + $arr['object'] .= '' . xmlify('' . "\n"); $arr['object'] .= xmlify('' . "\n"); $arr['object'] .= '' . "\n"; $arr['last-child'] = 1; -- cgit v1.2.3 From af68d033e330e33571f95763b58833273d22d3a7 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 12 Apr 2012 21:58:15 -0700 Subject: extended the "interesting" profile attributes --- mod/profiles.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'mod/profiles.php') diff --git a/mod/profiles.php b/mod/profiles.php index 227fb0763..7a33a03e4 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -67,8 +67,11 @@ function profiles_post(&$a) { // linkify the relationship target if applicable + $withchanged = false; + if(strlen($with)) { if($with != strip_tags($orig[0]['with'])) { + $withchanged = true; $prf = ''; $lookup = $with; if(strpos($lookup,'@') === 0) @@ -138,10 +141,14 @@ function profiles_post(&$a) { $changes = array(); if($is_default) { if($marital != $orig[0]['marital']) $changes[] = '♥ ' . t('Marital Status'); + if($withchanged) $changes[] = '♥ ' . t('Romantic Partner'); if($work != $orig[0]['work']) $changes[] = t('Work/Employment'); if($religion != $orig[0]['religion']) $changes[] = t('Religion'); if($politic != $orig[0]['politic']) $changes[] = t('Political Views'); - + if($gender != $orig[0]['gender']) $changes[] = t('Gender'); + if($sexual != $orig[0]['sexual']) $changes[] = t('Sexual Preference'); + if($homepage != $orig[0]['homepage']) $changes[] = t('Homepage'); + if($interest != $orig[0]['interest']) $changes[] = t('Interests'); if($address != $orig[0]['address'] || $locality != $orig[0]['locality'] || $region != $orig[0]['region'] || $country_name != $orig[0]['country_name']) $changes[] = t('Location'); -- cgit v1.2.3