This commit is contained in:
Xes
2025-08-14 22:37:50 +02:00
parent fb6d5d5926
commit 3641e93527
9156 changed files with 1813532 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'de', {
title : "Medien Inhalt einbinden (Bilder, Video, Inhalt)",
button : "Medien Inhalt von Verschiedenen Seiten einbinden",
pasteUrl : "Fügen Sie eine Url (Gekürzte Urls werden auch erkannt) ein von einer Seite die Unterstützt wird (z.B.: YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) ...",
invalidUrl : "Sie müssem eine korrekte URL an!",
noEmbedCode : "Kein embed Code gefunden, oder Seite wird nicht Unterstützt!",
url : "URL:",
width: "Breite:",
height: "Höhe:",
widthTitle: "Breite für den eingebundenen Inhalt",
heightTitle: "Höhe für den eingebundenen Inhalt",
maxWidth: "Max. Breite:",
maxHeight: "Max. Höhe:",
maxWidthTitle: "Maximale Breite für den eingebundenen Inhalt",
maxHeightTitle: "Maximale Höhe für den eingebundenen Inhalt",
resizeType: "Größenveränderungsmodus (Nur Video's):",
noresize: "Keine Veränderung (Standardgröße)",
responsive: "Responsive",
custom: "Eigene Größe",
autoClose: "Dialog nach einbettung automatisch schließen",
noVimeo: "Der Eigentümber dieses Videos hat Domain einschränkungen für dieses Video gesetzt das Video kann nicht in die Webseite eingebunden werden.",
Error: "Inhalt konnte nicht gefunden werden, bitte Versuchen sie eine Andere URL."
});

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'en', {
title: "Embed Media Content (Photo, Video, Audio, Rich)",
button: "Embed Media Content from Various Sites",
pasteUrl: "Paste an URL (Also shortened URLs are supported) from one of the Supported Sites (e.g. YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) here ...",
invalidUrl: "Please provide an valid URL!",
noEmbedCode: "No embed code found, or site is not supported!",
url: "URL:",
width: "Width:",
height: "Height:",
widthTitle: "Width for the embeded Content",
heightTitle: "Height for the embeded Content",
maxWidth: "Max. Width:",
maxHeight: "Max. Height:",
maxWidthTitle: "Maximum Width for the embeded Content",
maxHeightTitle: "Maximum Height for the embeded Content",
resizeType: "Resize Type (Only Video's):",
noresize: "No Resize (use default)",
responsive: "Responsive Resize",
custom: "Specific Resize",
autoClose: "Automatically Close Dialog after Code is Embeded",
noVimeo: "The owner of this video has set domain restrictions and you will not be able to embed it on your website.",
Error: "Media Content could not been retrieved, please try a different URL."
});

View File

@@ -0,0 +1,25 @@
// French Translation by https://github.com/wissim
CKEDITOR.plugins.setLang('oembed', 'fr', {
title : "Intégrer des contenus multimédia externes. (Photo, Video, Audio, ...)",
button : "Insérer des contenus multimédia provenant de nombreux sites.",
pasteUrl : "Coller l'URL de partage que vous voulez publier. De nombreux services sont pris en charge tels que : (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.). Vous pouvez aussi utiliser les URLs courtes.",
invalidUrl : "Merci de fournir une URL valide !",
noEmbedCode : "Aucun code d'intégration trouvé ou le site n'est pas supporté !",
url : "URL:",
width: "Largeur:",
height: "Hauteur:",
widthTitle: "Largeur du conteneur.",
heightTitle: "Hauteur du conteneur.",
maxWidth: "Max. Largeur:",
maxHeight: "Max. Hauteur:",
maxWidthTitle: "Largeur maximale du conteneur.",
maxHeightTitle: "Hauteur maximale du conteneur.",
resizeType: "Type de redimensionnement (uniquement les vidéos):",
noresize: "Pas de redimensionnement (par défaut)",
responsive: "Redimensionnement réactif",
custom: "Redimensionnement spécifique",
autoClose: "Fermer automatiquement la boîte de dialogue une fois le code incorporé",
noVimeo: "Le propriétaire de cette vidéo a défini des restrictions de domaine et vous ne pourrez pas l'intégrer à votre site Web.",
Error: "Impossible de récupérer le contenu multimédia, veuillez essayer une autre URL."
});

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'nl', {
title : "Integratie van media-inhoud (foto's, video, content)",
button : "Media-inhoud van externe websites",
pasteUrl : "Geef een URL van een pagina in dat ondersteund wordt (Bijv.: YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) ...",
invalidUrl : "Please provide an valid URL!",
noEmbedCode : "No embed code found, or site is not supported!",
url : "URL:",
width: "Breedte:",
height: "Hoogte:",
widthTitle: "Width for the embeded Content",
heightTitle: "Height for the embeded Content",
maxWidth: "Maximale breedte:",
maxHeight: "Maximale hoogte:",
maxWidthTitle: "Maximum Width for the embeded Content",
maxHeightTitle: "Maximum Height for the embeded Content",
resizeType: "Resize Type (Only Video's):",
noresize: "No Resize (use default)",
responsive: "Responsive Resize",
custom: "Specific Resize",
autoClose: "Automatically Close Dialog after Code is Embeded",
noVimeo: "The owner of this video has set domain restrictions and you will not be able to embed it on your website.",
Error: "Media Content could not been retrieved, please try a different URL."
});

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'pl', {
title: "Osadzanie multimediów (zdjęć, filmów, dźwięku, bogatych treści)",
button: "Osadzanie multimediów z witryn zewnętrznych",
pasteUrl: "Wklej tutaj adres URL (adresy skrócone są również obsługiwane) z jednej z obsługiwanych stron (YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, itp.).",
invalidUrl: "Proszę wprowadzić prawidłowy adres URL!",
noEmbedCode: "Odnośnik nieprawidłowy lub nieobsługiwany!",
url: "URL:",
width: "szerokość:",
height: "wysokość:",
widthTitle: "Szerokość osadzanej zawartości",
heightTitle: "Wysokość osadzanej zawartości",
maxWidth: "Maks. szerokość:",
maxHeight: "Maks. wysokość:",
maxWidthTitle: "Maksymalna szerokość osadzanej zawartości",
maxHeightTitle: "Maksymalna wysokość osadzanej zawartości",
resizeType: "Typ zmiany rozmiaru (tylko nagrania wideo):",
noresize: "Bez zmiany rozmiaru (domyślne)",
responsive: "Responsywna zmiana rozmiaru",
custom: "Narzucona zmiana rozmiaru",
autoClose: "Zamykaj okno dialogowe automatycznie po osadzeniu kodu",
noVimeo: "Właściciel nagrania wideo nałożył ograniczenia domenowe, nagrania nie można osadzić w witrynie.",
Error: "Nie można uzyskać zawartości multimedialnej, proszę spróbować inny adres URL."
});

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'pt-br', {
title: "Conteúdo embed de mídia (foto, vídeo, audio, rich)",
button: "Conteúdo embed de mídia de vários sites",
pasteUrl: "Cole aqui a URL (inclusive URLs encurtadas) de um dos sites que o plugin suporta (ex. YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) ...",
invalidUrl: "Por favor informe uma URL válida!",
noEmbedCode: "Nenhum código embed foi encontrado, ou esse site não está na lista dos sites suportados pelo plugin!",
url: "URL:",
width: "Largura:",
height: "Altura:",
widthTitle: "Largura do conteúdo embebed",
heightTitle: "Altura do conteúdo embeded",
maxWidth: "Largura máx.:",
maxHeight: "Altura máx.:",
maxWidthTitle: "Largura máxima do conteúdo embeded",
maxHeightTitle: "Altura máxima do conteúdo embeded",
resizeType: "Tipo de redimensionamento (Somente para video):",
noresize: "Sem redimensionamento (default)",
responsive: "Redimensionamento responsivo",
custom: "Redimensionamento específico",
autoClose: "Fechas automaticamente a caixa de diálogo o código ser embeded",
noVimeo: "O dono desse vídeo tem restrições de domínio a você não poderá utilizá-lo em seu site.",
Error: "Esse conteúdo de mídia não foi encontrado, por favor tente uma URL diferente."
});

View File

@@ -0,0 +1,23 @@
CKEDITOR.plugins.setLang('oembed', 'ru', {
title: "Внедрить медиа-контент (видео, аудио, фото и т.д.)",
button: "Внедрить медиа-контент с различных сайтов",
pasteUrl: "Вставьте ссылку на страницу с медиа-контентом (например YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, и т.д.)",
invalidUrl: "Вы ввели некорректный URL",
noEmbedCode: "Не обнаружен код для вставки. Возможно, вы ввели ссылку с неподдерживаемого сайта.",
url: "URL:",
width: "Ширина:",
height: "Высота:",
widthTitle: "Ширина внедряемого медиа-контента",
heightTitle: "Высота внедряемого медиа-контента",
maxWidth: "Макс. ширина:",
maxHeight: "Макс. высота:",
maxWidthTitle: "Максимальная ширина внедряемого медиа-контента",
maxHeightTitle: "Максимальная высота внедряемого медиа-контента",
resizeType: "Изменение размера (только для видео):",
noresize: "Без изменения (стандартный размер)",
responsive: "Задать максимальный размер",
custom: "Задать конкретный размер",
autoClose: "Автоматически закрыть диалог после внедрения кода",
noVimeo: "Владелец этого видео установил ограничения на домен, и вы не можете его встроить на ваш сайт.",
Error: "Невозможно получить медиа-контент. Попробуйте другой URL."
});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,403 @@
/**
* oEmbed Plugin plugin
* Licensed under the MIT license
* jQuery Embed Plugin: http://code.google.com/p/jquery-oembed/ (MIT License)
* Plugin for: http://ckeditor.com/license (GPL/LGPL/MPL: http://ckeditor.com/license)
*/
(function() {
CKEDITOR.plugins.add('oembed', {
icons: 'oembed',
hidpi: true,
requires: 'widget,dialog',
lang: ['de', 'en', 'fr', 'nl', 'pl', 'pt-br', 'ru'],
afterInit: function(editor) {
/*var dataProcessor = editor.dataProcessor,
dataFilter = dataProcessor && dataProcessor.dataFilter;
if (editor.config.oembed_ShowIframePreview) {
if (dataFilter.elementsRules.iframe) {
delete dataFilter.elementsRules.iframe;
}
return;
}
if (dataFilter && !dataFilter.elementsRules.iframe) {
dataFilter.addRules({
elements: {
iframe: function(element) {
return editor.createFakeParserElement(element, 'cke_iframe', 'iframe', true);
}
}
});
}*/
},
init: function(editor) {
if (editor.config.oembed_ShowIframePreview == null || editor.config.oembed_ShowIframePreview == 'undefined') {
editor.config.oembed_ShowIframePreview = false;
}
if (!editor.plugins.iframe && !editor.config.oembed_ShowIframePreview) {
CKEDITOR.addCss('img.cke_iframe' +
'{' +
'background-image: url(' + CKEDITOR.getUrl(CKEDITOR.plugins.getPath('oembed') + 'images/placeholder.png') + ');' +
'background-position: center center;' +
'background-repeat: no-repeat;' +
'border: 1px solid #a9a9a9;' +
'width: 80px;' +
'height: 80px;' +
'}'
);
}
// Load jquery?
loadjQueryLibaries();
CKEDITOR.tools.extend(CKEDITOR.editor.prototype, {
oEmbed: function(url, maxWidth, maxHeight, responsiveResize) {
if (url.length < 1 || url.indexOf('http') < 0) {
alert(editor.lang.oembed.invalidUrl);
return false;
}
if (typeof(jQuery.fn.oembed) === 'undefined') {
CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(CKEDITOR.plugins.getPath('oembed') + 'libs/jquery.oembed.min.js'), function() {
embed();
});
} else {
embed();
}
function embed() {
if (maxWidth == null || maxWidth == 'undefined') {
maxWidth = null;
}
if (maxHeight == null || maxHeight == 'undefined') {
maxHeight = null;
}
if (responsiveResize == null || responsiveResize == 'undefined') {
responsiveResize = false;
}
embedCode(url, editor, false, maxWidth, maxHeight, responsiveResize);
}
return true;
}
});
editor.widgets.add('oembed', {
mask: true,
dialog: 'oembed',
button: editor.lang.oembed.button,
allowedContent: 'div(!' + (editor.config.oembed_WrapperClass != null ? editor.config.oembed_WrapperClass : "embeddedContent") + ');div iframe[*]',
template:
'<div class="' + (editor.config.oembed_WrapperClass != null ? editor.config.oembed_WrapperClass : "embeddedContent") + '">' +
'</div>',
upcast: function(element) {
return element.name == 'div' && element.hasClass(editor.config.oembed_WrapperClass != null ? editor.config.oembed_WrapperClass : "embeddedContent");
},
});
var resizeTypeChanged = function() {
var dialog = this.getDialog(),
resizetype = this.getValue(),
maxSizeBox = dialog.getContentElement('general', 'maxSizeBox').getElement(),
sizeBox = dialog.getContentElement('general', 'sizeBox').getElement();
if (resizetype == 'noresize') {
maxSizeBox.hide();
sizeBox.hide();
} else if (resizetype == "custom") {
maxSizeBox.hide();
sizeBox.show();
} else {
maxSizeBox.show();
sizeBox.hide();
}
};
String.prototype.beginsWith = function(string) {
return (this.indexOf(string) === 0);
};
function loadjQueryLibaries() {
if (typeof(jQuery) === 'undefined') {
CKEDITOR.scriptLoader.load('http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', function() {
if (typeof(jQuery.fn.oembed) === 'undefined') {
CKEDITOR.scriptLoader.load(
CKEDITOR.getUrl(CKEDITOR.plugins.getPath('oembed') + 'libs/jquery.oembed.min.js')
);
}
});
} else if (typeof(jQuery.fn.oembed) === 'undefined') {
CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(CKEDITOR.plugins.getPath('oembed') + 'libs/jquery.oembed.min.js'));
}
}
function embedCode(url, instance, closeDialog, maxWidth, maxHeight, responsiveResize, widget) {
var extraProviderParams = {};
if (responsiveResize) {
extraProviderParams.responsive = true;
}
jQuery('body').oembed(url, {
onEmbed: function(e) {
var codeElement,
codeIframe,
elementAdded = false;
if (typeof e.code === 'string') {
codeElement = CKEDITOR.dom.element.createFromHtml(e.code);
if (widget.element.$.firstChild) {
widget.element.$.removeChild(widget.element.$.firstChild);
}
/*if (codeElement.$.tagName == "IFRAME" && editor.config.oembed_ShowIframePreview === false) {
codeIframe = editor.createFakeElement(codeElement, 'cke_iframe', 'iframe', true);
widget.element.appendHtml(codeIframe.$.outerHTML);
} else {
widget.element.appendHtml(e.code);
}*/
widget.element.appendHtml(e.code);
elementAdded = true;
} else if (typeof e.code[0].outerHTML === 'string') {
codeElement = CKEDITOR.dom.element.createFromHtml(e.code[0].outerHTML);
if (widget.element.$.firstChild) {
widget.element.$.removeChild(widget.element.$.firstChild);
}
/*if (codeElement.$.tagName == "IFRAME" && editor.config.oembed_ShowIframePreview === false) {
codeIframe = editor.createFakeElement(codeElement, 'cke_iframe', 'iframe', true);
widget.element.appendHtml(codeIframe.$.outerHTML);
} else {
widget.element.appendHtml(e.code[0].outerHTML);
}*/
widget.element.appendHtml(e.code[0].outerHTML);
elementAdded = true;
} else {
alert(editor.lang.oembed.noEmbedCode);
}
if (elementAdded) {
if (closeDialog && CKEDITOR.dialog.getCurrent()) {
CKEDITOR.dialog.getCurrent().hide();
}
}
},
onError: function(externalUrl) {
if (externalUrl.indexOf("vimeo.com") > 0) {
alert(editor.lang.oembed.noVimeo);
} else {
alert(editor.lang.oembed.Error);
}
},
maxHeight: maxHeight,
maxWidth: maxWidth,
useResponsiveResize: responsiveResize,
embedMethod: 'editor',
'vimeo': extraProviderParams
});
}
CKEDITOR.dialog.add('oembed', function(editor) {
return {
title: editor.lang.oembed.title,
minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 568 : 550,
minHeight: 155,
onShow: function() {
var resizetype = CKEDITOR.dialog.getCurrent().getContentElement('general', 'resizeType').getValue(),
maxSizeBox = CKEDITOR.dialog.getCurrent().getContentElement('general', 'maxSizeBox').getElement(),
sizeBox = CKEDITOR.dialog.getCurrent().getContentElement('general', 'sizeBox').getElement();
if (resizetype == 'noresize') {
maxSizeBox.hide();
sizeBox.hide();
} else if (resizetype == "custom") {
maxSizeBox.hide();
sizeBox.show();
} else {
maxSizeBox.show();
sizeBox.hide();
}
},
onOk: function() {
},
contents: [{
label: editor.lang.common.generalTab,
id: 'general',
elements: [{
type: 'html',
id: 'oembedHeader',
html: '<div style="white-space:normal;width:500px;padding-bottom:10px">' + editor.lang.oembed.pasteUrl + '</div>'
}, {
type: 'text',
id: 'embedCode',
focus: function() {
this.getElement().focus();
},
label: editor.lang.oembed.url,
title: editor.lang.oembed.pasteUrl,
setup: function(widget) {
if (widget.data.oembed) {
this.setValue(widget.data.oembed);
}
},
commit: function(widget) {
var inputCode = CKEDITOR.dialog.getCurrent().getValueOf('general', 'embedCode'),
resizetype = CKEDITOR.dialog.getCurrent().getContentElement('general', 'resizeType').
getValue(),
maxWidth = null,
maxHeight = null,
responsiveResize = false,
editorInstance = CKEDITOR.dialog.getCurrent().getParentEditor(),
closeDialog = CKEDITOR.dialog.getCurrent().getContentElement('general', 'autoCloseDialog').
getValue();
if (inputCode.length < 1 || inputCode.indexOf('http') < 0) {
alert(editor.lang.oembed.invalidUrl);
return false;
}
if (resizetype == "noresize") {
responsiveResize = false;
} else {
if (resizetype == "responsive") {
maxWidth = CKEDITOR.dialog.getCurrent().getContentElement('general', 'maxWidth').
getInputElement().
getValue();
maxHeight = CKEDITOR.dialog.getCurrent().getContentElement('general', 'maxHeight').
getInputElement().
getValue();
responsiveResize = true;
} else if (resizetype == "custom") {
maxWidth = CKEDITOR.dialog.getCurrent().getContentElement('general', 'width').
getInputElement().
getValue();
maxHeight = CKEDITOR.dialog.getCurrent().getContentElement('general', 'height').
getInputElement().
getValue();
responsiveResize = false;
}
}
// support for multiple urls
if (inputCode.indexOf(";") > 0) {
var urls = inputCode.split(";");
for (var i = 0; i < urls.length; i++) {
var url = urls[i];
if (url.length > 1 && url.beginsWith('http')) {
embedCode(url, editorInstance, false, maxWidth, maxHeight, responsiveResize, widget);
}
// close after last
if (i == urls.length - 1) {
CKEDITOR.dialog.getCurrent().hide();
}
}
} else {
// single url
embedCode(inputCode, editorInstance, closeDialog, maxWidth, maxHeight, responsiveResize, widget);
}
widget.setData('oembed', this.getValue());
}
}, {
type: 'hbox',
widths: ['50%', '50%'],
children: [{
id: 'resizeType',
type: 'select',
label: editor.lang.oembed.resizeType,
'default': 'noresize',
items: [
[editor.lang.oembed.noresize, 'noresize'],
[editor.lang.oembed.responsive, 'responsive'],
[editor.lang.oembed.custom, 'custom']
],
onChange: resizeTypeChanged
}, {
type: 'hbox',
id: 'maxSizeBox',
widths: ['120px', '120px'],
style: 'float:left;position:absolute;left:58%;width:200px',
children: [{
type: 'text',
width: '100px',
id: 'maxWidth',
'default': editor.config.oembed_maxWidth != null ? editor.config.oembed_maxWidth : '560',
label: editor.lang.oembed.maxWidth,
title: editor.lang.oembed.maxWidthTitle
}, {
type: 'text',
id: 'maxHeight',
width: '120px',
'default': editor.config.oembed_maxHeight != null ? editor.config.oembed_maxHeight : '315',
label: editor.lang.oembed.maxHeight,
title: editor.lang.oembed.maxHeightTitle
}]
}, {
type: 'hbox',
id: 'sizeBox',
widths: ['120px', '120px'],
style: 'float:left;position:absolute;left:58%;width:200px',
children: [{
type: 'text',
id: 'width',
width: '100px',
'default': editor.config.oembed_maxWidth != null ? editor.config.oembed_maxWidth : '560',
label: editor.lang.oembed.width,
title: editor.lang.oembed.widthTitle
}, {
type: 'text',
id: 'height',
width: '120px',
'default': editor.config.oembed_maxHeight != null ? editor.config.oembed_maxHeight : '315',
label: editor.lang.oembed.height,
title: editor.lang.oembed.heightTitle
}]
}]
}, {
type: 'checkbox',
id: 'autoCloseDialog',
'default': 'checked',
label: editor.lang.oembed.autoClose,
title: editor.lang.oembed.autoClose
}]
}]
};
});
}//
});
}
)();