one true profile photo, force nicknames

This commit is contained in:
Mike Macgirvin 2010-07-19 19:09:58 -07:00
parent 6695b4a203
commit c3fd5ed732
16 changed files with 276 additions and 216 deletions

View file

@ -2,24 +2,72 @@
function photo_init(&$a) {
if($a->argc != 2) {
killme();
switch($a->argc) {
case 3:
$person = $a->argv[2];
$type = $a->argv[1];
break;
case 2:
$photo = $a->argv[1];
break;
case 1:
default:
killme();
return; // NOTREACHED
}
$resolution = 0;
$photo = $a->argv[1];
$photo = str_replace('.jpg','',$photo);
if(substr($photo,-2,1) == '-') {
$resolution = intval(substr($photo,-1,1));
$photo = substr($photo,0,-2);
}
$r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s'
AND `scale` = %d LIMIT 1",
dbesc($photo),
intval($resolution));
if($r === NULL || (! count($r))) {
killme();
}
header("Content-type: image/jpeg");
echo $r[0]['data'];
if(x($type)) {
switch($type) {
case 'profile':
$resolution = 4;
break;
case 'avatar':
default:
$resolution = 5;
break;
}
$uid = str_replace('.jpg', '', $person);
$r = q("SELECT * FROM `photo` WHERE `scale` = %d AND `uid` = %d AND `profile` = 1 LIMIT 1",
intval($resolution),
intval($uid)
);
if(count($r)) {
$data = $r[0]['data'];
}
if(x($data) === false) {
$data = file_get_contents(($resolution == 5)
? 'images/default-profile-sm.jpg'
: 'images/default-profile.jpg');
}
}
else {
$resolution = 0;
$photo = str_replace('.jpg','',$photo);
if(substr($photo,-2,1) == '-') {
$resolution = intval(substr($photo,-1,1));
$photo = substr($photo,0,-2);
}
$r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `scale` = %d LIMIT 1",
dbesc($photo),
intval($resolution)
);
if(count($r)) {
$data = $r[0]['data'];
}
}
if(x($data) === false) {
killme();
return; // NOTREACHED
}
header("Content-type: image/jpeg");
echo $data;
killme();
return; //NOTREACHED
}