[3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 4136
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

So erst mal die Anleitung für das Resynchronisieren der Foren.

Dafür geht man in das ACP und dort auf den Reiter "Foren"

Dort sind alle Kategorien/Foren aufgelistet.

Für jede Kategorie bzs. In jedem Forum finden sich rechts in der Spalte mehrere Icons. Zum einen für die Zeilen, hoch oder runterzuschieben oder zu löschen. Dort findet sich auch das icon zum Resynchronisieren.

Ihr müsst das für jedes Forum bzw. jede Kategorie einmal drücken.


Sofern ihr nur die HTML Ersetzung getauscht habt sollte dann alles übernommen werden. Auch wenn ihr mit dem SQL-Befehl :

Code: Alles auswählen

UPDATE phpbb_posts
SET post_text = REPLACE(post_text, 'youtube_be', 'youtube')
WHERE post_text LIKE '%youtube_be%'
Ausgeführt habt und das ganze nur auf den youtube bbcode beschränkt müsst ihr dies noch nachhohlen.
SeewolfPK hat geschrieben: 15.01.2026 12:07 Gepostet wurde mit
[youtube]https://www.youtube.com/watch?v=bZ_XcL20nxk[/youtube]

Den Beitrag 1x im Editor geöffnet und unverändert gespeichert und es funktioniert.
Es erscheint mir aber fast unmöglich alle Beiträge so zu bearbeiten.
Gibt es eine andere Möglichkeit, das neue BBCodes auf alle vorhandenen Postings angewendet werden?
Dafür solltest du wie oben beschrieben vorgehen und resynchronisieren.
SeewolfPK hat geschrieben: 15.01.2026 12:29

Code: Alles auswählen

https://www.youtube.com/watch?v=mBtpsrSP4RU
enthalten, wird nur der Link angezeigt.
Gibt es eine Möglichkeit, das automatisch [youtube] und [/youtube] angewendet wird?
Da wüsste ich leider keinen Ansatz für.

Und was diese SAche angeht das manche User nur die Id inden BBCode schreiben wüsste ich leider auch nicht wie man das umsetzen könnte.
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 458
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von SeewolfPK »

Danke für die Anleitung Chris.

Trotzdem bleibt ein Fehler, den ich bereits erwähnte:
Etwas kurios:
Im Gesamten Beitrag wird trotz unterschiedlicher Links immer das erste eingebettete Video angezeigt.

Auch hier ist editieren und unverändert speichern angesagt.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
TomLB
Mitglied
Beiträge: 194
Registriert: 09.11.2019 13:38
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von TomLB »

Und genau wegen diesen Unendlich erscheinenden Möglichkeiten der Links,
Habe ich den BB-CODE umgestellt, das man eben nur noch die Video-ID angibt.

Muss man halt den Mitgliedern einmal erklären und gut Ist.
LG, Tom
Board 3.3.8 | PHP 8.2 | https://www.v-stromforum.de
Benutzeravatar
IMC
Mitglied
Beiträge: 917
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von IMC »

chris1278 hat geschrieben: 15.01.2026 07:33 hast du in einer Zeile was doppelt, was zu viel war
Da hast du recht. Ich hätte den Code aus diesem Beitrag nicht 1 zu 1 übernehmen dürfen ohne ihn vorher zu prüfen.
viewtopic.php?p=1433689#p1433689

Ich würde noch ein paar kleine Änderungen am Code machen damit die Validatoren nichts zu bemängeln haben.

In Paul seiner Liste sind auch Links drin, die nicht auf Videos zeigen. Die könnte ich als Fallback-Lösung als Link anzeigen.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
chris1278
Mitglied
Beiträge: 4136
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Ja mach du das ruhig. Habe noch nichts eingereicht.
SeewolfPK hat geschrieben: 15.01.2026 16:33 Trotzdem bleibt ein Fehler, den ich bereits erwähnte:
Etwas kurios:
Im Gesamten Beitrag wird trotz unterschiedlicher Links immer das erste eingebettete Video angezeigt.

Auch hier ist editieren und unverändert speichern angesagt.
Was genau meinst du damit?

Eventuell schickst du mir mal ein link direkt zu einem Beitrag (auch als pn wenn dus nicht öffentlich posten magst) wo das Phänomen auftritt.
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 458
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von SeewolfPK »

Irgend etwas läuft völlig aus dem Ruder.
Trotz der Synchronisisation werden die Videos nicht richtig angezeigt.

In der DB steht:

<YOUTUBE content0="www" content1="watch?v=" content2="bZ_XcL20nxk"><s>[youtube]</s>https://www.youtube.com/watch?v=bZ_XcL20nxk<e>[/youtube]</e></YOUTUBE>


nach editieren ist alles okay.

<YOUTUBE content="https://www.youtube.com/watch?v=bZ_XcL2 ... XcL20nxk<e>[/youtube]</e></YOUTUBE>


Im gleichen Thread ein paar Beiträge später
wird das gleiche Video wie oben angezeigt, wenn der Beitrag nicht editiert und neu gespeichert wird.

In der DB vor dem editireren

<YOUTUBE content0="www" content1="watch?v=" content2="_k5fu-pk-Jw"><s>[youtube]</s>https://www.youtube.com/watch?v=_k5fu-pk-Jw<e>[/youtube]</e></YOUTUBE>

nach edit

<YOUTUBE content="https://www.youtube.com/watch?v=_k5fu-p ... fu-pk-Jw<e>[/youtube]</e></YOUTUBE>
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
IMC
Mitglied
Beiträge: 917
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von IMC »

Hier mein neuer Code der jetzt alles abdecken sollte, inclusive Fallback und einzelne Youtube Id.

Code: Alles auswählen

<!-- IF YOUTUBE_BBCODE_SWITCH -->
	<div class="yt_video_layer"></div>
	<script>
		var coMgrYoutubeURL = '{URL}';
		var coMgrYtVideoAry = document.getElementsByClassName('yt_video_layer');
		
		if (coMgrYtVideoAry.length) {
			const regEx = /^[A-Za-z0-9_-]{11}$/;
			let ytVideo = coMgrYtVideoAry[coMgrYtVideoAry.length - 1];
			let strIdentifier, newYtURL;

			if (coMgrYoutubeURL.includes('watch')) {
				const url = new URL(coMgrYoutubeURL);
				const searchParams = new URLSearchParams(url.search);		
				strIdentifier = searchParams.get('v');
			}
			else if (coMgrYoutubeURL.includes('shorts') || coMgrYoutubeURL.includes('youtu.be')) {
				const url = new URL(coMgrYoutubeURL);
				strIdentifier = url.pathname.substring(url.pathname.lastIndexOf('/'));
			}
			else if (regEx.test(coMgrYoutubeURL)) {
				strIdentifier = coMgrYoutubeURL;
			}
			
			if (strIdentifier != null) {
				newYtURL  = 'https://www.youtube.com/embed/' + strIdentifier;
				ytVideo.innerHTML = '<iframe src="' + newYtURL + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
			}
			else {
				ytVideo.innerHTML = '<a href="' + coMgrYoutubeURL + '" class="postlink">' + coMgrYoutubeURL + '</a>';
				ytVideo.classList.remove();
			}
		}
	</script>
<!-- ELSE -->
	<div class="yt_video_switch_false">{L_YOUTUBE_ADMIN}</div>
<!-- ENDIF -->
Gruß, Thorsten

Meine Extensions
Benutzeravatar
chris1278
Mitglied
Beiträge: 4136
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Aber um den mit der Erweiterung kompatible zu machen musst du das iframe anpassen.

Das sollte so aussehen:

Code: Alles auswählen

 <iframe data-name="youtube" data-src="' + newYtURL + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

Dann wäre der code hier so richtig:

Code: Alles auswählen

<!-- IF YOUTUBE_BBCODE_SWITCH -->
	<div class="yt_video_layer"></div>
	<script>
		var coMgrYoutubeURL = '{URL}';
		var coMgrYtVideoAry = document.getElementsByClassName('yt_video_layer');
		
		if (coMgrYtVideoAry.length) {
			const regEx = /^[A-Za-z0-9_-]{11}$/;
			let ytVideo = coMgrYtVideoAry[coMgrYtVideoAry.length - 1];
			let strIdentifier, newYtURL;

			if (coMgrYoutubeURL.includes('watch')) {
				const url = new URL(coMgrYoutubeURL);
				const searchParams = new URLSearchParams(url.search);		
				strIdentifier = searchParams.get('v');
			}
			else if (coMgrYoutubeURL.includes('shorts') || coMgrYoutubeURL.includes('youtu.be')) {
				const url = new URL(coMgrYoutubeURL);
				strIdentifier = url.pathname.substring(url.pathname.lastIndexOf('/'));
			}
			else if (regEx.test(coMgrYoutubeURL)) {
				strIdentifier = coMgrYoutubeURL;
			}
			
			if (strIdentifier != null) {
				newYtURL  = 'https://www.youtube.com/embed/' + strIdentifier;
				ytVideo.innerHTML = '<iframe data-name="youtube" data-src="' + newYtURL + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
			}
			else {
				ytVideo.innerHTML = '<a href="' + coMgrYoutubeURL + '" class="postlink">' + coMgrYoutubeURL + '</a>';
				ytVideo.classList.remove();
			}
		}
	</script>
<!-- ELSE -->
	<div class="yt_video_switch_false">{L_YOUTUBE_ADMIN}</div>
<!-- ENDIF -->
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 458
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von SeewolfPK »

Verstehe ich das jetzt richtig
BBCode:
[youtube]{URL}[/youtube]

und die HTML-Ersetzung, das was im letzten Post steht?

Nach wie vor keine Anzeige ohne editieren.
Jetzt wird nicht mal mehr der YT-Link angezeigt sondern nur eine blanke Stelle im Beitrag.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
chris1278
Mitglied
Beiträge: 4136
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Du musst schon die Foren resynchronisieren.

Notfalls auch mal den Foren und Browsercache leeren.
Antworten

Zurück zu „Extensions in Entwicklung“