Seite 24 von 25

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

Verfasst: 15.01.2026 16:18
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.

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

Verfasst: 15.01.2026 16:33
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.

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

Verfasst: 15.01.2026 16:39
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.

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

Verfasst: 15.01.2026 16:48
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.

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

Verfasst: 15.01.2026 17:22
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.

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

Verfasst: 15.01.2026 17:25
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>

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

Verfasst: 15.01.2026 17:38
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 -->

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

Verfasst: 15.01.2026 17:43
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 -->

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

Verfasst: 15.01.2026 18:07
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.

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

Verfasst: 15.01.2026 18:10
von chris1278
Du musst schon die Foren resynchronisieren.

Notfalls auch mal den Foren und Browsercache leeren.