Ticket #11420: wpdialogs-and-friends.diff
File wpdialogs-and-friends.diff, 59.2 KB (added by , 10 years ago) |
---|
-
wp-includes/js/tinymce/plugins/wplink/editor_plugin.js
1 (function(){tinymce.create("tinymce.plugins.wpLink",{init:function(a,b){a.addCommand("WP_Link",function(){a.windowManager.open({ file:tinymce.baseURL+"/wp-mce-link.php",width:480,height:430,inline:1},{plugin_url:b})});a.addButton("link",{title:a.getLang("advanced.link_desc"),cmd:"WP_Link"});a.addShortcut("alt+shift+a",a.getLang("advanced.link_desc"),"WP_Link");a.onNodeChange.add(function(d,c,e){c.setActive("wplink",e.nodeName=="A")})},getInfo:function(){return{longname:"WordPress Link Dialog",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wplink",tinymce.plugins.wpLink)})();2 No newline at end of file 1 (function(){tinymce.create("tinymce.plugins.wpLink",{init:function(a,b){a.addCommand("WP_Link",function(){a.windowManager.open({id:"wp-link",width:480,height:"auto",wpDialog:true,title:a.getLang("advlink.link_desc")},{plugin_url:b})});a.addButton("link",{title:a.getLang("advanced.link_desc"),cmd:"WP_Link"});a.addShortcut("alt+shift+a",a.getLang("advanced.link_desc"),"WP_Link");a.onNodeChange.add(function(d,c,e){c.setActive("wplink",e.nodeName=="A")})},getInfo:function(){return{longname:"WordPress Link Dialog",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wplink",tinymce.plugins.wpLink)})(); 2 No newline at end of file -
wp-includes/js/tinymce/plugins/wplink/css/wplink.dev.css
1 #wp-link p.howto { 2 margin: 3px; 3 } 4 #link-options { 5 padding: 10px 0 14px; 6 border-bottom: 1px solid #dfdfdf; 7 margin: 0 6px 14px; 8 } 9 #wp-link label input[type="text"] { 10 width: 360px; 11 margin-top: 5px; 12 } 13 #wp-link label span { 14 display: inline-block; 15 width: 80px; 16 text-align: right; 17 padding-right: 5px; 18 } 19 #wp-link .link-search-wrapper { 20 margin: 5px 5px 9px; 21 display: block; 22 overflow: hidden; 23 } 24 #wp-link .link-search-wrapper span { 25 float: left; 26 margin-top: 6px; 27 } 28 #wp-link .link-search-wrapper input[type="text"] { 29 float: left; 30 width: 220px; 31 } 32 #wp-link .link-search-wrapper img.waiting { 33 margin: 8px 1px 0 4px; 34 float: left; 35 display: none; 36 } 37 #open-in-new-tab { 38 display: inline-block; 39 padding: 3px 0 0; 40 margin: 0 0 0 87px; 41 } 42 #open-in-new-tab span { 43 width: auto; 44 margin-left: 6px; 45 font-size: 11px; 46 } 47 .query-results { 48 border: 1px #dfdfdf solid; 49 margin: 0 5px 5px; 50 background: #fff; 51 height: 185px; 52 overflow: auto; 53 } 54 .query-results li { 55 margin-bottom: 0; 56 border-bottom: 1px solid #f1f1f1; 57 color: #555; 58 padding: 4px 6px; 59 cursor: pointer; 60 } 61 .query-results li:hover { 62 background: #eaf2fa; 63 color: #333; 64 } 65 #wp-link .query-results li.unselectable:hover { 66 background: #fff; 67 cursor: auto; 68 color: #555; 69 } 70 #wp-link .query-results li.unselectable { 71 border-bottom: 1px solid #dfdfdf; 72 } 73 #wp-link .query-results li.selected { 74 background: #f1f1f1; 75 color: #333; 76 } 77 #wp-link .query-results li.selected .item-title { 78 font-weight: bold; 79 } 80 #wp-link .item-info { 81 text-transform: uppercase; 82 color: #aaa; 83 font-size: 11px; 84 float: right; 85 } 86 #search-results { 87 display: none; 88 } 89 #wp-link .river-waiting { 90 display: none; 91 padding: 10px 0; 92 } 93 #wp-link .river-waiting img.waiting { 94 margin: 0 auto; 95 display: block; 96 } 97 #wp-link .submitbox { 98 padding: 5px 5px 0; 99 font-size: 11px; 100 overflow: auto; 101 height: 29px; 102 } 103 #wp-link-cancel { 104 line-height: 25px; 105 float: left; 106 } 107 #wp-link-update { 108 line-height: 23px; 109 float: right; 110 } 111 #wp-link-update a { 112 display: inline-block; 113 } 114 No newline at end of file -
wp-includes/js/tinymce/plugins/wplink/css/wplink.css
1 #wp-link p.howto{margin:3px;}#link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px;}#wp-link label input[type="text"]{width:360px;margin-top:5px;}#wp-link label span{display:inline-block;width:80px;text-align:right;padding-right:5px;}#wp-link .link-search-wrapper{margin:5px 5px 9px;display:block;overflow:hidden;}#wp-link .link-search-wrapper span{float:left;margin-top:6px;}#wp-link .link-search-wrapper input[type="text"]{float:left;width:220px;}#wp-link .link-search-wrapper img.waiting{margin:8px 1px 0 4px;float:left;display:none;}#open-in-new-tab{display:inline-block;padding:3px 0 0;margin:0 0 0 87px;}#open-in-new-tab span{width:auto;margin-left:6px;font-size:11px;}.query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;}.query-results li{margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#555;padding:4px 6px;cursor:pointer;}.query-results li:hover{background:#eaf2fa;color:#333;}#wp-link .query-results li.unselectable:hover{background:#fff;cursor:auto;color:#555;}#wp-link .query-results li.unselectable{border-bottom:1px solid #dfdfdf;}#wp-link .query-results li.selected{background:#f1f1f1;color:#333;}#wp-link .query-results li.selected .item-title{font-weight:bold;}#wp-link .item-info{text-transform:uppercase;color:#aaa;font-size:11px;float:right;}#search-results{display:none;}#wp-link .river-waiting{display:none;padding:10px 0;}#wp-link .river-waiting img.waiting{margin:0 auto;display:block;}#wp-link .submitbox{padding:5px 5px 0;font-size:11px;overflow:auto;height:29px;}#wp-link-cancel{line-height:25px;float:left;}#wp-link-update{line-height:23px;float:right;}#wp-link-update a{display:inline-block;} 2 No newline at end of file -
wp-includes/js/tinymce/plugins/wplink/js/wplink.js
1 (function(d){var a={},c={},b,e={timeToTriggerRiver:150,minRiverAJAXDuration:200,lastSearch:"",riverDefaults:function(){return{page:2,allLoaded:false,active:false}},init:function(){ var f;b=tinyMCEPopup.editor;a.url=d("#url-field");a.title=d("#link-title-field");a.openInNewTab=d("#link-target-checkbox");a.search=d("#search-field");c.search=d("#search-results");c.recent=d("#most-recent-results");c.search.data("river",e.riverDefaults());c.recent.data("river",e.riverDefaults());d("#wp-update").click(e.update);d("#wp-cancel").click(function(){tinyMCEPopup.close()});d(".query-results").delegate("li","click",e.selectInternalLink);d(".query-results").scroll(e.maybeLoadRiver);a.search.keyup(e.searchInternalLinks);if(f=b.dom.getParent(b.selection.getNode(),"A")){a.url.val(f.href);a.title.val(b.dom.getAttrib(f,"title"));if("_blank"==b.dom.getAttrib(f,"target")){a.openInNewTab.attr("checked","checked")}}a.url.focus()},update:function(){var j,g=tinyMCEPopup.editor,h={href:a.url.val(),title:a.title.val(),target:a.openInNewTab.attr("checked")?"_blank":""},k,f,i=h.title?h.title:h.href;tinyMCEPopup.restoreSelection();k=g.dom.getParent(g.selection.getNode(),"A");if(!h.href){if(g.selection.isCollapsed()){tinyMCEPopup.close();return}else{if(k){tinyMCEPopup.execCommand("mceBeginUndoLevel");f=g.selection.getBookmark();g.dom.remove(k,1);g.selection.moveToBookmark(f);tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close();return}}}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(k==null){g.getDoc().execCommand("unlink",false,null);if(g.selection.isCollapsed()){j=g.dom.create("a",{href:"#mce_temp_url#"},i);g.selection.setNode(j)}else{tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1})}tinymce.each(g.dom.select("a"),function(l){if(g.dom.getAttrib(l,"href")=="#mce_temp_url#"){k=l;g.dom.setAttribs(k,h)}})}else{g.dom.setAttribs(k,h)}if(k.childNodes.length!=1||k.firstChild.nodeName!="IMG"){g.focus();g.selection.select(k);g.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close()},selectInternalLink:function(){var f=d(this);if(f.hasClass("unselectable")){return}f.siblings(".selected").removeClass("selected");f.addClass("selected");a.url.val(f.children(".item-permalink").val());a.title.val(f.children(".item-title").text())},maybeLoadRiver:function(){var h=d(this),g=h.children("ul"),i=h.data("river"),f=h.scrollTop()+h.height();if(f!=g.height()||i.active||i.allLoaded){return}setTimeout(function(){var j=h.scrollTop(),k=j+h.height(),l=h.find(".river-waiting");if(f!=k||k!=g.height()||i.active||i.allLoaded){return}i.active=true;l.show();h.scrollTop(j+l.outerHeight());e.linkAJAX(h,{page:i.page},function(m){i.page++;i.active=false;i.allLoaded=!m;l.hide()},{append:true,delay:e.minRiverAJAXDuration})},e.timeToTriggerRiver)},searchInternalLinks:function(){var f=d(this),h,g=f.val();if(g.length>2){c.recent.hide();c.search.show();if(e.lastSearch==g){return}e.lastSearch=g;h=f.siblings("img.waiting").show();c.search.data("river",e.riverDefaults());c.search.scrollTop(0);e.linkAJAX(c.search,{title:g},function(){h.hide()})}else{c.search.hide();c.recent.show()}},linkAJAX:function(i,h,j,g){var f;g=g||{};if(!i.hasClass("query-results")){i=i.parents(".query-results")}if(!i.length){return}f=e.delayedCallback(function(k){e.processAJAXResponse(i,k,j,g)},g.delay);d.post(ajaxurl,d.extend({action:"wp-link-ajax"},h),f,"json")},processAJAXResponse:function(i,f,j,g){var h="";if(!f){if(!g.append){h+='<li class="no-matches-found unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{d.each(f,function(){h+='<li><input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';h+='<span class="item-title">';h+=this["title"]?this["title"]:"<em>"+wpLinkL10n.untitled+"</em>";h+='</span><span class="item-info">'+this["info"]+"</span></li>"})}i.children("ul")[g.append?"append":"html"](h);if(j){j(f)}},delayedCallback:function(h,f){var k,j,i,g;if(!f){return h}setTimeout(function(){if(j){return h.apply(g,i)}k=true},f);return function(){if(k){return h.apply(this,arguments)}i=arguments;g=this;j=true}}};d(document).ready(e.init)})(jQuery);2 No newline at end of file 1 (function(d){var a={},c={},b,e={timeToTriggerRiver:150,minRiverAJAXDuration:200,lastSearch:"",riverDefaults:function(){return{page:2,allLoaded:false,active:false}},init:function(){a.dialog=d("#wp-link");a.url=d("#url-field");a.title=d("#link-title-field");a.openInNewTab=d("#link-target-checkbox");a.search=d("#search-field");c.search=d("#search-results");c.recent=d("#most-recent-results");c.search.data("river",e.riverDefaults());c.recent.data("river",e.riverDefaults());c.group=d(".query-results",a.dialog);d("#wp-link-update").click(e.update);d("#wp-link-cancel").click(function(){tinyMCEPopup.close()});c.group.delegate("li","click",e.selectInternalLink);c.group.scroll(e.maybeLoadRiver);a.search.keyup(e.searchInternalLinks);a.dialog.bind("dialogopen",e.refresh)},refresh:function(){var f;b=tinyMCEPopup.editor;if(f=b.dom.getParent(b.selection.getNode(),"A")){a.url.val(f.href);a.title.val(b.dom.getAttrib(f,"title"));if("_blank"==b.dom.getAttrib(f,"target")){a.openInNewTab.attr("checked","checked")}}c.group.find(".selected").removeClass("selected");a.url.focus()},update:function(){var j,g=tinyMCEPopup.editor,h={href:a.url.val(),title:a.title.val(),target:a.openInNewTab.attr("checked")?"_blank":""},k,f,i=h.title?h.title:h.href;tinyMCEPopup.restoreSelection();k=g.dom.getParent(g.selection.getNode(),"A");if(!h.href){if(g.selection.isCollapsed()){tinyMCEPopup.close();return}else{if(k){tinyMCEPopup.execCommand("mceBeginUndoLevel");f=g.selection.getBookmark();g.dom.remove(k,1);g.selection.moveToBookmark(f);tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close();return}}}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(k==null){g.getDoc().execCommand("unlink",false,null);if(g.selection.isCollapsed()){j=g.dom.create("a",{href:"#mce_temp_url#"},i);g.selection.setNode(j)}else{tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1})}tinymce.each(g.dom.select("a"),function(l){if(g.dom.getAttrib(l,"href")=="#mce_temp_url#"){k=l;g.dom.setAttribs(k,h)}})}else{g.dom.setAttribs(k,h)}if(k.childNodes.length!=1||k.firstChild.nodeName!="IMG"){g.focus();g.selection.select(k);g.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close()},selectInternalLink:function(){var f=d(this);if(f.hasClass("unselectable")){return}f.siblings(".selected").removeClass("selected");f.addClass("selected");a.url.val(f.children(".item-permalink").val());a.title.val(f.children(".item-title").text())},maybeLoadRiver:function(){var h=d(this),g=h.children("ul"),i=h.data("river"),f=h.scrollTop()+h.height();if(f!=g.height()||i.active||i.allLoaded){return}setTimeout(function(){var j=h.scrollTop(),k=j+h.height(),l=h.find(".river-waiting");if(f!=k||k!=g.height()||i.active||i.allLoaded){return}i.active=true;l.show();h.scrollTop(j+l.outerHeight());e.linkAJAX(h,{page:i.page},function(m){i.page++;i.active=false;i.allLoaded=!m;l.hide()},{append:true,delay:e.minRiverAJAXDuration})},e.timeToTriggerRiver)},searchInternalLinks:function(){var f=d(this),h,g=f.val();if(g.length>2){c.recent.hide();c.search.show();if(e.lastSearch==g){return}e.lastSearch=g;h=f.siblings("img.waiting").show();c.search.data("river",e.riverDefaults());c.search.scrollTop(0);e.linkAJAX(c.search,{title:g},function(){h.hide()})}else{c.search.hide();c.recent.show()}},linkAJAX:function(i,h,j,g){var f;g=g||{};if(!i.hasClass("query-results")){i=i.parents(".query-results")}if(!i.length){return}f=e.delayedCallback(function(k){e.processAJAXResponse(i,k,j,g)},g.delay);d.post(ajaxurl,d.extend({action:"wp-link-ajax"},h),f,"json")},processAJAXResponse:function(i,f,j,g){var h="";if(!f){if(!g.append){h+='<li class="no-matches-found unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{d.each(f,function(){h+='<li><input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';h+='<span class="item-title">';h+=this["title"]?this["title"]:"<em>"+wpLinkL10n.untitled+"</em>";h+='</span><span class="item-info">'+this["info"]+"</span></li>"})}i.children("ul")[g.append?"append":"html"](h);if(j){j(f)}},delayedCallback:function(h,f){var k,j,i,g;if(!f){return h}setTimeout(function(){if(j){return h.apply(g,i)}k=true},f);return function(){if(k){return h.apply(this,arguments)}i=arguments;g=this;j=true}}};d(document).ready(e.init)})(jQuery); 2 No newline at end of file -
wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js
12 12 }; 13 13 }, 14 14 init : function() { 15 var e; 16 // Init shared vars 17 ed = tinyMCEPopup.editor; 18 19 15 inputs.dialog = $('#wp-link'); 20 16 // URL 21 17 inputs.url = $('#url-field'); 22 18 // Secondary options … … 29 25 results.recent = $('#most-recent-results'); 30 26 results.search.data('river', wpLink.riverDefaults() ); 31 27 results.recent.data('river', wpLink.riverDefaults() ); 28 results.group = $('.query-results', inputs.dialog); 32 29 33 30 // Bind event handlers 34 $('#wp-update').click( wpLink.update ); 35 $('#wp-cancel').click( function() { tinyMCEPopup.close(); } ); 36 $('.query-results').delegate('li', 'click', wpLink.selectInternalLink ); 37 $('.query-results').scroll( wpLink.maybeLoadRiver ); 31 $('#wp-link-update').click( wpLink.update ); 32 $('#wp-link-cancel').click( function() { tinyMCEPopup.close(); } ); 33 34 results.group.delegate('li', 'click', wpLink.selectInternalLink ) 35 results.group.scroll( wpLink.maybeLoadRiver ); 36 38 37 inputs.search.keyup( wpLink.searchInternalLinks ); 38 39 inputs.dialog.bind('dialogopen', wpLink.refresh); 40 }, 39 41 42 refresh : function() { 43 var e; 44 45 ed = tinyMCEPopup.editor; 46 40 47 // If link exists, select proper values. 41 48 if ( e = ed.dom.getParent(ed.selection.getNode(), 'A') ) { 42 49 // Set URL and description. … … 47 54 inputs.openInNewTab.attr('checked','checked'); 48 55 } 49 56 57 // Clear previously selected links 58 results.group.find('.selected').removeClass('selected'); 50 59 // Focus the URL field 51 60 inputs.url.focus(); 52 61 }, -
wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js
12 12 // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); 13 13 ed.addCommand('WP_Link', function() { 14 14 ed.windowManager.open({ 15 file : tinymce.baseURL + '/wp-mce-link.php',15 id : 'wp-link', 16 16 width : 480, 17 height : 430, 18 inline : 1 17 height : "auto", 18 wpDialog : true, 19 title : ed.getLang('advlink.link_desc') 19 20 }, { 20 21 plugin_url : url // Plugin absolute URL 21 22 }); -
wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js
1 (function(b){var a=function(c){return function(){if(this.features.wpDialog){return c.apply(this,arguments)}else{return this.parent.apply(this,arguments)}}};tinymce.create("tinymce.plugins.WPDialogs",{init:function(c,d){c.onBeforeRenderUI.add(function(){c.windowManager=new tinymce.WPWindowManager(c)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}});tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(c){this.parent(c)},open:function(e,g){var d=this,c;if(!e.wpDialog){return this.parent(e,g)}else{if(!e.id){return}}c=b("#"+e.id);if(!c.length){return}d.features=e;d.params=g;d.onOpen.dispatch(d,e,g);d.element=d.windows[e.id]=c;if(tinyMCEPopup){tinyMCEPopup.init()}c.dialog({title:e.title,width:e.width,height:e.height,modal:true})},close:a(function(){this.element.dialog("close")}),});tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)})(jQuery); 2 No newline at end of file -
wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js
1 /** 2 * editor_plugin_src.js 3 * 4 * Copyright 2009, Moxiecode Systems AB 5 * Released under LGPL License. 6 * 7 * License: http://tinymce.moxiecode.com/license 8 * Contributing: http://tinymce.moxiecode.com/contributing 9 */ 10 11 (function($) { 12 var wpDialogFn = function( fn ) { 13 return function() { 14 if ( this.features.wpDialog ) 15 return fn.apply( this, arguments ); 16 else 17 return this.parent.apply( this, arguments ); 18 }; 19 }; 20 21 tinymce.create('tinymce.plugins.WPDialogs', { 22 init : function(ed, url) { 23 // Replace window manager 24 ed.onBeforeRenderUI.add(function() { 25 ed.windowManager = new tinymce.WPWindowManager(ed); 26 }); 27 }, 28 29 getInfo : function() { 30 return { 31 longname : 'WPDialogs', 32 author : 'WordPress', 33 authorurl : 'http://wordpress.org', 34 infourl : 'http://wordpress.org', 35 version : '0.1' 36 }; 37 } 38 }); 39 40 tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', { 41 WPWindowManager : function(ed) { 42 this.parent(ed); 43 }, 44 45 open : function(f, p) { 46 var t = this, element; 47 // Can't use wpDialogFn here; this.features isn't set yet. 48 if ( ! f.wpDialog ) 49 return this.parent( f, p ); 50 else if ( ! f.id ) 51 return; 52 53 element = $('#' + f.id); 54 if ( ! element.length ) 55 return; 56 57 t.features = f; 58 t.params = p; 59 t.onOpen.dispatch(t, f, p); 60 t.element = t.windows[ f.id ] = element; 61 62 if ( tinyMCEPopup ) 63 tinyMCEPopup.init(); 64 65 element.dialog({ 66 title: f.title, 67 width: f.width, 68 height: f.height, 69 modal: true 70 }); 71 }, 72 close : wpDialogFn(function() { 73 this.element.dialog('close'); 74 }), 75 }); 76 77 // Register plugin 78 tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs); 79 })(jQuery); 80 -
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.dev.js
1 /** 2 * popup.js 3 * 4 * An altered version of tinyMCEPopup to work in the same window as tinymce. 5 * 6 * ------------------------------------------------------------------ 7 * 8 * Copyright 2009, Moxiecode Systems AB 9 * Released under LGPL License. 10 * 11 * License: http://tinymce.moxiecode.com/license 12 * Contributing: http://tinymce.moxiecode.com/contributing 13 */ 14 15 // Some global instances 16 17 /** 18 * TinyMCE popup/dialog helper class. This gives you easy access to the 19 * parent editor instance and a bunch of other things. It's higly recommended 20 * that you load this script into your dialogs. 21 * 22 * @static 23 * @class tinyMCEPopup 24 */ 25 var tinyMCEPopup = { 26 /** 27 * Initializes the popup this will be called automatically. 28 * 29 * @method init 30 */ 31 init : function() { 32 var t = this, w, ti; 33 34 // Find window & API 35 w = t.getWin(); 36 tinymce = w.tinymce; 37 tinyMCE = w.tinyMCE; 38 t.editor = tinymce.EditorManager.activeEditor; 39 t.params = t.editor.windowManager.params; 40 t.features = t.editor.windowManager.features; 41 t.dom = tinymce.dom; 42 43 // Setup on init listeners 44 t.listeners = []; 45 t.onInit = { 46 add : function(f, s) { 47 t.listeners.push({func : f, scope : s}); 48 } 49 }; 50 51 t.isWindow = !t.getWindowArg('mce_inline'); 52 t.id = t.features.id; 53 t.editor.windowManager.onOpen.dispatch(t.editor.windowManager, window); 54 }, 55 56 /** 57 * Returns the reference to the parent window that opened the dialog. 58 * 59 * @method getWin 60 * @return {Window} Reference to the parent window that opened the dialog. 61 */ 62 getWin : function() { 63 return window; 64 }, 65 66 /** 67 * Returns a window argument/parameter by name. 68 * 69 * @method getWindowArg 70 * @param {String} n Name of the window argument to retrive. 71 * @param {String} dv Optional default value to return. 72 * @return {String} Argument value or default value if it wasn't found. 73 */ 74 getWindowArg : function(n, dv) { 75 var v = this.params[n]; 76 77 return tinymce.is(v) ? v : dv; 78 }, 79 80 /** 81 * Returns a editor parameter/config option value. 82 * 83 * @method getParam 84 * @param {String} n Name of the editor config option to retrive. 85 * @param {String} dv Optional default value to return. 86 * @return {String} Parameter value or default value if it wasn't found. 87 */ 88 getParam : function(n, dv) { 89 return this.editor.getParam(n, dv); 90 }, 91 92 /** 93 * Returns a language item by key. 94 * 95 * @method getLang 96 * @param {String} n Language item like mydialog.something. 97 * @param {String} dv Optional default value to return. 98 * @return {String} Language value for the item like "my string" or the default value if it wasn't found. 99 */ 100 getLang : function(n, dv) { 101 return this.editor.getLang(n, dv); 102 }, 103 104 /** 105 * Executed a command on editor that opened the dialog/popup. 106 * 107 * @method execCommand 108 * @param {String} cmd Command to execute. 109 * @param {Boolean} ui Optional boolean value if the UI for the command should be presented or not. 110 * @param {Object} val Optional value to pass with the comman like an URL. 111 * @param {Object} a Optional arguments object. 112 */ 113 execCommand : function(cmd, ui, val, a) { 114 a = a || {}; 115 a.skip_focus = 1; 116 117 this.restoreSelection(); 118 return this.editor.execCommand(cmd, ui, val, a); 119 }, 120 121 /** 122 * Resizes the dialog to the inner size of the window. This is needed since various browsers 123 * have different border sizes on windows. 124 * 125 * @method resizeToInnerSize 126 */ 127 resizeToInnerSize : function() { 128 var t = this; 129 130 // Detach it to workaround a Chrome specific bug 131 // https://sourceforge.net/tracker/?func=detail&atid=635682&aid=2926339&group_id=103281 132 setTimeout(function() { 133 var vp = t.dom.getViewPort(window); 134 135 t.editor.windowManager.resizeBy( 136 t.getWindowArg('mce_width') - vp.w, 137 t.getWindowArg('mce_height') - vp.h, 138 t.id || window 139 ); 140 }, 0); 141 }, 142 143 /** 144 * Will executed the specified string when the page has been loaded. This function 145 * was added for compatibility with the 2.x branch. 146 * 147 * @method executeOnLoad 148 * @param {String} s String to evalutate on init. 149 */ 150 executeOnLoad : function(s) { 151 this.onInit.add(function() { 152 eval(s); 153 }); 154 }, 155 156 /** 157 * Stores the current editor selection for later restoration. This can be useful since some browsers 158 * looses it's selection if a control element is selected/focused inside the dialogs. 159 * 160 * @method storeSelection 161 */ 162 storeSelection : function() { 163 this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1); 164 }, 165 166 /** 167 * Restores any stored selection. This can be useful since some browsers 168 * looses it's selection if a control element is selected/focused inside the dialogs. 169 * 170 * @method restoreSelection 171 */ 172 restoreSelection : function() { 173 var t = tinyMCEPopup; 174 175 if (!t.isWindow && tinymce.isIE) 176 t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark); 177 }, 178 179 /** 180 * Loads a specific dialog language pack. If you pass in plugin_url as a arugment 181 * when you open the window it will load the <plugin url>/langs/<code>_dlg.js lang pack file. 182 * 183 * @method requireLangPack 184 */ 185 requireLangPack : function() { 186 var t = this, u = t.getWindowArg('plugin_url') || t.getWindowArg('theme_url'); 187 188 if (u && t.editor.settings.language && t.features.translate_i18n !== false) { 189 u += '/langs/' + t.editor.settings.language + '_dlg.js'; 190 191 if (!tinymce.ScriptLoader.isDone(u)) { 192 document.write('<script type="text/javascript" src="' + tinymce._addVer(u) + '"></script>'); 193 tinymce.ScriptLoader.markDone(u); 194 } 195 } 196 }, 197 198 /** 199 * Executes a color picker on the specified element id. When the user 200 * then selects a color it will be set as the value of the specified element. 201 * 202 * @method pickColor 203 * @param {DOMEvent} e DOM event object. 204 * @param {string} element_id Element id to be filled with the color value from the picker. 205 */ 206 pickColor : function(e, element_id) { 207 this.execCommand('mceColorPicker', true, { 208 color : document.getElementById(element_id).value, 209 func : function(c) { 210 document.getElementById(element_id).value = c; 211 212 try { 213 document.getElementById(element_id).onchange(); 214 } catch (ex) { 215 // Try fire event, ignore errors 216 } 217 } 218 }); 219 }, 220 221 /** 222 * Opens a filebrowser/imagebrowser this will set the output value from 223 * the browser as a value on the specified element. 224 * 225 * @method openBrowser 226 * @param {string} element_id Id of the element to set value in. 227 * @param {string} type Type of browser to open image/file/flash. 228 * @param {string} option Option name to get the file_broswer_callback function name from. 229 */ 230 openBrowser : function(element_id, type, option) { 231 tinyMCEPopup.restoreSelection(); 232 this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window); 233 }, 234 235 /** 236 * Creates a confirm dialog. Please don't use the blocking behavior of this 237 * native version use the callback method instead then it can be extended. 238 * 239 * @method confirm 240 * @param {String} t Title for the new confirm dialog. 241 * @param {function} cb Callback function to be executed after the user has selected ok or cancel. 242 * @param {Object} s Optional scope to execute the callback in. 243 */ 244 confirm : function(t, cb, s) { 245 this.editor.windowManager.confirm(t, cb, s, window); 246 }, 247 248 /** 249 * Creates a alert dialog. Please don't use the blocking behavior of this 250 * native version use the callback method instead then it can be extended. 251 * 252 * @method alert 253 * @param {String} t Title for the new alert dialog. 254 * @param {function} cb Callback function to be executed after the user has selected ok. 255 * @param {Object} s Optional scope to execute the callback in. 256 */ 257 alert : function(tx, cb, s) { 258 this.editor.windowManager.alert(tx, cb, s, window); 259 }, 260 261 /** 262 * Closes the current window. 263 * 264 * @method close 265 */ 266 close : function() { 267 var t = this; 268 269 // To avoid domain relaxing issue in Opera 270 function close() { 271 t.editor.windowManager.close(window); 272 t.editor = null; 273 }; 274 275 if (tinymce.isOpera) 276 t.getWin().setTimeout(close, 0); 277 else 278 close(); 279 }, 280 281 // Internal functions 282 283 _restoreSelection : function() { 284 var e = window.event.srcElement; 285 286 if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button')) 287 tinyMCEPopup.restoreSelection(); 288 }, 289 290 /* _restoreSelection : function() { 291 var e = window.event.srcElement; 292 293 // If user focus a non text input or textarea 294 if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text') 295 tinyMCEPopup.restoreSelection(); 296 },*/ 297 298 _onDOMLoaded : function() { 299 var t = tinyMCEPopup, ti = document.title, bm, h, nv; 300 301 if (t.domLoaded) 302 return; 303 304 t.domLoaded = 1; 305 306 tinyMCEPopup.init(); 307 308 // Translate page 309 if (t.features.translate_i18n !== false) { 310 h = document.body.innerHTML; 311 312 // Replace a=x with a="x" in IE 313 if (tinymce.isIE) 314 h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"') 315 316 document.dir = t.editor.getParam('directionality',''); 317 318 if ((nv = t.editor.translate(h)) && nv != h) 319 document.body.innerHTML = nv; 320 321 if ((nv = t.editor.translate(ti)) && nv != ti) 322 document.title = ti = nv; 323 } 324 325 document.body.style.display = ''; 326 327 // Restore selection in IE when focus is placed on a non textarea or input element of the type text 328 if (tinymce.isIE) { 329 document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection); 330 331 // Add base target element for it since it would fail with modal dialogs 332 t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'}); 333 } 334 335 t.restoreSelection(); 336 337 // Set inline title 338 if (!t.isWindow) 339 t.editor.windowManager.setTitle(window, ti); 340 else 341 window.focus(); 342 343 if (!tinymce.isIE && !t.isWindow) { 344 tinymce.dom.Event._add(document, 'focus', function() { 345 t.editor.windowManager.focus(t.id); 346 }); 347 } 348 349 // Patch for accessibility 350 tinymce.each(t.dom.select('select'), function(e) { 351 e.onkeydown = tinyMCEPopup._accessHandler; 352 }); 353 354 // Call onInit 355 // Init must be called before focus so the selection won't get lost by the focus call 356 tinymce.each(t.listeners, function(o) { 357 o.func.call(o.scope, t.editor); 358 }); 359 360 // Move focus to window 361 if (t.getWindowArg('mce_auto_focus', true)) { 362 window.focus(); 363 364 // Focus element with mceFocus class 365 tinymce.each(document.forms, function(f) { 366 tinymce.each(f.elements, function(e) { 367 if (t.dom.hasClass(e, 'mceFocus') && !e.disabled) { 368 e.focus(); 369 return false; // Break loop 370 } 371 }); 372 }); 373 } 374 375 document.onkeyup = tinyMCEPopup._closeWinKeyHandler; 376 }, 377 378 _accessHandler : function(e) { 379 e = e || window.event; 380 381 if (e.keyCode == 13 || e.keyCode == 32) { 382 e = e.target || e.srcElement; 383 384 if (e.onchange) 385 e.onchange(); 386 387 return tinymce.dom.Event.cancel(e); 388 } 389 }, 390 391 _closeWinKeyHandler : function(e) { 392 e = e || window.event; 393 394 if (e.keyCode == 27) 395 tinyMCEPopup.close(); 396 }, 397 398 _wait : function() { 399 // Use IE method 400 if (document.attachEvent) { 401 document.attachEvent("onreadystatechange", function() { 402 if (document.readyState === "complete") { 403 document.detachEvent("onreadystatechange", arguments.callee); 404 tinyMCEPopup._onDOMLoaded(); 405 } 406 }); 407 408 if (document.documentElement.doScroll && window == window.top) { 409 (function() { 410 if (tinyMCEPopup.domLoaded) 411 return; 412 413 try { 414 // If IE is used, use the trick by Diego Perini 415 // http://javascript.nwbox.com/IEContentLoaded/ 416 document.documentElement.doScroll("left"); 417 } catch (ex) { 418 setTimeout(arguments.callee, 0); 419 return; 420 } 421 422 tinyMCEPopup._onDOMLoaded(); 423 })(); 424 } 425 426 document.attachEvent('onload', tinyMCEPopup._onDOMLoaded); 427 } else if (document.addEventListener) { 428 window.addEventListener('DOMContentLoaded', tinyMCEPopup._onDOMLoaded, false); 429 window.addEventListener('load', tinyMCEPopup._onDOMLoaded, false); 430 } 431 } 432 }; -
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.js
1 var tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=tinymce.dom;b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.features.id;b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return window},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},0)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);a.editor=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;tinyMCEPopup.init();if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}}; 2 No newline at end of file -
wp-includes/js/tinymce/wp-mce-link.php
1 1 <?php 2 // args expects optionally 'pagenum' and 's' 3 function wp_link_query( $args = array() ) { 4 $pts = get_post_types( array( 'publicly_queryable' => true ), 'objects' ); 5 $pt_names = array_keys( $pts ); 2 6 3 require_once '../../../wp-load.php'; 4 include './wp-mce-link-includes.php'; 7 $query = array( 8 'post_type' => $pt_names, 9 'suppress_filters' => true, 10 'update_post_term_cache' => false, 11 'update_post_meta_cache' => false, 12 'post_status' => 'publish', 13 'order' => 'DESC', 14 'orderby' => 'post_date', 15 'posts_per_page' => 20, 16 ); 5 17 6 header( 'Content-Type: text/html; charset=' . get_bloginfo( 'charset' ) ); 7 ?> 8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 9 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> 10 <head> 11 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_bloginfo('charset'); ?>" /> 12 <title><?php _e( 'Insert/edit link' ); ?></title> 13 <script type="text/javascript"> 14 //<![CDATA[ 15 var ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ); ?>', 16 wpLinkL10n = { 17 untitled : '<?php _e('Untitled'); ?>', 18 noMatchesFound : '<?php _e( 'No matches found.' ); ?>' 19 }; 20 //]]> 21 </script> 22 <script type="text/javascript" src="tiny_mce_popup.js?ver=3223"></script> 23 <?php 24 wp_print_scripts( array( 'jquery', 'jquery-ui-widget' ) ); 25 $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.dev' : ''; 26 $src = "plugins/wplink/js/wplink$suffix.js?ver=20101116b"; 27 ?> 28 <script type="text/javascript" src="<?php echo $src; ?>"></script> 29 <?php 30 wp_admin_css( 'global', true ); 31 wp_admin_css( 'wp-admin', true ); 32 register_admin_color_schemes(); 33 wp_admin_css( 'colors', true ); 34 ?> 35 <style> 36 html { 37 background: #f1f1f1; 18 $args['pagenum'] = isset( $args['pagenum'] ) ? absint( $args['pagenum'] ) : 1; 19 20 if ( isset( $args['s'] ) ) 21 $query['s'] = $args['s']; 22 23 $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0; 24 25 // Do main query. 26 $get_posts = new WP_Query; 27 $posts = $get_posts->query( $query ); 28 // Check if any posts were found. 29 if ( ! $get_posts->post_count ) 30 return false; 31 32 // Build results. 33 $results = array(); 34 foreach ( $posts as $post ) { 35 if ( 'post' == $post->post_type ) 36 $info = mysql2date( __( 'Y/m/d' ), $post->post_date ); 37 else 38 $info = $pts[ $post->post_type ]->labels->singular_name; 39 40 $results[] = array( 41 'ID' => $post->ID, 42 'title' => esc_html( strip_tags($post->post_title) ), 43 'permalink' => get_permalink( $post->ID ), 44 'info' => $info, 45 ); 46 } 47 48 return $results; 38 49 } 39 a:link, a:visited { 40 color: #21759b; 50 51 function wp_link_ajax( $request ) { 52 // Searches have a title term. 53 if ( isset( $request['title'] ) ) 54 $args['s'] = stripslashes( $request['title'] ); 55 $args['pagenum'] = ! empty( $request['page'] ) ? absint( $request['page'] ) : 1; 56 57 $results = wp_link_query( $args ); 58 59 if ( ! isset( $results ) ) 60 die( '0' ); 61 62 echo json_encode( $results ); 63 echo "\n"; 41 64 } 42 p.howto { 43 margin: 3px; 44 } 45 #link-options { 46 padding: 10px 0 14px; 47 border-bottom: 1px solid #dfdfdf; 48 margin: 0 6px 14px; 49 } 50 label input[type="text"] { 51 width: 360px; 52 margin-top: 5px; 53 } 54 label span { 55 display: inline-block; 56 width: 80px; 57 text-align: right; 58 padding-right: 5px; 59 } 60 .link-search-wrapper { 61 margin: 5px 5px 9px; 62 display: block; 63 overflow: hidden; 64 } 65 .link-search-wrapper span { 66 float: left; 67 margin-top: 6px; 68 } 69 .link-search-wrapper input[type="text"] { 70 float: left; 71 width: 220px; 72 } 73 .link-search-wrapper img.waiting { 74 margin: 8px 1px 0 4px; 75 float: left; 76 display: none; 77 } 78 #open-in-new-tab { 79 display: inline-block; 80 padding: 3px 0 0; 81 margin: 0 0 0 87px; 82 } 83 #open-in-new-tab span { 84 width: auto; 85 margin-left: 6px; 86 font-size: 11px; 87 } 88 .query-results { 89 border: 1px #dfdfdf solid; 90 margin: 0 5px 5px; 91 background: #fff; 92 height: 185px; 93 overflow: auto; 94 } 95 .query-results li { 96 margin-bottom: 0; 97 border-bottom: 1px solid #f1f1f1; 98 color: #555; 99 padding: 4px 6px; 100 cursor: pointer; 101 } 102 .query-results li:hover { 103 background: #eaf2fa; 104 color: #333; 105 } 106 .query-results li.unselectable:hover { 107 background: #fff; 108 cursor: auto; 109 color: #555; 110 } 111 .query-results li.unselectable { 112 border-bottom: 1px solid #dfdfdf; 113 } 114 .query-results li.selected { 115 background: #f1f1f1; 116 color: #333; 117 } 118 .query-results li.selected .item-title { 119 font-weight: bold; 120 } 121 .item-info { 122 text-transform: uppercase; 123 color: #aaa; 124 font-size: 11px; 125 float: right; 126 } 127 #search-results { 128 display: none; 129 } 130 .river-waiting { 131 display: none; 132 padding: 10px 0; 133 } 134 .river-waiting img.waiting { 135 margin: 0 auto; 136 display: block; 137 } 138 .submitbox { 139 padding: 5px 5px 0; 140 font-size: 11px; 141 overflow: auto; 142 height: 29px; 143 } 144 #wp-cancel { 145 line-height: 25px; 146 float: left; 147 } 148 #wp-update { 149 line-height: 23px; 150 float: right; 151 } 152 #wp-update a { 153 display: inline-block; 154 } 155 </style> 156 </head> 157 <body id="post-body"> 65 66 function wp_link_dialog() { 67 ?> 68 <div id="wp-link"> 158 69 <div id="link-selector"> 159 70 <div id="link-options"> 160 71 <p class="howto"><?php _e( 'Enter the destination URL:' ); ?></p> … … 204 115 </div> 205 116 </div> 206 117 <div class="submitbox"> 207 <div id="wp- cancel">118 <div id="wp-link-cancel"> 208 119 <a class="submitdelete deletion"><?php _e( 'Cancel' ); ?></a> 209 120 </div> 210 <div id="wp- update">121 <div id="wp-link-update"> 211 122 <a class="button-primary"><?php _e( 'Update' ); ?></a> 212 123 </div> 213 124 </div> 214 </ body>215 < /html>216 No newline at end of file 125 </div> 126 <?php } ?> 127 No newline at end of file -
wp-includes/js/tinymce/wp-mce-link-includes.php
1 <?php2 // args expects optionally 'pagenum' and 's'3 function wp_link_query( $args = array() ) {4 $pts = get_post_types( array( 'publicly_queryable' => true ), 'objects' );5 $pt_names = array_keys( $pts );6 7 $query = array(8 'post_type' => $pt_names,9 'suppress_filters' => true,10 'update_post_term_cache' => false,11 'update_post_meta_cache' => false,12 'post_status' => 'publish',13 'order' => 'DESC',14 'orderby' => 'post_date',15 'posts_per_page' => 20,16 );17 18 $args['pagenum'] = isset( $args['pagenum'] ) ? absint( $args['pagenum'] ) : 1;19 20 if ( isset( $args['s'] ) )21 $query['s'] = $args['s'];22 23 $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;24 25 // Do main query.26 $get_posts = new WP_Query;27 $posts = $get_posts->query( $query );28 // Check if any posts were found.29 if ( ! $get_posts->post_count )30 return false;31 32 // Build results.33 $results = array();34 foreach ( $posts as $post ) {35 if ( 'post' == $post->post_type )36 $info = mysql2date( __( 'Y/m/d' ), $post->post_date );37 else38 $info = $pts[ $post->post_type ]->labels->singular_name;39 40 $results[] = array(41 'ID' => $post->ID,42 'title' => esc_html( strip_tags($post->post_title) ),43 'permalink' => get_permalink( $post->ID ),44 'info' => $info,45 );46 }47 48 return $results;49 }50 51 function wp_link_ajax( $request ) {52 // Searches have a title term.53 if ( isset( $request['title'] ) )54 $args['s'] = stripslashes( $request['title'] );55 $args['pagenum'] = ! empty( $request['page'] ) ? absint( $request['page'] ) : 1;56 57 $results = wp_link_query( $args );58 59 if ( ! isset( $results ) )60 die( '0' );61 62 echo json_encode( $results );63 echo "\n";64 }65 66 ?>67 No newline at end of file -
wp-includes/css/jquery-ui-dialog.dev.css
1 /* 2 * jQuery UI CSS Framework @VERSION 3 * 4 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) 5 * Dual licensed under the MIT or GPL Version 2 licenses. 6 * http://jquery.org/license 7 * 8 * http://docs.jquery.com/UI/Theming/API 9 */ 10 11 /* Layout helpers 12 ----------------------------------*/ 13 .ui-helper-hidden { display: none; } 14 .ui-helper-hidden-accessible { position: absolute; left: -99999999px; } 15 .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } 16 .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } 17 .ui-helper-clearfix { display: inline-block; } 18 /* required comment for clearfix to work in Opera \*/ 19 * html .ui-helper-clearfix { height:1%; } 20 .ui-helper-clearfix { display:block; } 21 /* end clearfix */ 22 .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } 23 24 25 /* Interaction Cues 26 ----------------------------------*/ 27 .ui-state-disabled { cursor: default !important; } 28 29 30 /* Icons 31 ----------------------------------*/ 32 33 /* states and images */ 34 .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } 35 36 37 /* Misc visuals 38 ----------------------------------*/ 39 40 /* Overlays */ 41 .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 42 43 /* 44 * jQuery UI Resizable 45 * 46 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) 47 * Dual licensed under the MIT or GPL Version 2 licenses. 48 * http://jquery.org/license 49 * 50 * http://docs.jquery.com/UI/Resizable#theming 51 */ 52 .ui-resizable { position: relative;} 53 .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} 54 .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 55 .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } 56 .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } 57 .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } 58 .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } 59 .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 60 .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 61 .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 62 .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} 63 64 /* 65 * jQuery UI Dialog 66 * 67 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) 68 * Dual licensed under the MIT or GPL Version 2 licenses. 69 * http://jquery.org/license 70 * 71 * http://docs.jquery.com/UI/Dialog#theming 72 */ 73 .ui-dialog { position: absolute; width: 300px; overflow: hidden; } 74 .ui-dialog .ui-dialog-titlebar { position: relative; } 75 .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } 76 .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: 0; background: none; overflow: auto; zoom: 1; } 77 .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } 78 .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } 79 .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } 80 .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } 81 .ui-draggable .ui-dialog-titlebar { cursor: move; } 82 83 84 85 /* WP jQuery Dialog Theme */ 86 .ui-dialog { 87 background: #f1f1f1; 88 border: 1px solid #999; 89 -moz-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 ); 90 -webkit-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 ); 91 box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 ); 92 } 93 .ui-dialog-title { 94 display: block; 95 text-align: center; 96 padding: 1px 0 2px; 97 } 98 .ui-dialog-titlebar { 99 padding: 0 1em; 100 background-color: #444; 101 font-weight: bold; 102 font-size: 11px; 103 color: #e5e5e5; 104 } 105 .ui-dialog { 106 -moz-border-radius-topleft: 4px; 107 -webkit-border-top-left-radius: 4px; 108 -khtml-border-top-left-radius: 4px; 109 border-top-left-radius: 4px; 110 -moz-border-radius-topright: 4px; 111 -webkit-border-top-right-radius: 4px; 112 -khtml-border-top-right-radius: 4px; 113 border-top-right-radius: 4px; 114 } 115 .ui-dialog-titlebar { 116 -moz-border-radius-topleft: 3px; 117 -webkit-border-top-left-radius: 3px; 118 -khtml-border-top-left-radius: 3px; 119 border-top-left-radius: 3px; 120 -moz-border-radius-topright: 3px; 121 -webkit-border-top-right-radius: 3px; 122 -khtml-border-top-right-radius: 3px; 123 border-top-right-radius: 3px; 124 } 125 126 .ui-dialog .ui-dialog-titlebar-close { 127 position: absolute; 128 width: 29px; 129 height: 16px; 130 top: 2px; 131 right: 6px; 132 background: url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px; 133 padding: 0; 134 } 135 .ui-dialog .ui-dialog-titlebar-close:hover, 136 .ui-dialog .ui-dialog-titlebar-close:focus { 137 background-position: -87px -32px; 138 } 139 .ui-widget-overlay { 140 background-color: #000; 141 opacity: 0.6; 142 } 143 No newline at end of file -
wp-includes/css/jquery-ui-dialog.css
1 .ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/ * html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}/* end clearfix */ .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default!important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block;}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0;}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0;}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%;}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%;}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}.ui-dialog{position:absolute;width:300px;overflow:hidden;}.ui-dialog .ui-dialog-titlebar{position:relative;}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px;}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:0;background:none;overflow:auto;zoom:1;}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em;}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right;}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer;}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;}.ui-draggable .ui-dialog-titlebar{cursor:move;}.ui-dialog{background:#f1f1f1;border:1px solid #999;-moz-box-shadow:0 0 16px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3);}.ui-dialog-title{display:block;text-align:center;padding:1px 0 2px;}.ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;color:#e5e5e5;}.ui-dialog{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px;}.ui-dialog-titlebar{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-right-radius:3px;border-top-right-radius:3px;}.ui-dialog .ui-dialog-titlebar-close{position:absolute;width:29px;height:16px;top:2px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;padding:0;}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px;}.ui-widget-overlay{background-color:#000;opacity:.6;} 2 No newline at end of file -
wp-includes/script-loader.php
268 268 'url' => __( 'URL:' ), 269 269 'noShortlink' => __( 'No shortlink available for this page.' ), 270 270 ) ); 271 272 $scripts->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/js/wplink$suffix.js", array('jquery'), '20101117' ); 273 $scripts->localize( 'wplink', 'wpLinkL10n', array( 274 'untitled' => __('Untitled'), 275 'noMatchesFound' => __('No matches found.'), 276 ) ); 277 278 $scripts->add( 'wpdialogsPopup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", false, '20101117' ); 271 279 272 280 if ( is_admin() ) { 273 281 $scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ), '20090102' ); … … 504 512 505 513 // Admin bar 506 514 $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array(), '20101117' ); 515 516 // WP jQuery UI Dialog 517 $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array(), '20101117' ); 518 // WPLink TinyMCE plugin 519 $styles->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/css/wplink$suffix.css", array(), '20101117' ); 507 520 508 521 foreach ( $rtl_styles as $rtl_style ) { 509 522 $styles->add_data( $rtl_style, 'rtl', true ); -
wp-admin/admin-ajax.php
1074 1074 exit; 1075 1075 break; 1076 1076 case 'wp-link-ajax': 1077 require_once ABSPATH . WPINC . '/js/tinymce/wp-mce-link -includes.php';1077 require_once ABSPATH . WPINC . '/js/tinymce/wp-mce-link.php'; 1078 1078 1079 1079 wp_link_ajax( $_POST ); 1080 1080 -
wp-admin/includes/post.php
1327 1327 $mce_spellchecker_languages = apply_filters('mce_spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv'); 1328 1328 1329 1329 if ( $teeny ) { 1330 $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'media', 'fullscreen', 'wordpress', 'wplink' ) );1330 $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'media', 'fullscreen', 'wordpress', 'wplink', 'wpdialogs') ); 1331 1331 $ext_plugins = ''; 1332 1332 } else { 1333 $plugins = array( 'inlinepopups', 'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen', 'wpeditimage', 'wpgallery', 'tabfocus', 'wplink' );1333 $plugins = array( 'inlinepopups', 'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen', 'wpeditimage', 'wpgallery', 'tabfocus', 'wplink', 'wpdialogs' ); 1334 1334 1335 1335 /* 1336 1336 The following filter takes an associative array of external plugins for TinyMCE in the form 'plugin_name' => 'url'. … … 1411 1411 } 1412 1412 } 1413 1413 1414 $plugins = implode($plugins, ',');1415 1416 1414 if ( $teeny ) { 1417 1415 $mce_buttons = apply_filters( 'teeny_mce_buttons', array('bold, italic, underline, blockquote, separator, strikethrough, bullist, numlist,justifyleft, justifycenter, justifyright, undo, redo, link, unlink, fullscreen') ); 1418 1416 $mce_buttons = implode($mce_buttons, ','); … … 1485 1483 'paste_strip_class_attributes' => 'all', 1486 1484 'paste_text_use_dialog' => true, 1487 1485 'wpeditimage_disable_captions' => $no_captions, 1488 'plugins' => $plugins1486 'plugins' => implode($plugins, ',') 1489 1487 ); 1490 1488 1491 1489 if ( ! empty( $editor_styles ) && is_array( $editor_styles ) ) { … … 1608 1606 /* ]]> */ 1609 1607 </script> 1610 1608 <?php 1609 1610 // Load additional inline scripts based on active plugins. 1611 if ( in_array( 'wpdialogs', $plugins ) ) { 1612 wp_print_scripts( array('jquery-ui-dialog', 'wpdialogsPopup') ); 1613 wp_print_styles('wp-jquery-ui-dialog'); 1614 } 1615 if ( in_array( 'wplink', $plugins ) ) { 1616 require_once ABSPATH . WPINC . "/js/tinymce/wp-mce-link.php"; 1617 add_action('tiny_mce_preload_dialogs', 'wp_link_dialog'); 1618 wp_print_scripts('wplink'); 1619 wp_print_styles('wplink'); 1620 } 1611 1621 } 1622 function wp_tiny_mce_preload_dialogs() { ?> 1623 <div id="preloaded-dialogs" style="display:none;"> 1624 <?php do_action('tiny_mce_preload_dialogs'); ?> 1625 </div> 1626 <?php } 1627 No newline at end of file -
wp-admin/admin-header.php
66 66 67 67 if ( in_array( $pagenow, array('post.php', 'post-new.php') ) ) { 68 68 add_action( 'admin_print_footer_scripts', 'wp_tiny_mce', 25 ); 69 add_action( 'admin_print_footer_scripts', 'wp_tiny_mce_preload_dialogs', 30 ); 69 70 wp_enqueue_script('quicktags'); 70 71 } 71 72