aboutsummaryrefslogtreecommitdiffstats
path: root/mod/photo.php
diff options
context:
space:
mode:
authorMike Macgirvin <mike@macgirvin.com>2010-07-19 19:09:58 -0700
committerMike Macgirvin <mike@macgirvin.com>2010-07-19 19:09:58 -0700
commitc3fd5ed73202f4dd17dda87ac968b0db4f44d423 (patch)
tree353a6394ebb8ea8eddd0f8dc862fa7d09a3ee0b1 /mod/photo.php
parent6695b4a203ab03941c8b3305a3e55cc02b85a5ac (diff)
downloadvolse-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.php78
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