📄 ocmsimage.js
字号:
st += "margin: " + imgVSp + "px " + imgHSp + "px " + imgVSp + "px " + imgHSp + "px;";
}
oNewTable.style.cssText = st;
SetAttribute(oNewTable, "id", "timg_" + activeImage.hashCode);
SetAttribute(oNewTable, "border", "0");
SetAttribute(oNewTable, "cellpadding", "0");
SetAttribute(oNewTable, "cellspacing", "0");
// insert the 1st row with the image
var oRow1 = oNewTable.insertRow(-1);
var oCell1 = oRow1.insertCell(-1);
oCell1.id = "aimg_" + activeImage.hashCode;
if (insertLinkToOriginal()) {
var oLinkOrig = oEditor.FCK.EditorDocument.createElement("A");
oLinkOrig.href = "#";
oLinkOrig.setAttribute("onclick", getLinkToOriginal());
oLinkOrig.setAttribute("id", "limg_" + activeImage.hashCode);
if (GetE('txtBorder').value == "") {
oImage.setAttribute("border", "0");
}
oLinkOrig.appendChild(oImage);
oCell1.appendChild(oLinkOrig);
} else {
// simply add image
oCell1.appendChild(oImage);
}
if (insertCopyright()) {
// insert the 2nd row with the copyright information
var copyText = GetE("txtCopyrightText").value;
if (copyText == "") {
copyText = "© " + activeImage.copyright;
}
var oRow2 = oNewTable.insertRow(-1);
var oCell2 = oRow2.insertCell(-1);
oCell2.className = "imgCopyright";
oCell2.id = "cimg_" + activeImage.hashCode;
oCell2.innerHTML = copyText;
}
if (insertSubTitle()) {
// insert the 3rd row with the subtitle
var altText = GetE("txtAlt").value;
if (altText == "") {
altText = activeImage.title;
}
var oRow3 = oNewTable.insertRow(-1);
var oCell3 = oRow3.insertCell(-1);
oCell3.className = "imgSubtitle";
oCell3.id = "simg_" + activeImage.hashCode;
oCell3.innerHTML = altText;
}
// return the new object
return oNewTable;
} else {
// return the original object
return oImage;
}
}
function isTablePreview() {
return showEnhancedOptions && (insertSubTitle() || insertCopyright());
}
function UpdateImage( e, skipId, setScaleParam )
{
var txtUrl = GetE('txtUrl').value;
var newWidth = GetE('txtWidth').value;
var newHeight = GetE('txtHeight').value;
if (setScaleParam && activeImage != null) {
if((!isEmpty(newWidth) ) && (!isEmpty(newHeight))) {
if (newWidth != activeImage.width || newHeight != activeImage.height) {
var scaler = new OCmsScaler(newWidth, newHeight);
txtUrl += scaler.toParams();
}
}
}
if (!setScaleParam && txtUrl != null && txtUrl != "") {
if (activeImage == null || activeImage.url != txtUrl) {
// set the active image from the selection information
setActiveImage(-1, txtUrl);
}
}
e.src = txtUrl ;
SetAttribute( e, "_fcksavedurl", txtUrl) ;
SetAttribute( e, "alt" , GetE('txtAlt').value ) ;
SetAttribute( e, "width" , newWidth ) ;
SetAttribute( e, "height", newHeight ) ;
SetAttribute( e, "border", GetE('txtBorder').value ) ;
if (isTablePreview()) {
SetAttribute( e, "vspace", "" ) ;
SetAttribute( e, "hspace", "" ) ;
} else {
SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
if (insertLinkToOriginal() && GetE('txtBorder').value == "") {
SetAttribute(e, "border", "0");
}
}
SetAttribute( e, "align" , GetE('cmbAlign').value ) ;
// Advanced Attributes
if ( ! skipId ) {
var idVal = GetE('txtAttId').value;
if (idVal == "" || idVal.substring(0, 5) == "iimg_") {
idVal = "iimg_" + activeImage.hashCode;
}
SetAttribute( e, 'id', idVal ) ;
}
SetAttribute( e, 'dir' , GetE('cmbAttLangDir').value ) ;
SetAttribute( e, 'lang' , GetE('txtAttLangCode').value ) ;
SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
SetAttribute( e, 'class' , GetE('txtAttClasses').value ) ;
SetAttribute( e, 'longDesc' , GetE('txtLongDesc').value ) ;
if ( oEditor.FCKBrowserInfo.IsIE )
e.style.cssText = GetE('txtAttStyle').value ;
else
SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
}
var eImgPreview ;
var eImgPreviewLink;
var eTblPreview;
function SetPreviewElements( imageElement, linkElement, tableElement )
{
eImgPreview = imageElement;
eImgPreviewLink = linkElement;
eTblPreview = tableElement;
UpdatePreview();
UpdateOriginal();
bPreviewInitialized = true;
}
function UpdatePreview(useTimeout)
{
if ( !eImgPreview || !eImgPreviewLink )
return ;
if ( GetE('txtUrl').value.length == 0 )
eImgPreviewLink.style.display = 'none' ;
else
{
var txtUrl = GetE('txtUrl').value;
if (activeImage == null || activeImage.url != txtUrl) {
var setNew = true;
if (activeImage != null) {
var fullPath = ocmsServer + ocmsContext + activeImage.sitePath;
var contextPath = ocmsContext + activeImage.sitePath;
if (fullPath == activeImage.url || contextPath == activeImage.url) {
setNew = false;
}
}
if (setNew) {
// set the active image from the selection information
setActiveImage(-1, GetE('txtUrl').value);
if (useTimeout) {
setTimeout("UpdatePreview(true)", 100);
return;
}
}
}
if ((activeImage && activeImage.copyright == null) && GetE("txtCopyrightText").value == "") {
GetE("txtCopyright").checked = false;
}
if (useTimeout && oTable != null && oTable.id == "timg_" + activeImage.hashCode) {
var elemT = oEditor.FCK.EditorDocument.getElementById("simg_" + activeImage.hashCode);
if (elemT) {
GetE("txtSubtitle").checked = true;
}
var elemC = oEditor.FCK.EditorDocument.getElementById("cimg_" + activeImage.hashCode);
if (elemC) {
GetE("txtCopyright").checked = true;
}
}
if (useTimeout && oLink) {
var linkId = oLink.getAttribute("id");
if (linkId != null && linkId.substring(0, 5) == "limg_") {
GetE("txtLinkOriginal").checked = true;
}
}
UpdateImage( eImgPreview, true, true) ;
if ( GetE('txtLnkUrl').value.Trim().length > 0 )
eImgPreviewLink.href = 'javascript:void(null);' ;
else
SetAttribute( eImgPreviewLink, 'href', '' ) ;
eImgPreviewLink.style.display = '' ;
if (isTablePreview()) {
eImgPreviewLink.style.display = 'none' ;
eImgPreview.style.display = "none";
eTblPreview.style.display = "";
var st = "width: " + GetE("txtWidth").value + "px;";
var al = GetE("cmbAlign").value;
if (al == "left" || al == "right") {
st += " float: " + al + ";";
}
var imgVSp = GetE('txtVSpace').value;
var imgHSp = GetE('txtHSpace').value;
if (imgVSp != "" || imgHSp != "") {
if (imgVSp == "") {
imgVSp = "0";
}
if (imgHSp == "") {
imgHSp = "0";
}
st += "margin: " + imgVSp + " " + imgHSp + " " + imgVSp + " " + imgHSp + ";";
}
eTblPreview.style.cssText = st;
var prevImg = getPreviewElement("iPreview");
UpdateImage(prevImg, true, true);
if (insertSubTitle()) {
var altText = GetE("txtAlt").value;
if (altText == "") {
altText = activeImage.title;
}
getPreviewElement("sPreview").innerHTML = altText;
} else {
getPreviewElement("sPreview").innerHTML = "";
}
if (insertCopyright()) {
var copyText = GetE("txtCopyrightText").value;
if (copyText == "") {
copyText = "© " + activeImage.copyright;
}
getPreviewElement("cPreview").innerHTML = copyText;
} else {
getPreviewElement("cPreview").innerHTML = "";
}
} else {
eTblPreview.style.display = "none";
}
}
}
function getPreviewElement(elemId) {
return window.previewFrame.document.getElementById(elemId);
}
function getLinkToOriginal() {
var linkUri = "javascript:window.open('";
linkUri += vfsPopupUri;
linkUri += "?uri=";
linkUri += activeImage.url;
linkUri += "', 'original', 'width=";
linkUri += activeImage.width;
linkUri += ",height=";
linkUri += activeImage.height;
linkUri += ",location=no,menubar=no,status=no,toolbar=no');";
return linkUri;
}
var bLockRatio = true ;
function SwitchLock( lockButton )
{
bLockRatio = !bLockRatio ;
lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;
if ( bLockRatio )
{
if ( GetE('txtWidth').value.length > 0 )
OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
else
OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
}
}
// Fired when the width or height input texts change
function OnSizeChanged( dimension, value )
{
// Verifies if the aspect ration has to be mantained
if ( oImageOriginal && bLockRatio )
{
var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;
if ( value.length == 0 || isNaN( value ) )
{
e.value = '' ;
return ;
}
if ( dimension == 'Width' )
value = value == 0 ? 0 : Math.round( activeImage.height * ( value / activeImage.width ) ) ;
else
value = value == 0 ? 0 : Math.round( activeImage.width * ( value / activeImage.height ) ) ;
if ( !isNaN( value ) )
e.value = value ;
}
UpdatePreview() ;
}
// Fired when the Reset Size button is clicked
function ResetSizes(useOriginalData)
{
if ( ! oImageOriginal ) return ;
if (useOriginalData) {
GetE('txtWidth').value = oImageOriginal.width;
GetE('txtHeight').value = oImageOriginal.height;
} else {
GetE('txtWidth').value = activeImage.width ;
GetE('txtHeight').value = activeImage.height ;
}
UpdatePreview() ;
}
// ######################################################################################################################
function BrowseServer()
{
OpenServerBrowser(
'Image',
FCKConfig.ImageBrowserURL,
FCKConfig.ImageBrowserWindowWidth,
FCKConfig.ImageBrowserWindowHeight ) ;
}
function LnkBrowseServer()
{
OpenServerBrowser(
'Link',
FCKConfig.LinkBrowserURL,
FCKConfig.LinkBrowserWindowWidth,
FCKConfig.LinkBrowserWindowHeight ) ;
}
function OpenServerBrowser( type, url, width, height )
{
sActualBrowser = type ;
OpenFileBrowser( url, width, height ) ;
}
var sActualBrowser ;
function SetUrl( url, width, height, alt )
{
if ( sActualBrowser == 'Link' )
{
GetE('txtLnkUrl').value = url ;
UpdatePreview() ;
}
else
{
GetE('txtUrl').value = url ;
GetE('txtWidth').value = width ? width : '' ;
GetE('txtHeight').value = height ? height : '' ;
if ( alt )
GetE('txtAlt').value = alt;
UpdatePreview() ;
UpdateOriginal( true ) ;
}
window.parent.SetSelectedTab( 'Info' ) ;
}
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
{
switch ( errorNumber )
{
case 0 : // No errors
alert( 'Your file has been successfully uploaded' ) ;
break ;
case 1 : // Custom error
alert( customMsg ) ;
return ;
case 101 : // Custom warning
alert( customMsg ) ;
break ;
case 201 :
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
break ;
case 202 :
alert( 'Invalid file type' ) ;
return ;
case 203 :
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
return ;
default :
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
return ;
}
sActualBrowser = ''
SetUrl( fileUrl ) ;
GetE('frmUpload').reset() ;
}
var oUploadAllowedExtRegex = new RegExp( FCKConfig.ImageUploadAllowedExtensions, 'i' ) ;
var oUploadDeniedExtRegex = new RegExp( FCKConfig.ImageUploadDeniedExtensions, 'i' ) ;
function CheckUpload()
{
var sFile = GetE('txtUploadFile').value ;
if ( sFile.length == 0 )
{
alert( 'Please select a file to upload' ) ;
return false ;
}
if ( ( FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
( FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
{
OnUploadCompleted( 202 ) ;
return false ;
}
return true ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -