]> git.mxchange.org Git - friendica.git/blobdiff - mod/photo.php
minor edit to last commit
[friendica.git] / mod / photo.php
index bd0e415bfaa36f6fd4a26053e80e25455318d214..f922c7ab26355043d01fc336c25ccf789791f1d8 100644 (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
+       }
+
+       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