add get_photo hook to go along with get_profile_photo hook. This allows a plugin to over-ride the permissions for cover photos or insert a different photo in place of that requested
This commit is contained in:
parent
437aa168d1
commit
17091bd38c
@ -78,15 +78,12 @@ class Enotify {
|
||||
$sender_email = get_config('system','from_email');
|
||||
if(! $sender_email)
|
||||
$sender_email = 'Administrator' . '@' . \App::get_hostname();
|
||||
|
||||
|
||||
$sender_name = get_config('system','from_email_name');
|
||||
if(! $sender_name)
|
||||
$sender_name = \Zotlabs\Lib\System::get_site_name();
|
||||
|
||||
|
||||
|
||||
|
||||
$additional_mail_header = "";
|
||||
|
||||
if(array_key_exists('item', $params)) {
|
||||
|
@ -127,17 +127,7 @@ class Photo extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
}
|
||||
|
||||
// If using resolution 1, make sure it exists before proceeding:
|
||||
if($resolution == 1) {
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
);
|
||||
if(! $r) {
|
||||
$resolution = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
@ -166,6 +156,14 @@ class Photo extends \Zotlabs\Web\Controller {
|
||||
intval($resolution)
|
||||
);
|
||||
|
||||
$d = [ 'imgscale' => $resolution, 'resource_id' => $photo, 'photo' => $r, 'allowed' => $allowed ];
|
||||
call_hooks('get_photo',$d);
|
||||
|
||||
$resolution = $d['imgscale'];
|
||||
$photo = $d['resource_id'];
|
||||
$r = $d['photo'];
|
||||
$allowed = $d['allowed'];
|
||||
|
||||
if($r && $allowed) {
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
$mimetype = $r[0]['mimetype'];
|
||||
@ -200,6 +198,9 @@ class Photo extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(! isset($data)) {
|
||||
if(isset($resolution)) {
|
||||
switch($resolution) {
|
||||
|
14
doc/hook/get_photo.bb
Normal file
14
doc/hook/get_photo.bb
Normal file
@ -0,0 +1,14 @@
|
||||
[h2]get_photo[/h2]
|
||||
|
||||
Called when fetching the content of photos (except for profile photos) in mod_photo.
|
||||
|
||||
|
||||
Hook arguments:
|
||||
|
||||
'imgscale' => integer resolution requested
|
||||
'resource_id' => resource_id of requested photo
|
||||
'photo' => array of matching photo table rows after querying for the photo
|
||||
'allowed' => whether or not access to this resource is allowed
|
||||
|
||||
|
||||
|
@ -239,6 +239,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
|
||||
[zrl=[baseurl]/help/hook/get_features]get_features[/zrl]
|
||||
Called when get_features() is called
|
||||
|
||||
[zrl=[baseurl]/help/hook/get_photo]get_photo[/zrl]
|
||||
Called when photo content (except for profile photos) is fetched in mod_photo
|
||||
|
||||
[zrl=[baseurl]/help/hook/get_profile_photo]get_profile_photo[/zrl]
|
||||
Called when local profile photo content is fetched in mod_photo
|
||||
|
||||
|
Reference in New Issue
Block a user