Changes in src/routes/posts.js [b4af6f3:16fd4fe] in Klonkt
- File:
-
- 1 edited
-
src/routes/posts.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/posts.js
rb4af6f3 r16fd4fe 822 822 } 823 823 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 als827 // eigen Audio-object en speelt het bij iedereen die de post in een hub of in828 // Mastodon tegenkomt. Toonde de poort het dan NIET, dan was de muziek overal829 // beschikbaar behalve op de site die hem uitbrengt -- en dat is de verkeerde830 // 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 de834 // speler ook de gesloten nummers krijgen -- en /audio/stream laat een835 // 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 die839 // alleen uit de audio-shortcodes bestaat. Wat niet meegegeven wordt kan ook840 // 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 851 824 function postNeighbors(site, post) { 852 825 const ordered = db.prepare(` … … 1600 1573 if (post.paid && !canEditThis && !_unlocked) { 1601 1574 const { newerPost, olderPost } = postNeighbors(site, post); 1602 const pgAudio = paidOpenAudioHtml(site, post, req);1603 1575 return renderPage(req, res, 'pages/paid-gate', { 1604 pageJs: 'paid-gate' + (pgAudio ? ' tape' : ''),1576 pageJs: 'paid-gate', 1605 1577 pageTitle: post.title || 'Voor supporters', 1606 1578 bodyClass: 'on-special', 1607 1579 pgTitle: post.title || '', 1608 1580 pgTeaser: paidTeaser(post), 1609 pgAudio,1610 1581 pgCents: post.paid_min_cents || paidDefaultMinCents(site.id), 1611 1582 pgSlug: post.slug,
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)