The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Two players in the thread
I'm not sure what I'm doing wrong. But for some odd reason, it only shows 1 attachment embedded. As I do have multiple videos in the same threads, I need to get this working quickly.
Here's the code from postbit_legacy: PHP Code:
What this code does, is it embeds automatically certain attachments. Demo link can be provided. |
#2
|
|||
|
|||
Maybe I'm missing something, but if you've put this in postbit_legacy it will only show up once per post. If you wanted it to be inserted once per attachment you'd need a loop (in plugin code).
I also am not sure about this line HTML Code:
<if condition="$attachment[attachmentextension] != 'flv,mp4'">
If you're trying to check for two possible extensions I think you'd need something like HTML Code:
<if condition="!in_array($attachment[attachmentextension], array('flv','mp4'))">
|
#3
|
|||
|
|||
Hmm. Thanks Kev, and yes. I need it to display all attachments with certain extensions in the thread. Any idea how would I create a plugin? Never had the chance to play around with the plugin system.
|
#4
|
|||
|
|||
Try this: take code from above and create a new template, like
HTML Code:
<div id="player_$attachment[attachmentid]" align="center">Something went wrong, video can't load. Refresh the page.</div> <script type='text/javascript'> var so = new SWFObject('/player/player.swf','jsplayer_$attachment[attachmentid]','720','480','6','#000000'); so.addParam('allowfullscreen','true'); so.addParam('allowscriptaccess','always'); so.addParam('wmode','opaque'); so.addVariable('file','/attachment.php?$session[sessionurl]attachmentid=$attachment[attachmentid]'); so.addVariable('width','720'); so.addVariable('height','480'); so.addVariable('javascriptid','jsplayer_$attachment[attachmentid]'); so.addVariable('enablejs','true'); so.addVariable('type','video'); so.addParam('allownetworking','all'); so.addVariable('controlbar','bottom'); so.addVariable('showdigits','true'); so.addVariable('showstop','true'); so.addVariable('stretching','uniform'); so.addVariable('smoothing','true'); so.addVariable('autostart','false'); so.addVariable('skin', '/player/bekle/bekle.zip'); so.write('player_$attachment[attachmentid]'); </script> <br /> Then since you only want to include the .js file once, modify the SHOWTHREAD template and put this in: HTML Code:
<if condition="in_array($thread['forumid'], array(15,16,17,18,22,29,33))"> <script type='text/javascript' src='/player/swfobject.js'></script> </if> (and if you need this to be done on some page other than showthread.php you'd need it there too. ) Then create a new plugin by going to Plugins & Products -> Create New Plugin, and select hook location postbit_attachment from the dropdown menu. Enter a title so that later you'll remember what this does, paste the code below into the large box, select the "Yes" radio button, and save. Plugin code: Code:
if (in_array($this->thread['forumid'], array(15,16,17,18,22,29,33)) AND !in_array($attachment[attachmentextension], array('flv','mp4'))) { eval('$this->post[\'embed_attachments\'] .= "' . fetch_template('embed_attachment') . '";'); } (note that the embed_attachment in red above needs to be the same as the name of the template you created at the beginning, so change it here if you have to.) And finally, edit template postbit_legacy and put $post[embed_attachments] where you want them to appear. BTW, I haven't actually tried any of this so you should probably expect (at least) some small errors. |
#5
|
|||
|
|||
It doesn't work with 'postbit_attachment', but it does work with 'postbit_display_start'. Anyhow, this is a way better solution than mine. But I have no idea why it still doesn't want to embed all uploaded attachments? :/
http://i.imgur.com/QmJMD.png As you can see, there are two attachments in that thread, but only one is actually embedded. I really appreciate your helping. |
#6
|
|||
|
|||
What do you mean when you say it doesn't work with postbit_attachment? You need to get it to work with that hook because that's inside a loop that goes through each attachment, and without some kind of loop you're only ever going to see it once (although I suppose if you knew the limit was 2 attachments, you could just put the code in postbit_legacy twice).
Also, are flv and mp4 the two attachments you want to embed? If so than you have to remove the '!' from in front of 'in_array' in the plugin code. |
#7
|
|||
|
|||
Works now.. Lol. And yeah, those two were the attachment types I needed embedded. Again, much thanks for your help!
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|