$contact_updated = $photo_timestamp;
require_once("include/Photo.php");
- $photo_failure = false;
- $have_photo = false;
+ $photos = import_profile_photo($photo_url,$contact['uid'],$contact['id']);
- $r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
- intval($contact['id']),
- intval($contact['uid'])
+ q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
+ WHERE `uid` = %d AND `id` = %d AND NOT `self`",
+ dbesc(datetime_convert()),
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ intval($contact['uid']),
+ intval($contact['id'])
);
- if(count($r)) {
- $resource_id = $r[0]['resource-id'];
- $have_photo = true;
- }
- else {
- $resource_id = photo_new_resource();
- }
-
- $img_str = fetch_url($photo_url,true);
- // guess mimetype from headers or filename
- $type = guess_image_type($photo_url,true);
-
-
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
- if($have_photo) {
- q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
- dbesc($resource_id),
- intval($contact['id']),
- intval($contact['uid'])
- );
- }
-
- $img->scaleImageSquare(175);
-
- $hash = $resource_id;
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 4);
-
- $img->scaleImage(80);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 5);
-
- $img->scaleImage(48);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
- $a = get_app();
-
- q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
- WHERE `uid` = %d AND `id` = %d",
- dbesc(datetime_convert()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
- intval($contact['uid']),
- intval($contact['id'])
- );
- }
}
if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) {
if ($name_updated > $contact_updated)
$contact_updated = $name_updated;
- $r = q("select * from contact where uid = %d and id = %d limit 1",
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d LIMIT 1",
intval($contact['uid']),
intval($contact['id'])
);
- $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d",
+ $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d AND `name` != '%s' AND NOT `self`",
dbesc(notags(trim($new_name))),
dbesc(datetime_convert()),
intval($contact['uid']),
- intval($contact['id'])
+ intval($contact['id']),
+ dbesc(notags(trim($new_name)))
);
// do our best to update the name on content items
- if(count($r)) {
- q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
+ if(count($r) AND (notags(trim($new_name)) != $r[0]['name'])) {
+ q("UPDATE `item` SET `author-name` = '%s' WHERE `author-name` = '%s' AND `author-link` = '%s' AND `uid` = %d AND `author-name` != '%s'",
dbesc(notags(trim($new_name))),
dbesc($r[0]['name']),
dbesc($r[0]['url']),
- intval($contact['uid'])
+ intval($contact['uid']),
+ dbesc(notags(trim($new_name)))
);
}
}
logger('local_delivery: Updating photo for ' . $importer['name']);
require_once("include/Photo.php");
- $photo_failure = false;
- $have_photo = false;
-
- $r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
- intval($importer['id']),
- intval($importer['importer_uid'])
- );
- if(count($r)) {
- $resource_id = $r[0]['resource-id'];
- $have_photo = true;
- }
- else {
- $resource_id = photo_new_resource();
- }
-
- $img_str = fetch_url($photo_url,true);
- // guess mimetype from headers or filename
- $type = guess_image_type($photo_url,true);
-
-
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
- if($have_photo) {
- q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
- dbesc($resource_id),
- intval($importer['id']),
- intval($importer['importer_uid'])
- );
- }
-
- $img->scaleImageSquare(175);
-
- $hash = $resource_id;
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 4);
- $img->scaleImage(80);
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 5);
+ $photos = import_profile_photo($photo_url,$importer['importer_uid'],$importer['id']);
- $img->scaleImage(48);
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
- $a = get_app();
-
- q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
- WHERE `uid` = %d AND `id` = %d",
- dbesc(datetime_convert()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
- intval($importer['importer_uid']),
- intval($importer['id'])
- );
- }
+ q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
+ WHERE `uid` = %d AND `id` = %d AND NOT `self`",
+ dbesc(datetime_convert()),
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ intval($importer['importer_uid']),
+ intval($importer['id'])
+ );
}
if(($name_updated) && (strlen($new_name)) && ($name_updated > $importer['name-date'])) {
if ($name_updated > $contact_updated)
$contact_updated = $name_updated;
- $r = q("select * from contact where uid = %d and id = %d limit 1",
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d LIMIT 1",
intval($importer['importer_uid']),
intval($importer['id'])
);
- $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d",
+ $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d AND `name` != '%s' AND NOT `self`",
dbesc(notags(trim($new_name))),
dbesc(datetime_convert()),
intval($importer['importer_uid']),
- intval($importer['id'])
+ intval($importer['id']),
+ dbesc(notags(trim($new_name)))
);
// do our best to update the name on content items
- if(count($r)) {
- q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
+ if(count($r) AND (notags(trim($new_name)) != $r[0]['name'])) {
+ q("UPDATE `item` SET `author-name` = '%s' WHERE `author-name` = '%s' AND `author-link` = '%s' AND `uid` = %d AND `author-name` != '%s'",
dbesc(notags(trim($new_name))),
dbesc($r[0]['name']),
dbesc($r[0]['url']),
- intval($importer['importer_uid'])
+ intval($importer['importer_uid']),
+ dbesc(notags(trim($new_name)))
);
}
}
);
}
// send email notification to owner?
- }
- else {
+ } else {
// create contact record
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
- `blocked`, `readonly`, `pending`, `writable` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1 ) ",
+ $r = q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
+ `blocked`, `readonly`, `pending`, `writable`)
+ VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1)",
intval($importer['uid']),
dbesc(datetime_convert()),
dbesc($url),
intval($importer['uid']),
dbesc($url)
);
- if(count($r))
+ if(count($r)) {
$contact_record = $r[0];
- // create notification
- $hash = random_string();
+ $photos = import_profile_photo($photo,$importer["uid"],$contact_record["id"]);
- if(is_array($contact_record)) {
- $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`)
- VALUES ( %d, %d, 0, 0, '%s', '%s' )",
- intval($importer['uid']),
- intval($contact_record['id']),
- dbesc($hash),
- dbesc(datetime_convert())
- );
+ q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `id` = %d",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ intval($contact_record["id"])
+ );
}
+
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
intval($importer['uid'])
);
$a = get_app();
- if(count($r)) {
+ if(count($r) AND !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) {
+
+ // create notification
+ $hash = random_string();
+
+ if(is_array($contact_record)) {
+ $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`)
+ VALUES ( %d, %d, 0, 0, '%s', '%s' )",
+ intval($importer['uid']),
+ intval($contact_record['id']),
+ dbesc($hash),
+ dbesc(datetime_convert())
+ );
+ }
if(intval($r[0]['def_gid'])) {
require_once('include/group.php');
}
if(($r[0]['notify-flags'] & NOTIFY_INTRO) &&
- in_array($r[0]['page-flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE))) {
+ in_array($r[0]['page-flags'], array(PAGE_NORMAL))) {
notification(array(
'type' => NOTIFY_INTRO,
));
}
+ } elseif (count($r) AND in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) {
+ $r = q("UPDATE `contact` SET `pending` = 0 WHERE `uid` = %d AND `url` = '%s' AND `pending` LIMIT 1",
+ intval($importer['uid']),
+ dbesc($url)
+ );
}
+
}
}
//$o .= "\t".'<link rel="self" type="application/atom+xml" href="'.xmlify($a->get_baseurl().'/api/statuses/show/'.$item['id'].'.atom').'"/>'."\r\n";
//$o .= "\t".'<link rel="edit" type="application/atom+xml" href="'.xmlify($a->get_baseurl().'/api/statuses/show/'.$item['id'].'.atom').'"/>'."\r\n";
- $o .= item_get_attachment($item);
+ // Deactivated since it was meant only for OStatus
+ //$o .= item_get_attachment($item);
$o .= item_getfeedattach($item);
if($cnt) {
for($x = 0; $x < $cnt; $x ++) {
if($matches[1][$x])
- $ret[] = array('#',$matches[1][$x], $matches[2][$x]);
+ $ret[$matches[2][$x]] = array('#',$matches[1][$x], $matches[2][$x]);
}
}
$matches = false;