SimplePortal
Customization => Blocks and Modifications => Topic started by: Kryzen on June 10, 2012, 05:30:26 AM
-
Youtube Block
v1.0
This block allows you to show a Youtube video within a block. I couldn't find an existing block that does this, so I decided to create one myself. The current version is 1.0 and I hope to release v1.1 soon.
Installing is very simple. Just create a new PHP code block and use this code:
/**
* Youtube Block
*
* Written for: Simple Portal
* Written by: Dr. Deejay
* Compatible with: Simple Portal 2.3
* Version: 1.0
*
* When using this block, you agree that you will,
* not redistribute this block, with or without any
* changes. This code may not be used as a base for
* another software and should not be used for illegal
* purposes.
*/
$youtube = array();
/**
* Settings
*/
// The id of the video
$youtube['id'] = 't5AqJww06bw';
// Text to show below the video. Leave empty to disable
$youtube['label'] = 'My video';
// The size of the Youtube block. 1 is the smallest, 3 is the biggest
$youtube['size'] = 1;
/**
* The Youtube video display block
*/
if(!function_exists('sp_youtube')) {
/**
* The function doesn't exist yet. Create it.
*/
function sp_youtube($vid = '', $label = '', $size = '')
{
// Don't allow html stuff
$vid = htmlspecialchars($vid);
// Check if it is empty. If it is, it's invalid
if(empty($vid))
echo '
<div class="smalltext">Video not found.</div>';
// Let's see what we can do.
else {
// Echo the thing.
echo '
<div class="centertext">
<iframe ' . $size . ' src="http://www.youtube.com/embed/' . $vid . '" frameborder="0" allowfullscreen></iframe>';
// Show a label?
if(!empty($label))
echo '
<br /><div class="smalltext">' . $label . '</div>';
echo '
</div>';
}
}
}
// Generate the height and width
if($youtube['size'] == 1)
$vidsize = 'width="150" height="100"';
elseif($youtube['size'] == 2)
$vidsize = 'width="300" height="200"';
elseif($youtube['size'] == 3)
$vidsize = 'width="1280" height="720"';
else
$vidsize = 'width="150" height="100"';
// Call the function
sp_youtube($youtube['id'], $youtube['label'], $vidsize);
Enjoy!
Dr. Deejay
-
Thanks you very much dr. deejay, I wish i had waited for this lol :P.
-
You're welcome, glad you like it :)
-
Brilliantly done.
Works so seamlessly.
-
Thanks :)
-
Hey are you trying to make Underdog redundant?
:0
-
Nice idea for a block to make it simple for people.
-
Thanks :)
Hey are you trying to make Underdog redundant?
Lol :P
-
Looks really useful.
I might use it soon on my website :).
-
Thanks Xarwin :)
-
Just had a thought ( scary I know).
Is there a way you can make this pop out in a similar way as the Aeva media mod?
-
Not sure what you mean, do you have a screenshot of what you mean? :)
-
This time of morning I should be in bed lol
Basically when you click on an aeva image (hosted via the gallery) the block enlargens.
-
Ah, I understand. :) It would require Highslide4SMF installed, but I do think it would be possible. :P I'll do this within a few days, please remind me if I don't. :)
-
I'll chase ya with me frying pan.
;D
-
Okay forgive me because I haven't gone over the code with a fine tooth comb yet....I love it by the way and am going to try it! Is there a way to input a YOUTUBE channel somehow and have it bring up a random vid from the channel whenever someone visits the page? I hope that makes sense.
-
works great! love it :thumbsup:
-
I did this but got this error displayed in the box:
Parse error: syntax error, unexpected T_VARIABLE in Sources/PortalBlocks.php(3538) : eval()'d code on line 17
smf 2.0.2 and simpleportal current version
-
@Old Fossil: I'm sorry for the late reply, but I couldn't get it to work. :(
@Lolafish: I don't know if Youtube has an api for that, but I could try. Thanks for the suggestion. :)
@Wazza: Thank you, I'm glad you like it. :)
@Boo2: Could you please post the exact code you're using?
-
@Old Fossil: I'm sorry for the late reply, but I couldn't get it to work. :(
No problem kiddo.
;)
-
Probleem met IE ?
Ik zie dat het met Firefox prima werkt, maar met IE niet.
Staat onder weerfilmpjes http://weerforum.eu/index.php
-
Welke IE gebruik je? Ik krijg hier namelijk zelf in IE7 een melding dat er ondersteuning voor HTML5 mist. =/
-
IE 9 gebruik ik om te kunnen zien of alles ook werkt onder een brakke browser :D
-
How to get thumbnails from youtube? Here is example
<media:thumbnail url='http://img.youtube.com/vi/ZTUVgYoeN_b/1.jpg'
height='90' width='120' time='00:00:01.750'/>
-
would be awesome, if you could somehow set it to show the latest youtube clip that has been posted on your forum
-
I feel silly the block works great, how do I change it to the Youtube video I want ?
-
Never mind found the solution
-
i know this is an old thread, but i can't seem to locate an answer, can you somehow help me out i was looking at your coding and i was wondering if there was a way to make the code automatically pull the newest uploaded video on a youtube channel?
-
I think there is something Facebook uses.
Have not heard of a code. It would have to be an RSS or XML of some kind.
All I could find was this:
To access your YouTube RSS feed you need to replace YOURCHANNELNAME is the following URL:
http://www.youtube.com/rss/user/YOURCHANNELNAME/videos.rss
And to show you how it is formatted you can look at the VDO.me YouTube channel (work in progress!):
YouTube Channel RSS
As you can see it includes your titles, descriptions, ratings, upload date, views count & video time length. It doesn’t however include your Video keywords, so this is another reason why it is important to put keywords within the video description.
Now that you know your YouTube RSS feed URL you can submit it to RSS Feed Aggregators either manually or via your chosen software.
This might work using a RSS block for the video .
I'm going to test it and update this posts.
-
Ok I am kinda getting this to work I used RSS Feed Poster by SMFhack is a mod at SMF it allowed me to set up RSS video feed in the forum.
I tried the RSS block and it gave and error for some reason the block wont process it correctly.
I find the RSS block very buggy and does not accept all RSS's
However you can setup a block and show the board you are updating the videos and that would be a work around for you.
In other words the block would show the youtube update board and posts.
Remember : go where the youtube channel is, not the video or it wont work.
Good luck.