3 require_once('include/datetime.php');
4 require_once('include/diaspora.php');
5 require_once('include/queue_fn.php');
7 function profile_change() {
14 // $url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
15 // if($url && strlen(get_config('system','directory')))
16 // proc_run('php',"include/directory.php","$url");
18 $recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s'
19 AND `uid` = %d AND `rel` != %d ",
20 dbesc(NETWORK_DIASPORA),
22 intval(CONTACT_IS_SHARING)
27 $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
28 INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
29 WHERE `user`.`uid` = %d AND `profile`.`is-default` = 1 LIMIT 1",
37 $handle = xmlify($a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3));
38 $first = xmlify(((strpos($profile['name'],' '))
39 ? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']));
40 $last = xmlify((($first === $profile['name']) ? '' : trim(substr($profile['name'],strlen($first)))));
41 $large = xmlify($a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg');
42 $medium = xmlify($a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg');
43 $small = xmlify($a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg');
44 $searchable = xmlify((($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ));
45 // $searchable = 'true';
47 if($searchable === 'true') {
50 if(($profile['dob']) && ($profile['dob'] != '0000-00-00'))
51 $dob = ((intval($profile['dob'])) ? intval($profile['dob']) : '1000') . '-' . datetime_convert('UTC','UTC',$profile['dob'],'m-d');
52 $gender = xmlify($profile['gender']);
53 $about = xmlify($profile['about']);
54 require_once('include/bbcode.php');
55 $about = xmlify(strip_tags(bbcode($about)));
57 if($profile['locality'])
58 $location .= $profile['locality'];
59 if($profile['region']) {
62 $location .= $profile['region'];
64 if($profile['country-name']) {
67 $location .= $profile['country-name'];
69 $location = xmlify($location);
71 if($profile['pub_keywords']) {
72 $kw = str_replace(',',' ',$profile['pub_keywords']);
73 $kw = str_replace(' ',' ',$kw);
74 $arr = explode(' ',$profile['pub_keywords']);
76 for($x = 0; $x < 5; $x ++) {
78 $tags .= '#' . trim($arr[$x]) . ' ';
82 $tags = xmlify(trim($tags));
85 $tpl = get_markup_template('diaspora_profile.tpl');
87 $msg = replace_macros($tpl,array(
97 '$location' => $location,
98 '$searchable' => $searchable,
101 logger('profile_change: ' . $msg, LOGGER_ALL);
103 foreach($recips as $recip) {
104 $msgtosend = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$a->user,$recip,$a->user['prvkey'],$recip['pubkey'],false)));
105 add_to_queue($recip['id'],NETWORK_DIASPORA,$msgtosend,false);