Add oembed user option for use oembed instead of standard yotube embedding.

Remove global option and parse_url use of oembed.
This commit is contained in:
Fabio Comuni 2011-05-23 10:37:09 +02:00
parent 453a0cff38
commit 7c5a7a94d4
3 changed files with 45 additions and 24 deletions

View file

@ -12,6 +12,8 @@ require_once('include/oembed.php');
function oembed_install() { function oembed_install() {
register_hook('jot_tool', 'addon/oembed/oembed.php', 'oembed_hook_jot_tool'); register_hook('jot_tool', 'addon/oembed/oembed.php', 'oembed_hook_jot_tool');
register_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header'); register_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header');
register_hook('plugin_settings', 'addon/oembed/oembed.php', 'oembed_settings');
register_hook('plugin_settings_post', 'addon/oembed/oembed.php', 'oembed_settings_post');
} }
function oembed_uninstall() { function oembed_uninstall() {
@ -19,6 +21,36 @@ function oembed_uninstall() {
unregister_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header'); unregister_hook('page_header', 'addon/oembed/oembed.php', 'oembed_hook_page_header');
} }
function oembed_settings_post(){
if(! local_user())
return;
if (isset($_POST['oembed-submit'])){
set_pconfig(local_user(), 'oembed', 'use_for_youtube', (isset($_POST['oembed_use_for_youtube'])?1:0));
notice( t('OEmbed settings updated') . EOL);
}
}
function oembed_settings(&$a,&$o) {
if(! local_user())
return;
$uofy = get_pconfig(local_user(), 'oembed', 'use_for_youtube' );
$o .='<h3 class="settings-heading">OEmbed</h3>';
$o.='
<div id="settings-username-wrapper">
<label for="oembed_use_for_youtube">'
.t('Use OEmbed for YouTube videos: ')
.'</label><input type="checkbox" id="oembed_use_for_youtube" name="oembed_use_for_youtube"'
. ($uofy==1?'checked="true"':'')
.'>
</div>
<div id="settings-username-end"></div>
<div class="settings-submit-wrapper">
<input type="submit" value="'.t('Submit').'" class="settings-submit" name="oembed-submit">
</div>';
}
function oembed_hook_page_header($a, &$b){ function oembed_hook_page_header($a, &$b){
$a->page['htmlhead'] .= sprintf('<script src="%s/oembed/oembed.js"></script>', $a->get_baseurl()); $a->page['htmlhead'] .= sprintf('<script src="%s/oembed/oembed.js"></script>', $a->get_baseurl());
} }

View file

@ -92,8 +92,7 @@ function bbcode($Text,$preserve_nl = false) {
// [img=widthxheight]image source[/img] // [img=widthxheight]image source[/img]
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" style="height:{$2}px; width:{$1}px;" >', $Text); $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" style="height:{$2}px; width:{$1}px;" >', $Text);
$a = get_app(); if (get_pconfig(local_user(), 'oembed', 'use_for_youtube' )==1){
if ($a->config['system']['embed_all']){
// use oembed for youtube links // use oembed for youtube links
$Text = preg_replace("/\[youtube\]/",'[embed]',$Text); $Text = preg_replace("/\[youtube\]/",'[embed]',$Text);
$Text = preg_replace("/\[\/youtube\]/",'[/embed]',$Text); $Text = preg_replace("/\[\/youtube\]/",'[/embed]',$Text);

View file

@ -1,7 +1,6 @@
<?php <?php
require_once('library/HTML5/Parser.php'); require_once('library/HTML5/Parser.php');
require_once('include/oembed.php');
function parse_url_content(&$a) { function parse_url_content(&$a) {
@ -26,15 +25,6 @@ function parse_url_content(&$a) {
} }
if($url) { if($url) {
// fetch link with oembed
if ($a->config['system']['embed_all']){
$j = oembed_fetch_url($url);
if ($j->type!="error"){
echo oembed_format_object($j);
killme();
}
}
$s = fetch_url($url); $s = fetch_url($url);
} else { } else {
echo ''; echo '';