1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- const ARTWORKS_PER_PAGE = 24;
- function render_artworks_grid($artworks_uncensored, $show_author = false, $collapsed = false, $reload_btn = false) {
- $artworks = [];
- foreach ($artworks_uncensored as $artwork) {
- if (!artwork_is_hidden($artwork)) array_push($artworks, $artwork);
- }
- if (!$artworks) { ?>
- <p><?= get_string($artworks_uncensored ? 'all-hidden' : 'no-works') ?></p><?php
- return;
- }
- $page_count = $collapsed ? ceil(count($artworks) / ARTWORKS_PER_PAGE) : 1;
- render_collapsed_content(
- $page_count,
- get_string('load-more'),
- function($page) use ($page_count, $artworks, $show_author, $collapsed, $reload_btn) {
- $artworks_in_page = $collapsed ? array_slice($artworks, $page * ARTWORKS_PER_PAGE, ARTWORKS_PER_PAGE) : $artworks; ?>
- <div class="grid"><?php
- foreach ($artworks_in_page as $artwork) { ?>
- <div>
- <a class="thumbnail" href="<?= BASE_URL ?>/artworks/<?= $artwork->id ?>">
- <div class="extra-info"><?php
- $restrict_type = get_xrestrict_string($artwork->xRestrict);
- if ($restrict_type) { ?>
- <div class="content-warning"><?= $restrict_type ?></div><?php
- }
- if ($artwork->pageCount > 1) { ?>
- <div class="page-count">🗍 <?= $artwork->pageCount ?></div><?php
- }
- else if ($artwork->illustType == 2) { ?>
- <div class="page-count">▶</div><?php
- } ?>
- </div>
- <img loading="lazy" src="<?= get_proxy_url($artwork->url) ?>" alt="<?= htmlspecialchars($artwork->alt); ?>">
- </a>
- <a class="title" href="<?= BASE_URL ?>/artworks/<?= $artwork->id ?>">
- <b><?= htmlspecialchars($artwork->title); ?></b>
- </a><?php
- if ($show_author) { ?>
- <a class="author" href="<?= BASE_URL ?>/users/<?= $artwork->userId ?>">
- <img class="avatar" loading="lazy" src="<?= get_proxy_url($artwork->profileImageUrl) ?>" alt=" ">
- <div class="username"><?= htmlspecialchars($artwork->userName); ?></div>
- </a><?php
- } ?>
- </div><?php
- } ?>
- </div><?php
- if ($page == $page_count - 1 && $reload_btn) { ?>
- <p class="center">
- <a href="" class="button"><?= get_string('discovery.reload') ?></a>
- </p><?php
- }
- }
- );
- }
|