oep for the photo top page
This commit is contained in:
parent
fd9f792f90
commit
01b5b13475
68
mod/oep.php
68
mod/oep.php
@ -20,9 +20,10 @@ function oep_init(&$a) {
|
|||||||
|
|
||||||
if(fnmatch('*/photos/*/album/*',$url))
|
if(fnmatch('*/photos/*/album/*',$url))
|
||||||
$arr = oep_album_reply($_REQUEST);
|
$arr = oep_album_reply($_REQUEST);
|
||||||
elseif(fnmatch('*/photos/*',$url))
|
elseif(fnmatch('*/photos/*/image/*',$url))
|
||||||
$arr = oep_photo_reply($_REQUEST);
|
$arr = oep_photo_reply($_REQUEST);
|
||||||
|
elseif(fnmatch('*/photos*',$url))
|
||||||
|
$arr = oep_phototop_reply($_REQUEST);
|
||||||
|
|
||||||
if($arr) {
|
if($arr) {
|
||||||
header('Content-Type: application/json+oembed');
|
header('Content-Type: application/json+oembed');
|
||||||
@ -58,7 +59,7 @@ function oep_album_reply($args) {
|
|||||||
|
|
||||||
$sql_extra = permissions_sql($c[0]['channel_id']);
|
$sql_extra = permissions_sql($c[0]['channel_id']);
|
||||||
|
|
||||||
$p = q("select resource_id from photo where album = '%s' and uid = %d group by resource_id $sql_extra order by created desc",
|
$p = q("select resource_id from photo where album = '%s' and uid = %d and scale = 0 $sql_extra order by created desc limit 1",
|
||||||
dbesc($res),
|
dbesc($res),
|
||||||
intval($c[0]['channel_id'])
|
intval($c[0]['channel_id'])
|
||||||
);
|
);
|
||||||
@ -96,6 +97,67 @@ function oep_album_reply($args) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function oep_phototop_reply($args) {
|
||||||
|
|
||||||
|
$ret = array();
|
||||||
|
$url = $args['url'];
|
||||||
|
$maxwidth = intval($args['maxwidth']);
|
||||||
|
$maxheight = intval($args['maxheight']);
|
||||||
|
|
||||||
|
if(preg_match('|//(.*?)/(.*?)/(.*?)$|',$url,$matches)) {
|
||||||
|
$chn = $matches[3];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! $chn)
|
||||||
|
return;
|
||||||
|
$c = q("select * from channel where channel_address = '%s' limit 1",
|
||||||
|
dbesc($chn)
|
||||||
|
);
|
||||||
|
|
||||||
|
if(! $c)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$sql_extra = permissions_sql($c[0]['channel_id']);
|
||||||
|
|
||||||
|
$p = q("select resource_id from photo where uid = %d and scale = 0 $sql_extra order by created desc limit 1",
|
||||||
|
intval($c[0]['channel_id'])
|
||||||
|
);
|
||||||
|
if(! $p)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$res = $p[0]['resource_id'];
|
||||||
|
|
||||||
|
$r = q("select height, width, scale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by scale asc",
|
||||||
|
intval($c[0]['channel_id']),
|
||||||
|
dbesc($res)
|
||||||
|
);
|
||||||
|
|
||||||
|
if($r) {
|
||||||
|
foreach($r as $rr) {
|
||||||
|
$foundres = false;
|
||||||
|
if($maxheight && $rr['height'] > $maxheight)
|
||||||
|
continue;
|
||||||
|
if($maxwidth && $rr['width'] > $maxwidth)
|
||||||
|
continue;
|
||||||
|
$foundres = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($foundres) {
|
||||||
|
$ret['type'] = 'link';
|
||||||
|
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['scale'];
|
||||||
|
$ret['thumbnail_width'] = $rr['width'];
|
||||||
|
$ret['thumbnail_height'] = $rr['height'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function oep_photo_reply($args) {
|
function oep_photo_reply($args) {
|
||||||
|
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
@ -1232,6 +1232,9 @@ function photos_content(&$a) {
|
|||||||
// Default - show recent photos with upload link (if applicable)
|
// Default - show recent photos with upload link (if applicable)
|
||||||
//$o = '';
|
//$o = '';
|
||||||
|
|
||||||
|
$a->page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . $a->cmd) . '" title="oembed" />' . "\r\n";
|
||||||
|
|
||||||
|
|
||||||
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
|
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
|
||||||
and photo_usage in ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
|
and photo_usage in ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
|
||||||
intval($a->data['channel']['channel_id']),
|
intval($a->data['channel']['channel_id']),
|
||||||
|
Reference in New Issue
Block a user