aboutsummaryrefslogtreecommitdiffstats
path: root/mod/photo.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/photo.php')
-rw-r--r--mod/photo.php34
1 files changed, 23 insertions, 11 deletions
diff --git a/mod/photo.php b/mod/photo.php
index aff4dc895..1319f9569 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -1,7 +1,7 @@
<?php
require_once('include/security.php');
-require_once('include/Photo.php');
+require_once('include/photo/photo_driver.php');
function photo_init(&$a) {
@@ -22,9 +22,17 @@ function photo_init(&$a) {
// NOTREACHED
}
+ if($photo === 'qr') {
+ $t = $_GET['qr'];
+ require_once('library/phpqrcode/phpqrcode.php');
+ header("Content-type: image/png");
+ QRcode::png(($t) ? $t : '.');
+ killme();
+ }
+
$observer_xchan = get_observer_hash();
- $default = 'images/person-175.jpg';
+ $default = get_default_profile_photo();
if(isset($type)) {
@@ -38,11 +46,11 @@ function photo_init(&$a) {
case 'm':
$resolution = 5;
- $default = 'images/person-80.jpg';
+ $default = get_default_profile_photo(80);
break;
case 's':
$resolution = 6;
- $default = 'images/person-48.jpg';
+ $default = get_default_profile_photo(48);
break;
case 'l':
default:
@@ -112,14 +120,18 @@ function photo_init(&$a) {
// There won't be many completely unauthorised people seeing this because
// they won't have the photo link, so there's a reasonable chance that the person
// might be able to obtain permission to view it.
-
+
$r = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `scale` = %d LIMIT 1",
dbesc($photo),
intval($resolution)
);
+
if($r) {
- $data = file_get_contents('images/nosign.jpg');
- $mimetype = 'image/jpeg';
+ logger('mod_photo: forbidden. ' . $a->query_string);
+ $observer = $a->get_observer();
+ logger('mod_photo: observer = ' . (($observer) ? $observer['xchan_addr'] : '(not authenticated)'));
+ $data = file_get_contents('images/nosign.png');
+ $mimetype = 'image/png';
$prvcachecontrol = true;
}
}
@@ -131,15 +143,15 @@ function photo_init(&$a) {
switch($resolution) {
case 4:
- $data = file_get_contents('images/person-175.jpg');
+ $data = file_get_contents(get_default_profile_photo());
$mimetype = 'image/jpeg';
break;
case 5:
- $data = file_get_contents('images/person-80.jpg');
+ $data = file_get_contents(get_default_profile_photo(80));
$mimetype = 'image/jpeg';
break;
case 6:
- $data = file_get_contents('images/person-48.jpg');
+ $data = file_get_contents(get_default_profile_photo(48));
$mimetype = 'image/jpeg';
break;
default:
@@ -151,7 +163,7 @@ function photo_init(&$a) {
}
if(isset($res) && intval($res) && $res < 500) {
- $ph = new Photo($data, $mimetype);
+ $ph = photo_factory($data, $mimetype);
if($ph->is_valid()) {
$ph->scaleImageSquare($res);
$data = $ph->imageString();