How can I insert links into swf files using PHP? - php

I am trying to insert links into a swf banner(on all its surface) automatically using php. I am almost sure I saw this feature in OpenAds...

Sorry, but this can't be done apart from having a click-handler in the SWF that takes the location target of the click as a parameter, in which case the parameter is given to the Flash-file on html-level.
Eg
<object>
<param name="movie" value="YOURFLASH.swf" />
<param name="flashVars" value="clickTag=http%3A//www.example.com/&clickTAG=http%3A//www.example.com/&clicktag=http%3A//www.example.com/&clickTag2=http%3A//www.example.com/" />
<embed src="YOURFLASH.swf" flashvars="clickTag=http%3A//www.example.com/&clickTAG=http%3A//www.example.com/&clicktag=http%3A//www.example.com/&clickTag2=http%3A//www.example.com/"></embed>
</object>
The parameter name clicktag (in different case-variants) is a common parameter name for setting a click-handler in banners.

You can try to place a div over a flash clip in html and put your links there. This requires very careful positioning and may look weird.

Assuming you have access to the flash source you could load the links from a resource generated with PHP (or any server side tech) from within the flash.
Then your links are generated as xml/json/html and the flash displays them.
google flash loading data for a bunch of different tutorials and articles.

Related

How to pass params by html or php to an html embed swf?

Hello guys how are you doing? Fine i hope.
Well i'm trying to make a non javascript version of a site and there is this swf client that runs by a javascript library which sets sizes and passes params.
Here is some code:
swfobject.embedSWF(KingGame._game_url, "flashContent", KingGame._flash_width, KingGame._flash_height, "10.0.0", false, {"param": KingGame._flash_params}, paramtrs);
This is the line where swfobject framework calls the swf and is passes this param to it which is an enormous xml file converted to a string i supose.
So now im trying to use something like:
<object width="1000" height="1000">
<param name="params" value="<?=urlencode($xml_config)?>">
<embed src="<?=$url?>" width="1000" height="1000">
</embed>
</object>
But it's not working i don't know how to pass this params with php or html, i'm searching but finding nothing, does anyone knows if that is possible at least?
Thanks

Return and embed image with pure javascript , like php?

I'm having trouble figuring out if it's possible to embed an html or js document as an image, like so:
<img src="http://blah.com/image.js" />
or
<img src="http://blah.com/image.html" />
The general idea being that when the browser tries to access the file, it would execute the file clientside and get the actual image, and would then embed it as usual. I realize this can be done easily with PHP, but I'm looking for a non-server solution.
Problems being the content type it transfers as is wrong, and more importantly I think this violates every crossdomain and sandbox rule, to which I don't think there's any way around.
As long as the document you are linking to can display the binary data this will work.
Follow this article to solve the binary load with javascript, http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html
Then you can also include base64 data in img tags like this
<img src="data:image/png;base64,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" />
The src attribute must point to a URI that eventually results in actual image data. Perhaps you should consider leaving it blank and then creating a script that generates a data: URI and replaces it into the attribute.

How to get proper soundcloud url for embedding from a standard url?

So right now I can grab the url from already embedded soundcloud files in embed or iframe tags and use those urls on another page and display it in fancybox. Is there a way to get the right url or display in fancybox if a user offers a typical share url such as http://soundcloud.com/song-b/song-please or http://snd.sc/yp6VMo? I tried looking at the api documentation but I couldn't really find what I was looking for.
He is trying to get html to create a Soundcloud widget, not get the API url for a track. The oEmbed method "will serve the widget embed code for any SoundCloud URL pointing to a user, group, set or a playlist" and is recommended to make sure Soundclouds changes don't break your app (as opposed making your own Flash object or iframe). You can call it with a PHP web request to
http://soundcloud.com/oembed?format=js&url=[escaped_url]&iframe=true
Or with a JSON-P call (using jQuery for convenience)
$.getJSON('http://soundcloud.com/oembed?callback=?',
{format: 'js', url: 'http://snd.sc/yp6VMo', iframe: true},
function(data) {
// Stick the html content returned in the object into the page
$('#your_player_div').html(data['html'])
}
)
I'm adding iframe=true so you get the new HTML5 player, omit to get the old Flash object. It also works with the .sc short urls you are using.
you can try this for song url not for the id of song url
<iframe width="100%" height="166" scrolling="no" frameborder="no"src="http://w.soundcloud.com/player/?url=http://api.soundcloud.com/elissafranceschi/war&auto_play=false&color=915f33&theme_color=00FF00"></iframe>
I'm not exactly sure what you're asking here, but it sounds like you might need the "resolve" API endpoint. http://developers.soundcloud.com/docs/api/resolve
Example:
$ curl -v 'http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/matas/hobnotropic&client_id=YOUR_CLIENT_ID'
HTTP/1.1 302 Moved Temporarily
Location: http://api.soundcloud.com/tracks/49931.json
This will give you all the track information and that should be enough for whatever you need to do. Also don't forget that there's the HTML5 widget too.
I haven't tried this, modified code from here:
<object height="81" width="100%">
<param name="movie" value="http://player.soundcloud.com/player.swf?url=<?php echo $url; ?>&g=bb"></param>
<param name="allowscriptaccess" value="always"></param>
<embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=<?php echo $url; ?>&g=bb" type="application/x-shockwave-flash" width="100%"></embed>
</object>
<?php echo $url; ?>

Is it possible to filter video embed with htmlspecialchars()

I am allowing users to embed videos on their page, but just in case I want to filter the output. To present the video I retrieve the embed statement from the database but when it is filtered, it is presented in raw code. Is there a video friendly way to filter something like this or does anyone have any suggestions on a different way to do it? Thanks in advance for any advice.
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$video= htmlspecialchars( $row['video'], ENT_NOQUOTES, 'UTF-8' );
}
echo "$video";
In the database, the video will look like this for example
<object width="464" height="368" id="669545" type="application/x-shockwave-flash"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" alt="Aqua Teen Hunger Force - Hand Banana Funny
Videos"><param name="movie" value="http://embed.break.com/NjY5NTQ1"></param><param
name="allowScriptAccess" value="always"></param><embed src="http://embed.break.com/NjY5NTQ1"
type="application/x-shockwave-flash" allowScriptAccess=always width="464" height="368"></embed></
object><br><font size=1><a href="http://www.break.com/usercontent/2009/2/Aqua-Teen-Hunger-Force-Hand-
Banana-669545.html" target="_blank">Aqua Teen Hunger Force - Hand Banana</a> - Watch more <a href="http://
www.break.com" target="_blank">Funny Videos</a></font>
In general you should be htmlspecialchars()ing user-input at the point you insert it into HTML. But in this case you already have HTML, so there's nothing much you can do.
You can't usefully filter embedded plugins. If you are allowing users to specify an arbitrary Flash file or other plugin, you have already effectively given them free cross-site-scripting access into your security context, and no amount of string sanitisation will fix that.
If you really need to allow users to submit arbitrary Flash or other <object>/<embed> code, you will need to host that untrusted code in a separate security context. Typically, you put the main site on www.example.com, and include an <iframe> to stuff.example.com which spits out the untrusted <object> code. Then when the plugin code tries to do something hostile, at least it can only affect stuff.example.com and not any of your real webapp on www.example.com.
Alternatively, you could only allow users to post video content from providers you trust, eg. youtube.com. You then just let them submit a YouTube video ID, and build up the <object> code yourself to point to the URL for that ID.

How to I check to see if the browser supports flash?

I have a flash banner that I want to replace with a static image if the clients browser doesn't have flash enabled.
I was wondering if I can do this with php - or if anyone knows of a good method
Thanks
Allow the <object> (your Flash movie) to degrade:
<object width="640" height="480">
<param name="movie" value="yourflash.swf">
<img src="yourimage.png">
</object>
This will show the image if the Flash video can't load, too.
You can only do this with javascript, using the navigator.plugins interface. Something like:
if(typeof navigator.plugins['Shockwave Flash']!=='undefined'){ }
However, a far more reliable solution that doesn't require any javascript would be simply to position your fallback image "behind" the flash object so that if the flash doesn't turn up, the image will show through. You can either put an <img/> tag inside the flash <object/> or you can put a CSS background-image on the object.
http://code.google.com/p/swfobject/
This is what I use when i need to embed flash and it checks for relavent support and what elements are needed.
I don't think you can check with PHP, you can do it with javascript or Actionscript from SWF file. Here is the official detection kit:
http://www.adobe.com/products/flashplayer/download/detection_kit/
You could use SWFobject
With SWFobject you display alternative code by default, e.g.
<div id="myContent">
<p>Alternative content</p>
</div>
This is then replaced where possible with flash content like this:
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>
It does have a dependency on JavaScript though which is its only major drawback

Categories