PDA

View Full Version : [attach] and different filetypes


neverstop
01-08-2008, 12:37 AM
Hi,

I am trying to get the [attach] tag to load an inline flv player when the attached filetype is flv. In includes/class_bbcode.php I added:

case 'flv':
$replace[] = "<div style=\"padding: 0px; position:relative;\" align=\"center\" id=\"player\">This text will be replaced</div>
<script type=\"text/javascript\">
var so = new SWFObject('/flvplayer.swf','mpl','450','358','7');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','true');
so.addVariable('file','{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;d=$attachment');
so.addVariable('height','354');
so.addVariable('width','445');
so.addVariable('frontcolor','0xFFFFFF');
so.addParam(\"wmode\",\"transparent\");
so.addVariable('image','');
so.addVariable('backcolor','0x305c2f');
so.addVariable('lightcolor','0xC0DFBF'); so.write('player');
</script>";

to this part of the file:

switch($attachment['extension'])
{
case 'gif':
case 'jpg':
case 'jpeg':
case 'jpe':
case 'png':
case 'bmp':
case 'tiff':
case 'tif':
case 'psd':
case 'pdf':
if ($this->registry->options['attachthumbs'] AND $attachment['hasthumbnail'] AND $this->registry->userinfo['showimages'])
{ // Display a thumbnail
$replace[] = "<a href=\"{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;d=$attachment[dateline]\" $addtarget><img src=\"{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;thumb=1&amp;d=$attachment[thumbnail_dateline]\" class=\"thumbnail\" border=\"0\" alt=\""
. construct_phrase($vbphrase['image_larger_version_x_y_z'], $attachment['filename'], $attachment['counter'], $attachment['filesize'], $attachment['attachmentid'])
. "\" " . (!empty($align) ? " style=\"float: $align; margin: 2px\"" : 'style="margin: 2px"') . " /></a>";
}
else if ($this->registry->userinfo['showimages'] AND ($forceimage OR $this->registry->options['viewattachedimages']) AND !in_array($attachment['extension'], array('tiff', 'tif', 'psd', 'pdf')))
{ // Display the attachment with no link to bigger image
$replace[] = "<img src=\"{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;d=$attachment[dateline]\" border=\"0\" alt=\""
. construct_phrase($vbphrase['image_x_y_z'], $attachment['filename'], $attachment['counter'], $attachment['filesize'])
. "\" " . (!empty($align) ? " style=\"float: $align; margin: 2px\"" : 'style="margin: 2px"') . " />";
}
else
{ // Display a link
$replace[] = "<a href=\"{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;d=$attachment[dateline]\" $addtarget>$attachment[filename]</a>";
}
break;
default:
$replace[] = "<a href=\"{$this->registry->options['bburl']}/attachment.php?{$this->registry->session->vars['sessionurl']}attachmentid=\\1&amp;d=$attachment[dateline]\" $addtarget>$attachment[filename]</a>";
}





The player loads fine, however, it cannot play the file. I assume this is because it cannot play the file: attachment.php?attachmentid=5&amp;d=1199600386.

I guess I would have to modify attachment.php in someway to tell the player its an flv file? I beleive it is called a mime-type or something like that?

Any help is appreciated.

Cheers,
Ian

--------------- Added [DATE]1199761078 at 1199761078 ---------------

[SOLVED]

This was a problem with the player, not attachment.php

From the flv players website:

Normally, the player uses the file name extension to determine what type of file it is going to receive. Since .php isn't a media file type, you need to tell the player what type of file it is going to get.
Like this:

s1.addVariable('type', 'flv');


Problem solved.