Add WebCms

This commit is contained in:
2016-11-07 12:56:17 -05:00
parent dfe92218f4
commit 15911f33c0
2750 changed files with 365672 additions and 133 deletions
@@ -0,0 +1,332 @@
var ImageDialog = {
preInit: function() {
var url;
tinyMCEPopup.requireLangPack();
if (url = tinyMCEPopup.getParam("external_image_list_url"))
document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
},
init: function(ed) {
var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode();
tinyMCEPopup.resizeToInnerSize();
if (n.nodeName == 'IMG') {
nl.src.value = dom.getAttrib(n, 'src');
nl.width.value = dom.getAttrib(n, 'width');
nl.height.value = dom.getAttrib(n, 'height');
nl.alt.value = dom.getAttrib(n, 'alt');
nl.orgHeight.value = dom.getAttrib(n, 'rel').split(",")[1];
nl.orgWidth.value = dom.getAttrib(n, 'rel').split(",")[0];
}
// If option enabled default contrain proportions to checked
if ((ed.getParam("advimage_constrain_proportions", true)) && f.constrain)
f.constrain.checked = true;
this.changeAppearance();
this.showPreviewImage(nl.src.value, 1);
},
insert: function(file, title) {
var ed = tinyMCEPopup.editor, t = this, f = document.forms[0];
if (f.src.value === '') {
if (ed.selection.getNode().nodeName == 'IMG') {
ed.dom.remove(ed.selection.getNode());
ed.execCommand('mceRepaint');
}
tinyMCEPopup.close();
return;
}
if (tinyMCEPopup.getParam("accessibility_warnings", 1)) {
if (!f.alt.value) {
tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) {
if (s)
t.insertAndClose();
});
return;
}
}
t.insertAndClose();
},
insertAndClose: function() {
var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el;
tinyMCEPopup.restoreSelection();
// Fixes crash in Safari
if (tinymce.isWebKit)
ed.getWin().focus();
if (!ed.settings.inline_styles) {
args = {
vspace: nl.vspace.value,
hspace: nl.hspace.value,
border: nl.border.value,
align: getSelectValue(f, 'align')
};
} else {
// Remove deprecated values
args = {
vspace: '',
hspace: '',
border: '',
align: ''
};
}
tinymce.extend(args, {
src: nl.src.value,
width: nl.width.value,
height: nl.height.value,
alt: nl.alt.value,
title: nl.alt.value,
rel: nl.orgWidth.value + ',' + nl.orgHeight.value
});
args.onmouseover = args.onmouseout = '';
el = ed.selection.getNode();
if (el && el.nodeName == 'IMG') {
ed.dom.setAttribs(el, args);
} else {
ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', { skip_undo: 1 });
ed.dom.setAttribs('__mce_tmp', args);
ed.dom.setAttrib('__mce_tmp', 'id', '');
ed.undoManager.add();
}
tinyMCEPopup.close();
},
getAttrib: function(e, at) {
var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
if (ed.settings.inline_styles) {
switch (at) {
case 'align':
if (v = dom.getStyle(e, 'float'))
return v;
if (v = dom.getStyle(e, 'vertical-align'))
return v;
break;
case 'hspace':
v = dom.getStyle(e, 'margin-left')
v2 = dom.getStyle(e, 'margin-right');
if (v && v == v2)
return parseInt(v.replace(/[^0-9]/g, ''));
break;
case 'vspace':
v = dom.getStyle(e, 'margin-top')
v2 = dom.getStyle(e, 'margin-bottom');
if (v && v == v2)
return parseInt(v.replace(/[^0-9]/g, ''));
break;
case 'border':
v = 0;
tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
sv = dom.getStyle(e, 'border-' + sv + '-width');
// False or not the same as prev
if (!sv || (sv != v && v !== 0)) {
v = 0;
return false;
}
if (sv)
v = sv;
});
if (v)
return parseInt(v.replace(/[^0-9]/g, ''));
break;
}
}
if (v = dom.getAttrib(e, at))
return v;
return '';
},
setSwapImage: function(st) {
var f = document.forms[0];
f.onmousemovecheck.checked = st;
setBrowserDisabled('overbrowser', !st);
setBrowserDisabled('outbrowser', !st);
if (f.over_list)
f.over_list.disabled = !st;
if (f.out_list)
f.out_list.disabled = !st;
f.onmouseoversrc.disabled = !st;
f.onmouseoutsrc.disabled = !st;
},
resetImageData: function() {
var f = document.forms[0];
f.elements.width.value = f.elements.height.value = '';
},
updateImageData: function(img, st) {
var f = document.forms[0];
if (!st) {
f.elements.width.value = img.width;
f.elements.height.value = img.height;
}
this.preloadImg = img;
},
changeAppearance: function() {
var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg');
if (img) {
if (ed.getParam('inline_styles')) {
ed.dom.setAttrib(img, 'style', f.style.value);
} else {
img.align = f.align.value;
img.border = f.border.value;
img.hspace = f.hspace.value;
img.vspace = f.vspace.value;
}
}
},
changeHeight: function() {
var f = document.forms[0], tp, t = this;
alert(t.preloadImg);
if (!f.constrain.checked || !t.preloadImg) {
return;
}
if (f.width.value == '' || f.height.value == '')
return;
tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height;
f.height.value = tp.toFixed(0);
},
changeWidth: function() {
var f = document.forms[0], tp, t = this;
if (!f.constrain.checked || !t.preloadImg) {
return;
}
if (f.width.value == '' || f.height.value == '')
return;
tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width;
f.width.value = tp.toFixed(0);
},
updateStyle: function(ty) {
var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', { style: dom.get('style').value });
if (tinyMCEPopup.editor.settings.inline_styles) {
// Handle align
if (ty == 'align') {
dom.setStyle(img, 'float', '');
dom.setStyle(img, 'vertical-align', '');
v = getSelectValue(f, 'align');
if (v) {
if (v == 'left' || v == 'right')
dom.setStyle(img, 'float', v);
else
img.style.verticalAlign = v;
}
}
// Handle border
if (ty == 'border') {
dom.setStyle(img, 'border', '');
v = f.border.value;
if (v || v == '0') {
if (v == '0')
img.style.border = '0';
else
img.style.border = v + 'px solid black';
}
}
// Handle hspace
if (ty == 'hspace') {
dom.setStyle(img, 'marginLeft', '');
dom.setStyle(img, 'marginRight', '');
v = f.hspace.value;
if (v) {
img.style.marginLeft = v + 'px';
img.style.marginRight = v + 'px';
}
}
// Handle vspace
if (ty == 'vspace') {
dom.setStyle(img, 'marginTop', '');
dom.setStyle(img, 'marginBottom', '');
v = f.vspace.value;
if (v) {
img.style.marginTop = v + 'px';
img.style.marginBottom = v + 'px';
}
}
// Merge
dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText));
}
},
changeMouseMove: function() {
},
showPreviewImage: function(u, st) {
if (!u) {
tinyMCEPopup.dom.setHTML('prev', '');
return;
}
if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true))
this.resetImageData();
u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u);
if (!st)
tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this);" onerror="ImageDialog.resetImageData();" />');
else
tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this, 1);" />');
}
};
ImageDialog.preInit();
tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
@@ -0,0 +1,43 @@
tinyMCE.addI18n('en.umbimage_dlg', {
tab_general: 'General',
tab_appearance: 'Appearance',
tab_advanced: 'Advanced',
general: 'General',
title: 'Title',
preview: 'Preview',
constrain_proportions: 'Constrain proportions',
langdir: 'Language direction',
langcode: 'Language code',
long_desc: 'Long description link',
style: 'Style',
classes: 'Classes',
ltr: 'Left to right',
rtl: 'Right to left',
id: 'Id',
map: 'Image map',
swap_image: 'Swap image',
alt_image: 'Alternative image',
mouseover: 'for mouse over',
mouseout: 'for mouse out',
misc: 'Miscellaneous',
example_img: 'Appearance preview image',
missing_alt: 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.',
dialog_title: 'Insert/edit image',
src: 'Image URL',
alt: 'Image description',
list: 'Image list',
border: 'Border',
dimensions: 'Dimensions',
vspace: 'Vertical space',
hspace: 'Horizontal space',
align: 'Alignment',
align_baseline: 'Baseline',
align_top: 'Top',
align_middle: 'Middle',
align_bottom: 'Bottom',
align_texttop: 'Text top',
align_textbottom: 'Text bottom',
align_left: 'Left',
align_right: 'Right',
image_list: 'Image list'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('en_us.umbimage_dlg', {
tab_general: 'General',
tab_appearance: 'Appearance',
tab_advanced: 'Advanced',
general: 'General',
title: 'Title',
preview: 'Preview',
constrain_proportions: 'Constrain proportions',
langdir: 'Language direction',
langcode: 'Language code',
long_desc: 'Long description link',
style: 'Style',
classes: 'Classes',
ltr: 'Left to right',
rtl: 'Right to left',
id: 'Id',
map: 'Image map',
swap_image: 'Swap image',
alt_image: 'Alternative image',
mouseover: 'for mouse over',
mouseout: 'for mouse out',
misc: 'Miscellaneous',
example_img: 'Appearance preview image',
missing_alt: 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.',
dialog_title: 'Insert/edit image',
src: 'Image URL',
alt: 'Image description',
list: 'Image list',
border: 'Border',
dimensions: 'Dimensions',
vspace: 'Vertical space',
hspace: 'Horizontal space',
align: 'Alignment',
align_baseline: 'Baseline',
align_top: 'Top',
align_middle: 'Middle',
align_bottom: 'Bottom',
align_texttop: 'Text top',
align_textbottom: 'Text bottom',
align_left: 'Left',
align_right: 'Right',
image_list: 'Image list'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('he.umbimage_dlg', {
tab_general: 'General',
tab_appearance: 'Appearance',
tab_advanced: 'Advanced',
general: 'General',
title: 'Title',
preview: 'Preview',
constrain_proportions: 'Constrain proportions',
langdir: 'Language direction',
langcode: 'Language code',
long_desc: 'Long description link',
style: 'Style',
classes: 'Classes',
ltr: 'Left to right',
rtl: 'Right to left',
id: 'Id',
map: 'Image map',
swap_image: 'Swap image',
alt_image: 'Alternative image',
mouseover: 'for mouse over',
mouseout: 'for mouse out',
misc: 'Miscellaneous',
example_img: 'Appearance preview image',
missing_alt: 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.',
dialog_title: 'Insert/edit image',
src: 'Image URL',
alt: 'Image description',
list: 'Image list',
border: 'Border',
dimensions: 'Dimensions',
vspace: 'Vertical space',
hspace: 'Horizontal space',
align: 'Alignment',
align_baseline: 'Baseline',
align_top: 'Top',
align_middle: 'Middle',
align_bottom: 'Bottom',
align_texttop: 'Text top',
align_textbottom: 'Text bottom',
align_left: 'Left',
align_right: 'Right',
image_list: 'Image list'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('it.umbimage_dlg', {
tab_general: 'Generale',
tab_appearance: 'Aspetto',
tab_advanced: 'Avanzate',
general: 'Generale',
title: 'Titolo',
preview: 'Anteprima',
constrain_proportions: 'Vincola proporzioni',
langdir: 'Direzione lingua',
langcode: 'Codice lingua',
long_desc: 'Descrizione lunga del collegamento',
style: 'Stile',
classes: 'Classi',
ltr: 'Da sinistra a destra',
rtl: 'Da destra a sinistra',
id: 'Id',
map: 'Image map',
swap_image: 'Swap immagine',
alt_image: 'Testo alternativo',
mouseover: 'Mouse over',
mouseout: 'Mouse out',
misc: 'Varie',
example_img: 'Aspetto anteprima immagine',
missing_alt: 'Sei sicuro di voler continuare senza includere una Descrizione dell'immagine? Se non lo fai l'immagine potrebbe risultare non accessibile per gli utenti con disabilit\u00E0, o per chi utilizza un browser di testo, o per chi naviga senza immagini.',
dialog_title: 'Inserisci/Modifica immagine',
src: 'URL immagine',
alt: 'Descrizione immagine',
list: 'Immagine lista',
border: 'Bordo',
dimensions: 'Dimensioni',
vspace: 'Spaziatura verticale',
hspace: 'Spaziatura orizzontale',
align: 'Allineamento',
align_baseline: 'Baseline',
align_top: 'Top',
align_middle: 'Middle',
align_bottom: 'Bottom',
align_texttop: 'Testo superiore',
align_textbottom: 'Testo inferiore',
align_left: 'Sinistra',
align_right: 'Destra',
image_list: 'Immagine lista'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('ja.umbimage_dlg', {
tab_general: '一般',
tab_appearance: '表示',
tab_advanced: '高度な設定',
general: '一般',
title: 'タイトル',
preview: 'プレビュー',
constrain_proportions: '縦横比の維持',
langdir: '文章の方向',
langcode: '言語コード',
long_desc: '詳細な説明のリンク',
style: 'スタイル',
classes: 'クラス',
ltr: '左から右',
rtl: '右から左',
id: 'Id',
map: 'イメージマップ',
swap_image: '画像の入れ替え',
alt_image: '別の画像',
mouseover: 'マウスカーソルがかかる時',
mouseout: 'マウスカーソルが外れる時',
misc: 'その他',
example_img: '画像のプレビューの様子',
missing_alt: '画像の説明を含めずに続けますか?画像の説明がないと目の不自由な方、テキスト表示だけのブラウザを使用している方、画像の表示を止めてる方がアクセスできないかもしれません。',
dialog_title: '画像の挿入/編集',
src: '画像のURL',
alt: '画像の説明',
list: '画像の一覧',
border: '枠線',
dimensions: '寸法',
vspace: '上下の余白',
hspace: '左右の余白',
align: '配置',
align_baseline: 'ベースライン揃え',
align_top: '上揃え',
align_middle: '中央揃え',
align_bottom: '下揃え',
align_texttop: 'テキストの上端揃え',
align_textbottom: 'テキストの下端揃え',
align_left: '左寄せ',
align_right: '右寄せ',
image_list: '画像の一覧'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('ru.umbimage_dlg', {
tab_general: 'Общее',
tab_appearance: 'Вид',
tab_advanced: 'Дополнительно',
general: 'Общие свойства',
title: 'Заголовок',
preview: 'Предпросмотр',
constrain_proportions: 'Сохранять пропорции',
langdir: 'Направление языка',
langcode: 'Код языка',
long_desc: 'Ссылка на длинное описание',
style: 'Стиль',
classes: 'Классы CSS',
ltr: 'Слева напрапво',
rtl: 'Справа налево',
id: 'Id',
map: 'Карта',
swap_image: 'Замена',
alt_image: 'Альтернатива',
mouseover: 'при заходе мыши',
mouseout: 'при выходе мыши',
misc: 'Разное',
example_img: 'Пример внешнего вида',
missing_alt: 'Вы уверены, что хотите продолжить без указания описания изображения? Без описания изображение может оказаться недоступным некоторым категориям пользователей с ограниченными возможностями, или использующим текстовый браузер, а также пользователям, отключившим показ изображений.',
dialog_title: 'Вставить/изменить изображение',
src: 'URL изображения',
alt: 'Описание изображения',
list: 'Список',
border: 'Рамка',
dimensions: 'Размеры',
vspace: 'Отступ по вертикали',
hspace: 'Отступ по горизонтали',
align: 'Выравнивание',
align_baseline: 'По базовой линии',
align_top: 'По верху',
align_middle: 'По центру',
align_bottom: 'По низу',
align_texttop: 'По верху текста',
align_textbottom: 'По низу текста',
align_left: 'По левому краю',
align_right: 'По правому краю',
image_list: 'Список изображений'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('sv.umbimage_dlg', {
tab_general: 'Generellt',
tab_appearance: 'Utseende',
tab_advanced: 'Avancerat',
general: 'Generellt',
title: 'Titel',
preview: 'Förhandsgranska',
constrain_proportions: 'Bibehåll proportioner',
langdir: 'Språkdirektion',
langcode: 'Språkkod',
long_desc: 'Lång länkbeskrivning',
style: 'Stil',
classes: 'Klasser',
ltr: 'Vänster till höger',
rtl: 'höger till vänster',
id: 'Id',
map: 'Bildkarta',
swap_image: 'Byt bild',
alt_image: 'Alternativ bild',
mouseover: 'För musen över',
mouseout: 'för musen utanför',
misc: 'Blandat',
example_img: 'Visning av bildförhandsgranskning',
missing_alt: 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.',
dialog_title: 'Infoga/redigera bild',
src: 'Bild URL',
alt: 'Bildbeskrivning',
list: 'Bildlista',
border: 'Ram',
dimensions: 'Dimensioner',
vspace: 'Vertikalt avstånd',
hspace: 'Horisontellt avstånd',
align: 'Position',
align_baseline: 'Baslinje',
align_top: 'Toppen',
align_middle: 'Mitten',
align_bottom: 'Botten',
align_texttop: 'Text topp',
align_textbottom: 'Text botten',
align_left: 'Vänster',
align_right: 'Höger',
image_list: 'Bildlista'
});
@@ -0,0 +1,43 @@
tinyMCE.addI18n('zh.umbimage_dlg', {
tab_general: '普通',
tab_appearance: '外观',
tab_advanced: '高级',
general: '普通',
title: '标题',
preview: '预览',
constrain_proportions: '约束比例',
langdir: '语言书写方向',
langcode: '语言代码',
long_desc: '长原文链接',
style: '样式',
classes: '类',
ltr: '从左到右',
rtl: '从右到左',
id: 'Id',
map: '图片热区',
swap_image: '交换图片',
alt_image: '替代图片',
mouseover: '鼠标移入',
mouseout: '鼠标移出',
misc: '其它',
example_img: '样图外观',
missing_alt: '你确定不要图片替代文字吗?替代文字可以在图片无法显示时显示。',
dialog_title: '插入/编辑图片',
src: '图片URL',
alt: '图片描述',
list: '图片列表',
border: '边框',
dimensions: '尺寸',
vspace: '垂直间距',
hspace: '水平间距',
align: '对齐',
align_baseline: '对齐底线',
align_top: '顶部对齐',
align_middle: '中间对齐',
align_bottom: '底部对齐',
align_texttop: '对齐文字顶部',
align_textbottom: '对齐文字底部',
align_left: '左对齐',
align_right: '右对齐',
image_list: '图片列表'
});
@@ -0,0 +1,52 @@
/**
* $Id: editor_plugin_src.js 677 2008-03-07 13:52:41Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
*/
(function() {
// tinymce.PluginManager.requireLangPack('umbraco');
tinymce.create('tinymce.plugins.UmbracoImagePlugin', {
init: function(ed, url) {
// Register commands
ed.addCommand('mceUmbimage', function() {
// Internal image object like a flash placeholder
if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1)
return;
ed.windowManager.open({
/* UMBRACO SPECIFIC: Load Umbraco modal window */
file: tinyMCE.activeEditor.getParam('umbraco_path') + '/plugins/tinymce3/insertImage.aspx',
width: 575 + ed.getLang('umbracoimg.delta_width', 0),
height: 505 + ed.getLang('umbracoimg.delta_height', 0),
inline: 1
}, {
plugin_url: url
});
});
// Register buttons
ed.addButton('image', {
title: 'advimage.image_desc',
cmd: 'mceUmbimage'
});
},
getInfo: function() {
return {
longname: 'Umbraco image dialog',
author: 'Umbraco',
authorurl: 'http://umbraco.org',
infourl: 'http://umbraco.org',
version: "1.0"
};
}
});
// Register plugin
tinymce.PluginManager.add('umbracoimg', tinymce.plugins.UmbracoImagePlugin);
})();