Changes in src/routes/posts.js [b4af6f3:16fd4fe] in Klonkt


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/posts.js

    rb4af6f3 r16fd4fe  
    822822}
    823823
    824 // De muziek van een betaalde post op de poortpagina zelf.
    825 //
    826 // WAAROM DIE DAAR HOORT. Zodra een nummer `fedi_open` is, federeert het als
    827 // eigen Audio-object en speelt het bij iedereen die de post in een hub of in
    828 // Mastodon tegenkomt. Toonde de poort het dan NIET, dan was de muziek overal
    829 // beschikbaar behalve op de site die hem uitbrengt -- en dat is de verkeerde
    830 // kant op (Robin, 24-8). De muur staat om de tekst.
    831 //
    832 // ALLES OF NIETS. Alleen als ELK nummer waar de post naar wijst open staat.
    833 // Een shortcode rendert zijn hele lijst, dus bij een half-open bandje zou de
    834 // speler ook de gesloten nummers krijgen -- en /audio/stream laat een
    835 // gelijke-oorsprong-fetch door, dus dat is geen theoretisch lek maar een echt.
    836 // Half open is hier dus dicht.
    837 //
    838 // De TEKST komt hier niet langs: we geven renderPostBodyHtml een post mee die
    839 // alleen uit de audio-shortcodes bestaat. Wat niet meegegeven wordt kan ook
    840 // niet lekken -- dezelfde regel als bij readerItems.
    841 export function paidOpenAudioHtml(site, post, req) {
    842   if (!postAudioFediOpen(site.id, post.content)) return '';
    843   const codes = String(post.content || '').match(/\[\[(?:track|album|playlist):[^\]]+\]\]/gi) || [];
    844   if (!codes.length) return '';
    845   const alleenMuziek = codes.join('\n');
    846   try {
    847     return renderPostBodyHtml(site, { ...post, content: alleenMuziek, content_rendered: alleenMuziek }, req);
    848   } catch { return ''; /* geen speler is geen kapotte poort */ }
    849 }
    850 
    851824function postNeighbors(site, post) {
    852825  const ordered = db.prepare(`
     
    16001573  if (post.paid && !canEditThis && !_unlocked) {
    16011574    const { newerPost, olderPost } = postNeighbors(site, post);
    1602     const pgAudio = paidOpenAudioHtml(site, post, req);
    16031575    return renderPage(req, res, 'pages/paid-gate', {
    1604     pageJs: 'paid-gate' + (pgAudio ? ' tape' : ''),
     1576    pageJs: 'paid-gate',
    16051577      pageTitle: post.title || 'Voor supporters',
    16061578      bodyClass: 'on-special',
    16071579      pgTitle: post.title || '',
    16081580      pgTeaser: paidTeaser(post),
    1609       pgAudio,
    16101581      pgCents: post.paid_min_cents || paidDefaultMinCents(site.id),
    16111582      pgSlug: post.slug,
Note: See TracChangeset for help on using the changeset viewer.