PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 2.11.0
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v2.11.0
2.11.0 2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 All 78 releases
← All changes | Modules/Integrations/FluentPlayer/Bootstrap.php +10 -4 2.7.72.11.0 View file →
@@ -43,9 +43,9 @@
43 43 $this->app->addFilter('fluent_community/feed/new_feed_data', [$this, 'maybeAddFluentPlayerMedia'], 10, 2);
44 44 $this->app->addFilter('fluent_community/feed/update_feed_data', [$this, 'maybeUpdateFluentPlayerMedia'], 10, 2);
45 45 $this->app->addFilter('fluent_community/feed/uploaded_feed_medias', [$this, 'maybeUpdateUploadedMedia'], 10, 2);
46 46 }
47 -
47 +
48 48 /**
49 49 * Get FluentPlayer plugin status
50 50 *
51 51 * @return string 'active', 'installed', or 'not_installed'
@@ -432,11 +432,17 @@
432 432 }
433 433 if ($media && is_array($media) && Arr::get($media, 'player') == 'fluent_player' && $mediaId = Arr::get($media, 'media_id')) {
434 434 $mediaId = intval($mediaId);
435 435 if ($mediaId) {
436 - $media = Media::find($mediaId);
437 - if ($media) {
438 - $uploadedMedias[] = $media;
436 + $currentUserId = (int) get_current_user_id();
437 + $mediaModel = Media::find($mediaId);
438 + // Owner, or a moderator/admin who can edit the media's feed — never cross-user.
439 + $canAttach = $mediaModel && $currentUserId && (
440 + (int) $mediaModel->user_id === $currentUserId
441 + || ($mediaModel->feed_id && $mediaModel->feed && $mediaModel->feed->hasEditAccess($currentUserId))
442 + );
443 + if ($canAttach) {
444 + $uploadedMedias[] = $mediaModel;
439 445 }
440 446 }
441 447 }
442 448 $audioMedias = $this->sanitizeAudioMedias($requestData);