}
-/*
+
// Currently unsupported - needs a lot of work
$reloc = $feed->get_feed_tags( NAMESPACE_DFRN, 'relocate' );
if(isset($reloc[0]['child'][NAMESPACE_DFRN])) {
$newloc['cid'] = $importer['id'];
$newloc['name'] = notags(unxmlify($base['name'][0]['data']));
$newloc['photo'] = notags(unxmlify($base['photo'][0]['data']));
+ $newloc['thumb'] = notags(unxmlify($base['thumb'][0]['data']));
+ $newloc['micro'] = notags(unxmlify($base['micro'][0]['data']));
$newloc['url'] = notags(unxmlify($base['url'][0]['data']));
$newloc['request'] = notags(unxmlify($base['request'][0]['data']));
$newloc['confirm'] = notags(unxmlify($base['confirm'][0]['data']));
$newloc['notify'] = notags(unxmlify($base['notify'][0]['data']));
$newloc['poll'] = notags(unxmlify($base['poll'][0]['data']));
$newloc['site-pubkey'] = notags(unxmlify($base['site-pubkey'][0]['data']));
- $newloc['pubkey'] = notags(unxmlify($base['pubkey'][0]['data']));
- $newloc['prvkey'] = notags(unxmlify($base['prvkey'][0]['data']));
+ /*$newloc['pubkey'] = notags(unxmlify($base['pubkey'][0]['data']));
+ $newloc['prvkey'] = notags(unxmlify($base['prvkey'][0]['data']));*/
+ log("items:relocate contact ".print_r($newloc, true), LOGGER_DEBUG);
+
+ // update contact
+ $r = q("SELECT photo, url FROM contact WHERE WHERE id=%d AND uid=%d;",
+ intval($importer['importer_uid']),
+ intval($importer['id']));
+ $old = $r[0];
+
+ $x = q("UPDATE contact SET
+ name = '%s',
+ photo = '%s',
+ thumb = '%s',
+ micro = '%s',
+ url = '%s',
+ request = '%s',
+ confirm = '%s',
+ notify = '%s',
+ poll = '%s',
+ site-pubkey = '%s'
+ WHERE id=%d AND uid=%d;",
+ dbesc($newloc['name']),
+ dbesc($newloc['photo']),
+ dbesc($newloc['thumb']),
+ dbesc($newloc['micro']),
+ dbesc($newloc['url']),
+ dbesc($newloc['request']),
+ dbesc($newloc['confirm']),
+ dbesc($newloc['notify']),
+ dbesc($newloc['poll']),
+ dbesc($newloc['site-pubkey']),
+ intval($importer['importer_uid']),
+ intval($importer['id']));
+
+ // update items
+ $fields = array(
+ 'owner-link' => array($old['url'], $newloc['url']),
+ 'author-link' => array($old['url'], $newloc['url']),
+ 'owner-avatar' => array($old['photo'], $newloc['photo']),
+ 'author-avatar' => array($old['photo'], $newloc['photo']),
+ );
+ foreach ($fields as $n=>$f)
+ $x = q("UPDATE item SET `%s`='%s' WHERE `%s`='%s' AND uid=%d",
+ $n, dbesc($f[1]),
+ $n, dbesc($f[0]),
+ intval($importer['importer_uid']));
+
// TODO
// merge with current record, current contents have priority
// update record, set url-updated
// update profile photos
// schedule a scan?
-
+ return 0;
}
-*/
+
// handle friend suggestion notification
$expire = false;
$mail = false;
$fsuggest = false;
+ $relocate = false;
$top_level = false;
$recipients = array();
$url_recipients = array();
$recipients[] = $suggest[0]['cid'];
$item = $suggest[0];
}
+ elseif($cmd === 'relocate') {
+ $normal_mode = false;
+ $relocate = true;
+ $uid = $item_id;
+ }
else {
// find ancestors
);
}
+ elseif($relocate) {
+ $public_message = false; // suggestions are not public
+
+ $sugg_template = get_markup_template('atom_relocate.tpl');
+
+ $atom .= replace_macros($sugg_template, array(
+ '$name' => xmlfy($owner['name']),
+ '$photo' => xmlfy($owner['photo']),
+ '$thumb' => xmlfy($owner['thumb']),
+ '$micro' => xmlfy($owner['micro']),
+ '$url' => xmlfy($owner['url']),
+ '$request' => xmlfy($owner['request']),
+ '$confirm' => xmlfy($owner['confirm']),
+ '$notify' => xmlfy($owner['notify']),
+ '$poll' => xmlfy($owner['poll']),
+ '$site-pubkey' => xmlfy(get_config('system','site_pubkey')),
+ //'$pubkey' => xmlfy($owner['pubkey']),
+ //'$prvkey' => xmlfy($owner['prvkey']),
+ ));
+ $recipients_relocate = q("SELECT * FROM contacts WHERE uid = %d AND self = 0 AND network = '%s'" , intval($uid), NETWORK_DFRN);
+
+
+ }
else {
if($followup) {
foreach($items as $item) { // there is only one item
else
$recip_str = implode(', ', $recipients);
- $r = q("SELECT * FROM `contact` WHERE `id` IN ( %s ) AND `blocked` = 0 AND `pending` = 0 ",
- dbesc($recip_str)
- );
+ if ($relocate)
+ $r = $recipients_relocate;
+ else
+ $r = q("SELECT * FROM `contact` WHERE `id` IN ( %s ) AND `blocked` = 0 AND `pending` = 0 ",
+ dbesc($recip_str)
+ );
require_once('include/salmon.php');
if ($contact['uid'] == $olduid && $contact['self'] == '0') {\r
switch ($contact['network']){\r
case NETWORK_DFRN:\r
- // send moved message\r
+ // send relocate message (below)\r
break;\r
case NETWORK_ZOT:\r
// TODO handle zot network\r
logger("uimport:insert pconfig ".$pconfig['id']. " : ERROR : ".last_error(), LOGGER_NORMAL);\r
}\r
} \r
- \r
+ \r
+ // send relocate messages\r
+ proc_run('php', 'include/notifier.php', 'relocate' , $newuid);\r
\r
info(t("Done. You can now login with your username and password"));\r
goaway( $a->get_baseurl() ."/login");\r
\r
\r
-}
\ No newline at end of file
+}\r