İlk temizlik tamamlandı bir önceki projeden

This commit is contained in:
Ümit Tunç
2026-04-28 21:14:25 +03:00
commit f80443aec0
10000 changed files with 959965 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,21 @@
Base64Image Plugin for CKEditor 4
=================================
Created by ALL-INKL.COM - Neue Medien Münnich - 04. Feb 2014
Adds images from local client as base64 string into the source without server
side processing. You can also add external image urls into the source.
## Requirements
The Browser must support the JavaScript File API.
## Installation
1. Download the plugin from http://github.com/nmmf/base64image
2. Extract (decompress) the downloaded file into the plugins folder of your
CKEditor installation.
Example: http://example.com/ckeditor/plugins/base64image
3. Enable the plugin by using the extraPlugins configuration setting.
Example: CKEDITOR.config.extraPlugins = "base64image";
@@ -0,0 +1,503 @@
/*
* Created by ALL-INKL.COM - Neue Medien Muennich - 04. Feb 2014
* Licensed under the terms of GPL, LGPL and MPL licenses.
*/
CKEDITOR.dialog.add("base64imageDialog", function(editor){
var t = null,
selectedImg = null,
orgWidth = null, orgHeight = null,
imgPreview = null, urlCB = null, urlI = null, fileCB = null, imgScal = 1, lock = true;
/* Check File Reader Support */
function fileSupport() {
var r = false, n = null;
try {
if(FileReader) {
var n = document.createElement("input");
if(n && "files" in n) r = true;
}
} catch(e) { r = false; }
n = null;
return r;
}
var fsupport = fileSupport();
/* Load preview image */
function imagePreviewLoad(s) {
/* no preview */
if(typeof(s) != "string" || !s) {
imgPreview.getElement().setHtml("");
return;
}
/* Create image */
var i = new Image();
/* Display loading text in preview element */
imgPreview.getElement().setHtml("Loading...");
/* When image is loaded */
i.onload = function() {
/* Remove preview */
imgPreview.getElement().setHtml("");
/* Set attributes */
if(orgWidth == null || orgHeight == null) {
t.setValueOf("tab-properties", "width", this.width);
t.setValueOf("tab-properties", "height", this.height);
imgScal = 1;
if(this.height > 0 && this.width > 0) imgScal = this.width / this.height;
if(imgScal <= 0) imgScal = 1;
} else {
orgWidth = null;
orgHeight = null;
}
this.id = editor.id+"previewimage";
this.setAttribute("style", "max-width:400px;max-height:100px;");
this.setAttribute("alt", "");
/* Insert preview image */
try {
var p = imgPreview.getElement().$;
if(p) p.appendChild(this);
} catch(e) {}
};
/* Error Function */
i.onerror = function(){ imgPreview.getElement().setHtml(""); };
i.onabort = function(){ imgPreview.getElement().setHtml(""); };
/* Load image */
i.src = s;
}
/* Change input values and preview image */
function imagePreview(src){
/* Remove preview */
imgPreview.getElement().setHtml("");
if(src == "base64") {
/* Disable Checkboxes */
if(urlCB) urlCB.setValue(false, true);
if(fileCB) fileCB.setValue(false, true);
} else if(src == "url") {
/* Ensable Image URL Checkbox */
if(urlCB) urlCB.setValue(true, true);
if(fileCB) fileCB.setValue(false, true);
/* Load preview image */
if(urlI) imagePreviewLoad(urlI.getValue());
} else if(fsupport) {
/* Ensable Image File Checkbox */
if(urlCB) urlCB.setValue(false, true);
if(fileCB) fileCB.setValue(true, true);
/* Read file and load preview */
var fileI = t.getContentElement("tab-source", "file");
var n = null;
try { n = fileI.getInputElement().$; } catch(e) { n = null; }
if(n && "files" in n && n.files && n.files.length > 0 && n.files[0]) {
if("type" in n.files[0] && !n.files[0].type.match("image.*")) return;
if(!FileReader) return;
imgPreview.getElement().setHtml("Loading...");
var fr = new FileReader();
fr.onload = (function(f) { return function(e) {
imgPreview.getElement().setHtml("");
imagePreviewLoad(e.target.result);
}; })(n.files[0]);
fr.onerror = function(){ imgPreview.getElement().setHtml(""); };
fr.onabort = function(){ imgPreview.getElement().setHtml(""); };
fr.readAsDataURL(n.files[0]);
}
}
};
/* Calculate image dimensions */
function getImageDimensions() {
var o = {
"w" : t.getContentElement("tab-properties", "width").getValue(),
"h" : t.getContentElement("tab-properties", "height").getValue(),
"uw" : "px",
"uh" : "px"
};
if(o.w.indexOf("%") >= 0) o.uw = "%";
if(o.h.indexOf("%") >= 0) o.uh = "%";
o.w = parseInt(o.w, 10);
o.h = parseInt(o.h, 10);
if(isNaN(o.w)) o.w = 0;
if(isNaN(o.h)) o.h = 0;
return o;
}
/* Set image dimensions */
function imageDimensions(src) {
var o = getImageDimensions();
var u = "px";
if(src == "width") {
if(o.uw == "%") u = "%";
o.h = Math.round(o.w / imgScal);
} else {
if(o.uh == "%") u = "%";
o.w = Math.round(o.h * imgScal);
}
if(u == "%") {
o.w += "%";
o.h += "%";
}
t.getContentElement("tab-properties", "width").setValue(o.w),
t.getContentElement("tab-properties", "height").setValue(o.h)
}
/* Set integer Value */
function integerValue(elem) {
var v = elem.getValue(), u = "";
if(v.indexOf("%") >= 0) u = "%";
v = parseInt(v, 10);
if(isNaN(v)) v = 0;
elem.setValue(v+u);
}
if(fsupport) {
/* Dialog with file and url image source */
var sourceElements = [
{
type: "hbox",
widths: ["70px"],
children: [
{
type: "checkbox",
id: "urlcheckbox",
style: "margin-top:5px",
label: editor.lang.common.url+":"
},
{
type: "text",
id: "url",
label: "",
onChange: function(){ imagePreview("url"); }
}
]
},
{
type: "hbox",
widths: ["70px"],
children: [
{
type: "checkbox",
id: "filecheckbox",
style: "margin-top:5px",
label: editor.lang.common.upload+":"
},
{
type: "file",
id: "file",
label: "",
onChange: function(){ imagePreview("file"); }
}
]
},
{
type: "html",
id: "preview",
html: new CKEDITOR.template("<div style=\"text-align:center;\"></div>").output()
}
];
} else {
/* Dialog with url image source */
var sourceElements = [
{
type: "text",
id: "url",
label: editor.lang.common.url,
onChange: function(){ imagePreview("url"); }
},
{
type: "html",
id: "preview",
html: new CKEDITOR.template("<div style=\"text-align:center;\"></div>").output()
}
];
}
/* Dialog */
return {
title: editor.lang.common.image,
minWidth: 450,
minHeight: 180,
onLoad: function(){
if(fsupport) {
/* Get checkboxes */
urlCB = this.getContentElement("tab-source", "urlcheckbox");
fileCB = this.getContentElement("tab-source", "filecheckbox");
/* Checkbox Events */
urlCB.getInputElement().on("click", function(){ imagePreview("url"); });
fileCB.getInputElement().on("click", function(){ imagePreview("file"); });
}
/* Get url input element */
urlI = this.getContentElement("tab-source", "url");
/* Get image preview element */
imgPreview = this.getContentElement("tab-source", "preview");
/* Constrain proportions or not */
this.getContentElement("tab-properties", "lock").getInputElement().on("click", function(){
if(this.getValue()) lock = true; else lock = false;
if(lock) imageDimensions("width");
}, this.getContentElement("tab-properties", "lock"));
/* Change Attributes Events */
this.getContentElement("tab-properties", "width").getInputElement().on("keyup", function(){ if(lock) imageDimensions("width"); });
this.getContentElement("tab-properties", "height").getInputElement().on("keyup", function(){ if(lock) imageDimensions("height"); });
this.getContentElement("tab-properties", "vmargin").getInputElement().on("keyup", function(){ integerValue(this); }, this.getContentElement("tab-properties", "vmargin"));
this.getContentElement("tab-properties", "hmargin").getInputElement().on("keyup", function(){ integerValue(this); }, this.getContentElement("tab-properties", "hmargin"));
this.getContentElement("tab-properties", "border").getInputElement().on("keyup", function(){ integerValue(this); }, this.getContentElement("tab-properties", "border"));
},
onShow: function(){
/* Remove preview */
imgPreview.getElement().setHtml("");
t = this, orgWidth = null, orgHeight = null, imgScal = 1, lock = true;
/* selected image or null */
selectedImg = editor.getSelection();
if(selectedImg) selectedImg = selectedImg.getSelectedElement();
if(!selectedImg || selectedImg.getName() !== "img") selectedImg = null;
/* Set input values */
t.setValueOf("tab-properties", "lock", lock);
t.setValueOf("tab-properties", "vmargin", "0");
t.setValueOf("tab-properties", "hmargin", "0");
t.setValueOf("tab-properties", "border", "0");
t.setValueOf("tab-properties", "align", "none");
if(selectedImg) {
/* Set input values from selected image */
if(typeof(selectedImg.getAttribute("width")) == "string") orgWidth = selectedImg.getAttribute("width");
if(typeof(selectedImg.getAttribute("height")) == "string") orgHeight = selectedImg.getAttribute("height");
if((orgWidth == null || orgHeight == null) && selectedImg.$) {
orgWidth = selectedImg.$.width;
orgHeight = selectedImg.$.height;
}
if(orgWidth != null && orgHeight != null) {
t.setValueOf("tab-properties", "width", orgWidth);
t.setValueOf("tab-properties", "height", orgHeight);
orgWidth = parseInt(orgWidth, 10);
orgHeight = parseInt(orgHeight, 10);
imgScal = 1;
if(!isNaN(orgWidth) && !isNaN(orgHeight) && orgHeight > 0 && orgWidth > 0) imgScal = orgWidth / orgHeight;
if(imgScal <= 0) imgScal = 1;
}
if(typeof(selectedImg.getAttribute("src")) == "string") {
if(selectedImg.getAttribute("src").indexOf("data:") === 0) {
imagePreview("base64");
imagePreviewLoad(selectedImg.getAttribute("src"));
} else {
t.setValueOf("tab-source", "url", selectedImg.getAttribute("src"));
}
}
if(typeof(selectedImg.getAttribute("alt")) == "string") t.setValueOf("tab-properties", "alt", selectedImg.getAttribute("alt"));
if(typeof(selectedImg.getAttribute("hspace")) == "string") t.setValueOf("tab-properties", "hmargin", selectedImg.getAttribute("hspace"));
if(typeof(selectedImg.getAttribute("vspace")) == "string") t.setValueOf("tab-properties", "vmargin", selectedImg.getAttribute("vspace"));
if(typeof(selectedImg.getAttribute("border")) == "string") t.setValueOf("tab-properties", "border", selectedImg.getAttribute("border"));
if(typeof(selectedImg.getAttribute("align")) == "string") {
switch(selectedImg.getAttribute("align")) {
case "top":
case "text-top":
t.setValueOf("tab-properties", "align", "top");
break;
case "baseline":
case "bottom":
case "text-bottom":
t.setValueOf("tab-properties", "align", "bottom");
break;
case "left":
t.setValueOf("tab-properties", "align", "left");
break;
case "right":
t.setValueOf("tab-properties", "align", "right");
break;
}
}
t.selectPage("tab-properties");
}
},
onOk : function(){
/* Get image source */
var src = "";
try { src = CKEDITOR.document.getById(editor.id+"previewimage").$.src; } catch(e) { src = ""; }
if(typeof(src) != "string" || src == null || src === "") return;
/* selected image or new image */
if(selectedImg) var newImg = selectedImg; else var newImg = editor.document.createElement("img");
newImg.setAttribute("src", src);
src = null;
/* Set attributes */
newImg.setAttribute("alt", t.getValueOf("tab-properties", "alt").replace(/^\s+/, "").replace(/\s+$/, ""));
var attr = {
"width" : ["width", "width:#;", "integer", 1],
"height" : ["height", "height:#;", "integer", 1],
"vmargin" : ["vspace", "margin-top:#;margin-bottom:#;", "integer", 0],
"hmargin" : ["hspace", "margin-left:#;margin-right:#;", "integer", 0],
"align" : ["align", ""],
"border" : ["border", "border:# solid black;", "integer", 0]
}, css = [], value, cssvalue, attrvalue, k;
for(k in attr) {
value = t.getValueOf("tab-properties", k);
attrvalue = value;
cssvalue = value;
unit = "px";
if(k == "align") {
switch(value) {
case "top":
case "bottom":
attr[k][1] = "vertical-align:#;";
break;
case "left":
case "right":
attr[k][1] = "float:#;";
break;
default:
value = null;
break;
}
}
if(attr[k][2] == "integer") {
if(value.indexOf("%") >= 0) unit = "%";
value = parseInt(value, 10);
if(isNaN(value)) value = null; else if(value < attr[k][3]) value = null;
if(value != null) {
if(unit == "%") {
attrvalue = value+"%";
cssvalue = value+"%";
} else {
attrvalue = value;
cssvalue = value+"px";
}
}
}
if(value != null) {
newImg.setAttribute(attr[k][0], attrvalue);
css.push(attr[k][1].replace(/#/g, cssvalue));
}
}
if(css.length > 0) newImg.setAttribute("style", css.join(""));
/* Insert new image */
if(!selectedImg) editor.insertElement(newImg);
/* Resize image */
if(editor.plugins.imageresize) editor.plugins.imageresize.resize(editor, newImg, 800, 800);
},
/* Dialog form */
contents: [
{
id: "tab-source",
label: editor.lang.common.generalTab,
elements: sourceElements
},
{
id: "tab-properties",
label: editor.lang.common.advancedTab,
elements: [
{
type: "text",
id: "alt",
label: editor.lang.base64image.alt
},
{
type: 'hbox',
widths: ["15%", "15%", "70%"],
children: [
{
type: "text",
width: "45px",
id: "width",
label: editor.lang.common.width
},
{
type: "text",
width: "45px",
id: "height",
label: editor.lang.common.height
},
{
type: "checkbox",
id: "lock",
label: editor.lang.base64image.lockRatio,
style: "margin-top:18px;"
}
]
},
{
type: 'hbox',
widths: ["23%", "30%", "30%", "17%"],
style: "margin-top:10px;",
children: [
{
type: "select",
id: "align",
label: editor.lang.common.align,
items: [
[editor.lang.common.notSet, "none"],
[editor.lang.common.alignTop, "top"],
[editor.lang.common.alignBottom, "bottom"],
[editor.lang.common.alignLeft, "left"],
[editor.lang.common.alignRight, "right"]
]
},
{
type: "text",
width: "45px",
id: "vmargin",
label: editor.lang.base64image.vSpace
},
{
type: "text",
width: "45px",
id: "hmargin",
label: editor.lang.base64image.hSpace
},
{
type: "text",
width: "45px",
id: "border",
label: editor.lang.base64image.border
}
]
}
]
}
]
};
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","af",{
"alt":"Alternatiewe teks",
"lockRatio":"Vaste proporsie",
"vSpace":"VSpasie",
"hSpace":"HSpasie",
"border":"Rand"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ar",{
"alt":"عنوان الصورة",
"lockRatio":"تناسق الحجم",
"vSpace":"تباعد عمودي",
"hSpace":"تباعد أفقي",
"border":"سمك الحدود"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","bg",{
"alt":"Алтернативен текст",
"lockRatio":"Заключване на съотношението",
"vSpace":"Вертикален отстъп",
"hSpace":"Хоризонтален отстъп",
"border":"Рамка"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","bn",{
"alt":"বিকল্প টেক্সট",
"lockRatio":"অনুপাত লক কর",
"vSpace":"ভার্টিকেল স্পেস",
"hSpace":"হরাইজন্টাল স্পেস",
"border":"বর্ডার"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","bs",{
"alt":"Tekst na slici",
"lockRatio":"Zakljuèaj odnos",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Okvir"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ca",{
"alt":"Text alternatiu",
"lockRatio":"Bloqueja les proporcions",
"vSpace":"Espaiat vert.",
"hSpace":"Espaiat horit.",
"border":"Vora"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","cs",{
"alt":"Alternativní text",
"lockRatio":"Zámek",
"vSpace":"Vertikální mezera",
"hSpace":"Horizontální mezera",
"border":"Okraje"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","cy",{
"alt":"Testun Amgen",
"lockRatio":"Cloi Cymhareb",
"vSpace":"BwlchF",
"hSpace":"BwlchLl",
"border":"Ymyl"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","da",{
"alt":"Alternativ tekst",
"lockRatio":"Lås størrelsesforhold",
"vSpace":"Lodret margen",
"hSpace":"Vandret margen",
"border":"Ramme"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","de",{
"alt":"Alternativer Text",
"lockRatio":"Größenverhältnis beibehalten",
"vSpace":"Vertikal-Abstand",
"hSpace":"Horizontal-Abstand",
"border":"Rahmen"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","el",{
"alt":"Εναλλακτικό Κείμενο",
"lockRatio":"Κλείδωμα Αναλογίας",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Περίγραμμα"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","en-au",{
"alt":"Alternative Text",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","en-ca",{
"alt":"Alternative Text",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","en-gb",{
"alt":"Alternative Text",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","en",{
"alt":"Alternative Text",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","eo",{
"alt":"Anstataŭiga Teksto",
"lockRatio":"Konservi Proporcion",
"vSpace":"Vertikala Spaco",
"hSpace":"Horizontala Spaco",
"border":"Bordero"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","es",{
"alt":"Texto Alternativo",
"lockRatio":"Proporcional",
"vSpace":"Esp.Vert",
"hSpace":"Esp.Horiz",
"border":"Borde"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","et",{
"alt":"Alternatiivne tekst",
"lockRatio":"Lukusta kuvasuhe",
"vSpace":"V. vaheruum",
"hSpace":"H. vaheruum",
"border":"Joon"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","eu",{
"alt":"Ordezko Testua",
"lockRatio":"Erlazioa Blokeatu",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Ertza"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","fa",{
"alt":"متن جایگزین",
"lockRatio":"قفل کردن نسبت",
"vSpace":"فاصلهٴ عمودی",
"hSpace":"فاصلهٴ افقی",
"border":"لبه"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","fi",{
"alt":"Vaihtoehtoinen teksti",
"lockRatio":"Lukitse suhteet",
"vSpace":"Pystytila",
"hSpace":"Vaakatila",
"border":"Kehys"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","fo",{
"alt":"Alternativur tekstur",
"lockRatio":"Læs lutfallið",
"vSpace":"Vinstri breddi",
"hSpace":"Høgri breddi",
"border":"Bordi"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","fr-ca",{
"alt":"Texte alternatif",
"lockRatio":"Verrouiller les proportions",
"vSpace":"Espacement vertical",
"hSpace":"Espacement horizontal",
"border":"Bordure"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","fr",{
"alt":"Texte de remplacement",
"lockRatio":"Conserver les proportions",
"vSpace":"Espacement vertical",
"hSpace":"Espacement horizontal",
"border":"Bordure"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","gl",{
"alt":"Texto alternativo",
"lockRatio":"Proporcional",
"vSpace":"Esp.Vert.",
"hSpace":"Esp.Horiz.",
"border":"Bordo"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","gu",{
"alt":"ઑલ્ટર્નટ ટેક્સ્ટ",
"lockRatio":"લૉક ગુણોત્તર",
"vSpace":"લંબરૂપ જગ્યા",
"hSpace":"સમસ્તરીય જગ્યા",
"border":"બોર્ડર"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","he",{
"alt":"טקסט חלופי",
"lockRatio":"נעילת היחס",
"vSpace":"מרווח אנכי",
"hSpace":"מרווח אופקי",
"border":"מסגרת"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","hi",{
"alt":"वैकल्पिक टेक्स्ट",
"lockRatio":"लॉक अनुपात",
"vSpace":"वर्टिकल स्पेस",
"hSpace":"हॉरिज़ॉन्टल स्पेस",
"border":"बॉर्डर"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","hr",{
"alt":"Alternativni tekst",
"lockRatio":"Zaključaj odnos",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Okvir"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","hu",{
"alt":"Buborék szöveg",
"lockRatio":"Arány megtartása",
"vSpace":"Függ. táv",
"hSpace":"Vízsz. táv",
"border":"Keret"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","id",{
"alt":"Teks alternatif",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Batas"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","is",{
"alt":"Baklægur texti",
"lockRatio":"Festa stærðarhlutfall",
"vSpace":"Hægri bil",
"hSpace":"Vinstri bil",
"border":"Rammi"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","it",{
"alt":"Testo alternativo",
"lockRatio":"Blocca rapporto",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Bordo"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ja",{
"alt":"代替テキスト",
"lockRatio":"比率を固定",
"vSpace":"垂直間隔",
"hSpace":"水平間隔",
"border":"枠線の幅"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ka",{
"alt":"სანაცვლო ტექსტი",
"lockRatio":"პროპორციის შენარჩუნება",
"vSpace":"ჰორიზონტალური სივრცე",
"hSpace":"ვერტიკალური სივრცე",
"border":"ჩარჩო"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","km",{
"alt":"អត្ថបទជំនួស",
"lockRatio":"អត្រាឡុក",
"vSpace":"VSpace",
"hSpace":"គំលាតទទឹង",
"border":"ស៊ុម"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ko",{
"alt":"이미지 설명",
"lockRatio":"비율 유지",
"vSpace":"수직여백",
"hSpace":"수평여백",
"border":"테두리"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ku",{
"alt":"جێگرەوەی دەق",
"lockRatio":"داخستنی ڕێژه",
"vSpace":"بۆشایی ئەستونی",
"hSpace":"بۆشایی ئاسۆیی",
"border":"پەراوێز"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","lt",{
"alt":"Alternatyvus Tekstas",
"lockRatio":"Išlaikyti proporciją",
"vSpace":"Vert.Erdvė",
"hSpace":"Hor.Erdvė",
"border":"Rėmelis"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","lv",{
"alt":"Alternatīvais teksts",
"lockRatio":"Nemainīga Augstuma/Platuma attiecība",
"vSpace":"Horizontālā telpa",
"hSpace":"Vertikālā telpa",
"border":"Rāmis"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","mk",{
"alt":"Alternative Text",
"lockRatio":"Lock Ratio",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","mn",{
"alt":"Зургийг орлох бичвэр",
"lockRatio":"Радио түгжих",
"vSpace":"Босоо зай",
"hSpace":"Хөндлөн зай",
"border":"Хүрээ"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ms",{
"alt":"Text Alternatif",
"lockRatio":"Tetapkan Nisbah",
"vSpace":"Ruang Menegak",
"hSpace":"Ruang Melintang",
"border":"Border"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","nb",{
"alt":"Alternativ tekst",
"lockRatio":"Lås forhold",
"vSpace":"VMarg",
"hSpace":"HMarg",
"border":"Ramme"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","nl",{
"alt":"Alternatieve tekst",
"lockRatio":"Afmetingen vergrendelen",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Rand"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","no",{
"alt":"Alternativ tekst",
"lockRatio":"Lås forhold",
"vSpace":"VMarg",
"hSpace":"HMarg",
"border":"Ramme"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","pl",{
"alt":"Tekst zastępczy",
"lockRatio":"Zablokuj proporcje",
"vSpace":"Odstęp pionowy",
"hSpace":"Odstęp poziomy",
"border":"Obramowanie"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","pt-br",{
"alt":"Texto Alternativo",
"lockRatio":"Travar Proporções",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Borda"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","pt",{
"alt":"Texto Alternativo",
"lockRatio":"Proporcional",
"vSpace":"Esp.Vert",
"hSpace":"Esp.Horiz",
"border":"Limite"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ro",{
"alt":"Text alternativ",
"lockRatio":"Păstrează proporţiile",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Margine"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ru",{
"alt":"Альтернативный текст",
"lockRatio":"Сохранять пропорции",
"vSpace":"Вертик. отступ",
"hSpace":"Гориз. отступ",
"border":"Граница"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","si",{
"alt":"විකල්ප ",
"lockRatio":"නවතන අනුපාතය ",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"සීමාවවල "
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sk",{
"alt":"Alternatívny text",
"lockRatio":"Pomer zámky",
"vSpace":"V-medzera",
"hSpace":"H-medzera",
"border":"Rám (border)"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sl",{
"alt":"Nadomestno besedilo",
"lockRatio":"Zakleni razmerje",
"vSpace":"Navpični razmik",
"hSpace":"Vodoravni razmik",
"border":"Obroba"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sq",{
"alt":"Tekst Alternativ",
"lockRatio":"Mbyll Racionin",
"vSpace":"Hapësira Vertikale",
"hSpace":"HSpace",
"border":"Korniza"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sr-latn",{
"alt":"Alternativni tekst",
"lockRatio":"Zaključaj odnos",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Okvir"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sr",{
"alt":"Алтернативни текст",
"lockRatio":"Закључај однос",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"Оквир"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","sv",{
"alt":"Alternativ text",
"lockRatio":"Lås höjd/bredd förhållanden",
"vSpace":"Vert. marginal",
"hSpace":"Horis. marginal",
"border":"Kant"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","th",{
"alt":"คำประกอบรูปภาพ",
"lockRatio":"กำหนดอัตราส่วน กว้าง-สูง แบบคงที่",
"vSpace":"ระยะแนวตั้ง",
"hSpace":"ระยะแนวนอน",
"border":"ขนาดขอบรูป"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","tr",{
"alt":"Alternatif Yazı",
"lockRatio":"Oranı Kilitle",
"vSpace":"Dikey Boşluk",
"hSpace":"Yatay Boşluk",
"border":"Kenar"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","ug",{
"alt":"تېكىست ئالماشتۇر",
"lockRatio":"نىسبەتنى قۇلۇپلا",
"vSpace":"بويىغا ئارىلىقى",
"hSpace":"توغرىسىغا ئارىلىقى",
"border":"گىرۋەك چوڭلۇقى"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","uk",{
"alt":"Альтернативний текст",
"lockRatio":"Зберегти пропорції",
"vSpace":"Верт. відступ",
"hSpace":"Гориз. відступ",
"border":"Рамка"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","vi",{
"alt":"Chú thích ảnh",
"lockRatio":"Giữ nguyên tỷ lệ",
"vSpace":"Khoảng đệm dọc",
"hSpace":"Khoảng đệm ngang",
"border":"Đường viền"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","zh-cn",{
"alt":"替换文本",
"lockRatio":"锁定比例",
"vSpace":"垂直间距",
"hSpace":"水平间距",
"border":"边框大小"
});
@@ -0,0 +1,12 @@
/*
Translation from original CKEDITOR language files:
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("base64image","zh",{
"alt":"替代文字",
"lockRatio":"固定比例",
"vSpace":"VSpace",
"hSpace":"HSpace",
"border":"框線"
});
@@ -0,0 +1,57 @@
/*
* Base64Image Plugin for CKEditor (http://github.com/nmmf/base64image)
* Created by ALL-INKL.COM - Neue Medien M�nnich - 04. Feb 2014
* Licensed under the terms of GPL, LGPL and MPL licenses.
*/
CKEDITOR.plugins.add("base64image", {
lang : ["af","ar","bg","bn","bs","ca","cs","cy","da","de","el","en","en-au","en-ca","en-gb","eo","es","et","eu","fa","fi","fo","fr","fr-ca","gl","gu","he","hi","hr","hu","id","is","it","ja","ka","km","ko","ku","lt","lv","mk","mn","ms","nb","nl","no","pl","pt","pt-br","ro","ru","si","sk","sl","sq","sr","sr-latn","sv","th","tr","ug","uk","vi","zh","zh-cn"],
requires: "dialog",
icons : "base64image",
hidpi : true,
init : function(editor){
var pluginName = 'base64imageDialog';
editor.ui.addButton("base64image", {
label: editor.lang.common.image,
command: pluginName,
toolbar: "insert"
});
CKEDITOR.dialog.add(pluginName, this.path+"dialogs/base64image.js");
var allowed = 'img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}',
required = 'img[alt,src]';
editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName, {
allowedContent: allowed,
requiredContent: required,
contentTransformations: [
[ 'img{width}: sizeToStyle', 'img[width]: sizeToAttribute' ],
[ 'img{float}: alignmentToStyle', 'img[align]: alignmentToAttribute' ]
]
} ) );
editor.on("doubleclick", function(evt){
if(evt.data.element && !evt.data.element.isReadOnly() && evt.data.element.getName() === "img") {
evt.data.dialog = pluginName;
editor.getSelection().selectElement(evt.data.element);
}
});
if(editor.addMenuItem) {
editor.addMenuGroup("base64imageGroup");
editor.addMenuItem("base64imageItem", {
label: editor.lang.common.image,
icon: this.path+"icons/base64image.png",
command: pluginName,
group: "base64imageGroup"
});
}
if(editor.contextMenu) {
editor.contextMenu.addListener(function(element, selection) {
if(element && element.getName() === "img") {
editor.getSelection().selectElement(element);
return { base64imageItem: CKEDITOR.TRISTATE_ON };
}
return null;
});
}
}
});