Committer: atyurin
LJSUP-13000: Doesn't work lj-like buttonU 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-07-17 07:37:06 UTC (rev 22455) +++ trunk/htdocs/js/ck/ckeditor.js 2012-07-17 08:08:17 UTC (rev 22456) @@ -129,7 +129,7 @@ t.on('doubleclick',u);t.on('afterCommandExec',y);t.on('dialogHide',y);t.on('dataReady',function(){if(!a.note)r(t);if(c){t.document.getBody().on('dragend',y);t.document.getBody().on('paste',function(){setTimeout(y,0);});}t.document.on('click',z);t.document.on('mouseout',a.note.hide);t.document.on('mouseover',z);t.document.getBody().on('keyup',w);y();});(function(){var B=top.Site.siteroot+'/tools/endpoints/ljuser.bml',C='LJUserLink';function D(F,G,H){if(F.error){LiveJournal.run_hook('incorrect_user');return;}if(F.success){F.ljuser=F.ljuser.replace('<span class="useralias-value">*</span>','');p[G]=F.ljuser;var I=new h.createFromHtml(F.ljuser);I.setAttribute('lj-cmd','LJUserLink');if(H)H.$.parentNode.replaceChild(I.$,H.$);else t.insertElement(I);}};var E=false;t.addCommand('LJUserLink',{exec:function(F){var G='',H=new d.selection(F.document),I=o.LJUserLink.node,J;function K(M){parent.HTTPReq.getJSON({data:parent.HTTPReq.formEncoded({username:M}),method:'POST',url:B,onData:function(N){D(N,M,o.LJUserLink.node);}});};if(!E){var L=I;LiveJournal.register_hook('user_response',function(M){K(M);});E=true;}if(I){a.note&&a.note.hide(true);J=o.LJUserLink.node.getElementsByTag('b').getItem(0).getText();LiveJournal.run_hook('rteButton','user',jQuery('.cke_button_'+C),{user:J});return;}else if(H.getType()==2)G=H.getSelectedText();if(G==''){LiveJournal.run_hook('rteButton','user',jQuery('.cke_button_'+C));return;}if(!G||J==G)return;K(G,I);}});t.ui.addButton('LJUserLink',{label:m.LJUser,command:'LJUserLink'});})();(function(){var B='LJImage';if(window.ljphotoEnabled&&window.ljphotoMigrationStatus===LJ.getConst('LJPHOTO_MIGRATION_NONE'))t.ui.addButton('image',{label:m.LJImage_Title,command:'image'});else{t.addCommand(B,{exec:function(){jQuery('.b-updatepage-event-section').editor('handleImageUpload','upload');},editorFocus:false});t.ui.addButton('image',{label:m.LJImage_Title,command:B});}})();(function(){function B(C){if(C&&C.length&&window.switchedRteOn){var D=new h('iframe',t.document);D.setAttribute('lj-data',encodeURIComponent(C));D.setAttribute('lj-class','lj-embed');D.setAttribute('class','lj-embed-wrap');D.setAttribute('frameBorder',0);D.setAttribute('allowTransparency','true');t.insertElement(D);y();}};t.addCommand('LJEmbedLink',{exec:function(){top.LJ_IPPU.textPrompt(m.LJEmbedPromptTitle,m.LJEmbedPrompt,B,{width:'350px'});}});t.ui.addButton('LJEmbedLink',{label:m.LJEmbed,command:'LJEmbedLink'});})();function A(B,C,D){var E,F=o[C].node;if(F){if(E=D.skip||prompt(D.title,F.getAttribute('text')||D.text))if(E==D.text)F.removeAttribute('text'); else F.setAttribute('text',E);}else{if(E=D.skip||prompt(D.title,D.text)){t.focus();var G=new d.selection(t.document),H=G.getRanges(),I=new h('iframe',t.document),J=I.clone();I.setAttribute('lj-cmd',C);I.setAttribute('lj-class',B+' '+B+'-open');I.setAttribute('class',B+'-wrap');I.setAttribute('frameBorder',0);I.setAttribute('allowTransparency','true');if(E!=D.text)I.setAttribute('text',E);J.setAttribute('lj-class',B+' '+B+'-close');J.setAttribute('class',B+'-wrap');J.setAttribute('frameBorder',0);J.setAttribute('allowTransparency','true');var K=H[0];G.lock();var L=new h('br',t.document),M=L.clone(),N=L.clone(),O=new d.documentFragment(t.document);O.append(L.clone());O.append(I);O.append(M);if(K.collapsed===false)for(var P=0,Q=H.length;P<Q;P++){H[P].enlarge(1);O.append(H[P].extractContents());}O.append(N);t.insertElement(J);L.clone().insertAfter(J);J.insertBeforeMe(O);K.setStart(M,0);K.setEnd(N,0);G.unlock();G.selectRanges(H);t.fire('updateSnapshot');y();}a.note&&a.note.hide(true);}};(function(){var B='LJCut',C='cut';LiveJournal.register_hook('cut_response',function(D){A('lj-cut',B,{title:m.LJCut_PromptTitle,text:m.LJCut_PromptText,skip:D});});t.addCommand('LJCut',{exec:function(){var D=o[B].node;LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B),{defaultText:D?D.getAttribute('text'):'',editMode:D?true:false});},editorFocus:false});t.ui.addButton(B,{label:m.LJCut_Title,command:B});})();(function(){var B='LJSpoiler',C='spoiler';LiveJournal.register_hook('spoiler_response',function(D){A('lj-spoiler',B,{title:m.LJCut_PromptTitle,text:m.LJCut_PromptText,skip:D});});t.addCommand(B,{exec:function(){var D=o[B].node;LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B),{defaultText:D?D.getAttribute('text'):'',editMode:D?true:false});},editorFocus:false});t.ui.addButton(B,{label:m.LJSpoiler_Title,command:B});})();(function(){function B(I,J){J=J===undefined||J;var K,L=o.LJLike.node;if(L){var M=I.getAttribute('lj-style');K=M?M.replace(/text-align:\s*(left|right|center)/i,'$1'):'left';}else if(J)K=I.getComputedStyle('text-align');else{while(!I.hasAttribute||!(I.hasAttribute('align')||I.getStyle('text-align'))){var N=I.getParent();if(!N)break;I=N;}K=I.getStyle('text-align')||I.getAttribute('align')||'';}K&&(K=K.replace(/-moz-|-webkit-|start|auto/i,''));!K&&J&&(K=I.getComputedStyle('direction')=='rtl'?'right':'left');return K;};function C(I){if(I.editor.readOnly)return;var J=I.editor.getCommand(this.name),K=I.data.element;if((K.type==1&&K.hasAttribute('lj-cmd')&&K.getAttribute('lj-cmd'))=='LJLike')J.state=B(K,t.config.useComputedState)==this.value?1:2; else if(!K||K.type!=1||K.getName()=='body'||K.getName()=='iframe')J.state=2;else J.state=B(K,t.config.useComputedState)==this.value?1:2;J.fire('state');};function D(I,J,K){var M=this;M.name=J;M.value=K;var L=I.config.justifyClasses;if(L){switch(K){case 'left':M.cssClassName=L[0];break;case 'center':M.cssClassName=L[1];break;case 'right':M.cssClassName=L[2];break;}M.cssClassRegex=new RegExp('(?:^|\\s+)(?:'+L.join('|')+')(?=$|\\s)');}};function E(I){var J=I.editor,K=new d.range(J.document);K.setStartBefore(I.data.node);K.setEndAfter(I.data.node);var L=new d.walker(K),M;while(M=L.next()){if(M.type==1){var N='text-align',O=J.config.justifyClasses;if(!M.equals(I.data.node)&&M.getDirection()){K.setStartAfter(M);L=new d.walker(K);continue;}if(O)if(M.hasClass(O[0])){M.removeClass(O[0]);M.addClass(O[2]);}else if(M.hasClass(O[2])){M.removeClass(O[2]);M.addClass(O[0]);}switch(M.getStyle(N)){case 'left':M.setStyle(N,'right');break;case 'right':M.setStyle(N,'left');break;}}}};D.prototype={exec:function(I){var W=this;var J=I.getSelection(),K=I.config.enterMode;if(!J)return;var L=J.createBookmarks();if(o.LJLike.node)o.LJLike.node.setAttribute('lj-style','text-align: '+W.value);else{var M=J.getRanges(true),N=W.cssClassName,O,P,Q=I.config.useComputedState;Q=Q===undefined||Q;for(var R=M.length-1;R>=0;R--){var S=M[R],T=S.getEnclosedNode();if(T&&T.is('iframe'))return;O=S.createIterator();O.enlargeBr=K!=2;while(P=O.getNextParagraph(K==1?'p':'div')){P.removeAttribute('align');P.removeStyle('text-align');var U=N&&(P.$.className=e.ltrim(P.$.className.replace(W.cssClassRegex,''))),V=W.state==2&&(!Q||B(P,true)!=W.value);if(N){if(V)P.addClass(N);else if(!U)P.removeAttribute('class');}else if(V)P.setStyle('text-align',W.value);}}}I.focus();I.forceNextSelectionCheck();J.selectBookmarks(L);}};var F=new D(t,'LJJustifyLeft','left'),G=new D(t,'LJJustifyCenter','center'),H=new D(t,'LJJustifyRight','right');t.addCommand('LJJustifyLeft',F);t.addCommand('LJJustifyCenter',G);t.addCommand('LJJustifyRight',H);t.ui.addButton('LJJustifyLeft',{label:t.lang.justify.left,command:'LJJustifyLeft'});t.ui.addButton('LJJustifyCenter',{label:t.lang.justify.center,command:'LJJustifyCenter'});t.ui.addButton('LJJustifyRight',{label:t.lang.justify.right,command:'LJJustifyRight'});t.on('selectionChange',e.bind(C,F));t.on('selectionChange',e.bind(C,H));t.on('selectionChange',e.bind(C,G));t.on('dirChanged',E);})();(function(){var B='LJPollLink';LiveJournal.register_hook('poll_response',function(C){var D=new Poll(C),E=D.outputHTML(),F=D.outputLJtags(),G=o[B].node; -if(G){G.setAttribute('lj-content',E);G.setAttribute('lj-data',F);G.removeAttribute('style');}else{G=new h('iframe',t.document);G.setAttribute('lj-content',E);G.setAttribute('lj-cmd','LJPollLink');G.setAttribute('lj-data',F);G.setAttribute('lj-class','lj-poll');G.setAttribute('class','lj-poll-wrap');G.setAttribute('frameBorder',0);G.setAttribute('allowTransparency','true');t.insertElement(G);}y();});t.addCommand(B,{exec:function(C){var D=o.LJPollLink.node;if(D)LiveJournal.run_hook('rteButton','poll',jQuery('.cke_button_'+B),{ljData:decodeURIComponent(D.getAttribute('lj-data')),editMode:true,disabled:D&&(D.getAttribute('data-disabledPoll')?true:false)});else LiveJournal.run_hook('rteButton','poll',jQuery('.cke_button_'+B));},editorFocus:false});t.ui.addButton(B,{label:m.LJPoll_Title,command:B});})();(function(){var B='LJLike',C='like';n.defaultButtons=[];for(var D=0;D<n.length;D++){B=n[D];n[B.id]=n[B.abbr]=B;n.defaultButtons.push(B.id);}LiveJournal.register_hook('like_response',function(E){var F=[],G=[],H=typeof E==='string';for(var I=0;I<n.length;I++){B=n[I];if(H&&B.checked||E.indexOf(B.id)!=-1){F.push(B.id);G.push(B.html);}}var J=o.LJLike.node;if(J){J.setAttribute('buttons',F.join(','));J.setAttribute('lj-content',encodeURIComponent('<span class="lj-like-wrapper">'+G.join('')+'</span>'));J.removeAttribute('defaults');}else{J=new h('iframe',t.document);J.setAttribute('lj-class','lj-like');J.setAttribute('class','lj-like-wrap');J.setAttribute('buttons',F.join(','));J.setAttribute('lj-content',encodeURIComponent('<span class="lj-like-wrapper">'+G.join('')+'</span>'));J.setAttribute('lj-cmd','LJLike');J.setAttribute('frameBorder',0);J.setAttribute('allowTransparency','true');J.setAttribute('defaults',H);t.insertElement(J);}y();});t.addCommand(B,{exec:function(E){var F=o.LJLike.node;if(F)LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B),{buttons:F.getAttribute('buttons')});else LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B));},editorFocus:false});t.ui.addButton(B,{label:m.LJLike_Title,command:B});})();},afterInit:function(t){var u=t.dataProcessor;function v(w,x,y,z){z=z||'text';var A=new a.htmlParser.element('iframe');A.attributes['lj-class']=x+' '+x+'-open';A.attributes['class']=x+'-wrap';A.attributes['lj-cmd']=y;A.attributes.frameBorder=0;A.attributes.allowTransparency='true';if(w.attributes.hasOwnProperty(z))A.attributes.text=w.attributes[z];w.children.unshift(A);var B=new a.htmlParser.element('iframe');B.attributes['lj-class']=x+' '+x+'-close'; +if(G){G.setAttribute('lj-content',E);G.setAttribute('lj-data',F);G.removeAttribute('style');}else{G=new h('iframe',t.document);G.setAttribute('lj-content',E);G.setAttribute('lj-cmd','LJPollLink');G.setAttribute('lj-data',F);G.setAttribute('lj-class','lj-poll');G.setAttribute('class','lj-poll-wrap');G.setAttribute('frameBorder',0);G.setAttribute('allowTransparency','true');t.insertElement(G);}y();});t.addCommand(B,{exec:function(C){var D=o.LJPollLink.node;if(D)LiveJournal.run_hook('rteButton','poll',jQuery('.cke_button_'+B),{ljData:decodeURIComponent(D.getAttribute('lj-data')),editMode:true,disabled:D&&(D.getAttribute('data-disabledPoll')?true:false)});else LiveJournal.run_hook('rteButton','poll',jQuery('.cke_button_'+B));},editorFocus:false});t.ui.addButton(B,{label:m.LJPoll_Title,command:B});})();(function(){var B='LJLike',C='like';n.defaultButtons=[];for(var D=0;D<n.length;D++){btn=n[D];n[btn.id]=n[btn.abbr]=btn;n.defaultButtons.push(btn.id);}LiveJournal.register_hook('like_response',function(E){var F=[],G=[],H=typeof E==='string';for(var I=0,J;I<n.length;I++){J=n[I];if(H&&J.checked||E.indexOf(J.id)!=-1){F.push(J.id);G.push(J.html);}}var K=o[B].node;if(K){K.setAttribute('buttons',F.join(','));K.setAttribute('lj-content',encodeURIComponent('<span class="lj-like-wrapper">'+G.join('')+'</span>'));K.removeAttribute('defaults');}else{K=new h('iframe',t.document);K.setAttribute('lj-class','lj-like');K.setAttribute('class','lj-like-wrap');K.setAttribute('buttons',F.join(','));K.setAttribute('lj-content',encodeURIComponent('<span class="lj-like-wrapper">'+G.join('')+'</span>'));K.setAttribute('lj-cmd','LJLike');K.setAttribute('frameBorder',0);K.setAttribute('allowTransparency','true');K.setAttribute('defaults',H);t.insertElement(K);}y();});t.addCommand(B,{exec:function(E){var F=o[B].node;if(F)LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B),{buttons:F.getAttribute('buttons')});else LiveJournal.run_hook('rteButton',C,jQuery('.cke_button_'+B));},editorFocus:false});t.ui.addButton(B,{label:m.LJLike_Title,command:B});})();},afterInit:function(t){var u=t.dataProcessor;function v(w,x,y,z){z=z||'text';var A=new a.htmlParser.element('iframe');A.attributes['lj-class']=x+' '+x+'-open';A.attributes['class']=x+'-wrap';A.attributes['lj-cmd']=y;A.attributes.frameBorder=0;A.attributes.allowTransparency='true';if(w.attributes.hasOwnProperty(z))A.attributes.text=w.attributes[z];w.children.unshift(A);var B=new a.htmlParser.element('iframe');B.attributes['lj-class']=x+' '+x+'-close'; B.attributes['class']=x+'-wrap';B.attributes.frameBorder=0;B.attributes.allowTransparency='true';w.children.push(B);delete w.name;};u.dataFilter.addRules({elements:{'lj-like':function(w){var x=[],y=new a.htmlParser.element('iframe');y.attributes['lj-class']='lj-like';y.attributes['class']='lj-like-wrap';if(w.attributes.hasOwnProperty('style'))y.attributes['lj-style']=w.attributes.style;y.attributes['lj-cmd']='LJLike';y.attributes['lj-content']='<span class="lj-like-wrapper">';y.attributes.frameBorder=0;y.attributes.allowTransparency='true';var z=w.attributes.buttons&&w.attributes.buttons.split(',')||n.defaultButtons,A=w.attributes.buttons?true:false,B=z.length;for(var C=0;C<B;C++){var D=z[C].replace(/^\s*([a-z]{2,})\s*$/i,'$1'),E=n[D];if(E&&(A||E.checked)){y.attributes['lj-content']+=encodeURIComponent(E.html);x.push(D);}}if(!w.attributes.buttons)y.attributes.defaults=true;y.attributes['lj-content']+='</span>';y.attributes.buttons=x.join(',');return y;},lj:(function(){function w(x){var y=t.document.getElementsByTag('lj');for(var z=0,A=y.count();z<A;z++){var B=y.getItem(z);if(B){var C=B.getAttribute('user'),D=B.getAttribute('title');if(x==(D?C+':'+D:C)){var E=new h.createFromHtml(p[x],t.document);E.setAttribute('lj-cmd','LJUserLink');B.insertBeforeMe(E);B.remove();}}}t.removeListener('dataReady',w);};return function(x){var y=x.attributes.user;if(!y||!y.length)return;var z=x.attributes.title,A=z?y+':'+z:y;if(p.hasOwnProperty(A)){var B=new a.htmlParser.fragment.fromHtml(p[A]).children[0];B.attributes['lj-cmd']='LJUserLink';return B;}else{var C={username:y};if(z)C.usertitle=z;HTTPReq.getJSON({data:HTTPReq.formEncoded(C),method:'POST',url:Site.siteroot+'/tools/endpoints/ljuser.bml',onError:function(D){alert(D+' "'+y+'"');},onData:function(D){if(D.error)return alert(D.error+' "'+y+'"');if(!D.success)return;p[A]=D.ljuser;D.ljuser=D.ljuser.replace('<span class="useralias-value">*</span>','');if(t.document)w(A);else t.on('dataReady',function(){w(A);});}});}};})(),'lj-map':function(w){var x=new a.htmlParser.element('iframe'),y='',z='',A=Number(w.attributes.width),B=Number(w.attributes.height);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.url?encodeURIComponent(w.attributes.url):'';x.attributes['lj-class']='lj-map';x.attributes['class']='lj-map-wrap';x.attributes['lj-content']='<p class="lj-map">map</p>'; x.attributes.frameBorder=0;x.attributes.allowTransparency='true';return x;},'lj-raw':function(w){w.name='lj:raw';},'lj-wishlist':function(w){w.name='lj:wishlist';},'lj-template':function(w){var x=new a.htmlParser.element('iframe');x.attributes['lj-class']='lj-template';x.attributes['class']='lj-template-wrap';x.attributes.frameBorder=0;x.attributes.allowTransparency='true';x.attributes['lj-attributes']=encodeURIComponent(LiveJournal.JSON.stringify(w.attributes));return x;},'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(!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']='LJLink2';},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(){var m=a.lang[a.lang.detect()]||{};jQuery.extend(m,LJ.pageVar('rtedata'));a.styleText=Site.statprefix+'/js/ck/contents.css?t='+Site.version;var n=[{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>'}],o={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>')},LJUserLink:{html:encodeURIComponent(m.LJUser_WizardNotice+'<br /><a href="#" lj-cmd="LJUserLink">'+m.LJUser_WizardNoticeLink+'</a>')},LJLink:{html:encodeURIComponent(m.LJLink_WizardNotice+'<br /><a href="#" lj-cmd="LJLink">'+m.LJLink_WizardNoticeLink+'</a>')},image:{html:encodeURIComponent(m.LJImage_WizardNotice+'<br /><a href="#" lj-cmd="image">'+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>')}},p={},q; Modified: trunk/htdocs/js/ck/plugins/livejournal/plugin.js =================================================================== --- trunk/htdocs/js/ck/plugins/livejournal/plugin.js 2012-07-17 07:37:06 UTC (rev 22455) +++ trunk/htdocs/js/ck/plugins/livejournal/plugin.js 2012-07-17 08:08:17 UTC (rev 22456) @@ -1082,12 +1082,10 @@ likeButtons.defaultButtons = []; for (var i = 0; i < likeButtons.length; i++) { - button = likeButtons[i]; - + btn = likeButtons[i]; // WTF - likeButtons[button.id] = likeButtons[button.abbr] = button; - - likeButtons.defaultButtons.push(button.id); + likeButtons[btn.id] = likeButtons[btn.abbr] = btn; + likeButtons.defaultButtons.push(btn.id); } LiveJournal.register_hook('like_response', function(buttons) { @@ -1095,16 +1093,16 @@ likeHtml = [], isDefaultSet = typeof buttons === 'string'; - for (var i = 0; i < likeButtons.length; i++) { - button = likeButtons[i]; + for (var i = 0, btn; i < likeButtons.length; i++) { + btn = likeButtons[i]; - if ((isDefaultSet && button.checked) || buttons.indexOf(button.id) != -1) { - attr.push(button.id); - likeHtml.push(button.html); + if ((isDefaultSet && btn.checked) || buttons.indexOf(btn.id) != -1) { + attr.push(btn.id); + likeHtml.push(btn.html); } } - var likeNode = ljTagsData.LJLike.node; + var likeNode = ljTagsData[button].node; if (likeNode) { likeNode.setAttribute('buttons', attr.join(',')); @@ -1130,7 +1128,7 @@ editor.addCommand(button, { exec: function(editor) { - var node = ljTagsData.LJLike.node; + var node = ljTagsData[button].node; if (node) { LiveJournal.run_hook('rteButton', widget, jQuery('.cke_button_' + button), { @@ -1148,7 +1146,6 @@ command: button }); })(); - }, afterInit: function(editor) { var dataProcessor = editor.dataProcessor;