+function profile_activity($changed, $value) {
+ $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;
+
+ 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 .= t(' and ');
+ else
+ $changes .= ', ';
+ }
+ $z ++;
+ $changes .= $ch;
+ }
+
+ $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';
+
+ if($t == 1 && strlen($value)) {
+ $message = sprintf( t('%1$s changed %2$s to “%3$s”'), $A, $changes, $value);
+ $message .= "\n\n" . sprintf( t(' - Visit %1$s\'s %2$s'), $A, $prof);
+ }
+ else
+ $message = sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes);
+
+
+ $arr['body'] = $message;
+
+ $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
+ . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
+ $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $self[0]['url'] . '?tab=profile' . '" />' . "\n");
+ $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $self[0]['thumb'] . '" />' . "\n");
+ $arr['object'] .= '</link></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) {
+
+ // give it a permanent link
+ q("update item set plink = '%s' where id = %d limit 1",
+ dbesc($a->get_baseurl() . '/display/' . $a->user['nickname'] . '/' . $i),
+ intval($i)
+ );
+
+ proc_run('php',"include/notifier.php","activity","$i");
+
+ }
+}