From 6769436f3b43074d7d5895b36927eddf37b0ba8d Mon Sep 17 00:00:00 2001 From: Fabio Comuni <fabrix.xm@gmail.com> Date: Fri, 21 Oct 2011 16:26:29 +0200 Subject: [PATCH 1/2] oembed. fix html2bbcode when oembed html contains span and utf8 chars --- include/oembed.php | 24 ++++++++++++------- .../plugins/bbcode/editor_plugin_src.js | 17 ++++++++----- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/include/oembed.php b/include/oembed.php index 06f71a3b3..a8f6636ff 100644 --- a/include/oembed.php +++ b/include/oembed.php @@ -81,16 +81,22 @@ function oembed_format_object($j){ }; break; case "rich": { // not so safe.. - $ret.= "<blockquote>".$j->html."</blockquote>"; + $ret.= $j->html; }; break; } - $embedlink = (isset($j->title))?$j->title:$embedurl; - $ret .= "<a href='$embedurl' rel='oembed'>$embedlink</a>"; - if (isset($j->author_name)) $ret.=" by ".$j->author_name; - if (isset($j->provider_name)) $ret.=" on ".$j->provider_name; + // add link to source if not present in "rich" type + if ( $j->type!='rich' || !strpos($ret,$embedurl) ){ + $embedlink = (isset($j->title))?$j->title:$embedurl; + $ret .= "<a href='$embedurl' rel='oembed'>$embedlink</a>"; + if (isset($j->author_name)) $ret.=" by ".$j->author_name; + if (isset($j->provider_name)) $ret.=" on ".$j->provider_name; + } else { + // add <a> for html2bbcode conversion + $ret .= "<a href='$embedurl' rel='oembed'/>"; + } $ret.="<br style='clear:left'></span>"; - return $ret; + return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret)); } function oembed_bbcode2html($text){ @@ -136,8 +142,8 @@ function oembed_html2bbcode($text) { $xattr = oe_build_xpath("class","oembed"); $entries = $xpath->query("//span[$xattr]"); - - $xattr = oe_build_xpath("rel","oembed"); + + $xattr = "@rel='oembed'";//oe_build_xpath("rel","oembed"); foreach($entries as $e) { $href = $xpath->evaluate("a[$xattr]/@href", $e)->item(0)->nodeValue; if(!is_null($href)) $e->parentNode->replaceChild(new DOMText("[embed]".$href."[/embed]"), $e); @@ -148,4 +154,4 @@ function oembed_html2bbcode($text) { } } -?> \ No newline at end of file +?> diff --git a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js index 789e75c39..9e680e104 100644 --- a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -53,19 +53,24 @@ /* oembed */ function _h2b_cb(match) { - text = bin2hex(match); function s_h2b(data) { match = data; - } - $.ajax({ - url: 'oembed/h2b?text=' + text, + } + $.ajax({ + type:"POST", + url: 'oembed/h2b', + data: {text: match}, async: false, success: s_h2b, dataType: 'html' }); return match; } - s = s.replace(/<span class=\"oembed(.*?)<\/span>/gi, _h2b_cb); + if (s.indexOf('class="oembed')>=0){ + //alert("request oembed html2bbcode"); + s = _h2b_cb(s); + } + /* /oembed */ @@ -154,4 +159,4 @@ // Register plugin tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); -})(); \ No newline at end of file +})(); From d80c0da3c0bf2ab599f5d013d5c947823d917363 Mon Sep 17 00:00:00 2001 From: Fabio Comuni <fabrix.xm@gmail.com> Date: Fri, 21 Oct 2011 16:26:57 +0200 Subject: [PATCH 2/2] add custom style to object tag in tinymce --- images/plugin.png | Bin 0 -> 2043 bytes view/custom_tinymce.css | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 images/plugin.png diff --git a/images/plugin.png b/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..08b09e0601fd5527c202739ea6031b0a0e692169 GIT binary patch literal 2043 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 Z{ta&{pLHVVESvxU002ovPDHLkV1iB6^%wvE literal 0 HcmV?d00001 diff --git a/view/custom_tinymce.css b/view/custom_tinymce.css index 48621c42c..7932653b6 100644 --- a/view/custom_tinymce.css +++ b/view/custom_tinymce.css @@ -33,3 +33,9 @@ scrollbar-track-color:#F5F5F5; img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} font[face=mceinline] {font-family:inherit !important} + + +object { + display: block; width: 400px; + background: #cccccc url(../images/plugin.png) no-repeat center center; +}