add micro profile photo

This commit is contained in:
Friendika 2010-11-04 23:50:32 -07:00
parent 71ae08d506
commit b94cb8d234
12 changed files with 77 additions and 13 deletions

View file

@ -2,7 +2,7 @@
set_time_limit(0);
define ( 'BUILD_ID', 1014 );
define ( 'BUILD_ID', 1015 );
define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
define ( 'EOL', "<br />\r\n" );

View file

@ -59,6 +59,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
`nick` char(255) NOT NULL,
`photo` text NOT NULL,
`thumb` text NOT NULL,
`micro` text NOT NULL,
`site-pubkey` text NOT NULL,
`issued-id` char(255) NOT NULL,
`dfrn-id` char(255) NOT NULL,

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

View file

@ -235,8 +235,18 @@ function import_profile_photo($photo,$uid,$cid) {
if($r === false)
$photo_failure = true;
$img->scaleImage(48);
$r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 6 );
if($r === false)
$photo_failure = true;
$photo = $a->get_baseurl() . '/photo/' . $hash . '-4.jpg';
$thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.jpg';
$micro = $a->get_baseurl() . '/photo/' . $hash . '-6.jpg';
}
else
$photo_failure = true;
@ -244,8 +254,9 @@ function import_profile_photo($photo,$uid,$cid) {
if($photo_failure) {
$photo = $a->get_baseurl() . '/images/default-profile.jpg';
$thumb = $a->get_baseurl() . '/images/default-profile-sm.jpg';
$micro = $a->get_baseurl() . '/images/default-profile-mm.jpg';
}
return(array($photo,$thumb));
return(array($photo,$thumb,$micro));
}

View file

@ -792,6 +792,10 @@ function consume_feed($xml,$importer,$contact, &$hub) {
$img->scaleImage(80);
$r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 5);
$img->scaleImage(48);
$r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 6);
if($r)
q("UPDATE `contact` SET `avatar-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc(datetime_convert()),

View file

@ -238,7 +238,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$new_relation = REL_BUD;
$r = q("UPDATE `contact` SET `photo` = '%s',
`thumb` = '%s',
`thumb` = '%s',
`micro` = '%s',
`rel` = %d,
`name-date` = '%s',
`uri-date` = '%s',
@ -250,6 +251,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
intval($new_relation),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@ -281,7 +283,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
);
$r = q("UPDATE `contact` SET `photo` = '%s',
`thumb` = '%s',
`thumb` = '%s',
`micro` = '%s',
`name-date` = '%s',
`uri-date` = '%s',
`avatar-date` = '%s',
@ -293,6 +296,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(datetime_convert()),

View file

@ -122,7 +122,8 @@ function follow_post(&$a) {
$photos = import_profile_photo($vcard['photo'],local_user(),$contact_id);
$r = q("UPDATE `contact` SET `photo` = '%s',
`thumb` = '%s',
`thumb` = '%s',
`micro` = '%s',
`name-date` = '%s',
`uri-date` = '%s',
`avatar-date` = '%s'
@ -130,6 +131,7 @@ function follow_post(&$a) {
",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(datetime_convert()),

View file

@ -16,15 +16,22 @@ function photo_init(&$a) {
return; // NOTREACHED
}
$default = 'images/default-profile.jpg';
if(isset($type)) {
switch($type) {
case 'profile':
$resolution = 4;
break;
case 'micro':
$resolution = 6;
$default = 'images/default-profile-mm.jpg';
break;
case 'avatar':
default:
$resolution = 5;
$default = 'images/default-profile-sm.jpg';
break;
}
@ -38,9 +45,7 @@ function photo_init(&$a) {
$data = $r[0]['data'];
}
if(! isset($data)) {
$data = file_get_contents(($resolution == 5)
? 'images/default-profile-sm.jpg'
: 'images/default-profile.jpg');
$data = file_get_contents($default);
}
}
else {

View file

@ -312,9 +312,9 @@ function photos_post(&$a) {
}
if($profile) {
if(substr($notify,0,4) === 'cid:')
$taginfo[] = array($newname,$profile,$notify,$r[0]);
$taginfo[] = array($newname,$profile,$notify,$r[0],'@[url=' . str_replace(',','%2c',$profile) . ']' . $newname . '[/url]');
else
$taginfo[] = array($newname,$profile,$notify,null);
$taginfo[] = array($newname,$profile,$notify,null,$str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]');
if(strlen($str_tags))
$str_tags .= ',';
$profile = str_replace(',','%2c',$profile);
@ -384,6 +384,7 @@ function photos_post(&$a) {
$arr['verb'] = ACTIVITY_TAG;
$arr['object-type'] = ACTIVITY_OBJ_PERSON;
$arr['target-type'] = ACTIVITY_OBJ_PHOTO;
$arr['tag'] = $tagged[4];
$arr['inform'] = $tagged[2];
$arr['body'] = '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]' . ' ' . t('was tagged in a') . ' ' . '[url=' . $a->get_baseurl() . '/photos/' . $contact_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . t('photo') . '[/url]' . ' ' . t('by') . ' ' . '[url=' . $contact_record['url'] . ']' . $contact_record['name'] . '[/url]' ;

View file

@ -68,6 +68,13 @@ function profile_photo_post(&$a) {
if($r === false)
notice( t('Image size reduction [80] failed.') . EOL );
$im->scaleImage(48);
$r = $im->store(local_user(), 0, $base_image['resource-id'],$base_image['filename'], t('Profile Photos'), 6, 1);
if($r === false)
notice( t('Image size reduction [48] failed.') . EOL );
// Unset the profile photo flag from any other photos I own
$r = q("UPDATE `photo` SET `profile` = 0 WHERE `profile` = 1 AND `resource-id` != '%s' AND `uid` = %d",

View file

@ -161,15 +161,16 @@ function register_post(&$a) {
intval($newuid));
return;
}
$r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `blocked`, `pending`, `url`,
$r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `micro`, `blocked`, `pending`, `url`,
`request`, `notify`, `poll`, `confirm`, `name-date`, `uri-date`, `avatar-date` )
VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($newuid),
datetime_convert(),
dbesc($username),
dbesc($nickname),
dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
dbesc($a->get_baseurl() . "/photo/micro/{$newuid}.jpg"),
dbesc($a->get_baseurl() . "/profile/$nickname"),
dbesc($a->get_baseurl() . "/dfrn_request/$nickname"),
dbesc($a->get_baseurl() . "/dfrn_notify/$nickname"),

View file

@ -101,4 +101,32 @@ function update_1012() {
function update_1013() {
q("ALTER TABLE `item` ADD `target-type` CHAR( 255 ) NOT NULL
AFTER `object` , ADD `target` TEXT NOT NULL AFTER `target-type`");
}
}
function update_1014() {
require_once('include/Photo.php');
q("ALTER TABLE `contact` ADD `micro` TEXT NOT NULL AFTER `thumb` ");
$r = q("SELECT * FROM `photo` WHERE `scale` = 4");
if(count($r)) {
foreach($r as $rr) {
$ph = new Photo($rr['data']);
if($ph->is_valid()) {
$ph->scaleImage(48);
$ph->store($rr['uid'],$rr['contact-id'],$rr['resource-id'],$rr['filename'],$rr['album'],6,(($rr['profile']) ? 1 : 0));
}
}
}
$r = q("SELECT * FROM `contact` WHERE 1");
if(count($r)) {
foreach($r as $rr) {
if(stristr($rr['thumb'],'avatar'))
q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d LIMIT 1",
dbesc(str_replace('avatar','micro',$rr['thumb'])),
intval($rr['id']));
else
q("UPDATE `contact` SET `micro` = '%s' WHERE `id` = %d LIMIT 1",
dbesc(str_replace('5.jpg','6.jpg',$rr['thumb'])),
intval($rr['id']));
}
}
}