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
@ -79,14 +79,11 @@ class Enotify {
|
|||||||
if(! $sender_email)
|
if(! $sender_email)
|
||||||
$sender_email = 'Administrator' . '@' . \App::get_hostname();
|
$sender_email = 'Administrator' . '@' . \App::get_hostname();
|
||||||
|
|
||||||
|
|
||||||
$sender_name = get_config('system','from_email_name');
|
$sender_name = get_config('system','from_email_name');
|
||||||
if(! $sender_name)
|
if(! $sender_name)
|
||||||
$sender_name = \Zotlabs\Lib\System::get_site_name();
|
$sender_name = \Zotlabs\Lib\System::get_site_name();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$additional_mail_header = "";
|
$additional_mail_header = "";
|
||||||
|
|
||||||
if(array_key_exists('item', $params)) {
|
if(array_key_exists('item', $params)) {
|
||||||
|
@ -127,16 +127,6 @@ 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",
|
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
|
||||||
dbesc($photo),
|
dbesc($photo),
|
||||||
@ -166,6 +156,14 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||||||
intval($resolution)
|
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) {
|
if($r && $allowed) {
|
||||||
$data = dbunescbin($r[0]['content']);
|
$data = dbunescbin($r[0]['content']);
|
||||||
$mimetype = $r[0]['mimetype'];
|
$mimetype = $r[0]['mimetype'];
|
||||||
@ -200,6 +198,9 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(! isset($data)) {
|
if(! isset($data)) {
|
||||||
if(isset($resolution)) {
|
if(isset($resolution)) {
|
||||||
switch($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]
|
[zrl=[baseurl]/help/hook/get_features]get_features[/zrl]
|
||||||
Called when get_features() is called
|
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]
|
[zrl=[baseurl]/help/hook/get_profile_photo]get_profile_photo[/zrl]
|
||||||
Called when local profile photo content is fetched in mod_photo
|
Called when local profile photo content is fetched in mod_photo
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user