mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-30 08:53:17 +00:00
commit
88ddf55f6a
3 changed files with 21 additions and 4 deletions
|
@ -1972,6 +1972,11 @@ class ApiV1Controller extends Controller
|
|||
return $following->push($pid)->toArray();
|
||||
});
|
||||
|
||||
$includeReplies = false;
|
||||
if(config('exp.top')) {
|
||||
$includeReplies = (bool) Redis::zscore('pf:tl:replies', $pid);
|
||||
}
|
||||
|
||||
if(config('instance.timeline.home.cached') && (!$min && !$max)) {
|
||||
$ttl = config('instance.timeline.home.cache_ttl');
|
||||
$res = Cache::remember(
|
||||
|
@ -1980,7 +1985,8 @@ class ApiV1Controller extends Controller
|
|||
function() use(
|
||||
$following,
|
||||
$limit,
|
||||
$pid
|
||||
$pid,
|
||||
$includeReplies
|
||||
) {
|
||||
return Status::select(
|
||||
'id',
|
||||
|
@ -2002,6 +2008,11 @@ class ApiV1Controller extends Controller
|
|||
'created_at',
|
||||
'updated_at'
|
||||
)
|
||||
->when($includeReplies, function($q, $includeReplies) {
|
||||
return $q;
|
||||
}, function($q, $includeReplies) {
|
||||
return $q->whereNull('in_reply_to_id');
|
||||
})
|
||||
->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
|
||||
->whereIn('profile_id', $following)
|
||||
->whereIn('visibility',['public', 'unlisted', 'private'])
|
||||
|
@ -2053,6 +2064,11 @@ class ApiV1Controller extends Controller
|
|||
)
|
||||
->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
|
||||
->where('id', $dir, $id)
|
||||
->when($includeReplies, function($q, $includeReplies) {
|
||||
return $q;
|
||||
}, function($q, $includeReplies) {
|
||||
return $q->whereNull('in_reply_to_id');
|
||||
})
|
||||
->whereIn('profile_id', $following)
|
||||
->whereIn('visibility',['public', 'unlisted', 'private'])
|
||||
->latest()
|
||||
|
|
|
@ -472,10 +472,10 @@ class PublicApiController extends Controller
|
|||
// $types = ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album', 'text'];
|
||||
|
||||
$textOnlyReplies = false;
|
||||
$textOnlyReplies = (bool) Redis::zscore('pf:tl:replies', $pid);
|
||||
|
||||
if(config('exp.top')) {
|
||||
$textOnlyPosts = (bool) Redis::zscore('pf:tl:top', $pid);
|
||||
$textOnlyReplies = (bool) Redis::zscore('pf:tl:replies', $pid);
|
||||
|
||||
if($textOnlyPosts) {
|
||||
array_push($types, 'text');
|
||||
|
@ -587,7 +587,7 @@ class PublicApiController extends Controller
|
|||
'updated_at'
|
||||
)
|
||||
->whereIn('type', $types)
|
||||
->when($textOnlyReplies != true, function($q, $textOnlyReplies) {
|
||||
->when(!$textOnlyReplies, function($q, $textOnlyReplies) {
|
||||
return $q->whereNull('in_reply_to_id');
|
||||
})
|
||||
->where('id', $dir, $id)
|
||||
|
|
|
@ -38,7 +38,8 @@ class Media extends Model
|
|||
public function url()
|
||||
{
|
||||
if($this->cdn_url) {
|
||||
return Storage::disk(config('filesystems.cloud'))->url($this->media_path);
|
||||
// return Storage::disk(config('filesystems.cloud'))->url($this->media_path);
|
||||
return $this->cdn_url;
|
||||
}
|
||||
|
||||
if($this->remote_media && $this->remote_url) {
|
||||
|
|
Loading…
Reference in a new issue