diff options
author | Mike Macgirvin <mike@macgirvin.com> | 2010-07-19 19:09:58 -0700 |
---|---|---|
committer | Mike Macgirvin <mike@macgirvin.com> | 2010-07-19 19:09:58 -0700 |
commit | c3fd5ed73202f4dd17dda87ac968b0db4f44d423 (patch) | |
tree | 353a6394ebb8ea8eddd0f8dc862fa7d09a3ee0b1 /mod/photo.php | |
parent | 6695b4a203ab03941c8b3305a3e55cc02b85a5ac (diff) | |
download | volse-hubzilla-c3fd5ed73202f4dd17dda87ac968b0db4f44d423.tar.gz volse-hubzilla-c3fd5ed73202f4dd17dda87ac968b0db4f44d423.tar.bz2 volse-hubzilla-c3fd5ed73202f4dd17dda87ac968b0db4f44d423.zip |
one true profile photo, force nicknames
Diffstat (limited to 'mod/photo.php')
-rw-r--r-- | mod/photo.php | 78 |
1 files changed, 63 insertions, 15 deletions
diff --git a/mod/photo.php b/mod/photo.php index bd0e415bf..f922c7ab2 100644 --- a/mod/photo.php +++ b/mod/photo.php @@ -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 + } + + 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'); + } } - $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); + 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']; + } } - $r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' - AND `scale` = %d LIMIT 1", - dbesc($photo), - intval($resolution)); - if($r === NULL || (! count($r))) { + + if(x($data) === false) { killme(); + return; // NOTREACHED } - header("Content-type: image/jpeg"); - echo $r[0]['data']; + header("Content-type: image/jpeg"); + echo $data; + killme(); + return; //NOTREACHED }
\ No newline at end of file |