spacevillain (spacevillain) wrote in changelog,
spacevillain
spacevillain
changelog

[livejournal] r23100: LJSUP-13877: Combination <p> and <lj-use...

Committer: atyurin
LJSUP-13877: Combination <p> and <lj-user> tags works incorrect
U   trunk/htdocs/js/ck/ckeditor.js
U   trunk/htdocs/js/ck/plugins/livejournal/plugin.js
Modified: trunk/htdocs/js/ck/ckeditor.js
===================================================================
--- trunk/htdocs/js/ck/ckeditor.js	2012-10-10 14:49:20 UTC (rev 23099)
+++ trunk/htdocs/js/ck/ckeditor.js	2012-10-11 06:30:25 UTC (rev 23100)
@@ -135,7 +135,7 @@
 },'lj-cut':function(w){v(w,'lj-cut','LJCut');},'lj-spoiler':function(w){v(w,'lj-spoiler','LJSpoiler','title');},iframe:function(w){if(w.attributes['lj-class']&&w.attributes['lj-class'].indexOf('lj-')+1==1)return w;var x=new a.htmlParser.element('iframe'),y='',z='',A=Number(w.attributes.width),B=Number(w.attributes.height);if(w.attributes.src.indexOf('kroogi.com')!==-1&&w.attributes.style){var C=w.attributes.style.match(/width:\s([0-9]+)px;/i),D=w.attributes.style.match(/height:\s([0-9]+)px;/i);if(D.length===2&&C.length===2){A=Number(C.pop());B=Number(D.pop());}}if(!isNaN(A)){y+='width:'+A+'px;';z+='width:'+(A-2)+'px;';}if(!isNaN(B)){y+='height:'+B+'px;';z+='height:'+(B-2)+'px;';}if(y.length){x.attributes.style=y;x.attributes['lj-style']=z;}x.attributes['lj-url']=w.attributes.src?encodeURIComponent(w.attributes.src):'';x.attributes['lj-class']='lj-iframe';x.attributes['class']='lj-iframe-wrap';x.attributes['lj-content']='<p class="lj-iframe">iframe</p>';x.attributes.frameBorder=0;x.attributes.allowTransparency='true';return x;},a:function(w){if(w.parent.attributes&&!w.parent.attributes['lj:user'])w.attributes['lj-cmd']='LJLink';},img:function(w){var x=w.parent&&w.parent.parent;if(!x||!x.attributes||!x.attributes['lj:user'])w.attributes['lj-cmd']='image';},div:function(w){if(w.attributes['class']=='lj-cut')v(w,'lj-cut','LJCut');}}},5);u.htmlFilter.addRules({elements:{iframe:function(w){var x=w,y=false,z='text',A=/lj-[a-z]+/i.exec(w.attributes['lj-class']);if(A)A=A[0];else return w;switch(A){case 'lj-like':x=new a.htmlParser.element('lj-like');if(w.attributes.defaults!='true')x.attributes.buttons=w.attributes.buttons;if(w.attributes.hasOwnProperty('lj-style'))x.attributes.style=w.attributes['lj-style'];x.isEmpty=true;x.isOptionalClose=true;break;case 'lj-embed':x=new a.htmlParser.element('lj-embed');x.attributes.id=w.attributes.id;if(w.attributes.hasOwnProperty('source_user'))x.attributes.source_user=w.attributes.source_user;x.children=new a.htmlParser.fragment.fromHtml(decodeURIComponent(w.attributes['lj-data'])).children;x.isOptionalClose=true;break;case 'lj-map':x=new a.htmlParser.element('lj-map');x.attributes.url=decodeURIComponent(w.attributes['lj-url']);w.attributes.style&&(w.attributes.style+';').replace(/([a-z-]+):(.*?);/gi,function(F,G,H){x.attributes[G.toLowerCase()]=parseInt(H);});x.isOptionalClose=x.isEmpty=true;break;case 'lj-iframe':x=new a.htmlParser.element('iframe');x.attributes.src=decodeURIComponent(w.attributes['lj-url']);w.attributes.style&&(w.attributes.style+';').replace(/([a-z-]+):(.*?);/gi,function(F,G,H){x.attributes[G.toLowerCase()]=parseInt(H);
 });x.attributes.frameBorder=0;break;case 'lj-poll':x=new a.htmlParser.fragment.fromHtml(decodeURIComponent(w.attributes['lj-data'])).children[0];break;case 'lj-repost':x=new a.htmlParser.element('lj-repost');x.attributes.button=w.attributes['lj-button'];x.children=new a.htmlParser.fragment.fromHtml(w.attributes['lj-text']).children;break;case 'lj-template':x=new a.htmlParser.element('lj-template');x.attributes=LiveJournal.JSON.parse(encodeURIComponent(w.attributes['lj-attributes']));x.isOptionalClose=x.isEmpty=true;break;case 'lj-spoiler':y=true;z='title';case 'lj-cut':if(w.attributes['lj-class'].indexOf(A+'-open')+1){var B=w.next,C=0;x=new a.htmlParser.element(A);if(w.attributes.hasOwnProperty('text'))x.attributes[z]=w.attributes.text;while(B){if(B.name=='iframe'){var D=B.attributes['lj-class'];if(D.indexOf(A+'-close')+1){if(y&&C)C--;else{x.next=B;break;}}else if(D.indexOf(A+'-open')+1)if(y)C++;else{x.next=B;break;}}B.parent.children.remove(B);x.add(B);var E=B.next;B.next=null;B=E;}}else x=false;break;default:if(!w.children.length)x=false;}return x;},span:function(w){var x=w.attributes['lj:user'];if(x){var y=new a.htmlParser.element('lj');y.attributes.user=x;try{var z=w.children[1].children[0].children[0].value;}catch(A){return false;}if(z&&z!=x)y.attributes.title=z;y.isOptionalClose=y.isEmpty=true;return y;}else if(w.attributes.style=='display: none;'||!w.children.length)return false;},div:function(w){if(!w.children.length)return false;},'lj:raw':function(w){w.name='lj-raw';},'lj:wishlist':function(w){w.name='lj-wishlist';}},attributes:{'lj-cmd':function(){return false;},contenteditable:function(){return false;}}});},requires:['fakeobjects','domiterator']});})();(function(){a.editor.prototype.lightSetData=function(t){this.document.getBody().setHtml(this.dataProcessor.toHtml(t));this.fire('contentDom');};var m=a.lang[a.lang.detect()]||{};jQuery.extend(m,LJ.pageVar('rtedata'));window.CKLang=m;if(Site.page.ljpost)a.styleText=Site.statprefix+'/js/ck/contents_new.css?t='+Site.version;else a.styleText=Site.statprefix+'/js/ck/contents.css?t='+Site.version;function n(t,u,v){v=v||{};v&&jQuery.extend(v,{fromDoubleClick:this.execFromEditor});LiveJournal.run_hook('rteButton',u,jQuery('.cke_button_'+t),v);this.execFromEditor=false;};var o=[{label:m.LJLike_button_repost,id:'repost',abbr:'rp',checked:true,html:'<span class="lj-like-item rp">'+m.LJLike_button_repost+'</span>',htmlOpt:'<li class="like-rp"><input type="checkbox" id="like-rp" /><label for="like-rp">'+m.LJLike_button_repost+'</label></li>'},{label:m.LJLike_button_facebook,id:'facebook',abbr:'fb',checked:true,html:'<span class="lj-like-item fb">'+m.LJLike_button_facebook+'</span>',htmlOpt:'<li class="like-fb"><input type="checkbox" id="like-fb" /><label for="like-fb">'+m.LJLike_button_facebook+'</label></li>'},{label:m.LJLike_button_twitter,id:'twitter',abbr:'tw',checked:true,html:'<span class="lj-like-item tw">'+m.LJLike_button_twitter+'</span>',htmlOpt:'<li class="like-tw"><input type="checkbox" id="like-tw" /><label for="like-tw">'+m.LJLike_button_twitter+'</label></li>'},{label:m.LJLike_button_google,id:'google',abbr:'go',checked:true,html:'<span class="lj-like-item go">'+m.LJLike_button_google+'</span>',htmlOpt:'<li class="like-go"><input type="checkbox" id="like-go" /><label for="like-go">'+m.LJLike_button_google+'</label></li>'},{label:m.LJLike_button_vkontakte,id:'vkontakte',abbr:'vk',checked:Site.remote_is_sup?true:false,html:'<span class="lj-like-item vk">'+m.LJLike_button_vkontakte+'</span>',htmlOpt:Site.remote_is_sup?'<li class="like-vk"><input type="checkbox" id="like-vk" /><label for="like-vk">'+m.LJLike_button_vkontakte+'</label></li>':''},{label:m.LJLike_button_give,id:'livejournal',abbr:'lj',checked:false,html:'<span class="lj-like-item lj">'+m.LJLike_button_give+'</span>',htmlOpt:'<li class="like-lj"><input type="checkbox" id="like-lj" /><label for="like-lj">'+m.LJLike_button_give+'</label></li>'}],p={LJPollLink:{html:encodeURIComponent(m.Poll_PollWizardNotice+'<br /><a href="#" lj-cmd="LJPollLink">'+m.Poll_PollWizardNoticeLink+'</a>')},LJLike:{html:encodeURIComponent(m.LJLike_WizardNotice+'<br /><a href="#" lj-cmd="LJLike">'+m.LJLike_WizardNoticeLink+'</a>')},LJLink2:{html:encodeURIComponent(m.LJLink_WizardNotice+'<br /><a href="#" lj-cmd="LJLink2">'+m.LJLink_WizardNoticeLink+'</a>')},LJImage:{html:encodeURIComponent(m.LJImage_WizardNotice+'<br /><a href="#" lj-cmd="LJImage">'+m.LJImage_WizardNoticeLink+'</a>')},LJCut:{html:encodeURIComponent(m.LJCut_WizardNotice+'<br /><a href="#" lj-cmd="LJCut">'+m.LJCut_WizardNoticeLink+'</a>')},LJSpoiler:{html:encodeURIComponent(m.LJSpoiler_WizardNotice+'<br /><a href="#" lj-cmd="LJSpoiler">'+m.LJSpoiler_WizardNoticeLink+'</a>')},LJEmbedLink:{},LJMap:{}},q={};
 function r(t){var u,v,w,x,y=document.createElement('lj-note'),z=typeof document.body.style.opacity!='string',A=(function(){var D=60,E=100,F=E*D/1000,G=[],H,I=document.getElementById('draft-container')||document.body;function J(){var K=G.shift(),L=(H?K.time/E:-(K.time/E-1)).toFixed(1);if(!G.length)L=H?1:0;if(z)y.style.filter=L>=1?null:'progid:DXImageTransform.Microsoft.Alpha(opacity='+L*100+')';else y.style.opacity=L;if(L==0&&y&&y.parentNode)y.parentNode.removeChild(y);};return function(K){H=K;if(H&&y.parentNode){if(z)y.style.filter=null;else y.style.opacity=1;}else for(var L=1;L<=F;L++){var M=Math.floor(1000/D)*L;G.push({time:M,timer:setTimeout(J,M)});}I.appendChild(y);y.style.marginTop=-y.offsetHeight/2+'px';y.style.marginLeft=-y.offsetWidth/2+'px';};})();y.className='note-popup';y.onmouseout=function(){if(!w||!w.cmd){}};y.onmouseover=function(){if(u&&!v){v=1;u=clearTimeout(u);}};if(z)y.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=0)';else y.style.opacity=0;function B(){var D=this.getAttribute('lj-cmd');if(w.hasOwnProperty(D)){p[D].node=w[D].node;var E=new d.selection(t.document);E.selectElement(p[D].node);t.execFromEditor=true;t.execCommand(D);}return false;};function C(){if(!window.switchedRteOn){}if(v){w=x;x=null;var D='';for(var E in w){if(w.hasOwnProperty(E))D+='<div class="noteItem">'+w[E].content+'</div>';}y.innerHTML=decodeURIComponent(D);var F=y.getElementsByTagName('a');for(var G=0,H=F.length;G<H;G++){var I=F[G];if(p.hasOwnProperty(I.getAttribute('lj-cmd')))I.onclick=B;}}else w=null;A(v);u=null;};a.note={show:function(D,E){if(!E&&D==x||!window.switchedRteOn)return;if(u)u=clearTimeout(u);v=1;x=D;E===true?C():u=setTimeout(C,1000);},hide:function(D){if(v){v=0;if(u)u=clearTimeout(u);if(y.parentNode)D===true?C():u=setTimeout(C,500);}}};};var s=f;s.$block['lj-template']=1;s.$block['lj-raw']=1;s.$block['lj-cut']=1;s.$block['lj-spoiler']=1;s.$block['lj-poll']=1;s.$block['lj-repost']=1;s.$block['lj-pq']=1;s.$block['lj-pi']=1;s.$nonEditable['lj-template']=1;s.$empty['lj-random']=1;s['lj-template']={};s['lj-map']={};s['lj-repost']={};s['lj-raw']=s.div;s['lj-poll']={'lj-pq':1};s['lj-pq']={'#':1,'lj-pi':1};s['lj-pi']={'#':1};['a','b','em','i','img','strong','u','lj-user'].forEach(function(t){s['lj-pq'][t]=1;s['lj-pi'][t]=1;});s.$block.iframe=s.$inline.iframe;delete s.$inline.iframe;e.extend(s['lj-cut']={},s.$block);e.extend(s['lj-spoiler']={},s.$block);e.extend(s['lj-cut'],s.$inline);e.extend(s['lj-spoiler'],s.$inline);e.extend(s.div,s.$block);
-e.extend(s.$body,s.$block);delete s['lj-cut']['lj-cut'];j.add('livejournal',{init:function(t){t.rteButton=n;function u(B){var C=B.data.element||B.data.getTarget();if(C.type!=1)C=C.getParent();while(C){var D=C.getAttribute('lj-cmd');if(p.hasOwnProperty(D)){var E=t.getCommand(D);if(E.state==1){var F=new d.selection(t.document);p[D].node=C.is('body')?new h.get(C.getWindow().$.frameElement):C;F.selectElement(p[D].node);B.data.dialog='';t.execFromEditor=true;t.execCommand(D,true);break;}}C=C.getParent();}};function v(B){var C=this;if(C.$!=t.document.$){C.$.className=(C.frame.getAttribute('lj-class')||'')+' lj-selected';if(C.getAttribute('lj-cmd')=='LJPollLink')C.frame.setStyle('height',C.getDocument().$.body.scrollHeight+'px');new d.selection(t.document).selectElement(C.frame);}B.data.getKey()==1&&B.data.preventDefault();};function w(B){if(B.data.getKey()==46){var C=new d.selection(t.document).getRanges(),D=C.length;while(D--)C[D].deleteContents();}};function x(){var E=this;var B=E.$.contentWindow,C=B.document,D=new h.get(C.body);if(D.on&&!Site.page.disabled_input){D.on('dblclick',u);D.on('click',v);D.on('keyup',w);if(E.getAttribute('lj-cmd')=='LJPollLink'&&E.hasAttribute('style'))C.body.className='lj-poll lj-poll-open';}C=new h.get(C);C.frame=D.frame=E;};function y(){var B=t.document.getElementsByTag('iframe'),C=B.count(),D,E,F,G,H;t.execFromEditor=false;while(C--){D=B.getItem(C),E=D.getAttribute('lj-cmd'),F=D.$.contentWindow,G=F.document,H=D.getAttribute('lj-style')||'';if(D.getAttribute('data-update')==='false')continue;D.removeListener('load',x);D.on('load',x);G.open();G.write('<!DOCTYPE html><html style="'+H+'">'+'<head><link rel="stylesheet" href="'+a.styleText+'" /></head>'+'<body scroll="no" class="'+(D.getAttribute('lj-class')||'')+'" style="'+H+'" '+(E?'lj-cmd="'+E+'"':'')+'>'+decodeURIComponent(D.getAttribute('lj-content')||'')+'</body>'+'</html>');G.close();}};function z(B){if(t.onSwitch===true){delete t.onSwitch;return;}var C,D=B.name=='click',E=B.name=='selectionChange'||D,F=B.data.element||B.data.getTarget(),G,H;if(D&&(B.data.getKey()==1||B.data.$.button==0))B.data.preventDefault();if(F.type!=1)F=F.getParent();G=F;if(E){var I=t.document.getElementsByTag('iframe'),J,K;if(D&&G.is('iframe')){K=G.$.contentWindow.document.body;K.className=(G.getAttribute('lj-class')||'')+' lj-selected';if(G.getAttribute('lj-cmd')=='LJPollLink')G.setStyle('height',K.scrollHeight+'px');}for(var L=0,M=I.count();L<M;L++){J=I.getItem(L);if(J.$!=G.$){K=J.$.contentWindow.document.body;
+e.extend(s.$body,s.$block);delete s['lj-cut']['lj-cut'];f.p.iframe=1;j.add('livejournal',{init:function(t){t.rteButton=n;function u(B){var C=B.data.element||B.data.getTarget();if(C.type!=1)C=C.getParent();while(C){var D=C.getAttribute('lj-cmd');if(p.hasOwnProperty(D)){var E=t.getCommand(D);if(E.state==1){var F=new d.selection(t.document);p[D].node=C.is('body')?new h.get(C.getWindow().$.frameElement):C;F.selectElement(p[D].node);B.data.dialog='';t.execFromEditor=true;t.execCommand(D,true);break;}}C=C.getParent();}};function v(B){var C=this;if(C.$!=t.document.$){C.$.className=(C.frame.getAttribute('lj-class')||'')+' lj-selected';if(C.getAttribute('lj-cmd')=='LJPollLink')C.frame.setStyle('height',C.getDocument().$.body.scrollHeight+'px');new d.selection(t.document).selectElement(C.frame);}B.data.getKey()==1&&B.data.preventDefault();};function w(B){if(B.data.getKey()==46){var C=new d.selection(t.document).getRanges(),D=C.length;while(D--)C[D].deleteContents();}};function x(){var E=this;var B=E.$.contentWindow,C=B.document,D=new h.get(C.body);if(D.on&&!Site.page.disabled_input){D.on('dblclick',u);D.on('click',v);D.on('keyup',w);if(E.getAttribute('lj-cmd')=='LJPollLink'&&E.hasAttribute('style'))C.body.className='lj-poll lj-poll-open';}C=new h.get(C);C.frame=D.frame=E;};function y(){var B=t.document.getElementsByTag('iframe'),C=B.count(),D,E,F,G,H;t.execFromEditor=false;while(C--){D=B.getItem(C),E=D.getAttribute('lj-cmd'),F=D.$.contentWindow,G=F.document,H=D.getAttribute('lj-style')||'';if(D.getAttribute('data-update')==='false')continue;D.removeListener('load',x);D.on('load',x);G.open();G.write('<!DOCTYPE html><html style="'+H+'">'+'<head><link rel="stylesheet" href="'+a.styleText+'" /></head>'+'<body scroll="no" class="'+(D.getAttribute('lj-class')||'')+'" style="'+H+'" '+(E?'lj-cmd="'+E+'"':'')+'>'+decodeURIComponent(D.getAttribute('lj-content')||'')+'</body>'+'</html>');G.close();}};function z(B){if(t.onSwitch===true){delete t.onSwitch;return;}var C,D=B.name=='click',E=B.name=='selectionChange'||D,F=B.data.element||B.data.getTarget(),G,H;if(D&&(B.data.getKey()==1||B.data.$.button==0))B.data.preventDefault();if(F.type!=1)F=F.getParent();G=F;if(E){var I=t.document.getElementsByTag('iframe'),J,K;if(D&&G.is('iframe')){K=G.$.contentWindow.document.body;K.className=(G.getAttribute('lj-class')||'')+' lj-selected';if(G.getAttribute('lj-cmd')=='LJPollLink')G.setStyle('height',K.scrollHeight+'px');}for(var L=0,M=I.count();L<M;L++){J=I.getItem(L);if(J.$!=G.$){K=J.$.contentWindow.document.body;
 K.className=J.getAttribute('lj-class')||'';if(J.getAttribute('lj-cmd')=='LJPollLink'&&K.className.indexOf('lj-poll')!=-1)J.removeAttribute('style');}}}do{var N=G.getAttribute('lj-cmd');if(!N&&G.type==1){var O=G.getParent();if(G.is('img')&&O.getParent()&&!O.getParent().hasAttribute('lj:user')){N='LJImage';G.setAttribute('lj-cmd',N);}else if(G.is('a')&&!O.hasAttribute('lj:user')){N='LJLink2';G.setAttribute('lj-cmd',N);}}if(N&&p.hasOwnProperty(N)){if(E){p[N].node=G;t.getCommand(N).setState(1);}(C||(C={}))[N]={content:p[N].html,node:G};}}while(G=G.getParent());var P;if(E)for(H in p){if(p.hasOwnProperty(H)&&(!C||!C.hasOwnProperty(H))){delete p[H].node;P=t.getCommand(H);if(P)P.setState(2);}}};(function(){function B(I){return I.slice(-2)=='/>'?I:I.slice(0,-1)+'/>';};function C(I){var J=new Poll(I),K="<div class='lj-poll-inner lj-rtebox-inner'>"+J.outputHTML()+'</div>';return '<iframe class="lj-poll-wrap lj-rtebox" lj-class="lj-poll" frameborder="0" lj-cmd="LJPollLink" allowTransparency="true" lj-data="'+J.outputLJtags()+'" lj-content="'+K+'"></iframe>';};function D(I,J){var K="<div class='lj-poll-inner lj-rtebox-inner'>Poll id: "+J+'</div>';return '<iframe class="lj-poll-wrap lj-poll-wrap-done lj-rtebox" lj-class="lj-poll" frameborder="0" lj-cmd="LJPollLink" allowTransparency="true" lj-data="'+escape(I)+'" lj-content="'+K+'" data-disabledPoll="true"></iframe>';};function E(I,J,K){var L="<div class='lj-embed-inner lj-rtebox-inner'>Embed video</div>";return '<iframe class="lj-embed-wrap lj-rtebox" lj-class="lj-embed" frameborder="0" lj-cmd="LJEmbedLink" allowTransparency="true" lj-data="'+encodeURIComponent(K)+'"'+J+'lj-content="'+L+'"></iframe>';};function F(I,J,K,L){return J+K.replace(/\n/g,'')+L;};function G(I,J,K,L){var M=J||K||m.LJRepost_Value,N=L.replace(/"/g,'&quot;');L=N+('<br /><input type="button" value="'+M+'" />').replace(/"/g,'&quot;');return '<iframe class="lj-repost-wrap" lj-class="lj-repost" frameborder="0" allowTransparency="true" lj-text="'+N+'" lj-button="'+M+'" lj-content="'+L+'"></iframe>';};function H(I,J){var K,L,M=0;do{if(!K)K=J.call(I,M)===false;if(!K&&(L=I.firstChild))M++;else if(L=I.nextSibling)K=false;else{L=I.parentNode;M--;K=true;}I=L;}while(M>0);};t.dataProcessor.toHtml=function(I,J){I=I.replace(/<lj [^>]*?>/gi,B).replace(/<lj-map [^>]*?>/gi,B).replace(/<lj-template[^>]*?>/gi,B).replace(/(<lj-cut[^>]*?)\/>/gi,'$1>').replace(/<((?!br)[^\s>]+)([^>]*?)\/>/gi,'<$1$2></$1>').replace(/<lj-poll.*?>[\s\S]*?<\/lj-poll>/gi,C).replace(/<lj-poll-([0-9]+)>/gi,D).replace(/<lj-repost\s*(?:button\s*=\s*(?:"([^"]*?)")|(?:"([^']*?)"))?.*?>([\s\S]*?)<\/lj-repost>/gi,G).replace(/<lj-embed(.*?)>([\s\S]*?)<\/lj-embed>/gi,E);
 I=I.replace(/<table[^>]*>((.|\n)*?)<\/table>/i,function(K){var L=document.createElement('span');L.innerHTML=K;H(L,function(){var M=this;if(M.nodeType===3)if(M.parentNode.nodeName.toLowerCase()!=='td')M.nodeValue=M.nodeValue.replace(/\n/ig,'');});return L.innerHTML;});if(!$('event_format').checked){I=I.replace(/(<lj-raw.*?>)([\s\S]*?)(<\/lj-raw>)/gi,F);I=I.replace(/\n/g,'<br/>');}I=a.htmlDataProcessor.prototype.toHtml.call(this,I,J);if(c)I='<xml:namespace ns="livejournal" prefix="lj" />'+I;return I;};})();t.dataProcessor.toDataFormat=function(B,C){B=a.htmlDataProcessor.prototype.toDataFormat.call(this,B,C);if(!$('event_format').checked)B=B.replace(/<br\s*\/>/gi,'\n');return B.replace(/\t/g,' ');};t.dataProcessor.writer.indentationChars='';t.dataProcessor.writer.lineBreakChars='';t.on('selectionChange',z);t.on('doubleclick',u);t.on('afterCommandExec',y);t.on('dialogHide',y);t.on('dataReady',function(){if(c){t.document.getBody().on('dragend',y);t.document.getBody().on('paste',function(){setTimeout(y,0);});}if(!Site.page.disabled_input){t.document.on('click',z);t.document.on('mouseover',z);t.document.getBody().on('keyup',w);y();}});(function(){var B='LJFont',C=t.config,D=false,E={},F='normal',G=C.LJFontDefault,H=C.LJFontSize,I=C.LJFontStyle,J='b-fontsize-select-item-active',K,L,M,N,O=jQuery();for(N in H){E[N]=new a.style(I,{size:H[N]});E[N]._.definition.name=N;}function P(Q){G=Q;O.removeClass(J).filter('.b-fontsize-select-item-'+G).addClass(J);};t.addCommand(B,{exec:function(Q){Q.rteButton(B,'font');if(!D){O=jQuery('.b-fontsize-select-item');LiveJournal.register_hook('font_response',function(S){Q.focus();Q.fire('saveSnapshot');var T=E[S],U,V,W;if(G===S)T.remove(Q.document);else{V=Q.getSelection();W=parseFloat(T._.definition.styles['font-size']);for(U in E)E[U].remove(Q.document);T.apply(Q.document);}Q.fire('saveSnapshot');});D=true;var R=Q.getCommand(B);R.setState(1);P(G);}}});t.ui.addButton(B,{label:m[B],command:B});t.on('selectionChange',function(Q){var R=Q.data.path,S=R.elements,T=t.getCommand(B),U,V,W;for(U=0;U<S.length;U++){V=S[U];for(W in E){if(E[W].checkElementRemovable(V,true)){if(W!==G){P(W);T.setState(1);}return;}}}P(F);T.setState(2);});})();(function(){var B='LJImage',C=null;LiveJournal.register_hook('editpic_response',function(D){var E=C,F=E&&E.getParent();if(!E)return;if(D.url){E.setAttribute('src',D.url);E.setAttribute('data-cke-saved-src',D.url);}else{if(F&&F.getName()==='a')F.remove();else E.remove();return;}if(D.width)E.setAttribute('width',D.width);
 else E.removeAttribute('width');if(D.height)E.setAttribute('height',D.height);else E.removeAttribute('height');if(D.title)E.setAttribute('title',D.title);else E.removeAttribute('title');if(D.border)E.setStyle('border-width',D.border+'px');else{E.removeStyle('border-width');E.removeStyle('border-style');}if(D.vspace)E.setStyles({'margin-top':D.vspace+'px','margin-bottom':D.vspace+'px'});else{E.removeStyle('margin-top');E.removeStyle('margin-bottom');}if(D.hspace)E.setStyles({'margin-left':D.hspace+'px','margin-right':D.hspace+'px'});else{E.removeStyle('margin-left');E.removeStyle('margin-right');}var F=E&&E.getParent();if(D.link){D.link=D.link.replace(/^[\s\t]*(?:http:\/\/)?/,'http://');if(F&&F.getName()==='a'){F.setAttribute('href',D.link);F.setAttribute('data-cke-saved-href',D.link);if(D.blank)F.setAttribute('target','_blank');else F.removeAttribute('target');}else{var G=new h('a',t.document);G.setAttribute('href',D.link);if(D.blank)G.setAttribute('target','_blank');E.insertBeforeMe(G);G.append(E);t.getSelection()&&t.getSelection().selectElement(G);}}else if(F.getName()==='a'){F.insertBeforeMe(E);F.remove();}if(D.aligment&&D.aligment!=='none')E.setStyle('float',D.aligment);else E.removeStyle('float');C=null;});t.addCommand(B,{exec:function(D,E){var F=D.getSelection();F=F?F.getSelectedElement():null;C=F;if(F){var G=F&&F.getParent(),H=G.getName()==='a',I=H&&G,J=H&&G.getAttribute('href'),K={};if('naturalWidth' in F.$){K.width=F.$.naturalWidth;K.height=F.$.naturalHeight;}else{var L=new Image();L.src=F.$.src;K={width:L.width,height:L.height};}D.rteButton(B,'editpic',{picData:{url:F.getAttribute('src'),title:F.getAttribute('title'),width:F.getAttribute('width')||F.$.width,height:F.getAttribute('height')||F.$.height,defaultWidth:K.width,defaultHeight:K.height,link:J||'',blank:H?!!I.getAttribute('target'):true,border:parseInt(F.getStyle('border-width'),10),vspace:parseInt(F.getStyle('margin-top'),10),hspace:parseInt(F.getStyle('margin-left'),10),aligment:F.getStyle('float')||'none'}});}else jQuery('.b-updatepage-event-section').editor('handleImageUpload','upload');},editorFocus:false});t.ui.addButton(B,{label:m.LJImage_Title,command:B});})();(function(){var B=null;t.on('selectionChange',function(F){var G=F.data.element;if(G.is('iframe'))B=G;else B=null;});var C='LJEmbedLink',D='video';function E(F){var G=new h('iframe',t.document);if(F!==LiveJournal.getEmbed(F)){var H=h.createFromHtml(LiveJournal.getEmbed(F)),I='',J=LiveJournal.parseMediaLink(F);if(J.preview)I='style="background-image: url('+J.preview+');"';

Modified: trunk/htdocs/js/ck/plugins/livejournal/plugin.js
===================================================================
--- trunk/htdocs/js/ck/plugins/livejournal/plugin.js	2012-10-10 14:49:20 UTC (rev 23099)
+++ trunk/htdocs/js/ck/plugins/livejournal/plugin.js	2012-10-11 06:30:25 UTC (rev 23100)
@@ -319,6 +319,9 @@
 
 	// CKEDITOR.dtd.$empty['lj-embed'] = 1;
 
+	// <lj user...> transforms to iframe https://jira.sup.com/browse/LJSUP-13877
+	CKEDITOR.dtd.p.iframe = 1;
+
 	CKEDITOR.plugins.add('livejournal', {
 		init: function(editor) {
 			editor.rteButton = rteButton;

Tags: atyurin, js, livejournal, spacevillain
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments