Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-27-2011, 12:59 PM
Frosty Frosty is offline
 
Join Date: Apr 2011
Posts: 166
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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:
<if condition="in_array($thread['forumid'], array(15,16,17,18,22,29,33))"
<if 
condition="$attachment[attachmentextension] != 'flv,mp4'">
<
script type='text/javascript' src='/player/swfobject.js'></script>
<
div id="player_$attachment[attachmentid]align="center">Something went wrongvideo 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 />
</if>
</if> 
If we get this working, feel free to use it on your forum. I won't have any problem with that.

What this code does, is it embeds automatically certain attachments.

Demo link can be provided.
Reply With Quote
  #2  
Old 07-27-2011, 01:54 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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'))">
Reply With Quote
  #3  
Old 07-27-2011, 02:07 PM
Frosty Frosty is offline
 
Join Date: Apr 2011
Posts: 166
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #4  
Old 07-27-2011, 02:36 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #5  
Old 07-27-2011, 02:46 PM
Frosty Frosty is offline
 
Join Date: Apr 2011
Posts: 166
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #6  
Old 07-27-2011, 02:51 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #7  
Old 07-27-2011, 02:55 PM
Frosty Frosty is offline
 
Join Date: Apr 2011
Posts: 166
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works now.. Lol. And yeah, those two were the attachment types I needed embedded. Again, much thanks for your help!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:05 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03892 seconds
  • Memory Usage 2,244KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (4)bbcode_html
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete