Attachment Mod: JW FLV Media Player einbinden

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Attachment Mod: JW FLV Media Player einbinden

Beitrag von Dungeonwatcher »

Hi! 8)

Ich versuche seit Stunden den JW FLV Media Player anstelle des reinen Flasplayer in den Attachment Mod einzubinden. Dazu habe ich diesen Codeblock:

Code: Alles auswählen

      <script type="text/javascript" language="javascript">
        //<![CDATA[ /// Flash Javay method
        var ua = navigator.userAgent.toLowerCase();
        if ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)){
        document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/#version=9,0,23,0" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">');
        document.write('<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" /></object> '); }
        else{ document.write('<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}"></object>'); }
        //]]>
      </script>
      <noscript>
        <object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">
          <param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" />
        </object>
      </noscript>
durch diesen ersetzt:

Code: Alles auswählen

      <p id="fvideo" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p>
        <script type="text/javascript" src="./templates/swfobject.js"></script>
		<script type="text/javascript">
          var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff");
          s1.addParam("allowfullscreen","true");
          s1.addParam("autostart","true");
          s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}");
          s1.write("fvideo");
      </script>
Solange es nur ein einziges Video im Thread gibt, tut dies auch bestens funktionieren. Sobald aber ein zweites oder mehr dazu kommen gibt es Chaos. Teilweise wird das falsche Video abgespielt, teilweise wird der Player garnicht erst angezeigt. :-?

Was läuft da falsch?

Bye
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

Hätte da einen Vorschlag:

Anstatt die Player-ID "fvideo" fest hineinzuschreiben, würde ich eine ID generieren lassen, bspw. "fvideo_attachPost-Nummer" (ergibt z.B. "fvideo_attach18", wenn das Video im Beitrag Nr. 18 in der Datenbank ist).

Code: Alles auswählen

      <p id="fvideo_attach{postrow.attach.cat_swf.POST_ID}" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p> 
        <script type="text/javascript" src="./templates/swfobject.js"></script> 
      <script type="text/javascript"> 
          var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff"); 
          s1.addParam("allowfullscreen","true"); 
          s1.addParam("autostart","true"); 
          s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}"); 
          s1.write("fvideo_attach{postrow.attach.cat_swf.POST_ID}"); 
      </script>
In der /attach_mod/displaying.php müsste dann nur noch die Template-Variable "POST_ID" in den "postrow.attach.cat_swf"-Block der Funktion display_attachments() eingebunden werden.
Suche (innerhalb von function display_attachments())

Code: Alles auswählen

				$template->assign_block_vars('postrow.attach.cat_swf', array(
					'U_DOWNLOAD_LINK'		=> $filename,
					'S_UPLOAD_IMAGE'		=> $upload_image,
Danach einfügen

Code: Alles auswählen

					'POST_ID'				=> $post_id,
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

StarWolf3000 hat geschrieben:Hätte da einen Vorschlag:

Anstatt die Player-ID "fvideo" fest hineinzuschreiben, würde ich eine ID generieren lassen, bspw. "fvideo_attachAttachment-Nummer" (ergibt z.B. "fvideo_attach18", wenn das Video das Attachment Nr. 18 in der Datenbank ist).
Ja genau, an diese Player-ID dachte ich auch schon. Wenn ich es richtig verstehe, bekommen alle Player Fenster die gleich ID. Die Browser kommen dadurch logischerweise ins trudeln.

Deine Idee klingt gut.
In der viewtopic.php müsste dann nur noch die Template-Variable "ATTACH_ID" in den "postrow.attach.cat_swf"-Block eingebunden werden.
Hmmm, in der viewtopic.php finde ich nichts passendes? Dafür in der displaying.php. Der Code Block dürfte dieser sein:

Code: Alles auswählen

					$template->assign_block_vars('postrow.attach.cat_swf', array(
						'U_DOWNLOAD_LINK' => $filename,
						'DOWNLOAD_NAME' => $display_name,
						'FILESIZE' => $filesize,
						'SIZE_VAR' => $size_lang,
						'COMMENT' => $comment,
						'L_DOWNLOADED_VIEWED' => $lang['Viewed'],
						'WIDTH' => $width,
						'HEIGHT' => $height)
					);
Wie müsste das dann hier aussehen?
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

Beitrag schneller geändert, als du antworten konntest.

Weiter im Text:
Das ganze hat natürlich auch einen Nachteil: Wenn mehrere Videos pro Beitrag eingebunden werden, funktioniert das natürlich nicht mehr, da dann auch wieder alle die selbe ID haben. Das macht aber nichts, denn auch dazu habe ich eine passende Lösung parat:

Suchen (wieder in der Funktion)

Code: Alles auswählen

$template->assign_block_vars('postrow.attach.cat_swf', array(
Davor einfügen

Code: Alles auswählen

srand ((double)microtime() * 1000000);
$zufall = rand(0,99999);
Suche (innerhalb function display_attachments())

Code: Alles auswählen

'POST_ID'            => $post_id,
Ersetzen mit

Code: Alles auswählen

'POST_ID'            => $post_id . "_" . $zufall,
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

StarWolf3000 hat geschrieben:Beitrag schneller geändert, als du antworten konntest.
So schnell kann ich garnicht den Code editieren wie du schreibst... :wink:
Zuletzt geändert von Dungeonwatcher am 02.10.2008 04:21, insgesamt 1-mal geändert.
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

Ändere die Variable in dem Temlate von POST_ID auf RANDOM_ID um, wir bauen jetzt die Post-ID wieder aus.

Suchen (innerhalb function display_attachments())

Code: Alles auswählen

'POST_ID'            => $post_id . "_" . $zufall,
Ersetzen durch

Code: Alles auswählen

'RANDOM_ID'            => $zufall,
In der function display_attachments_preview() machen wir jetzt das gleiche nochmal:

Suche

Code: Alles auswählen

					$template->assign_block_vars('postrow.attach.cat_swf', array(
						'U_DOWNLOAD_LINK'		=> $filename,
						'DOWNLOAD_NAME'			=> $display_name,
Davor einfügen

Code: Alles auswählen

srand ((double)microtime() * 1000000); 
$zufall = rand(0,99999);
Danach einfügen

Code: Alles auswählen

'RANDOM_ID'            => $zufall,
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Beitrag von Dungeonwatcher »

Hi! 8)

Ein riesengroßes Dankeschön!! :)

Das tut jetzt bestens funktionieren. Ich habe selber kein Durcheinander festgestellt und ich gehe davon aus das meine User auch nichts dergleichen beobachten werden.

THNX

Bye
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: Attachment Mod: JW FLV Media Player einbinden

Beitrag von MDuss »

Hi Leute.

Ich habe gestern auch den Attach Mod 2.45 eingebaut.
Kann mir bitte jemand hier beschreiben, welche Dateien ich hier wie ändern muss, damit ich den JW FLV Media Player auch nutzen kann.
Ich würde diesen gerne für Video und Audio Dateien nutzen.

Hier wird ja leider nicht genau beschrieben zu, welche Datei genau geändert wird.

Im Eröffnungsthread steht z.B. nur: Dazu habe ich diesen Codeblock durch diesen ersetzt.
Aber es steht nirgends, wo dieser Block zu finden ist.

Und selbst gefunden habe ich diesen bisher auch nicht.

MfG
MDuss
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Re: Attachment Mod: JW FLV Media Player einbinden

Beitrag von Dungeonwatcher »

Hi! 8-)
MDuss hat geschrieben:Ich habe gestern auch den Attach Mod 2.45 eingebaut.
Ich eine Vorgängerversion, genaue weiss ich aber nicht mehr.
Hier wird ja leider nicht genau beschrieben zu, welche Datei genau geändert wird.

Im Eröffnungsthread steht z.B. nur: Dazu habe ich diesen Codeblock durch diesen ersetzt.
Aber es steht nirgends, wo dieser Block zu finden ist.
Im Text weiter unten steht's aber. :wink:

Es ist die ...\attach_mod\displaying.php

Da ich das Original nicht mehr habe, hier mal der kplt. Code:

displaying.php

Bye
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: Attachment Mod: JW FLV Media Player einbinden

Beitrag von MDuss »

Hi

Dungeonwatcher.

Danke für deine Antwort.

Wo ich aber noch Probleme habe:
Du schreibst ja:
Dungeonwatcher hat geschrieben:

Code: Alles auswählen

<script type="text/javascript" language="javascript">
        //<![CDATA[ /// Flash Javay method
        var ua = navigator.userAgent.toLowerCase();
        if ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)){
        document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/#version=9,0,23,0" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">');
        document.write('<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" /></object> '); }
        else{ document.write('<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}"></object>'); }
        //]]>
      </script>
      <noscript>
        <object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">
          <param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" />
        </object>
      </noscript>
ersetzen mit

Code: Alles auswählen

<p id="fvideo" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p>
        <script type="text/javascript" src="./templates/swfobject.js"></script>
      <script type="text/javascript">
          var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff");
          s1.addParam("allowfullscreen","true");
          s1.addParam("autostart","true");
          s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}");
          s1.write("fvideo");
      </script>
Mein Problem dabie:
Ich finde weder den einen noch den anderen Code. ich muss aber doch angeben, wo z.B. der Palyer (also die Palyer.swf) auf dem Server liegt. Und dies ist im obigen Code angegeben. Aber wo muss ich diesen Teil einbauen?

Diesen Code finde ich auch nicht in der Datei displaying.php

MfG
MDuss
Antworten

Zurück zu „phpBB 2.0: Mod Support“