Implement academy analytics, billing, and web stories updates

This commit is contained in:
2026-05-26 07:27:29 +02:00
parent 456c3d6bb0
commit 0b33a1b074
177 changed files with 27360 additions and 2685 deletions

View File

@@ -14,6 +14,7 @@ use App\Models\Page;
use App\Models\Story;
use App\Models\Tag;
use App\Models\User;
use App\Models\WorldWebStory;
use App\Services\ThumbnailPresenter;
use cPad\Plugins\Forum\Models\ForumBoard;
use cPad\Plugins\Forum\Models\ForumCategory;
@@ -187,6 +188,21 @@ final class SitemapUrlBuilder extends AbstractSitemapBuilder
);
}
public function webStory(WorldWebStory $story): ?SitemapUrl
{
if (trim((string) $story->slug) === '') {
return null;
}
return new SitemapUrl(
$story->publicUrl(),
$this->newest($story->updated_at, $story->published_at, $story->created_at),
$this->images([
$this->image($story->posterPortraitUrl(), (string) $story->title),
]),
);
}
public function forumIndex(): SitemapUrl
{
return new SitemapUrl(route('forum.index'));