X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fprofile_update.php;h=9da96442cb1930058cdaa9b67f5fa1fa599c0b85;hb=ccaeb00973b776270de3959b2e567cc1a45ff670;hp=1a2d9d3b57d425420ff0c356d6f1a6781f094397;hpb=da416e0181663b33304eadc0b1db228e6f1f5b7d;p=friendica.git diff --git a/include/profile_update.php b/include/profile_update.php index 1a2d9d3b57..9da96442cb 100644 --- a/include/profile_update.php +++ b/include/profile_update.php @@ -2,20 +2,21 @@ require_once('include/datetime.php'); require_once('include/diaspora.php'); +require_once('include/queue_fn.php'); function profile_change() { $a = get_app(); - + if(! local_user()) return; // $url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; - // if($url && strlen(get_config('system','directory_submit_url'))) - // proc_run('php',"include/directory.php","$url"); +// if($url && strlen(get_config('system','directory_submit_url'))) +// proc_run('php',"include/directory.php","$url"); - $recips = q("SELECT DISTINCT(`batch`), `id`, `name`,`network` FROM `contact` WHERE `network` = '%s' - AND `uid` = %d AND `rel` != %d ORDER BY rand() ", + $recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s' + AND `uid` = %d AND `rel` != %d ", dbesc(NETWORK_DIASPORA), intval(local_user()), intval(CONTACT_IS_SHARING) @@ -24,33 +25,34 @@ function profile_change() { return; $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile` - LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid` + INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` WHERE `user`.`uid` = %d AND `profile`.`is-default` = 1 LIMIT 1", intval(local_user()) ); - + if(! count($r)) return; $profile = $r[0]; - $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); - $first = ((strpos($profile['name'],' ')) - ? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']); - $last = (($first === $profile['name']) ? '' : trim(substr($profile['name'],strlen($first)))); - $large = $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'; - $medium = $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'; - $small = $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg'; - $searchable = (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ); + $handle = xmlify($a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3)); + $first = xmlify(((strpos($profile['name'],' ')) + ? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name'])); + $last = xmlify((($first === $profile['name']) ? '' : trim(substr($profile['name'],strlen($first))))); + $large = xmlify($a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'); + $medium = xmlify($a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'); + $small = xmlify($a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg'); + $searchable = xmlify((($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' )); +// $searchable = 'true'; if($searchable === 'true') { $dob = '1000-00-00'; if(($profile['dob']) && ($profile['dob'] != '0000-00-00')) $dob = ((intval($profile['dob'])) ? intval($profile['dob']) : '1000') . '-' . datetime_convert('UTC','UTC',$profile['dob'],'m-d'); - $gender = $profile['gender']; - $about = $profile['about']; + $gender = xmlify($profile['gender']); + $about = xmlify($profile['about']); require_once('include/bbcode.php'); - $about = strip_tags(bbcode($about)); + $about = xmlify(strip_tags(bbcode($about))); $location = ''; if($profile['locality']) $location .= $profile['locality']; @@ -64,6 +66,7 @@ function profile_change() { $location .= ', '; $location .= $profile['country-name']; } + $location = xmlify($location); $tags = ''; if($profile['pub_keywords']) { $kw = str_replace(',',' ',$profile['pub_keywords']); @@ -76,12 +79,11 @@ function profile_change() { } } } - $tags = trim($tags); + $tags = xmlify(trim($tags)); } $tpl = get_markup_template('diaspora_profile.tpl'); - $msg = replace_macros($tpl,array( '$handle' => $handle, '$first' => $first, @@ -98,16 +100,8 @@ function profile_change() { )); logger('profile_change: ' . $msg, LOGGER_ALL); - $msgtosend = diaspora_msg_build($msg,$a->user,null,$a->user['prvkey'],null,true); foreach($recips as $recip) { - q("insert into queue (`cid`,`network`,`created`,`last`,`content`,`batch`) - values(%d,'%s','%s','%s','%s',%d)", - intval($recip['id']), - dbesc(NETWORK_DIASPORA), - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc($msgtosend), - intval(1) - ); + $msgtosend = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$a->user,$recip,$a->user['prvkey'],$recip['pubkey'],false))); + add_to_queue($recip['id'],NETWORK_DIASPORA,$msgtosend,false); } -} \ No newline at end of file +}