phpslash-commit Mailing List for phpSlash (Page 19)
Brought to you by:
joestewart,
nhruby
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(59) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(52) |
Feb
(77) |
Mar
(118) |
Apr
(76) |
May
(106) |
Jun
(145) |
Jul
(9) |
Aug
(15) |
Sep
(78) |
Oct
(83) |
Nov
(105) |
Dec
(51) |
2003 |
Jan
(105) |
Feb
(100) |
Mar
(111) |
Apr
(149) |
May
(95) |
Jun
(56) |
Jul
(8) |
Aug
(2) |
Sep
|
Oct
(22) |
Nov
(117) |
Dec
(6) |
2004 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
(25) |
May
|
Jun
(11) |
Jul
(26) |
Aug
(85) |
Sep
(119) |
Oct
(312) |
Nov
(271) |
Dec
(5) |
2005 |
Jan
(6) |
Feb
|
Mar
|
Apr
(12) |
May
(7) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Joe S. <joe...@us...> - 2004-10-28 20:17:56
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/images Added Files: spacer.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: spacer.gif --- GIF89a |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images/icons/32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images/icons/32 Added Files: ai.gif avi.gif bmp.gif cs.gif default.icon.gif dll.gif doc.gif exe.gif fla.gif gif.gif htm.gif html.gif jpg.gif js.gif mdb.gif mp3.gif pdf.gif ppt.gif rdp.gif swf.gif swt.gif txt.gif vsd.gif xls.gif xml.gif zip.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: ai.gif --- GIF89a !``]_fAcbd^^c `ddcº`7_ÀÀ` dbÇd^¯cʸº¡Ö1bÇ\\ÝÛb¸ a&&BÈb\)3\Í`^¸b^ ¨Â@0EÇr]ºÃ ¯d#ó ÃÈ`aI~Ý hnàà "@]p --- NEW FILE: avi.gif --- GIF89a !C&s¯MLm3 eýg ½¢ÝÛ2¥ G½úêǰ!#=ÖøÊ¡âÄ+>&¶`°[7?Ùååq¨XECnÌX2 @6YHyä1V«u*]|ûhóbY#Y&t RTÐ?Þ`Í --- NEW FILE: bmp.gif --- GIF89a ÄtR@Þ_:L À BøÐ@W, 2 ±B òu| 2`à(pdãÂ1¼"·^$lH üÌç{í g dO¥{.Î)°°Ð³ --- NEW FILE: cs.gif --- GIF89a --- NEW FILE: default.icon.gif --- GIF89a --- NEW FILE: dll.gif --- GIF89a --- NEW FILE: doc.gif --- GIF89a --- NEW FILE: exe.gif --- GIF89a --- NEW FILE: fla.gif --- GIF89a 'QsÆÀæV4.hð`.õÌN2VàÉÇ^,ð`ðvaÚKxàá(aPt#Ü×6t ãAw¤H ÊD&cïðÂø 00*À |å --- NEW FILE: gif.gif --- GIF89a t£|X á¸X0QAW`á)&ì --- NEW FILE: htm.gif --- GIF89a &Nà£á%=zÜH±¢@02jÌ¡cÇ oD±HãFLSbºá¥É%6a)s¦Í+ÁpùR`L@o.ÐâÆNJ@ $t H(0D$y¨ñN_$":øý¸¢ W"Q¯~áú@@Rp÷@ ´9HÁÃN,ò`yI%3iÀ%8ÀÚX!ã P@èHÕ# 00FQð¦I`eàÂs°A<"1Ñ&T¢êªhÀ*dÔ8ðÀ¸>ZJKD°*«°ÆApàljÀ ÄaÁEy° ÄÀ\ È;A¼+¯¼ôbÇÁ --- NEW FILE: html.gif --- GIF89a &Nà£á%=zÜH±¢@02jÌ¡cÇ oD±HãFLSbºá¥É%6a)s¦Í+ÁpùR`L@o.ÐâÆNJ@ $t H(0D$y¨ñN_$":øý¸¢ W"Q¯~áú@@Rp÷@ ´9HÁÃN,ò`yI%3iÀ%8ÀÚX!ã P@èHÕ# 00FQð¦I`eàÂs°A<"1Ñ&T¢êªhÀ*dÔ8ðÀ¸>ZJKD°*«°ÆApàljÀ ÄaÁEy° ÄÀ\ È;A¼+¯¼ôbÇÁ --- NEW FILE: jpg.gif --- GIF89a )1 m !ä²ÐÆÉÝÍ. 㼯À³ØÌ¼ Òü pàU±IQ²O´0`@y·ô)\Hà| xöëÀ§ --- NEW FILE: js.gif --- GIF89a ¿ÇyR¯ÛCMzr/<JVp"{ ~ --- NEW FILE: mdb.gif --- GIF89a ßàdâ ×éç\íîï[ òóôõö --- NEW FILE: mp3.gif --- GIF89a äZ¾YSè±`2`P!dÎç¯v³Ò¶"o¦# hÿjFýÏW"ýZHëÃÒPÈÝ-dýDëâß¾U¬HÍ#ÈGCq´h¢F*)ÙRÐK@¼záäBâÉ í`ÒNâXK´ycVS=~H UBX±Võ`©«×¯xM --- NEW FILE: pdf.gif --- GIF89a ¤TD¥vk¬¦®Î¯xL._½_lqjÛ¨7\¬:¬ôµ8óýeuwX*ln}o}iv+''u{l|cS{tRf§d¥\G¤QuMEµµ T²MOTR¿P¼L¾Ã+#ÈÅYÈP! Ì'³ÇÃÓÕÏÃÍNÏ+%¿âBÖSæP$ÄÔ½ÈØh ÃuE ]``õ}0¡ © JY&¸jb+˨:0+׬]xP --- NEW FILE: ppt.gif --- GIF89a --- NEW FILE: rdp.gif --- GIF89a Eêá´1ÀITx|Á 'D(¸"Ee*2u*`R Ô §¢eJ ²ALÄ{Ô kwµú)~ HC`J Y , ! è)ðª¬& --- NEW FILE: swf.gif --- GIF89a Xà ,¤ iÝXZ<P&¨PàÄT&½è`AÀò,<x @@ŠθÈö¥PèaÀà /f.Ð çI+ú¼Â ÙfZ°BÓp8¨b(®È¬ËÖ-Ŧ,» l fwóíW, 4,`¸By*BPÐø+:ä+[CÑ/Jô±Ô³§v2ø@àÀ Åd0pÆk òdÐ=v ´½âõ³ H\ 3ñ ì+ØP` üÞXZWÔbÌùZìÁS¾þxø <Øÿ "}ÖÊHào}¡à*ØF(E --- NEW FILE: swt.gif --- GIF89a Øbéú{Ë$H8.ÁÁÊÃðKå5Ml(0@~ï,¬)n©HƼõÌeà!O_¼ûè°ËEÆ^¹"àèH$¨à rÇÇ --- NEW FILE: txt.gif --- GIF89a ùîà'FhÎ3¨lê®dP^èú¶v¾ 2¦À p8õhÄ$Ñ8[üÐ"¯±5®ÄJéF¹ÈÈ5å;½PsTØíiWE»ðà=?ÜÓÇ+~|@~RGg ra[Tou ek¢cl |«yn'±²³´µ¥¹ --- NEW FILE: vsd.gif --- GIF89a XFu ÂŤ¦`mÊ7Ñ8uÏËÌ}#ÃXÎÈ ´ÐÌäÖÒèÓêæ¶¬îï¬Übdôõöô'ù --- NEW FILE: xls.gif --- GIF89a --- NEW FILE: xml.gif --- GIF89a 9 z}[¦S«$2od¦¨ªy¹¼ --- NEW FILE: zip.gif --- GIF89a âá8ÅJä@0¹v<i+klw,1| D #| |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:55
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/js In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/js Added Files: common.js fckxml.js Log Message: added fckeditor to comment submittal. --- NEW FILE: common.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: common.js * Common objects and functions shared by all pages that compose the * File Browser dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:53 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var oConnector = new Object() ; oConnector.ResourceType = '' ; oConnector.CurrentFolder = '/' ; // Get the connector path from the URL. oConnector.Regex = new RegExp( '[\?&]Connector=([^&]+)', 'i' ) ; oConnector.ConnectorUrl = oConnector.Regex.exec( window.top.location.search )[1] ; oConnector.SendCommand = function( command, params, callBackFunction ) { var sUrl = this.ConnectorUrl + '?Command=' + command ; sUrl += '&Type=' + this.ResourceType ; sUrl += '&CurrentFolder=' + escape( this.CurrentFolder ) ; if ( params ) sUrl += '&' + params ; var oXML = new FCKXml() ; if ( callBackFunction ) oXML.LoadUrl( sUrl, callBackFunction ) ; // Asynchronous load. else return oXML.LoadUrl( sUrl ) ; } var oIcons = new Object() ; oIcons.AvailableIconsArray = [ 'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js', 'mdb','mp3','pdf','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ; oIcons.AvailableIcons = new Object() ; for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ ) oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ; oIcons.GetIcon = function( fileName ) { var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ; if ( this.AvailableIcons[ sExtension ] == true ) return sExtension ; else return 'default.icon' ; } --- NEW FILE: fckxml.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckxml.js * Defines the FCKXml object that is used for XML data calls * and XML processing. * This script is shared by almost all pages that compose the * File Browser frameset. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:53 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKXml = function() {} FCKXml.prototype.GetHttpRequest = function() { if ( window.XMLHttpRequest ) // Gecko return new XMLHttpRequest() ; else if ( window.ActiveXObject ) // IE return new ActiveXObject("MsXml2.XmlHttp") ; } FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer ) { var oFCKXml = this ; var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ; var oXmlHttp = this.GetHttpRequest() ; oXmlHttp.open( "GET", urlToCall, bAsync ) ; if ( bAsync ) { oXmlHttp.onreadystatechange = function() { if ( oXmlHttp.readyState == 4 ) { oFCKXml.DOMDocument = oXmlHttp.responseXML ; asyncFunctionPointer( oFCKXml ) ; } } } oXmlHttp.send( null ) ; if ( ! bAsync ) this.DOMDocument = oXmlHttp.responseXML ; } FCKXml.prototype.SelectNodes = function( xpath ) { if ( document.all ) // IE return this.DOMDocument.selectNodes( xpath ) ; else // Gecko { var aNodeArray = new Array(); var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ; if ( xPathResult ) { var oNode = xPathResult.iterateNext() ; while( oNode ) { aNodeArray[aNodeArray.length] = oNode ; oNode = xPathResult.iterateNext(); } } return aNodeArray ; } } FCKXml.prototype.SelectSingleNode = function( xpath ) { if ( document.all ) // IE return this.DOMDocument.selectSingleNode( xpath ) ; else // Gecko { var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null); if ( xPathResult && xPathResult.singleNodeValue ) return xPathResult.singleNodeValue ; else return null ; } } |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images/icons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images/icons Added Files: ai.gif avi.gif bmp.gif cs.gif default.icon.gif dll.gif doc.gif exe.gif fla.gif gif.gif htm.gif html.gif jpg.gif js.gif mdb.gif mp3.gif pdf.gif ppt.gif rdp.gif swf.gif swt.gif txt.gif vsd.gif xls.gif xml.gif zip.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: ai.gif --- GIF89a --- NEW FILE: avi.gif --- GIF89a â˼lJbÀµ¼+e¬ ¬X`+Ya$¯ôµ¢%<¤ñjN(lx+y< 6D.T --- NEW FILE: bmp.gif --- GIF89a --- NEW FILE: cs.gif --- GIF89a 3`H --- NEW FILE: default.icon.gif --- GIF89a ÁF ¤ --- NEW FILE: dll.gif --- GIF89a --- NEW FILE: doc.gif --- GIF89a Ü®° --- NEW FILE: exe.gif --- GIF89a wÎCÀiâ ª%ÇkL¤ñ:OµLP hãî$!R --- NEW FILE: fla.gif --- GIF89a !¨« ¦|#!¯ !#z##rsL!«¿DDWÆ¿WLA --- NEW FILE: gif.gif --- GIF89a --- NEW FILE: htm.gif --- GIF89a ÑKL IåæC 3DK1I(FôF2GÓð4BôÁHKt0Ñp@D; ¸"ÄÁ%,Lâ#J0°PÄÈ --- NEW FILE: html.gif --- GIF89a ÑKL IåæC 3DK1I(FôF2GÓð4BôÁHKt0Ñp@D; ¸"ÄÁ%,Lâ#J0°PÄÈ --- NEW FILE: jpg.gif --- GIF89a --- NEW FILE: js.gif --- GIF89a %8®DðØt¯A 0 lkÍmÏèôxÍ% --- NEW FILE: mdb.gif --- GIF89a Ü®ÐB+D°;WV%"¡ ÀMJ Yp{V4Ky7YFòLNT/÷ªÄÃÚM01Í¢¾ÒíJôx¹Å,IV%Z (»gjNW% --- NEW FILE: mp3.gif --- GIF89a â˼lJbÀµ¼+e¬ ¬X`+Ya$¯ôµ¢%<¤ñjN(lx+y< 6D.T --- NEW FILE: pdf.gif --- GIF89a --- NEW FILE: ppt.gif --- GIF89a Ü®ÐB+eÍw¸`|VEPC:VB\÷,nÑùëÂ2ÍÒ£ðp¤_L0«ù<Åæ©D2 -èn --- NEW FILE: rdp.gif --- GIF89a àQNÈ#78!M'5äWT6$CU ñ&ôÈAE"ñ¸P¢Ç OdðKDaGÂrJ`°áG¿H µHÅIå, --- NEW FILE: swf.gif --- GIF89a %B $¡ " --- NEW FILE: swt.gif --- GIF89a %B $¡ " --- NEW FILE: txt.gif --- GIF89a --- NEW FILE: vsd.gif --- GIF89a Ü®° --- NEW FILE: xls.gif --- GIF89a --- NEW FILE: xml.gif --- GIF89a Û k¸ò·óÙkíábÏçÓexw6n} <nBAA! --- NEW FILE: zip.gif --- GIF89a |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:55
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/dialog/js In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/dialog/js Added Files: fck_dialog_common.js fck_link.js Log Message: added fckeditor to comment submittal. --- NEW FILE: fck_dialog_common.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_dialog_common.js * Useful functions used by almost all dialog window pages. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Gets a element by its Id. Used for shorter coding. function GetE( elementId ) { return document.getElementById( elementId ) ; } function ShowE( element, isVisible ) { if ( typeof( element ) == 'string' ) element = GetE( element ) ; element.style.display = isVisible ? '' : 'none' ; } function SetAttribute( element, attName, attValue ) { if ( attValue == null || attValue.length == 0 ) element.removeAttribute( attName, 0 ) ; // 0 : Case Insensitive else element.setAttribute( attName, attValue, 0 ) ; // 0 : Case Insensitive } --- NEW FILE: fck_link.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_link.js * Scripts related to the Link dialog window (see fck_link.html). * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var oEditor = window.parent.InnerDialogLoaded() ; var FCK = oEditor.FCK ; // Set the language direction. window.document.dir = oEditor.FCKLang.Dir ; // Set the Skin CSS. document.write( '<link href="' + oEditor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; //#### Dialog Tabs // Set the dialog tabs. window.parent.AddTab( 'Info', 'Link Info' ) ; window.parent.AddTab( 'Target', 'Target', true ) ; // TODO : Enable File Upload (1/3). //window.parent.AddTab( 'Upload', 'Upload', true ) ; window.parent.AddTab( 'Advanced', 'Advanced' ) ; // Function called when a dialog tag is selected. function OnDialogTabChange( tabCode ) { ShowE('divInfo' , ( tabCode == 'Info' ) ) ; ShowE('divTarget' , ( tabCode == 'Target' ) ) ; // TODO : Enable File Upload (2/3). // ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; ShowE('divAttribs' , ( tabCode == 'Advanced' ) ) ; } //#### Regular Expressions library. var oRegex = new Object() ; oRegex.UriProtocol = new RegExp('') ; oRegex.UriProtocol.compile( '^(((http|https|ftp|news):\/\/)|mailto:)', 'gi' ) ; oRegex.UrlOnChangeProtocol = new RegExp('') ; oRegex.UrlOnChangeProtocol.compile( '^(http|https|ftp|news)://(?=.)', 'gi' ) ; oRegex.UrlOnChangeTestOther = new RegExp('') ; oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ; oRegex.ReserveTarget = new RegExp('') ; oRegex.ReserveTarget.compile( '^_(blank|self|top|parent)$', 'i' ) ; oRegex.PopupUri = new RegExp('') ; oRegex.PopupUri.compile( "^javascript:void\\(\\s*window.open\\(\\s*'([^']+)'\\s*,\\s*(?:'([^']*)'|null)\\s*,\\s*'([^']*)'\\s*\\)\\s*\\)\\s*$" ) ; oRegex.PopupFeatures = new RegExp('') ; oRegex.PopupFeatures.compile( '(?:^|,)([^=]+)=(\\d+|yes|no)', 'gi' ) ; //#### Parser Functions var oParser = new Object() ; oParser.ParseEMailUrl = function( emailUrl ) { // Initializes the EMailInfo object. var oEMailInfo = new Object() ; oEMailInfo.Address = '' ; oEMailInfo.Subject = '' ; oEMailInfo.Body = '' ; var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ; if ( oParts ) { // Set the e-mail address. oEMailInfo.Address = oParts[1] ; // Look for the optional e-mail parameters. if ( oParts[2] ) { var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ; if ( oMatch ) oEMailInfo.Subject = unescape( oMatch[2] ) ; oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ; if ( oMatch ) oEMailInfo.Body = unescape( oMatch[2] ) ; } } return oEMailInfo ; } oParser.CreateEMailUri = function( address, subject, body ) { var sBaseUri = 'mailto:' + address ; var sParams = '' ; if ( subject.length > 0 ) sParams = '?subject=' + escape( subject ) ; if ( body.length > 0 ) { sParams += ( sParams.length == 0 ? '?' : '&' ) ; sParams += 'body=' + escape( body ) ; } return sBaseUri + sParams ; } //#### Initialization Code // oLink: The actual selected link in the editor. var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ; if ( oLink ) FCK.Selection.MoveToNode( oLink ) ; function OnLoad() { // Translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage(document) ; // Fill the Anchor Names and Ids combos. LoadAnchorNamesAndIds() ; // Load the selected link information (if any). LoadSelection() ; // Update the dialog box. SetLinkType( GetE('cmbLinkType').value ) ; // Show the initial dialog content. GetE('divInfo').style.display = '' ; // Activate the "OK" button. window.parent.SetOkButton( true ) ; } var bHasAnchors ; function LoadAnchorNamesAndIds() { var aAnchors = oEditor.FCK.EditorDocument.anchors ; var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ; bHasAnchors = ( aAnchors.lenght > 0 || aIds.length > 0 ) ; for ( var i = 0 ; i < aAnchors.length ; i++ ) { var sName = aAnchors[i].name ; if ( sName && sName.length > 0 ) oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorName'), sName, sName ) ; } for ( var i = 0 ; i < aIds.length ; i++ ) { oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorId'), aIds[i], aIds[i] ) ; } ShowE( 'divSelAnchor' , bHasAnchors ) ; ShowE( 'divNoAnchor' , !bHasAnchors ) ; } function LoadSelection() { if ( !oLink ) return ; var sType = 'url' ; // Get the actual Link href. var sHRef = oLink.getAttribute('href',2) + '' ; // Look for a popup javascript link. var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ; if( oPopupMatch ) { GetE('cmbTarget').value = 'popup' ; sHRef = oPopupMatch[1] ; FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ; SetTarget( 'popup' ) ; } // Search for the protocol. var sProtocol = oRegex.UriProtocol.exec( sHRef ) ; if ( sProtocol ) { sProtocol = sProtocol[0].toLowerCase() ; GetE('cmbLinkProtocol').value = sProtocol ; // Remove the protocol and get the remainig URL. var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ; if ( sProtocol == 'mailto:' ) // It is an e-mail link. { sType = 'email' ; var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ; GetE('txtEMailAddress').value = oEMailInfo.Address ; GetE('txtEMailSubject').value = oEMailInfo.Subject ; GetE('txtEMailBody').value = oEMailInfo.Body ; } else // It is a normal link. { sType = 'url' ; GetE('txtUrl').value = sUrl ; } } else if ( sHRef.substr(0,1) == '#' && sHRef.length > 2 ) // It is an anchor link. { sType = 'anchor' ; GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ; } else // It is another type of link. { sType = 'url' ; GetE('cmbLinkProtocol').value = '' ; GetE('txtUrl').value = sHRef ; } if ( !oPopupMatch ) { // Get the target. var sTarget = oLink.target ; if ( sTarget && sTarget.length > 0 ) { if ( oRegex.ReserveTarget.test( sTarget ) ) { sTarget = sTarget.toLowerCase() ; GetE('cmbTarget').value = sTarget ; } else GetE('cmbTarget').value = 'frame' ; GetE('txtTargetFrame').value = sTarget ; } } // Get Advances Attributes GetE('txtAttId').value = oLink.id ; GetE('txtAttName').value = oLink.name ; GetE('cmbAttLangDir').value = oLink.dir ; GetE('txtAttLangCode').value = oLink.lang ; GetE('txtAttAccessKey').value = oLink.accessKey ; GetE('txtAttTabIndex').value = oLink.tabIndex <= 0 ? '' : oLink.tabIndex ; GetE('txtAttTitle').value = oLink.title ; GetE('txtAttClasses').value = oLink.getAttribute('class',2) || '' ; GetE('txtAttContentType').value = oLink.type ; GetE('txtAttCharSet').value = oLink.charset ; if ( oEditor.FCKBrowserInfo.IsIE ) GetE('txtAttStyle').value = oLink.style.cssText ; else GetE('txtAttStyle').value = oLink.getAttribute('style',2) ; // Update the Link type combo. GetE('cmbLinkType').value = sType ; } //#### Link type selection. function SetLinkType( linkType ) { ShowE('divLinkTypeUrl' , (linkType == 'url') ) ; ShowE('divLinkTypeAnchor' , (linkType == 'anchor') ) ; ShowE('divLinkTypeEMail' , (linkType == 'email') ) ; window.parent.SetTabVisibility( 'Target' , (linkType == 'url') ) ; // TODO : Enable File Upload (3/3). // window.parent.SetTabVisibility( 'Upload' , (linkType == 'url') ) ; window.parent.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ; } //#### Target type selection. function SetTarget( targetType ) { GetE('tdTargetFrame').style.display = ( targetType == 'popup' ? 'none' : '' ) ; GetE('tdPopupName').style.display = GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ; switch ( targetType ) { case "_blank" : case "_self" : case "_parent" : case "_top" : GetE('txtTargetFrame').value = targetType ; break ; case "" : GetE('txtTargetFrame').value = '' ; break ; } } //#### Called while the user types the URL. function OnUrlChange() { var sUrl = GetE('txtUrl').value ; var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ; if ( sProtocol ) { sUrl = sUrl.substr( sProtocol[0].length ) ; GetE('txtUrl').value = sUrl ; GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ; } else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) ) { GetE('cmbLinkProtocol').value = '' ; } } //#### Called while the user types the target name. function OnTargetNameChange() { var sFrame = GetE('txtTargetFrame').value ; if ( sFrame.length == 0 ) GetE('cmbTarget').value = '' ; else if ( oRegex.ReserveTarget.test( sFrame ) ) GetE('cmbTarget').value = sFrame.toLowerCase() ; else GetE('cmbTarget').value = 'frame' ; } //#### Builds the javascript URI to open a popup to the specified URI. function BuildPopupUri( uri ) { var oReg = new RegExp( "'", "g" ) ; var sWindowName = "'" + GetE('txtPopupName').value.replace(oReg, "\\'") + "'" ; var sFeatures = '' ; var aChkFeatures = document.getElementsByName('chkFeature') ; for ( var i = 0 ; i < aChkFeatures.length ; i++ ) { if ( i > 0 ) sFeatures += ',' ; sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ; } if ( GetE('txtPopupWidth').value.length > 0 ) sFeatures += ',width=' + GetE('txtPopupWidth').value ; if ( GetE('txtPopupHeight').value.length > 0 ) sFeatures += ',height=' + GetE('txtPopupHeight').value ; if ( GetE('txtPopupLeft').value.length > 0 ) sFeatures += ',left=' + GetE('txtPopupLeft').value ; if ( GetE('txtPopupTop').value.length > 0 ) sFeatures += ',top=' + GetE('txtPopupTop').value ; return ( "javascript:void(window.open('" + uri + "'," + sWindowName + ",'" + sFeatures + "'))" ) ; } //#### Fills all Popup related fields. function FillPopupFields( windowName, features ) { if ( windowName ) GetE('txtPopupName').value = windowName ; var oFeatures = new Object() ; var oFeaturesMatch ; while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null ) { var sValue = oFeaturesMatch[2] ; if ( sValue == ( 'yes' || '1' ) ) oFeatures[ oFeaturesMatch[1] ] = true ; else if ( ! isNaN( sValue ) && sValue != 0 ) oFeatures[ oFeaturesMatch[1] ] = sValue ; } // Update all features check boxes. var aChkFeatures = document.getElementsByName('chkFeature') ; for ( var i = 0 ; i < aChkFeatures.length ; i++ ) { if ( oFeatures[ aChkFeatures[i].value ] ) aChkFeatures[i].checked = true ; } // Update position and size text boxes. if ( oFeatures['width'] ) GetE('txtPopupWidth').value = oFeatures['width'] ; if ( oFeatures['height'] ) GetE('txtPopupHeight').value = oFeatures['height'] ; if ( oFeatures['left'] ) GetE('txtPopupLeft').value = oFeatures['left'] ; if ( oFeatures['top'] ) GetE('txtPopupTop').value = oFeatures['top'] ; } //#### The OK button was hit. function Ok() { var sUri ; switch ( GetE('cmbLinkType').value ) { case 'url' : sUri = GetE('cmbLinkProtocol').value + GetE('txtUrl').value ; if( GetE('cmbTarget').value == 'popup' ) sUri = BuildPopupUri( sUri ) ; break ; case 'email' : sUri = oParser.CreateEMailUri( GetE('txtEMailAddress').value, GetE('txtEMailSubject').value, GetE('txtEMailBody').value ) ; break ; case 'anchor' : var sAnchor = GetE('cmbAnchorName').value ; if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ; sUri = '#' + sAnchor ; break ; } if ( oLink ) // Modifying an existent link. oLink.href = sUri ; else // Creating a new link. oLink = oEditor.FCK.CreateLink( sUri ) ; // Target if( GetE('cmbTarget').value != 'popup' ) SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ; else SetAttribute( oLink, 'target', null ) ; // Advances Attributes SetAttribute( oLink, 'id' , GetE('txtAttId').value ) ; SetAttribute( oLink, 'name' , GetE('txtAttName').value ) ; // No IE. Set but doensn't update the outerHTML. SetAttribute( oLink, 'dir' , GetE('cmbAttLangDir').value ) ; SetAttribute( oLink, 'lang' , GetE('txtAttLangCode').value ) ; SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ; SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ; SetAttribute( oLink, 'title' , GetE('txtAttTitle').value ) ; SetAttribute( oLink, 'class' , GetE('txtAttClasses').value ) ; SetAttribute( oLink, 'type' , GetE('txtAttContentType').value ) ; SetAttribute( oLink, 'charset' , GetE('txtAttCharSet').value ) ; if ( oEditor.FCKBrowserInfo.IsIE ) oLink.style.cssText = GetE('txtAttStyle').value ; else SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ; return true ; } function BrowseServer() { // Set the browser window feature. var iWidth = oEditor.FCKConfig.LinkBrowserWindowWidth ; var iHeight = oEditor.FCKConfig.LinkBrowserWindowHeight ; var iLeft = (screen.width - iWidth) / 2 ; var iTop = (screen.height - iHeight) / 2 ; var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; sOptions += ",width=" + iWidth ; sOptions += ",height=" + iHeight ; sOptions += ",left=" + iLeft ; sOptions += ",top=" + iTop ; // Open the browser window. var oWindow = window.open( oEditor.FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ; } function SetUrl( url ) { document.getElementById('txtUrl').value = url ; OnUrlChange() ; } |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:55
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default Added Files: Browser.css browser.html frmactualfolder.html frmcreatefolder.html frmfolders.html frmresourceslist.html frmresourcetype.html frmupload.html Log Message: added fckeditor to comment submittal. --- NEW FILE: Browser.css --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: Browser.css * CSS styles used by all pages that compose the File Browser. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ body { background-color: #f1f1e3; } form { margin: 0px 0px 0px 0px ; padding: 0px 0px 0px 0px ; } .Frame { background-color: #f1f1e3; border-color: #f1f1e3; border-right: thin inset; border-top: thin inset; border-left: thin inset; border-bottom: thin inset; } body.FileArea { background-color: #ffffff; } body, td, input, select { font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; } .ActualFolder { font-weight: bold; font-size: 14px; } .PopupButtons { border-top: #d5d59d 1px solid; background-color: #e3e3c7; padding: 7px 10px 7px 10px; } .Button, button { border-right: #737357 1px solid; border-top: #737357 1px solid; border-left: #737357 1px solid; color: #3b3b1f; border-bottom: #737357 1px solid; background-color: #c7c78f; } .FolderListCurrentFolder img { background-image: url(images/FolderOpened.gif); } .FolderListFolder img { background-image: url(images/Folder.gif); } --- NEW FILE: browser.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: browser.html * This page compose the File Browser dialog frameset. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Resources Browser</title> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> </head> <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="yes"> <frameset rows="50,*" framespacing="0"> <frame src="frmresourcetype.html" scrolling="no" frameborder="no"> <frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="yes"> </frameset> <frameset rows="50,*,50" framespacing="0"> <frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no"> <frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="yes"> <frameset cols="150,*,0" framespacing="0" frameborder="no"> <frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no"> <frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="no"> <frame name="frmUploadWorker" src="" scrolling="no" frameborder="no"> </frameset> </frameset> </frameset> </html> --- NEW FILE: frmactualfolder.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmactualfolder.html * This page shows the actual folder path. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> <script type="text/javascript"> function OnResize() { divName.style.width = "1px" ; divName.style.width = tdName.offsetWidth + "px" ; } function SetCurrentFolder( resourceType, folderPath ) { document.getElementById('tdName').innerHTML = folderPath ; } window.onload = function() { window.top.IsLoadedActualFolder = true ; } </script> </head> <body bottomMargin="0" topMargin="0"> <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td> <button style="WIDTH: 100%" type="button"> <table cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td> <td> </td> <td id="tdName" width="100%" nowrap class="ActualFolder">/</td> <td> </td> <td><img height="8" src="images/ButtonArrow.gif" width="12"></td> <td> </td> </tr> </table> </button> </td> </tr> </table> </body> </html> --- NEW FILE: frmcreatefolder.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmcreatefolder.html * Page used to create new folders in the current folder. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="js/fckxml.js"></script> <script type="text/javascript" src="js/common.js"></script> <script language="javascript"> function SetCurrentFolder( resourceType, folderPath ) { oConnector.ResourceType = resourceType ; oConnector.CurrentFolder = folderPath } function CreateFolder() { var sFolderName ; while ( true ) { sFolderName = prompt( 'Type the name of the new folder:', '' ) ; if ( sFolderName == null ) return ; else if ( sFolderName.length == 0 ) alert( 'Please type the folder name' ) ; else break ; } oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + escape( sFolderName) , CreateFolderCallBack ) ; } function CreateFolderCallBack( fckXml ) { // Get the current folder path. var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ; var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ; switch ( iErrorNumber ) { case 0 : window.parent.frames['frmResourcesList'].Refresh() ; break ; case 101 : alert( 'Folder already exists' ) ; break ; case 102 : alert( 'Invalid folder name' ) ; break ; case 103 : alert( 'You have no permissions to create the folder' ) ; break ; case 110 : alert( 'Unknown error creating folder' ) ; break ; default : alert( 'Error creating folder. Error number: ' + iErrorNumber ) ; break ; } } window.onload = function() { window.top.IsLoadedCreateFolder = true ; } </script> </head> <body bottomMargin="0" topMargin="0"> <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td> <button type="button" style="WIDTH: 100%" onclick="CreateFolder();"> <table cellSpacing="0" cellPadding="0" border="0"> <tr> <td><img height="16" alt="" src="images/Folder.gif" width="16"></td> <td> </td> <td nowrap>Create New Folder</td> </tr> </table> </button> </td> </tr> </table> </body> </html> --- NEW FILE: frmfolders.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmfolders.html * This page shows the list of folders available in the parent folder * of the current folder. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="js/fckxml.js"></script> <script type="text/javascript" src="js/common.js"></script> <script language="javascript"> var sActiveFolder ; var bIsLoaded = false ; var iIntervalId ; var oListManager = new Object() ; oListManager.Init = function() { this.Table = document.getElementById('tableFiles') ; this.UpRow = document.getElementById('trUp') ; this.TableRows = new Object() ; } oListManager.Clear = function() { // Remove all other rows available. while ( this.Table.rows.length > 1 ) this.Table.deleteRow(1) ; // Reset the TableRows collection. this.TableRows = new Object() ; } oListManager.AddItem = function( folderName, folderPath ) { // Create the new row. var oRow = this.Table.insertRow(-1) ; oRow.className = 'FolderListFolder' ; // Build the link to view the folder. var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ; // Add the folder icon cell. var oCell = oRow.insertCell(-1) ; oCell.width = 16 ; oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ; // Add the folder name cell. oCell = oRow.insertCell(-1) ; oCell.noWrap = true ; oCell.innerHTML = ' ' + sLink + folderName + '</a>' ; this.TableRows[ folderPath ] = oRow ; } oListManager.ShowUpFolder = function( upFolderPath ) { this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' ) ; if ( upFolderPath != null ) { document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function() { LoadFolders( upFolderPath ) ; return false ; } } } function CheckLoaded() { if ( window.top.IsLoadedActualFolder && window.top.IsLoadedCreateFolder && window.top.IsLoadedUpload && window.top.IsLoadedResourcesList ) { window.clearInterval( iIntervalId ) ; bIsLoaded = true ; OpenFolder( sActiveFolder ) ; } } function OpenFolder( folderPath ) { sActiveFolder = folderPath ; if ( ! bIsLoaded ) { if ( ! iIntervalId ) iIntervalId = window.setInterval( CheckLoaded, 100 ) ; return ; } // Change the style for the select row (to show the opened folder). for ( var sFolderPath in oListManager.TableRows ) { oListManager.TableRows[ sFolderPath ].className = ( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' ) ; } // Set the current folder in all frames. window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ; window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ; window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ; // Load the resources list for this folder. window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath ) ; } function LoadFolders( folderPath ) { // Clear the folders list. oListManager.Clear() ; // Get the parent folder path. var sParentFolderPath ; if ( folderPath != '/' ) sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 ) ; // Show/Hide the Up Folder. oListManager.ShowUpFolder( sParentFolderPath ) ; if ( folderPath != '/' ) { sActiveFolder = folderPath ; oConnector.CurrentFolder = sParentFolderPath oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ; } else OpenFolder( '/' ) ; } function GetFoldersCallBack( fckXml ) { // Get the current folder path. var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ; var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ; var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ; for ( var i = 0 ; i < oNodes.length ; i++ ) { var sFolderName = oNodes[i].attributes.getNamedItem('name').value ; oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ; } OpenFolder( sActiveFolder ) ; } function SetResourceType( type ) { oConnector.ResourceType = type ; LoadFolders( '/' ) ; } window.onload = function() { oListManager.Init() ; SetResourceType( 'File' ) ; } </script> </head> <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10"> <table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr id="trUp" style="DISPLAY: none"> <td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td> <td nowrap width="100%"> <a id="linkUp" href="#">..</a></td> </tr> </table> </body> </html> --- NEW FILE: frmresourceslist.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmresourceslist.html * This page shows all resources available in a folder in the File Browser. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="js/fckxml.js"></script> <script type="text/javascript" src="js/common.js"></script> <script language="javascript"> var oListManager = new Object() ; oListManager.Init = function() { this.Table = document.getElementById('tableFiles') ; } oListManager.Clear = function() { // Remove all other rows available. while ( this.Table.rows.length > 0 ) this.Table.deleteRow(0) ; } oListManager.AddFolder = function( folderName, folderPath ) { // Create the new row. var oRow = this.Table.insertRow(-1) ; // Build the link to view the folder. var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ; // Add the folder icon cell. var oCell = oRow.insertCell(-1) ; oCell.width = 16 ; oCell.innerHTML = sLink + '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' ; // Add the folder name cell. oCell = oRow.insertCell(-1) ; oCell.noWrap = true ; oCell.colSpan = 2 ; oCell.innerHTML = ' ' + sLink + folderName + '</a>' ; } oListManager.AddFile = function( fileName, fileUrl, fileSize ) { // Create the new row. var oRow = this.Table.insertRow(-1) ; // Build the link to view the folder. var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl + '\');return false;">' ; // Get the file icon. var sIcon = oIcons.GetIcon( fileName ) ; // Add the file icon cell. var oCell = oRow.insertCell(-1) ; oCell.width = 16 ; oCell.innerHTML = sLink + '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' ; // Add the file name cell. oCell = oRow.insertCell(-1) ; oCell.innerHTML = ' ' + sLink + fileName + '</a>' ; // Add the file size cell. oCell = oRow.insertCell(-1) ; oCell.noWrap = true ; oCell.align = 'right' ; oCell.innerHTML = ' ' + fileSize + ' KB' ; } function OpenFolder( folderPath ) { // Load the resources list for this folder. window.parent.frames['frmFolders'].LoadFolders( folderPath ) ; } function OpenFile( fileUrl ) { window.top.opener.SetUrl( fileUrl ) ; window.top.close() ; window.top.opener.focus() ; } function LoadResources( resourceType, folderPath ) { oListManager.Clear() ; oConnector.ResourceType = resourceType ; oConnector.CurrentFolder = folderPath oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ; } function Refresh() { LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ; } function GetFoldersAndFilesCallBack( fckXml ) { // Get the current folder path. var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ; var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ; var sCurrentFolderUrl = oNode.attributes.getNamedItem('url').value ; // Add the Folders. var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ; for ( var i = 0 ; i < oNodes.length ; i++ ) { var sFolderName = oNodes[i].attributes.getNamedItem('name').value ; oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ; } // Add the Files. var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ; for ( var i = 0 ; i < oNodes.length ; i++ ) { var sFileName = oNodes[i].attributes.getNamedItem('name').value ; var sFileSize = oNodes[i].attributes.getNamedItem('size').value ; oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize ) ; } } window.onload = function() { oListManager.Init() ; window.top.IsLoadedResourcesList = true ; } </script> </head> <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10"> <table id="tableFiles" cellSpacing="1" cellPadding="0" width="100%" border="0"> </table> </body> </html> --- NEW FILE: frmresourcetype.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmresourcetype.html * This page shows the list of available resource types. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:53 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <link href="Browser.css" type="text/css" rel="stylesheet"> <script language="javascript"> function SetResourceType( type ) { window.parent.frames["frmFolders"].SetResourceType( type ) ; } </script> </head> <body bottomMargin="0" topMargin="0"> <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td nowrap> Resource Type<BR> <select style="WIDTH: 100%" onchange="SetResourceType(this.value);"> <option value="File" selected>File</option> <option value="Image">Image</option> <option value="Flash">Flash</option> <option value="Media">Media</option> </select> </td> </tr> </table> </body> </html> --- NEW FILE: frmupload.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: frmupload.html * Page used to upload new files in the current folder. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:53 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link href="Browser.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="js/common.js"></script> <script language="javascript"> function SetCurrentFolder( resourceType, folderPath ) { var sUrl = oConnector.ConnectorUrl +'?Command=FileUpload' ; sUrl += '&Type=' + resourceType ; sUrl += '&CurrentFolder=' + folderPath ; document.getElementById('frmUpload').action = sUrl ; } function OnSubmit() { if ( document.getElementById('NewFile').value.length == 0 ) { alert( 'Please select a file from your computer' ) ; return false ; } // Set the interface elements. document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ; document.getElementById('btnUpload').disabled = true ; return true ; } function OnUploadCompleted( errorNumber, fileName ) { // Reset the Upload Worker Frame. window.parent.frames['frmUploadWorker'].location = '' ; // Reset the upload form. document.getElementById('frmUpload').reset() ; // Reset the interface elements. document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ; document.getElementById('btnUpload').disabled = false ; switch ( errorNumber ) { case 0 : window.parent.frames['frmResourcesList'].Refresh() ; break ; case 201 : window.parent.frames['frmResourcesList'].Refresh() ; alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; break ; case 202 : alert( 'Invalid file' ) ; break ; default : alert( 'Error on file upload. Error number: ' + errorNumber ) ; break ; } } window.onload = function() { window.top.IsLoadedUpload = true ; } </script> </head> <body bottomMargin="0" topMargin="0"> <form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();"> <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td nowrap> <span id="eUploadMessage">Upload a new file in this folder</span><br> <table cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td> <td nowrap> <input id="btnUpload" type="submit" value="Upload"></td> </tr> </table> </td> </tr> </table> </form> </body> </html> |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/dialog In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/dialog Added Files: fck_about.html fck_image.html fck_link.html fck_smiley.html fck_specialchar.html fck_table.html Log Message: added fckeditor to comment submittal. --- NEW FILE: fck_about.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_about.html * About dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <script language="javascript"> <!-- var oEditor = window.parent.InnerDialogLoaded() ; // Set the language direction. window.document.dir = oEditor.FCKLang.Dir ; // Set the Skin CSS. document.write( '<link href="' + oEditor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; function SendEMail() { var eMail = 'mailto:' ; eMail += 'fredck' ; eMail += '@' ; eMail += 'fckeditor' ; eMail += '.' ; eMail += 'net' ; window.location = eMail ; } window.onload = function() { // Translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage(document) ; } //--> </script> </head> <body scroll="no"> <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"> <tr> <td> <img alt="" src="images/logo_fckeditor.gif" width="236" height="41" align="left"> <table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right"> <tr> <td align="center" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"> <span fckLang="DlgAboutVersion">version</span> <br> <b>2.0 Beta 1</b></td> </tr> </table> </td> </tr> <tr height="100%"> <td align="center"> Copyright (C) 2003-2004 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a> <br> <br> <span fckLang="DlgAboutLicense">Licensed under the terms of the GNU Lesser General Public License</span> <br> <a href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">http://www.opensource.org/licenses/lgpl-license.php</a> <br> <br> <span fckLang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/" target="_blank"> http://www.fckeditor.net/</a>. </td> </tr> <tr> <td align="center"> <img alt="" src="images/logo_fredck.gif" width="87" height="36"> </td> </tr> </table> </body> </html> --- NEW FILE: fck_image.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_image.html * Image dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script type="text/javascript"> var dialogArguments = window.parent.InnerDialogLoaded() ; var FCK = dialogArguments.FCK ; // Sets the Skin CSS document.write( '<link href="' + dialogArguments.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; var FCKConfig = dialogArguments.FCKConfig ; // Get browsing configuration var bCanBrowse = FCKConfig.ImageBrowser ; var sBrowseURL = FCKConfig.ImageBrowserURL ; var iBrowseWindowWidth = FCKConfig.ImageBrowserWindowWidth ; var iBrowseWindowHeight = FCKConfig.ImageBrowserWindowHeight ; // Get upload configuration var bCanUpload = FCKConfig.ImageUpload && dialogArguments.BrowserInfo.IsIE55OrMore ; var sUploadURL = FCKConfig.ImageUploadURL ; var iUploadWindowWidth = FCKConfig.ImageUploadWindowWidth ; var iUploadWindowHeight = FCKConfig.ImageUploadWindowHeight ; var sUploadAllowedExtensions = FCKConfig.ImageUploadAllowedExtensions ; // Gets the document DOM var oDOM = dialogArguments.FCK.EditorDocument ; // Gets the image if there is one selected. var image ; var e = FCK.Selection.GetSelectedElement( 'A' ) ; if ( e && e.tagName == 'IMG' ) image = e ; // this var is used to update the existing image var imageSource = image ; // Gets a copy of the image (for image size purposes) var imageOriginal ; if (image != null) { imageOriginal = new Image() ; imageOriginal.src = image.src ; } else imageOriginal = null ; // Get the IMG tag. function getImageHtml() { return '<IMG' + attr("src", document.getElementById('txtURL').value) + attr("alt", document.getElementById('txtAlt').value) + attr("align", document.getElementById('cmbAlign')[document.getElementById('cmbAlign').selectedIndex].value) + ((txtWidth.value) ? attr("width" , document.getElementById('txtWidth').value) : "") + ((txtHeight.value) ? attr("height", document.getElementById('txtHeight').value) : "") + ((txtVSpace.value) ? attr("vspace", document.getElementById('txtVSpace').value) : "") + ((txtHSpace.value) ? attr("hspace", document.getElementById('txtHSpace').value) : "") + ((txtBorder.value) ? attr("border", document.getElementById('txtBorder').value) : attr("border",0)) + '/>' ; } // Returns a formatted image attribute. Used by getImageHtml(). function attr(name, value) { if (!value || value == "") return "" ; return ' ' + name + '="' + value + '"' ; } // Update any image (the selected or preview one) function updateImage(imgTarget) { if ( document.getElementById('txtURL').value.length == 0 ) imgTarget.style.display = "none" ; else { imgTarget.style.removeAttribute("display") ; imgTarget.style.removeAttribute("height") ; imgTarget.style.removeAttribute("width") ; imgTarget.src = document.getElementById('txtURL').value ; setAttribute(imgTarget, "alt" , document.getElementById('txtAlt').value) ; setAttribute(imgTarget, "width" , document.getElementById('txtWidth').value) ; setAttribute(imgTarget, "height", document.getElementById('txtHeight').value) ; setAttribute(imgTarget, "vspace", document.getElementById('txtVSpace').value) ; setAttribute(imgTarget, "hspace", document.getElementById('txtHSpace').value) ; setAttribute(imgTarget, "border", document.getElementById('txtBorder').value) ; setAttribute(imgTarget, "align" , document.getElementById('cmbAlign').options[ document.getElementById('cmbAlign').selectedIndex ].value) ; } } function setAttribute(element, attribute, value) { if (value == null || value == "") element.removeAttribute(attribute, 0) ; // 0 = case insensitive else element.setAttribute(attribute, value, 0) ; // 0 = overwrite } // Fired when any field change to update the preview image. function updatePreview() { updateImage(imgPreview) ; } // Fired when the user press the OK button function Ok() { if ( document.getElementById('txtURL').value.length == 0 ) { cancel() ; return ; } if ( imageSource == null ) window.returnValue = getImageHtml() ; else { updateImage( imageSource ) ; window.returnValue = null ; } window.close() ; } // Fired when the user load the window. It sets the fields with the // actual values if an image is selected in the editor. function setDefaults() { // First of all, translate the dialog box texts dialogArguments.FCKLanguageManager.TranslatePage(document) ; window.parent.AddTab( 'Info', 'Image Info' ) ; window.parent.AddTab( 'Upload', 'Upload' ) ; if (image == null) return ; if (image.getAttribute("src",2) != null) document.getElementById('txtURL').value = image.getAttribute("src",2) ; if (image.getAttribute("alt",2) != null) document.getElementById('txtAlt').value = image.getAttribute("alt",2) ; if (image.getAttribute("vspace",2) != null) document.getElementById('txtVSpace').value = image.getAttribute("vspace",2) > 0 ? image.getAttribute("vspace",2) : "" ; if (image.getAttribute("hspace",2) != null) document.getElementById('txtHSpace').value = image.getAttribute("hspace",2) > 0 ? image.getAttribute("hspace",2) : "" ; if (image.getAttribute("border",2) != null) document.getElementById('txtBorder').value = image.getAttribute("border",2) ; if ( image.style.getAttribute("pixelWidth") > 0 ) document.getElementById('txtWidth').value = image.style.getAttribute("pixelWidth") ; else if (image.getAttribute("width",2) != null) document.getElementById('txtWidth').value = image.getAttribute("width",2) ; if ( image.style.getAttribute("pixelHeight") > 0 ) document.getElementById('txtHeight').value = image.style.getAttribute("pixelHeight") ; else if (image.getAttribute("height",2) != null) document.getElementById('txtHeight').value = image.getAttribute("height",2) ; if (image.getAttribute("align") != null) document.getElementById('cmbAlign').value = image.getAttribute("align") ; updatePreview() ; } // Fired when the width or height input texts change function sizeChanged(axe) { // Verifies if the aspect ration has to be mantained if (imageOriginal && document.getElementById('chkLockRatio').checked) { if ((axe) == "Width") { if ( document.getElementById('txtWidth').value != "") { if (! isNaN(txtWidth.value)) document.getElementById('txtHeight').value = Math.round( imageOriginal.height * ( txtWidth.value / imageOriginal.width ) ) ; } else document.getElementById('txtHeight').value = "" ; } else if (txtHeight.value != "") { if (! isNaN(txtHeight.value)) document.getElementById('txtWidth').value = Math.round( imageOriginal.width * ( document.getElementById('txtHeight').value / imageOriginal.height ) ) ; } else document.getElementById('txtWidth').value = "" ; } updatePreview() ; } // Fired when the Lock Ratio checkbox is clicked function onLockRationClick() { sizeChanged("Width") ; } // Fired when the Reset Size button is clicked function resetSize() { if (! imageOriginal) return ; document.getElementById('txtWidth').value = imageOriginal.width ; document.getElementById('txtHeight').value = imageOriginal.height ; updatePreview() ; } // Fired when the user click in the "Sent it to the Server" button. function uploadFile() { var sFile = frmUpload.FCKeditor_File.value ; if (sFile == "") { alert( dialogArguments.FCKLang["DlgImgAlertSelect"] ) ; return ; } var sExt = sFile.match( /\.[^\.]*$/ ) ; sExt = sExt ? sExt[0].toLowerCase() : "." ; if ( sUploadAllowedExtensions.indexOf( sExt ) < 0 ) { alert( dialogArguments.FCKLang["DlgImgMsgWrongExt"] ) ; return ; } var oWindow = openNewWindow("", "UploadWindow", iUploadWindowWidth, iUploadWindowHeight) ; frmUpload.submit() ; oWindow.setImage = setImage ; } function browserServer() { var oWindow = openNewWindow(sBrowseURL, "BrowseWindow", iBrowseWindowWidth, iBrowseWindowHeight) ; oWindow.setImage = setImage ; } function openNewWindow(sURL, sName, iWidth, iHeight, bResizable, bScrollbars) { var iTop = (screen.height - iHeight) / 2 ; var iLeft = (screen.width - iWidth) / 2 ; var sOptions = "toolbar=no" ; sOptions += ",width=" + iWidth ; sOptions += ",height=" + iHeight ; sOptions += ",resizable=" + (bResizable ? "yes" : "no") ; sOptions += ",scrollbars=" + (bScrollbars ? "yes" : "no") ; sOptions += ",left=" + iLeft ; sOptions += ",top=" + iTop ; var oWindow = window.open(sURL, sName, sOptions) oWindow.focus(); return oWindow ; } function setImage(sImageURL) { if (image != null) { image = new Image() ; image.src = sImageURL ; } imageOriginal = new Image() ; imageOriginal.onload = resetSize ; imageOriginal.src = sImageURL ; document.getElementById('txtURL').value = sImageURL ; updatePreview() ; } </script> <style type="text/css"> .ImagePreviewArea { border-right: #000000 1px solid; padding-right: 5px; border-top: #000000 1px solid; padding-left: 5px; padding-bottom: 5px; overflow: auto; border-left: #000000 1px solid; width: 100%; padding-top: 5px; border-bottom: #000000 1px solid; height: 150px; background-color: #ffffff; } </style> </head> <body bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5" onload="setDefaults()" scroll="no"> <table cellspacing="1" cellpadding="1" border="0" width="100%" class="dlg" height="100%"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td valign="top" colspan="2"> <span fckLang="DlgImgURL">URL</span><br> <input style="WIDTH: 100%" type="text" id="txtURL" onblur="updatePreview();"> </td> </tr> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" border="0" style="DISPLAY: none" id="tableUpload"> <tr> <form id="frmUpload" enctype="multipart/form-data" method="post" target="UploadWindow"> <td><span fckLang="DlgImgUpload">Upload</span><br> <input style="WIDTH: 100%" type="file" name="FCKeditor_File" id="FCKeditor_File"> </td> </tr> <tr> <td align="right"> <input id="btnUpload" type="button" fckLang="DlgImgBtnUpload" value="Send it to the Server" onclick="uploadFile();"> </td> </form> </tr> </table> </td> <td valign="middle" width="100"> <input type="button" style="DISPLAY: none; WIDTH: 100%" fckLang="DlgImgBtnBrowse" value="Browse Server" onclick="browserServer();" id="btnBrowse"> </td> </tr> </table> <hr width="100%" color="#000000" size="2"> </td> </tr> <tr> <td><span fckLang="DlgImgAlt">Alternative Text</span><BR> <input style="WIDTH: 100%" type="text" id="txtAlt" onkeyup="updatePreview();"> </td> </tr> <tr height="100%"> <td> <table cellspacing="0" cellpadding="0" width="100%" border="0" height="100%"> <tr> <td valign="top"> <br> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><span fckLang="DlgImgWidth">Width</span> </td> <td> <input type="text" size="3" id="txtWidth" onkeyup="sizeChanged('Width');"></td> </tr> <tr> <td><span fckLang="DlgImgHeight">Height</span> </td> <td> <input type="text" size="3" id="txtHeight" onkeyup="sizeChanged('Height');"></td> </tr> </table> <input type="checkbox" class="CheckBox" checked id="chkLockRatio" onclick="onLockRationClick();"> <span fckLang="DlgImgLockRatio">Lock Ratio</span> <br> <input type="button" fckLang="DlgBtnResetSize" value="Reset Size" onclick="resetSize();"><br> <br> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><span fckLang="DlgImgBorder">Border</span> </td> <td> <input type="text" size="2" value="0" id="txtBorder" onkeyup="updatePreview();"></td> </tr> <tr> <td><span fckLang="DlgImgHSpace">HSpace</span> </td> <td> <input type="text" size="2" id="txtHSpace" onkeyup="updatePreview();"></td> </tr> <tr> <td><span fckLang="DlgImgVSpace">VSpace</span> </td> <td> <input type="text" size="2" id="txtVSpace" onkeyup="updatePreview();"></td> </tr> <tr> <td><span fckLang="DlgImgAlign">Align</span> </td> <td><select id="cmbAlign" onchange="updatePreview();"> <option value="" selected></option> <option fckLang="DlgImgAlignLeft" value="left">Left</option> <option fckLang="DlgImgAlignAbsBottom" value="absBottom">Abs Bottom</option> <option fckLang="DlgImgAlignAbsMiddle" value="absMiddle">Abs Middle</option> <option fckLang="DlgImgAlignBaseline" value="baseline">Baseline</option> <option fckLang="DlgImgAlignBottom" value="bottom">Bottom</option> <option fckLang="DlgImgAlignMiddle" value="middle">Middle</option> <option fckLang="DlgImgAlignRight" value="right">Right</option> <option fckLang="DlgImgAlignTextTop" value="textTop">Text Top</option> <option fckLang="DlgImgAlignTop" value="top">Top</option> </select></td> </tr> </table> </td> <td> </td> <td width="100%"> <table cellpadding="0" cellspacing="0"> <tr> <td><span fckLang="DlgImgPreview">Preview</span></td> </tr> <tr> <td valign="top"> <div class="ImagePreviewArea"> <img id="imgPreview" style="DISPLAY: none">Magnus es, domine, et laudabilis valde: magna virtus tua, et sapientiae tuae non est numerus. et laudare te vult homo, aliqua portio creaturae tuae, et homo circumferens mortalitem suam, circumferens testimonium peccati sui et testimonium, quia superbis resistis: et tamen laudare te vult homo, aliqua portio creaturae tuae.tu excitas, ut laudare te delectet, quia fecisti nos ad te et inquietum est cor nostrum, donec requiescat in te. da mihi, domine, scire et intellegere, utrum sit prius invocare te an laudare te, et scire te prius sit an invocare te. sed quis te invocat nesciens te? aliud enim pro alio potest invocare nesciens. an potius invocaris, ut sciaris? quomodo autem invocabunt, in quem non crediderunt? aut quomodo credent sine praedicante? et laudabunt dominum qui requirunt eum. quaerentes enim inveniunt eum et invenientes laudabunt eum. quaeram te, domine, invocans te, et invocem te credens in te: praedicatus enim es nobis. invocat te, domine, fides mea, quam dedisti mihi, quam inspirasti mihi per humanitatem filii tui, per ministerium praedicatoris tui. </div> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <script type="text/javascript"> <!-- if (bCanUpload) { tableUpload.style.display = "block" ; frmUpload.action = sUploadURL ; } if (bCanBrowse) btnBrowse.style.display = "block" ; //--> </script> </body> </html> --- NEW FILE: fck_link.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_link.html * Link dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Link Properties</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="noindex, nofollow" /> <script src="js/fck_dialog_common.js" type="text/javascript"></script> <script src="js/fck_link.js" type="text/javascript"></script> </head> <body onload="OnLoad();" scroll="no"> <div id="divInfo" style="DISPLAY: none">Link Type<br /> <select id="cmbLinkType" onchange="SetLinkType(this.value);"> <option value="url" selected="selected">URL</option> <option value="anchor">Anchor in this page</option> <option value="email">E-Mail</option> </select> <br /> <br /> <div id="divLinkTypeUrl"> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td nowrap="nowrap">Protocol<br /> <select id="cmbLinkProtocol"> <option value="http://" selected="selected">http://</option> <option value="https://">https://</option> <option value="ftp://">ftp://</option> <option value="news://">news://</option> <option value=""><other></option> </select> </td> <td nowrap="nowrap"> </td> <td nowrap="nowrap" width="100%">URL<br /> <input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" /> </td> </tr> </table> <br /> <input type="button" value="Browse Server" onclick="BrowseServer();" /> </div> <div id="divLinkTypeAnchor" style="DISPLAY: none" align="center"> <div id="divSelAnchor" style="DISPLAY: none"> <table cellspacing="0" cellpadding="0" border="0" width="70%"> <tr> <td colspan="3">Select an Anchor</td> </tr> <tr> <td width="50%"> By Anchor Name<br /> <select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%"> <option value="" selected="selected"></option> </select> </td> <td> </td> <td width="50%"> By Element Id<br /> <select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%"> <option value="" selected="selected"></option> </select> </td> </tr> </table> </div> <div id="divNoAnchor" style="DISPLAY: none"> <No anchors available in the document> </div> </div> <div id="divLinkTypeEMail" style="DISPLAY: none">E-Mail Address<br /> <input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br /> Message Subject<br /> <input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br /> Message Body<br /> <textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea> </div> </div> <div id="divUpload" style="DISPLAY: none"> <form method="post" target="UploadWindow" enctype="multipart/form-data" action=""> Upload<br /> <input style="WIDTH: 100%" type="file" size="40" /><br /> <br /> <input id="btnUpload" onclick="uploadFile();" type="button" value="Send it to the Server" fckLang="DlgLnkBtnUpload" /> </form> </div> <div id="divTarget" style="DISPLAY: none"> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td nowrap="nowrap">Target<br /> <select id="cmbTarget" onchange="SetTarget(this.value);"> <option value="" selected="selected"><not set></option> <option value="frame"><frame></option> <option value="popup"><popup window></option> <option value="_blank">New Window (_blank)</option> <option value="_top">Topmost Window (_top)</option> <option value="_self">Same Window (_self)</option> <option value="_parent">Parent Window (_parent)</option> </select> </td> <td> </td> <td id="tdTargetFrame" nowrap="nowrap" width="100%">Target Frame Name<br /> <input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();" onchange="OnTargetNameChange();" /> </td> <td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">Popup Window Name<br /> <input id="txtPopupName" style="WIDTH: 100%" type="text" /> </td> </tr> </table> <br /> <table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center" border="0"> <tr> <td>Popup Window Features<br /> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td valign="top" nowrap="nowrap" width="50%"> <input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable">Resizable</label><br /> <input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar">Location Bar</label><br /> <input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar">Menu Bar</label><br /> <input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars">Scroll Bars</label> </td> <td></td> <td valign="top" nowrap="nowrap" width="50%"> <input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar">Status Bar</label><br /> <input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar">Toolbar</label><br /> <input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen">Full Screen (IE)</label><br /> <input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent">Dependent (Netscape)</label> </td> </tr> <tr> <td valign="top" nowrap="nowrap" width="50%"> </td> <td></td> <td valign="top" nowrap="nowrap" width="50%"></td> </tr> <tr> <td valign="top"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td nowrap="nowrap">Width</td> <td> <input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td> </tr> <tr> <td nowrap="nowrap">Height</td> <td> <input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td> </tr> </table> </td> <td> </td> <td valign="top"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td nowrap="nowrap">Left Position</td> <td> <input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td> </tr> <tr> <td nowrap="nowrap">Top Position</td> <td> <input id="txtPopupTop" type="text" maxlength="4" size="4" /></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </div> <div id="divAttribs" style="DISPLAY: none"> <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"> <tr> <td valign="top" width="50%"> Id<br /> <input id="txtAttId" style="WIDTH: 100%" type="text" /> </td> <td width="1"></td> <td valign="top"> <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"> <tr> <td width="60%"> Language Direction<br /> <select id="cmbAttLangDir" style="WIDTH: 100%"> <option value="" selected="selected"><not set></option> <option value="ltr">Left to Right (LTR)</option> <option value="rtl">Right to Left (RTL)</option> </select> </td> <td width="1%"> </td> <td nowrap="nowrap">Access Key<br /> <input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" /> </td> </tr> </table> </td> </tr> <tr> <td valign="top" width="50%"> Name<br /> <input id="txtAttName" style="WIDTH: 100%" type="text" /> </td> <td width="1"></td> <td valign="top"> <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"> <tr> <td width="60%"> Language Code<br /> <input id="txtAttLangCode" style="WIDTH: 100%" type="text" /> </td> <td width="1%"> </td> <td nowrap="nowrap"> Tab Index<br /> <input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" /> </td> </tr> </table> </td> </tr> <tr> <td valign="top" width="50%"> </td> <td width="1"></td> <td valign="top"></td> </tr> <tr> <td valign="top" width="50%"> Advisory Title<br /> <input id="txtAttTitle" style="WIDTH: 100%" type="text" /> </td> <td width="1"> </td> <td valign="top"> Advisory Content Type<br /> <input id="txtAttContentType" style="WIDTH: 100%" type="text" /> </td> </tr> <tr> <td valign="top"> Stylesheet Classes<br /> <input id="txtAttClasses" style="WIDTH: 100%" type="text" /> </td> <td></td> <td valign="top"> Linked Resource Charset<br /> <input id="txtAttCharSet" style="WIDTH: 100%" type="text" /> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0"> <tr> <td> Style<br /> <input id="txtAttStyle" style="WIDTH: 100%" type="text" /> </td> </tr> </table> </div> </body> </html> --- NEW FILE: fck_smiley.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_smiley.html * Smileys (emoticons) dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="noindex, nofollow" /> <style type="text/css"> .HandIE { cursor: hand ; } .HandMozilla { cursor: pointer ; } </style> <script type="text/javascript"> var dialogArguments = window.parent.InnerDialogLoaded() ; // Sets the Skin CSS document.write( '<link href="' + dialogArguments.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; function insertChar(td) { dialogArguments.FCK.InsertHtml( td.innerHTML || "" ) ; window.parent.Cancel() ; } function over(td) { td.className = 'LightBackground HandIE HandMozilla' ; } function out(td) { td.className = 'DarkBackground HandIE HandMozilla' ; } function setDefaults() { // First of all, translate the dialog box texts dialogArguments.FCKLanguageManager.TranslatePage(document) ; } </script> </head> <body onload="setDefaults()" scroll="no"> <table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%"> <script type="text/javascript"> <!-- var FCKConfig = dialogArguments.FCKConfig ; var sBasePath = FCKConfig.SmileyPath ; var aImages = FCKConfig.SmileyImages ; var cols = FCKConfig.SmileyColumns ; var i = 0 ; while (i < aImages.length) { document.write("<TR>") ; for(var j = 0 ; j < cols ; j++) { if (aImages[i]) { document.write("<TD width='1%' align='center' class='DarkBackground HandIE HandMozilla' onclick='insertChar(this)' onmouseover='over(this)' onmouseout='out(this)'>") ; document.write("<img src='" + sBasePath + aImages[i] + "' border='0'>") ; } else document.write("<TD width='1%' class='DarkBackground'> ") ; document.write("</TD>") ; i++ ; } document.write("</TR>") ; } //--> </script> </table> </body> </html> --- NEW FILE: fck_specialchar.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_specialchar.html * Special Chars Selector dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <style type="text/css"> .HandIE { cursor: hand ; } .HandMozilla { cursor: pointer ; } .Sample { font-size: 24px; } </style> <script type="text/javascript"> var dialogArguments = window.parent.InnerDialogLoaded() ; // Sets the Skin CSS document.write( '<link href="' + dialogArguments.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; var oSample ; function insertChar(charValue) { dialogArguments.FCK.InsertHtml( charValue || "" ) ; window.parent.Cancel() ; } function over(td) { oSample.innerHTML = td.innerHTML ; td.className = 'LightBackground HandIE HandMozilla' ; } function out(td) { oSample.innerHTML = " " ; td.className = 'DarkBackground HandIE HandMozilla' ; } function setDefaults() { // Gets the sample placeholder. oSample = document.getElementById("SampleTD") ; // First of all, translates the dialog box texts. dialogArguments.FCKLanguageManager.TranslatePage(document) ; } </script> </HEAD> <BODY onload="setDefaults()" scroll="no"> <table cellpadding="0" cellspacing="0" width="100%" height="100%"> <tr> <td width="100%"> <table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%"> <script type="text/javascript"> var aChars = ["!",""","#","$","%","&","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ü","ý","þ","ÿ"] ; var cols = 20 ; var i = 0 ; while (i < aChars.length) { document.write("<TR>") ; for(var j = 0 ; j < cols ; j++) { if (aChars[i]) { document.write('<TD width="1%" class="DarkBackground HandIE HandMozilla" align="center" onclick="insertChar(\'' + aChars[i].replace(/&/g, "&") + '\')" onmouseover="over(this)" onmouseout="out(this)">') ; document.write(aChars[i]) ; } else document.write("<TD class='DarkBackground'> ") ; document.write("</TD>") ; i++ ; } document.write("</TR>") ; } </script> </table> </td> <td nowrap> </td> <td valign="top"> <table width="40" cellpadding="0" cellspacing="0" border="0"> <tr> <td id="SampleTD" width="40" height="40" align="center" class="DarkBackground Sample"> </td> </tr> </table> </td> </tr> </table> </BODY> </HTML> --- NEW FILE: fck_table.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_table.html * Table dialog window. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <!-- Constants --> <script type="text/javascript"> <!-- var dialogArguments = window.parent.InnerDialogLoaded() ; // Sets the Skin CSS document.write( '<link href="' + dialogArguments.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; // Gets the document DOM var oDOM = dialogArguments.FCK.EditorDocument ; // Gets the table if there is one selected. var table ; var e = dialogArguments.FCKSelection.GetSelectedElement() ; if ( ! e && document.location.search.substr(1) == 'Parent' ) e = dialogArguments.FCKSelection.MoveToAncestorNode( 'TABLE' ) ; if ( e && e.tagName == "TABLE" ) table = e ; // Fired when the window loading process is finished. It sets the fields with the // actual values if a table is selected in the editor. function OnLoad() { // First of all, translate the dialog box texts dialogArguments.FCKLanguageManager.TranslatePage(document) ; if (table) { document.getElementById('txtRows').value = table.rows.length ; document.getElementById('txtColumns').value = table.rows[0].cells.length ; // Gets the value from the Width or the Style attribute var iWidth = (table.style.width ? table.style.width : table.width ) ; var iHeight = (table.style.height ? table.style.height : table.height ) ; if (iWidth.indexOf('%') >= 0) // Percentual = % { iWidth = parseInt( iWidth.substr(0,iWidth.length - 1) ) ; document.getElementById('selWidthType').value = "percent" ; } else if (iWidth.indexOf('px') >= 0) // Style Pixel = px { // iWidth = iWidth.substr(0,iWidth.length - 2); document.getElementById('selWidthType').value = "pixels" ; } if (iHeight && iHeight.indexOf('px') >= 0) // Style Pixel = px iHeight = iHeight.substr(0,iHeight.length - 2); document.getElementById('txtWidth').value = iWidth ; document.getElementById('txtHeight').value = iHeight ; document.getElementById('txtBorder').value = table.border ; document.getElementById('selAlignment').value = table.align ; document.getElementById('txtCellPadding').value = table.cellPadding ; document.getElementById('txtCellSpacing').value = table.cellSpacing ; // document.getElementById('cmbFontStyle').value = table.className ; if (table.caption) document.getElementById('txtCaption').value = table.caption.innerText ; document.getElementById('txtRows').disabled = true ; document.getElementById('txtColumns').disabled = true ; } window.parent.SetOkButton( true ) ; } // Fired when the user press the OK button function Ok() { var bExists = ( table != null ) ; if ( ! bExists ) { table = document.createElement( "TABLE" ) ; } // Removes the Width and Height styles if ( bExists && table.style.width ) table.style.removeAttribute("width") ; if ( bExists && table.style.height ) table.style.removeAttribute("height") ; table.width = document.getElementById('txtWidth').value + ( document.getElementById('selWidthType').value == "percent" ? "%" : "") ; table.height = document.getElementById('txtHeight').value ; table.border = document.getElementById('txtBorder').value ; table.align = document.getElementById('selAlignment').value ; table.cellPadding = document.getElementById('txtCellPadding').value ; table.cellSpacing = document.getElementById('txtCellSpacing').value ; // table.className = cmbFontStyle.value ; if ( document.getElementById('txtCaption').value != '') { if (! table.caption) table.createCaption() ; table.caption.innerText = document.getElementById('txtCaption').value ; } // else if ( bExists && table.caption ) // table.deleteCaption() ; // TODO: It causes an IE internal error. if (! bExists) { var iRows = document.getElementById('txtRows').value ; var iCols = document.getElementById('txtColumns').value ; for ( var r = 0 ; r < iRows ; r++ ) { var oRow = table.insertRow(-1) ; for ( var c = 0 ; c < iCols ; c++ ) { var oCell = oRow.insertCell(-1) ; oCell.innerHTML = " " ; } } dialogArguments.FCK.InsertElement( table ) ; } return true ; } function IsDigit( e ) { e = e || event ; var iCode = ( e.keyCode || e.charCode ) ; return ( ( iCode >= 48 && iCode <= 57 ) // Numbers || (iCode >= 37 && iCode <= 40) // Arrows || iCode == 8 // Backspace || iCode == 46 // Delete ) ; } //--> </script> </head> <body bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5" onload="OnLoad()"> <table id="otable" cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%"> <tr> <td> <table cellSpacing="1" cellPadding="1" width="100%" border="0"> <tr> <td valign="top"> <table cellSpacing="0" cellPadding="0" border="0"> <tr> <td><span fckLang="DlgTableRows">Rows</span>:</td> <td> <input id="txtRows" type="text" maxLength="3" size="2" value="3" name="txtRows" onkeypress="return IsDigit(event);"></td> </tr> <tr> <td><span fckLang="DlgTableColumns">Columns</span>:</td> <td> <input id="txtColumns" type="text" maxLength="2" size="2" value="2" name="txtColumns" onkeypress="return IsDigit(event);"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><span fckLang="DlgTableBorder">Border size</span>:</td> <td> <INPUT id="txtBorder" type="text" maxLength="2" size="2" value="1" name="txtBorder" onkeypress="return IsDigit(event);"></td> </tr> <tr> <td><span fckLang="DlgTableAlign">Alignment</span>:</td> <td> <select id="selAlignment" name="selAlignment"> <option fckLang="DlgTableAlignNotSet" value="" selected><Not set></option> <option fckLang="DlgTableAlignLeft" value="left">Left</option> <option fckLang="DlgTableAlignCenter" value="center">Center</option> <option fckLang="DlgTableAlignRight" value="right">Right</option> </select></td> </tr> </table> </td> <td> </td> <td align="right" valign="top"> <table cellSpacing="0" cellPadding="0" border="0"> <tr> <td><span fckLang="DlgTableWidth">Width</span>:</td> <td> <input id="txtWidth" type="text" maxLength="4" size="3" value="200" name="txtWidth" onkeypress="return IsDigit(event);"></td> <td> <select id="selWidthType" name="selWidthType"> <option fckLang="DlgTableWidthPx" value="pixels" selected>pixels</option> <option fckLang="DlgTableWidthPc" value="percent">percent</option> </select></td> </tr> <tr> <td><span fckLang="DlgTableHeight">Height</span>:</td> <td> <INPUT id="txtHeight" type="text" maxLength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);"></td> <td> <span fckLang="DlgTableWidthPx">pixels</span></td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td nowrap><span fckLang="DlgTableCellSpace">Cell spacing</span>:</td> <td> <input id="txtCellSpacing" type="text" maxLength="2" size="2" value="1" name="txtCellSpacing" onkeypress="return IsDigit(event);"></td> <td> </td> </tr> <tr> <td nowrap><span fckLang="DlgTableCellPad">Cell padding</span>:</td> <td> <input id="txtCellPadding" type="text" maxLength="2" size="2" value="1" name="txtCellPadding" onkeypress="return IsDigit(event);"></td> <td> </td> </tr> </table> </td> </tr> </table> <table cellSpacing="0" cellPadding="0" width="100%" border="0" ID="Table1"> <tr> <td nowrap><span fcklang="DlgClassName">Class Name</span>:</td> <td> </td> <td> <script type="text/javascript"> // var tbstyles = new TBCombo( "FontStyle" , "null" , "", dialogArguments.config.StyleNames, dialogArguments.config.StyleValues, 'CheckStyle("cmbFontStyle")'); // document.write(tbstyles.GetHTML()); </script></td> </tr> <tr> <td><span fckLang="DlgTableCaption">Caption</span>:</td> <td> </td> <td width="100%"> <input id="txtCaption" type="text" style="WIDTH: 100%"></td> </tr> </table> </td> </tr> </table> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:54
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/filemanager/browser/default/images Added Files: ButtonArrow.gif Folder.gif Folder32.gif FolderOpened.gif FolderOpened32.gif FolderUp.gif spacer.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: ButtonArrow.gif --- GIF89a --- NEW FILE: Folder.gif --- GIF89a --- NEW FILE: Folder32.gif --- GIF89a --- NEW FILE: FolderOpened.gif --- GIF89a --- NEW FILE: FolderOpened32.gif --- GIF89a NpÍþ¡·Tªå:ãyúð?T>7iz4_gJDyt^(u --- NEW FILE: FolderUp.gif --- GIF89a --- NEW FILE: spacer.gif --- GIF89a |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:54
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/_source/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/_source/classes Added Files: fck_othercommands.js fckcontextmenugroup.js fckcontextmenuitem.js fckcontextmenuseparator.js fckevents.js fcknamedcommand.js fcktoolbar.js fcktoolbarbutton.js fcktoolbarcombo.js Log Message: added fckeditor to comment submittal. --- NEW FILE: fck_othercommands.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_othercommands.js * Definition of other commands that are not available internaly in the * browser (see FCKNamedCommand). * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // ### General Dialog Box Commands. var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam ) { this.Name = name ; this.Title = title ; this.Url = url ; this.Width = width ; this.Height = height ; this.GetStateFunction = getStateFunction ; this.GetStateParam = getStateParam ; } FCKDialogCommand.prototype.Execute = function() { FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height ) ; } FCKDialogCommand.prototype.GetState = function() { if ( this.GetStateFunction ) { return this.GetStateFunction( this.GetStateParam ) ; } else { return FCK_TRISTATE_OFF ; } } // Generic Undefined command (usually used when a command is under development). var FCKUndefinedCommand = function() { this.Name = 'Undefined' ; } FCKUndefinedCommand.prototype.Execute = function() { alert( 'Undefined command' ) ; } FCKUndefinedCommand.prototype.GetState = function() { return FCK_TRISTATE_OFF ; } // ### FontName var FCKFontNameCommand = function() { this.Name = 'FontName' ; } FCKFontNameCommand.prototype.Execute = function( fontName ) { if (fontName == null || fontName == "") { // TODO: Remove font name attribute. } else { FCK.ExecuteNamedCommand( 'FontName', fontName ) ; } } FCKFontNameCommand.prototype.GetState = function() { return FCK.GetNamedCommandValue( 'FontName' ) ; } // ### FontSize var FCKFontSizeCommand = function() { this.Name = 'FontSize' ; } FCKFontSizeCommand.prototype.Execute = function( fontSize ) { if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize) ; if ( fontSize == null || fontSize == '' ) { // TODO: Remove font size attribute (Now it works with size 3. Will it work forever?) FCK.ExecuteNamedCommand( 'FontSize', 3 ) ; } else { FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ; } } FCKFontSizeCommand.prototype.GetState = function() { return FCK.GetNamedCommandValue( 'FontSize' ) ; } // ### FormatBlock var FCKFormatBlockCommand = function() { this.Name = 'FormatBlock' ; } FCKFormatBlockCommand.prototype.Execute = function( formatName ) { if ( formatName == null || formatName == '' ) { FCK.ExecuteNamedCommand( 'FormatBlock', '<P>' ) ; } else { FCK.ExecuteNamedCommand( 'FormatBlock', formatName ) ; } } FCKFormatBlockCommand.prototype.GetState = function() { return FCK.GetNamedCommandValue( 'FormatBlock' ) ; } // ### Preview var FCKPreviewCommand = function() { this.Name = 'Preview' ; } FCKPreviewCommand.prototype.Execute = function() { FCK.Preview() ; } FCKPreviewCommand.prototype.GetState = function() { return FCK_TRISTATE_OFF ; } // ### Save var FCKSaveCommand = function() { this.Name = 'Save' ; } FCKSaveCommand.prototype.Execute = function() { // Get the linked field form. var oForm = FCK.LinkedField.form ; // Submit the form. oForm.submit() ; } FCKSaveCommand.prototype.GetState = function() { return FCK_TRISTATE_OFF ; } // ### NewPage var FCKNewPageCommand = function() { this.Name = 'NewPage' ; } FCKNewPageCommand.prototype.Execute = function() { FCK.SetHTML( '' ) ; } FCKNewPageCommand.prototype.GetState = function() { return FCK_TRISTATE_OFF ; } // ### Source button var FCKSourceCommand = function() { this.Name = "Source" ; } FCKSourceCommand.prototype.Execute = function() { FCK.SwitchEditMode() ; } FCKSourceCommand.prototype.GetState = function() { return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ; } --- NEW FILE: fckcontextmenugroup.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenugroup.js * FCKContextMenuGroup Class: represents a group of items in the context * menu. Generaly a group of items is directly dependent of the same rules. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKContextMenuGroup = function() { this.IsVisible = true ; // Array with all available context menu items of this group. this.Items = new Array() ; // This OPTIONAL function checks if the group must be shown. this.ValidationFunction = null ; } // Adds an item to the group's items collecion. FCKContextMenuGroup.prototype.Add = function( contextMenuItem ) { this.Items[ this.Items.length ] = contextMenuItem ; } // Creates the <TR> elements that represent the item in a table (usually the rendered context menu). FCKContextMenuGroup.prototype.CreateTableRows = function( table ) { for ( var i = 0 ; i < this.Items.length ; i++ ) { this.Items[i].CreateTableRow( table ) ; } } FCKContextMenuGroup.prototype.SetVisible = function( isVisible ) { for ( var i = 0 ; i < this.Items.length ; i++ ) { this.Items[i].SetVisible( isVisible ) ; } this.IsVisible = isVisible ; } FCKContextMenuGroup.prototype.RefreshState = function() { if ( ! this.IsVisible ) return ; for ( var i = 0 ; i < this.Items.length ; i++ ) { this.Items[i].RefreshState() ; } } --- NEW FILE: fckcontextmenuitem.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenuitem.js * FCKContextMenuItem Class: represents a item in the context menu. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKContextMenuItem = function( contextMenu, commandName, label, hasIcon ) { this.ContextMenu = contextMenu ; this.Command = FCKCommands[ commandName ] ; this.Label = label ? label : commandName ; this.HasIcon = hasIcon ? true : false ; } FCKContextMenuItem.prototype.CreateTableRow = function( targetTable ) { // Creates the <TR> element. this._Row = targetTable.insertRow(-1) ; this._Row.className = 'CM_Disabled' ; this._Row.FCKContextMenuItem = this ; // Sets the mouse over event. this._Row.onmouseover = function() { if ( this.className != 'CM_Disabled' ) this.className = 'CM_Over' ; } // Sets the mouse out event. this._Row.onmouseout = function() { if ( this.className != 'CM_Disabled' ) this.className = 'CM_Option' ; } this._Row.onclick = function() { this.FCKContextMenuItem.ContextMenu.Hide() ; this.FCKContextMenuItem.Command.Execute() ; return false ; } var oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Icon' ; if ( this.HasIcon ) oCell.innerHTML = '<img alt="" src="' + FCKConfig.SkinPath + 'toolbar/button.' + this.Command.Name.toLowerCase() + '.gif" width="21" height="20" unselectable="on">' ; oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Label' ; oCell.unselectable = 'on' ; oCell.noWrap = true ; oCell.innerHTML = this.Label ; } FCKContextMenuItem.prototype.SetVisible = function( isVisible ) { this._Row.style.display = isVisible ? '' : 'none' ; } FCKContextMenuItem.prototype.RefreshState = function() { switch ( this.Command.GetState() ) { case FCK_TRISTATE_ON : case FCK_TRISTATE_OFF : this._Row.className = 'CM_Option' ; break ; default : this._Row.className = 'CM_Disabled' ; break ; } } /* Sample output. ----------------------------------------- <tr class="CM_Disabled"> <td class="CM_Icon"><img alt="" src="icons/button.cut.gif" width="21" height="20" unselectable="on"></td> <td class="CM_Label" unselectable="on">Cut</td> </tr> ----------------------------------------- <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);"> <td class="CM_Icon"></td> <td class="CM_Label">Do Something</td> </tr> */ --- NEW FILE: fckcontextmenuseparator.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenuseparator.js * FCKContextMenuSeparator Class: represents a separator in the toolbar. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKContextMenuSeparator = function() { } FCKContextMenuSeparator.prototype.CreateTableRow = function( targetTable ) { // Creates the <TR> element. this._Row = targetTable.insertRow(-1) ; this._Row.className = 'CM_Separator' ; var oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Icon' ; oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Label' ; oCell.innerHTML = '<div></div>' ; } FCKContextMenuSeparator.prototype.SetVisible = function( isVisible ) { this._Row.style.display = isVisible ? '' : 'none' ; } FCKContextMenuSeparator.prototype.RefreshState = function() { // Do nothing... its state doesn't change. } /* Sample output. ----------------------------------------- <tr class="CM_Separator"> <td class="CM_Icon"></td> <td class="CM_Label"><div></div></td> </tr> */ --- NEW FILE: fckevents.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckevents.js * FCKEvents Class: used to handle events is a advanced way. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKEvents = function( eventsOwner ) { this.Owner = eventsOwner ; this.RegisteredEvents = new Object() ; } FCKEvents.prototype.AttachEvent = function( eventName, functionPointer, params ) { if ( ! this.RegisteredEvents[ eventName ] ) this.RegisteredEvents[ eventName ] = new Array() ; this.RegisteredEvents[ eventName ][ this.RegisteredEvents[ eventName ].length ] = functionPointer ; } FCKEvents.prototype.FireEvent = function( eventName, params ) { var bReturnValue = true ; FCKDebug.Output( 'Firing event: ' + eventName, 'Fuchsia' ) ; var oCalls = this.RegisteredEvents[ eventName ] ; if ( oCalls ) { for ( i in oCalls ) { if ( typeof( oCalls[ i ] ) == "function" ) // A Function Pointer { bReturnValue = ( bReturnValue && oCalls[ i ]( params ) ) ; } else // A string (code to run) { bReturnValue = ( bReturnValue && eval( oCalls[ i ] ) ) ; } } } return bReturnValue ; } --- NEW FILE: fcknamedcommand.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcknamedcommand.js * FCKNamedCommand Class: represents a internal browser command. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKNamedCommand = function( commandName ) { this.Name = commandName ; } FCKNamedCommand.prototype.Execute = function() { FCK.ExecuteNamedCommand( this.Name ) ; } FCKNamedCommand.prototype.GetState = function() { return FCK.GetNamedCommandState( this.Name ) ; } --- NEW FILE: fcktoolbar.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcktoolbar.js * FCKToolbar Class: represents a toolbar. A toolbar is not the complete * toolbar set visible, but just a strip on it... a group of items. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKToolbar = function() { this.Items = new Array() ; this.DOMTable = document.createElement( 'table' ) ; this.DOMTable.className = 'TB_Toolbar' ; with ( this.DOMTable ) { // Sets the toolbar direction. IE uses "styleFloat" and Gecko uses "cssFloat". style.styleFloat = style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ; cellPadding = 0 ; cellSpacing = 0 ; border = 0 ; } this.DOMRow = this.DOMTable.insertRow(-1) ; var oCell = this.DOMRow.insertCell(-1) ; oCell.className = 'TB_Start' ; oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ; FCKToolbarSet.DOMElement.appendChild( this.DOMTable ) ; } FCKToolbar.prototype.AddItem = function( toolbarItem ) { this.Items[ this.Items.length ] = toolbarItem ; toolbarItem.CreateInstance( this ) ; } FCKToolbar.prototype.AddSeparator = function() { var oCell = this.DOMRow.insertCell(-1) ; oCell.unselectable = 'on' ; oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ; } FCKToolbar.prototype.AddTerminator = function() { var oCell = this.DOMRow.insertCell(-1) ; oCell.className = 'TB_End' ; oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ; } --- NEW FILE: fcktoolbarbutton.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcktoolbarbutton.js * FCKToolbarButton Class: represents a button in the toolbar. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKToolbarButton = function( commandName, label, tooltip, style, sourceView ) { this.Command = FCKCommands[ commandName ] ; this.Label = label ? label : commandName ; this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ; this.Style = style ? style : FCK_TOOLBARITEM_ONLYICON ; this.SourceView = sourceView ? true : false ; this.State = FCK_UNKNOWN ; } FCKToolbarButton.prototype.CreateInstance = function( parentToolbar ) { /* <td title="Bold" class="TB_Button_Off" unselectable="on" onmouseover="Button_OnMouseOver(this);" onmouseout="Button_OnMouseOut(this);"> <table class="TB_ButtonType_Icon" cellspacing="0" cellpadding="0" border="0"> <tr> <td class="TB_Icon"><img src="icons/button.redo.gif" width="21" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = '';"></td> <td class="TB_Text" unselectable="on">Redo</td> </tr> </table> </td> */ this.DOMDiv = document.createElement( 'div' ) ; this.DOMDiv.className = 'TB_Button_Off' ; this.DOMDiv.FCKToolbarButton = this ; this.DOMDiv.onmouseover = function() { if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED ) { this.className = 'TB_Button_On' ; } } this.DOMDiv.onmouseout = function() { if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED && this.FCKToolbarButton.State != FCK_TRISTATE_ON ) { this.className = 'TB_Button_Off' ; } } this.DOMDiv.onclick = function() { if ( this.FCKToolbarButton.State != FCK_TRISTATE_DISABLED ) this.FCKToolbarButton.Command.Execute() ; return false ; } // Gets the correct CSS class to use for the specified style (param). var sClass ; switch ( this.Style ) { case FCK_TOOLBARITEM_ONLYICON : sClass = 'TB_ButtonType_Icon' ; break ; case FCK_TOOLBARITEM_ONLYTEXT : sClass = 'TB_ButtonType_Text' ; break ; case FCK_TOOLBARITEM_ICONTEXT : sClass = '' ; break ; } this.DOMDiv.innerHTML = '<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' + '<tr>' + '<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/button.' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on"></td>' + '<td class="TB_Text" unselectable="on">' + this.Label + '</td>' + '</tr>' + '</table>' ; var oCell = parentToolbar.DOMRow.insertCell(-1) ; oCell.appendChild( this.DOMDiv ) ; this.RefreshState() ; } FCKToolbarButton.prototype.RefreshState = function() { // Gets the actual state. var eState ; if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView ) eState = FCK_TRISTATE_DISABLED ; else eState = this.Command.GetState() ; // If there are no state changes than do nothing and return. if ( eState == this.State ) return ; // Sets the actual state. this.State = eState ; switch ( this.State ) { case FCK_TRISTATE_ON : this.DOMDiv.className = 'TB_Button_On' ; break ; case FCK_TRISTATE_OFF : this.DOMDiv.className = 'TB_Button_Off' ; break ; default : this.DOMDiv.className = 'TB_Button_Disabled' ; break ; } } --- NEW FILE: fcktoolbarcombo.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcktoolbarcombo.js * FCKToolbarCombo Class: represents a combo in the toolbar. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKToolbarCombo = function( commandName, label, itemsValues, itemsNames, tooltip, style, firstIsBlank, itemsSeparator, sourceView ) { this.Command = FCKCommands[ commandName ] ; this.Label = label ? label : commandName ; this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ; this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; this.SourceView = sourceView ? true : false ; this.State = FCK_UNKNOWN ; this.ItemsValues = itemsValues ; this.ItemsNames = itemsNames ? itemsNames : itemsValues ; this.ItemsSeparator = itemsSeparator ? itemsSeparator : ';' ; this.FirstIsBlank = firstIsBlank != null ? firstIsBlank : true ; } FCKToolbarCombo.prototype.CreateInstance = function( parentToolbar ) { /* <td class="TB_Combo_Disabled" unselectable="on"> <table class="ButtonType_IconText" cellspacing="0" cellpadding="0" border="0"> <tr> <td class="TB_Text" unselectable="on">Style</td> <td><select title="Style"><option>Style 1</option><option>Style 2</option></select></td> </tr> </table> </td> */ this.DOMDiv = document.createElement( 'div' ) ; this.DOMDiv.className = 'TB_Combo_Off' ; // Gets the correct CSS class to use for the specified style (param). var sClass ; switch ( this.Style ) { case FCK_TOOLBARITEM_ONLYICON : sClass = 'TB_ButtonType_Icon' ; break ; case FCK_TOOLBARITEM_ONLYTEXT : sClass = 'TB_ButtonType_Text' ; break ; case FCK_TOOLBARITEM_ICONTEXT : sClass = '' ; break ; } this.DOMDiv.innerHTML = '<table class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' + '<tr>' + '<td class="TB_Text" unselectable="on" nowrap>' + this.Label + '</td>' + '<td unselectable="on"><select title="' + this.Tooltip + '"></select></td>' + '</tr>' + '</table>' ; // Gets the SELECT element. this.SelectElement = this.DOMDiv.firstChild.firstChild.firstChild.childNodes.item(1).firstChild ; this.SelectElement.FCKToolbarCombo = this ; this.SelectElement.onchange = function() { this.FCKToolbarCombo.Command.Execute( this.value ) ; return false ; } var oCell = parentToolbar.DOMRow.insertCell(-1) ; oCell.appendChild( this.DOMDiv ) ; // Loads all combo items. this.RefreshItems() ; // Sets its initial state (probably disabled). this.RefreshState() ; } FCKToolbarCombo.prototype.RefreshItems = function() { // Create the empty arrays of items to add (names and values) var aNames = FCKTools.GetResultingArray( this.ItemsNames, this.ItemsSeparator ) ; var aValues = FCKTools.GetResultingArray( this.ItemsValues, this.ItemsSeparator ) ; // Clean up the combo. FCKTools.RemoveAllSelectOptions( this.SelectElement ) ; // Verifies if the first item in the combo must be blank. if ( this.FirstIsBlank ) FCKTools.AddSelectOption( document, this.SelectElement, '', '' ) ; // Add all items to the combo. for ( var i = 0 ; i < aValues.length ; i++ ) { FCKTools.AddSelectOption( document, this.SelectElement, aNames[i], aValues[i] ) ; } } FCKToolbarCombo.prototype.RefreshState = function() { // Gets the actual state. var eState ; if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView ) { eState = FCK_TRISTATE_DISABLED ; // Cleans the actual selection. this.SelectElement.value = '' ; } else { var sValue = this.Command.GetState() ; // Sets the combo value. FCKTools.SelectNoCase( this.SelectElement, sValue ? sValue : '', '' ) ; // Gets the actual state. eState = sValue == null ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_ON ; } // If there are no state changes then do nothing and return. if ( eState == this.State ) return ; // Sets the actual state. this.State = eState ; // Updates the graphical state. this.DOMDiv.className = ( eState == FCK_TRISTATE_ON ? 'TB_Combo_Off' : 'TB_Combo_Disabled' ) ; this.SelectElement.disabled = ( eState == FCK_TRISTATE_DISABLED ) ; } |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:54
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/dialog/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/dialog/images Added Files: logo_fckeditor.gif logo_fredck.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: logo_fckeditor.gif --- GIF89aì 0I cwhY{.JwyJ*LId«¬e00®fc ZµY²IwL¤Çh¦ s¢I¡Y¨ª¬©KÙY·JÜ\ßYJÅJã0Ù`ëª`ÖJåÝ´K»]óìÚ`¬cÆÆÂe >c !,K(`(Â(Hà ÐÝ(4X ¼]PA-Ã5¾O³6Ss4 ²ëvI.ÈrÎ@ sUß9~ÝqÇ*ç®GÜ1Áõ,J $BÅÚ¥ª@8 8PAm½hÏQ¢&ã,° @Áh7f¸k¯¿Âð.8øwtÀgr)ÉGhçhT´3x¤DM²m¥ P <\(ëE[s¤ F(ÎáÌ0$lòÉ(sq? Å¥lóÍ8ç¬rp¦À¼D`4k Ð)`ÀÑ(qÀÑ$èìôÓeÈÖD{Á 9ðÂÖ$1ÂÖ[ \ÀRîqÆô%2óC/2gÎ|&A [28\Ââ°H½zÀn\BNp ְ§Ôºöµ8cA:P5ØÚö¶] ÛÞú,¨íï --- NEW FILE: logo_fredck.gif --- GIF89aW mK l ° FúE°¡?,úÙPàÍ» °|Z ®.$¨Öâ:´,T+§[Ñ*,zgmÕ®Tܦ}1ÔÅ_tû«µW+lñFì°Å..@@PM.µp>ÃavÔJ7k´<T Û3qóÆ5k¿ e Fs×5Hðâ°7+±_àÖô°×~½Ë:rî°,,2(èàì]ôXå¿mÞÎwÂÐpä¯áS+j<V*ì®U¨O/$5ð±À$Up'wVfU8¨ hTHH æT3XÓµÞl`5Y!À=Ya T°á)F0pf+k¬Ææ"¾ÙÈzÍ©dPRzîÉ'` ÁzÈ g8À^Yg+ i¤p7i#`ð(¢^Ò8`&X8ú( ¡ |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:53
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/_source/globals In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/_source/globals Added Files: fck_constants.js fckeditorapi.js Log Message: added fckeditor to comment submittal. --- NEW FILE: fck_constants.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_constants.js * Defines some constants used by the editor. These constants are also * globally available in the page where the editor is placed. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Editor Instance Status. FCK_STATUS_NOTLOADED = window.parent.FCK_STATUS_NOTLOADED = 0 ; FCK_STATUS_ACTIVE = window.parent.FCK_STATUS_ACTIVE = 1 ; FCK_STATUS_COMPLETE = window.parent.FCK_STATUS_COMPLETE = 2 ; // Tristate Operations. FCK_TRISTATE_OFF = window.parent.FCK_TRISTATE_OFF = 0 ; FCK_TRISTATE_ON = window.parent.FCK_TRISTATE_ON = 1 ; FCK_TRISTATE_DISABLED = window.parent.FCK_TRISTATE_DISABLED = -1 ; // For unknown values. FCK_UNKNOWN = window.parent.FCK_UNKNOWN = -1000 ; // Toolbar Items Style. FCK_TOOLBARITEM_ONLYICON = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 0 ; FCK_TOOLBARITEM_ONLYTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 1 ; FCK_TOOLBARITEM_ICONTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 2 ; // Edit Mode FCK_EDITMODE_WYSIWYG = window.parent.FCK_EDITMODE_WYSIWYG = 0 ; FCK_EDITMODE_SOURCE = window.parent.FCK_EDITMODE_SOURCE = 1 ; --- NEW FILE: fckeditorapi.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditorapi.js * Create the FCKeditorAPI object that is available as a global object in * the page where the editor is placed in. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKeditorAPI ; if ( !window.parent.FCKeditorAPI ) { // Make the FCKeditorAPI object available in the parent window. FCKeditorAPI = window.parent.FCKeditorAPI = new Object() ; FCKeditorAPI.__Instances = new Object() ; // Set the current version. FCKeditorAPI.Version = '2.0 Beta 1' ; // Function used to get a instance of an existing editor present in the // page. FCKeditorAPI.GetInstance = function( instanceName ) { return this.__Instances[ instanceName ] ; } } else FCKeditorAPI = window.parent.FCKeditorAPI ; // Add the current instance to the FCKeditorAPI's instances collection. FCKeditorAPI.__Instances[ FCK.Name ] = FCK ; |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/_source/internals In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/_source/internals Added Files: fck.js fck_1.js fck_1_gecko.js fck_1_ie.js fck_2.js fck_2_gecko.js fck_2_ie.js fck_last.js fck_onload.js fckbrowserinfo.js fckcommands.js fckconfig.js fckcontextmenu.js fckcontextmenu_gecko.js fckcontextmenu_ie.js fckdebug.js fckdialog.js fckdialog_gecko.js fckdialog_ie.js fcklanguagemanager.js fckscriptloader.js fckselection.js fckselection_gecko.js fckselection_ie.js fcktoolbaritems.js fcktoolbarset.js fcktools.js fcktools_gecko.js fcktools_ie.js fckurlparams.js fckxhtml.js Log Message: added fckeditor to comment submittal. --- NEW FILE: fck.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck.js * Creation and initialization of the "FCK" object. This is the main object * that represents an editor instance. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // FCK represents the active editor instance var FCK = new Object() ; FCK.Name = FCKURLParams[ 'InstanceName' ] ; FCK.LinkedField = window.parent.document.getElementById( FCK.Name ) ; FCK.Status = FCK_STATUS_NOTLOADED ; FCK.EditMode = FCK_EDITMODE_WYSIWYG ; FCK.PasteEnabled = false ; --- NEW FILE: fck_1.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_1.js * This is the first part of the "FCK" object creation. This is the main * object that represents an editor instance. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCK.Events = new FCKEvents( FCK ) ; FCK.Toolbar = null ; FCK.SetStatus = function( newStatus ) { this.Status = newStatus ; if ( newStatus == FCK_STATUS_ACTIVE ) { if ( FCKBrowserInfo.IsIE ) FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_2.js' ) ; else FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_2.js' ) ; } this.Events.FireEvent( 'OnStatusChange', newStatus ) ; if ( this.OnStatusChange ) this.OnStatusChange( newStatus ) ; } FCK.SetHTML = function( html, forceWYSIWYG ) { if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG ) { // On Gecko we must disable editing before setting the innerHTML. if ( FCKBrowserInfo.IsGecko ) FCK.EditorDocument.designMode = "off" ; this.EditorDocument.body.innerHTML = html ; // On Gecko we must set the desingMode on again after setting the innerHTML. if ( FCKBrowserInfo.IsGecko ) FCK.EditorDocument.designMode = "on" ; } else document.getElementById('eSourceField').value = html ; } FCK.GetHTML = function() { if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) return this.EditorDocument.body.innerHTML ; else return document.getElementById('eSourceField').value ; } FCK.GetXHTML = function() { var bSource = ( FCK.EditMode == FCK_EDITMODE_SOURCE ) ; if ( bSource ) this.SwitchEditMode() ; var sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body ) ; if ( bSource ) this.SwitchEditMode() ; return sXHTML ; } FCK.UpdateLinkedField = function() { if ( FCKConfig.EnableXHTML ) FCKTools.SetLinkedFieldValue( FCK.GetXHTML() ) ; else FCKTools.SetLinkedFieldValue( FCK.GetHTML() ) ; } FCK.Focus = function() { if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) FCK.EditorDocument.body.focus() ; else document.getElementById('eSource').focus() ; } FCK.ShowContextMenu = function( x, y ) { if ( this.Status != FCK_STATUS_COMPLETE ) return ; FCKContextMenu.Show( x, y ) ; this.Events.FireEvent( "OnContextMenu" ) ; } --- NEW FILE: fck_1_gecko.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_1_gecko.js * This is the first part of the "FCK" object creation. This is the main * object that represents an editor instance. * (Gecko specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCK.Description = "FCKeditor for Gecko Browsers" ; FCK.StartEditor = function() { // Get the editor's window and document (DOM) this.EditorWindow = window.frames[ 'eEditorArea' ] ; this.EditorDocument = this.EditorWindow.document ; // Sets the editor's startup contents this.SetHTML( FCKTools.GetLinkedFieldValue() ) ; // Attach the editor to the form onsubmit event FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ; // Disable Right-Click var oOnContextMenu = function( e ) { e.preventDefault() ; FCK.ShowContextMenu( e.clientX, e.clientY ) ; } this.EditorDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ; var oOnKeyDown = function( e ) { if ( e.ctrlKey && !e.shiftKey && !e.altKey ) { // Char 86/118 = V/v if ( e.which == 86 || e.which == 118 ) { if ( FCK.Status == FCK_STATUS_COMPLETE ) { if ( !FCK.Events.FireEvent( "OnPaste" ) ) e.preventDefault() ; } else e.preventDefault() ; } } } this.EditorDocument.addEventListener( 'keydown', oOnKeyDown, true ) ; var oOnSelectionChange = function( e ) { /* var bIsDifferent = false ; var oActualSel = FCK.EditorWindow.getSelection() ; if ( FCK.LastSelection ) { if ( FCK.LastSelection.rangeCount != oActualSel.rangeCount ) { bIsDifferent = true ; } else { if ( oActualSel.rangeCount == 1 ) { var oRangeA = oActualSel.getRangeAt(0) ; var oRangeB = FCK.LastSelection.getRangeAt(0) ; FCKDebug.Output( 'collapsed: ' + oRangeA.collapsed ) ; if ( oRangeA.collapsed ) { FCKDebug.Output( 'startContainerBranch: ' + oRangeA.startContainerBranch + ' == ' + oRangeB.startContainerBranch ) ; FCKDebug.Output( 'Container: ' + oRangeA.startContainer.childNodes[ oRangeA.startOffset ] + ' == ' + oRangeB.commonAncestorContainer.parent ) ; if ( !oRangeB.collapsed || oRangeA.startContainer.childNodes[ oRangeA.startOffset ] != oRangeB.startContainer.childNodes[ oRangeB.startOffset ] || oRangeA.commonAncestorContainer.parent != oRangeB.commonAncestorContainer.parent ) { bIsDifferent = true ; } } else { bIsDifferent = true ; } } else { bIsDifferent == true ; } } } else { bIsDifferent = true ; } FCK.LastSelection = oActualSel ; FCKDebug.Output( 'bIsDifferent: ' + bIsDifferent ) ; if ( bIsDifferent ) {*/ FCK.Events.FireEvent( "OnSelectionChange" ) ; //} } this.EditorDocument.addEventListener( 'mouseup', oOnSelectionChange, false ) ; this.EditorDocument.addEventListener( 'keyup', oOnSelectionChange, false ) ; //Enable editing this.EditorDocument.designMode = "on" ; this.SetStatus( FCK_STATUS_ACTIVE ) ; } --- NEW FILE: fck_1_ie.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_1_ie.js * This is the first part of the "FCK" object creation. This is the main * object that represents an editor instance. * (IE specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:48 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCK.Description = "FCKeditor for Internet Explorer 5.5+" ; FCK.StartEditor = function() { // Get the editor's window and document (DOM) this.EditorWindow = window.frames[ 'eEditorArea' ] ; this.EditorDocument = this.EditorWindow.document ; // Set the editor's startup contents this.SetHTML( FCKTools.GetLinkedFieldValue() ) ; // Attach the editor to the form onsubmit event FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ; // Intercept pasting operations this.EditorDocument.body.onpaste = function() { if ( FCK.Status == FCK_STATUS_COMPLETE ) return FCK.Events.FireEvent( "OnPaste" ) ; else return false ; } // Disable Right-Click and shows the context menu. this.EditorDocument.oncontextmenu = function() { var e = this.parentWindow.event ; FCK.ShowContextMenu( e.screenX, e.screenY ) ; return false ; } // Intercept cursor movements this.EditorDocument.onselectionchange = function() { FCK.Events.FireEvent( "OnSelectionChange" ) ; } //Enable editing this.EditorDocument.body.contentEditable = true ; this.SetStatus( FCK_STATUS_ACTIVE ) ; } --- NEW FILE: fck_2.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_2.js * This is the second part of the "FCK" object creation. This is the main * object that represents an editor instance. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCK.ExecuteNamedCommand = function( commandName, commandParameter ) { this.EditorDocument.execCommand( commandName, false, commandParameter ) ; this.Events.FireEvent( 'OnSelectionChange' ) ; } FCK.GetNamedCommandState = function( commandName ) { try { if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) ) return FCK_TRISTATE_DISABLED ; else return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ; } catch ( e ) { return FCK_TRISTATE_OFF ; } } FCK.GetNamedCommandValue = function( commandName ) { var sValue = '' ; var eState = FCK.GetNamedCommandState( commandName ) ; if ( eState == FCK_TRISTATE_DISABLED ) return null ; try { sValue = this.EditorDocument.queryCommandValue( commandName ) ; } catch(e) {} return sValue ? sValue : '' ; } FCK.CreateLink = function( url ) { if ( url.length == 0 ) this.ExecuteNamedCommand( 'Unlink' ) ; else { this.ExecuteNamedCommand( 'CreateLink', "javascript:void(0);/*fckeditortemplink*/" ) ; var oLinks = this.EditorDocument.links ; for ( i = 0 ; i < oLinks.length ; i++ ) { if ( oLinks[i].href == "javascript:void(0);/*fckeditortemplink*/" ) { oLinks[i].href = url ; return oLinks[i] ; } } } } FCK.CleanAndPaste = function( html ) { // Remove all SPAN tags html = html.replace(/<\/?SPAN[^>]*>/gi, "" ); // Remove Class attributes html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ; // Remove Style attributes html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ; // Remove Lang attributes html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ; // Remove XML elements and declarations html = html.replace(/<\\?\?xml[^>]*>/gi, "") ; // Remove Tags with XML namespace declarations: <o:p></o:p> html = html.replace(/<\/?\w+:[^>]*>/gi, "") ; // Replace the html = html.replace(/ /, " " ); // Transform <P> to <DIV> var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error html = html.replace( re, "<div$2</div>" ) ; this.InsertHtml( html ) ; } FCK.Preview = function() { var oWindow = window.open( '', null, 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes' ) ; oWindow.document.write( FCK.GetHTML() ); oWindow.document.close(); // TODO: The CSS of the editor area must be configurable. // oWindow.document.createStyleSheet( config.EditorAreaCSS ); } FCK.SwitchEditMode = function() { // Check if the actual mode is WYSIWYG. var bWYSIWYG = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ; // Display/Hide the TRs. document.getElementById('eWysiwyg').style.display = bWYSIWYG ? "none" : "" ; document.getElementById('eSource').style.display = bWYSIWYG ? "" : "none" ; // Update the HTML in the view output to show. if ( bWYSIWYG ) document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML() : FCK.GetHTML() ) ; else FCK.SetHTML( FCK.GetHTML(), true ) ; // Updates the actual mode status. FCK.EditMode = bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ; // Set the Focus. FCK.Focus() ; // Update the toolbar. FCKToolbarSet.RefreshItemsState() ; } --- NEW FILE: fck_2_gecko.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_2_gecko.js * This is the second part of the "FCK" object creation. This is the main * object that represents an editor instance. * (Gecko specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // GetNamedCommandState overload for Gecko. FCK._BaseGetNamedCommandState = FCK.GetNamedCommandState ; FCK.GetNamedCommandState = function( commandName ) { switch ( commandName ) { case 'Unlink' : return FCKSelection.HasAncestorNode('A') ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; default : return FCK._BaseGetNamedCommandState( commandName ) ; } } // ExecuteNamedCommand overload for Gecko. FCK._BaseExecuteNamedCommand = FCK.ExecuteNamedCommand ; FCK.ExecuteNamedCommand = function( commandName, commandParameter ) { switch ( commandName ) { case 'Print' : FCK.EditorWindow.print(); default : FCK._BaseExecuteNamedCommand( commandName, commandParameter ) ; } } FCK.Focus = function() { this.EditorWindow.focus() ; } FCK.AttachToOnSelectionChange = function( functionPointer ) { this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ; } FCK.Paste = function() { FCKDebug.Output( 'FCK.Paste' ) ; if ( FCKConfig.ForcePasteAsPlainText ) { FCK.PasteAsPlainText() ; return false ; } else if ( FCKConfig.AutoDetectPasteFromWord && FCKBrowserInfo.IsIE55OrMore ) { var sHTML = FCK.GetClipboardHTML() ; var re = /<\w[^>]* class="?MsoNormal"?/gi ; if ( re.test( sHTML ) ) { if ( confirm( FCKLang["PasteWordConfirm"] ) ) { FCK.CleanAndPaste( sHTML ) ; return false ; } } } else return true ; } //** // FCK.InsertHtml: Inserts HTML at the current cursor location. Deletes the // selected content if any. FCK.InsertHtml = function( html ) { // Delete the actual selection. var oSel = FCKSelection.Delete() ; // var oContainer = oSel.getRangeAt(0).startContainer ; // var iOffSet = oSel.getRangeAt(0).startOffset ; // Get the first available range. var oRange = oSel.getRangeAt(0) ; // var oRange = this.EditorDocument.createRange() ; // oRange.setStart( oContainer, iOffSet ) ; // oRange.setEnd( oContainer, iOffSet ) ; // Create a fragment with the input HTML. var oFragment = oRange.createContextualFragment( html ) ; // Get the last available node. var oLastNode = oFragment.lastChild ; // Insert the fragment in the range. oRange.insertNode(oFragment) ; // Set the cursor after the inserted fragment. oRange.setEndAfter( oLastNode ) ; oRange.setStartAfter( oLastNode ) ; oSel.removeAllRanges() ; oSel = FCK.EditorWindow.getSelection() ; oSel.addRange( oRange ) ; this.Focus() ; } FCK.InsertElement = function( element ) { // Deletes the actual selection. var oSel = FCKSelection.Delete() ; // Gets the first available range. var oRange = oSel.getRangeAt(0) ; // Inserts the element in the range. oRange.insertNode( element ) ; // Set the cursor after the inserted fragment. oRange.setEndAfter( element ) ; oRange.setStartAfter( element ) ; this.Focus() ; } FCK.PasteAsPlainText = function() { /* var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ; FCKDebug.Output( 'FCK.PasteAsPlainText: ' + sText ) ; sText = sText.replace( /\n/g, '<BR>' ) ; this.InsertHtml( sText ) ; */ } FCK.GetClipboardHTML = function() { return '' ; } --- NEW FILE: fck_2_ie.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_2_ie.js * This is the second part of the "FCK" object creation. This is the main * object that represents an editor instance. * (IE specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCK.Paste = function() { if ( FCKConfig.ForcePasteAsPlainText ) { FCK.PasteAsPlainText() ; return false ; } else if ( FCKConfig.AutoDetectPasteFromWord && FCKBrowserInfo.IsIE55OrMore ) { var sHTML = FCK.GetClipboardHTML() ; var re = /<\w[^>]* class="?MsoNormal"?/gi ; if ( re.test( sHTML ) ) { if ( confirm( FCKLang["PasteWordConfirm"] ) ) { FCK.CleanAndPaste( sHTML ) ; return false ; } } } else return true ; } FCK.PasteAsPlainText = function() { var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ; FCKDebug.Output( 'FCK.PasteAsPlainText: ' + sText ) ; sText = sText.replace( /\n/g, '<BR>' ) ; this.InsertHtml( sText ) ; } FCK.InsertHtml = function( html ) { var oSel = FCKSelection.Delete() ; oSel.createRange().pasteHTML( html ) ; this.Focus() ; } FCK.InsertElement = function( element ) { this.InsertHtml( element.outerHTML ) ; } FCK.GetClipboardHTML = function() { var oDiv = document.getElementById( '___FCKHiddenDiv' ) ; if ( !oDiv ) { var oDiv = document.createElement( 'DIV' ) ; divEdit.id = '___FCKHiddenDiv' ; oDiv.style.display = 'none' ; oDiv.style.visibility = 'hidden' ; oDiv.style.overflow = 'hidden' ; oDiv.style.position = 'absolute' ; oDiv.style.width = 1 ; oDiv.style.height = 1 ; document.body.appendChild( oDiv ) ; // Get the element again (must be done to work) oDiv = document.getElementById( '___FCKHiddenDiv' ) ; } var oTextRange = document.body.createTextRange() ; oTextRange.moveToElementText( oDiv ) ; oTextRange.execCommand( 'Paste' ) ; var sData = oDiv.innerHTML ; oDiv.innerHTML = '' ; return sData ; } FCK.AttachToOnSelectionChange = function( functionPointer ) { this.EditorDocument.attachEvent( 'onselectionchange', functionPointer ) ; } --- NEW FILE: fck_last.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_last.js * These are the last script lines executed in the editor loading process. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // This is the last file loaded to complete the editor initialization and activation // Activate pasting operations. if ( FCKConfig.ForcePasteAsPlainText ) FCK.Events.AttachEvent( "OnPaste", FCK.Paste ) ; // Load the Toolbar FCKToolbarSet.Name = FCKURLParams['Toolbar'] || 'Default' ; FCKToolbarSet.Load( FCKToolbarSet.Name ) ; FCKToolbarSet.Restart() ; FCK.AttachToOnSelectionChange( FCKToolbarSet.RefreshItemsState ) ; // Set some object references to the editor instance object (FCK). FCK.Config = FCKConfig ; FCK.ToolbarSet = FCKToolbarSet ; FCK.SetStatus( FCK_STATUS_COMPLETE ) ; // Call the special "FCKeditor_OnComplete" function that should be present in // the HTML page where the editor is located. if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' ) window.parent.FCKeditor_OnComplete( FCK ) ; --- NEW FILE: fck_onload.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_onload.js * This is the script that is called when the editor page is loaded inside * its IFRAME. It's the editor startup. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Disable the context menu in the editor (areas outside the editor area). window.document.oncontextmenu = function( e ) { if ( e ) e.preventDefault() ; // This is the Gecko way to do that. return false ; // This is the IE way to do that. } // Gecko browsers doens't calculate well that IFRAME size so we must // recalculate it every time the window size changes. if ( ! FCKBrowserInfo.IsIE ) { window.onresize = function() { var oFrame = document.getElementById("eEditorArea") ; oFrame.height = 0 ; var oCell = document.getElementById("eWysiwygCell") ; var iHeight = oCell.offsetHeight ; oFrame.height = iHeight - 2 ; } } // Start the editor as soon as the window is loaded. window.onload = function() { FCKScriptLoader.OnEmpty = function() { // Override the configurations passed throw the hidden field. FCKConfig.LoadHiddenField() ; // Load the styles for the configured skin. LoadStyles() ; } // First of all load the configuration file. FCKScriptLoader.AddScript( '../fckconfig.js' ) ; } function LoadStyles() { FCKScriptLoader.OnEmpty = LoadScripts ; // Load the active skin CSS. FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_editor.css' ) ; FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; } function LoadScripts() { FCKScriptLoader.OnEmpty = function() { // Removes the OnEmpty listener. this.OnEmpty = null ; // Correct the editor layout to the correct language direction. window.document.dir = FCKLang.Dir ; // Starts the editor. FCK.StartEditor() ; } if ( FCKBrowserInfo.IsIE ) FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_1.js' ) ; else FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_1.js' ) ; } --- NEW FILE: fckbrowserinfo.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckbrowserinfo.js * Defines the FCKBrowserInfo object that hold some browser informations. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKBrowserInfo = new Object() ; var sAgent = navigator.userAgent.toLowerCase() ; FCKBrowserInfo.IsIE = sAgent.indexOf("msie") != -1 ; FCKBrowserInfo.IsGecko = ! FCKBrowserInfo.IsIE ; if ( FCKBrowserInfo.IsIE ) { FCKBrowserInfo.MajorVer = navigator.appVersion.match(/MSIE (.)/)[1] ; FCKBrowserInfo.MinorVer = navigator.appVersion.match(/MSIE .\.(.)/)[1] ; } else { // TODO: Other browsers FCKBrowserInfo.MajorVer = 0 ; FCKBrowserInfo.MinorVer = 0 ; } FCKBrowserInfo.IsIE55OrMore = FCKBrowserInfo.IsIE && ( FCKBrowserInfo.MajorVer > 5 || FCKBrowserInfo.MinorVer >= 5 ) ; --- NEW FILE: fckcommands.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcommands.js * Define all commands available in the editor. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKCommands = new Object() ; /* Instead of adding a line like this for every named command: FCKCommands['Bold'] = new FCKNamedCommand( 'Bold' ) ; ... an Array was created to simplify the code (and reduce its size). */ var sNamedCommands = [ 'Cut','Copy','Paste','Print','Find','SelectAll','RemoveFormat','Unlink','Undo','Redo', 'Bold','Italic','Underline','StrikeThrough','Subscript','Superscript', 'JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','Outdent','Indent', 'InsertOrderedList','InsertUnorderedList','InsertHorizontalRule'] ; // Loops throw all named items. for ( i = 0 ; i < sNamedCommands.length ; i++ ) { FCKCommands[ sNamedCommands[i] ] = new FCKNamedCommand( sNamedCommands[i] ) ; } //### Other Commands. FCKCommands['Link'] = new FCKDialogCommand( 'Link' , FCKLang.DlgLnkWindowTitle, 'dialog/fck_link.html' , 400, 330, FCK.GetNamedCommandState, 'CreateLink' ) ; FCKCommands['About'] = new FCKDialogCommand( 'About' , FCKLang.About, 'dialog/fck_about.html' , 400, 330 ) ; FCKCommands['Image'] = new FCKDialogCommand( 'Image' , 'Image Properties', 'dialog/fck_image.html' , 450, 400, FCK.GetNamedCommandState, 'InsertImage' ) ; FCKCommands['Table'] = new FCKDialogCommand( 'Table' , 'Table Properties', 'dialog/fck_table.html' , 400, 250 ) ; FCKCommands['TableProp'] = new FCKDialogCommand( 'Table' , 'Table Properties', 'dialog/fck_table.html?Parent', 400, 250 ) ; FCKCommands['SpecialChar'] = new FCKDialogCommand( 'SpecialChar' , 'Select Character', 'dialog/fck_specialchar.html' , 400, 300, FCK.GetNamedCommandState, 'InsertImage' ) ; FCKCommands['Smiley'] = new FCKDialogCommand( 'Smiley' , FCKLang.DlgSmileyTitle, 'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight, FCK.GetNamedCommandState, 'InsertImage' ) ; FCKCommands['FontName'] = new FCKFontNameCommand() ; FCKCommands['FontSize'] = new FCKFontSizeCommand() ; FCKCommands['FontFormat'] = new FCKFormatBlockCommand() ; FCKCommands['Source'] = new FCKSourceCommand() ; FCKCommands['Preview'] = new FCKPreviewCommand() ; FCKCommands['Save'] = new FCKSaveCommand() ; FCKCommands['NewPage'] = new FCKNewPageCommand() ; // Generic Undefined command (usually used when a command is under development). FCKCommands['Undefined'] = new FCKUndefinedCommand() ; --- NEW FILE: fckconfig.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckconfig.js * Creates and initializes the FCKConfig object. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKConfig = new Object() ; // Editor Base Path if ( document.location.protocol == 'file:' ) { FCKConfig.BasePath = document.location.pathname.substr(1) ; FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ; FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ; } else FCKConfig.BasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ; // Override the actual configuration values with the values passed throw the // hidden field "<InstanceName>___Config". FCKConfig.LoadHiddenField = function() { // Get the hidden field. var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ; // Do nothing if the config field was not defined. if ( ! oConfigField ) return ; var aCouples = oConfigField.value.split('&') ; for ( var i = 0 ; i < aCouples.length ; i++ ) { var aConfig = aCouples[i].split('=') ; var sConfigName = aConfig[0] ; var sConfigValue = aConfig[1] ; if ( sConfigValue == "true" ) // If it is a boolean TRUE. FCKConfig[sConfigName] = true ; else if ( sConfigValue == "false" ) // If it is a boolean FALSE. FCKConfig[sConfigName] = false ; else if ( ! isNaN(sConfigValue) ) // If it is a number. FCKConfig[sConfigName] = parseInt( sConfigValue ) ; else // In any other case it is a string. FCKConfig[sConfigName] = sConfigValue ; } } --- NEW FILE: fckcontextmenu.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenu.js * Defines the FCKContextMenu object that is responsible for all * Context Menu operations. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKContextMenu = new Object() ; // This property is internally used to indicate that the context menu has been created. FCKContextMenu._IsLoaded = false ; // This method creates the context menu inside a DIV tag. Take a look at the end of this file for a sample output. FCKContextMenu.Reload = function() { // Create the Main DIV that holds the Context Menu. this._Div = this._Document.createElement( 'DIV' ) ; this._Div.className = 'CM_ContextMenu' ; this._Div.style.position = 'absolute' ; this._Div.style.visibility = 'hidden' ; this._Document.body.appendChild( this._Div ); // Create the main table for the menu items. var oTable = this._Document.createElement( 'TABLE' ) ; oTable.cellSpacing = 0 ; oTable.cellPadding = 0 ; oTable.border = 0 ; this._Div.appendChild( oTable ) ; // Create arrays with all Items to add. this.Groups = new Object() ; // Generic items that are always available. this.Groups['Generic'] = new FCKContextMenuGroup() ; with ( this.Groups['Generic'] ) { Add( new FCKContextMenuItem( this, 'Cut' , FCKLang['Cut'] , true ) ) ; Add( new FCKContextMenuItem( this, 'Copy' , FCKLang['Copy'] , true ) ) ; Add( new FCKContextMenuItem( this, 'Paste' , FCKLang['Paste'] , true ) ) ; } // Link operations. this.Groups['Link'] = new FCKContextMenuGroup() ; with ( this.Groups['Link'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Link' , FCKLang['EditLink'] , true ) ) ; Add( new FCKContextMenuItem( this, 'Unlink' , FCKLang['RemoveLink'] , true ) ) ; } // Table Cell operations. this.Groups['TableCell'] = new FCKContextMenuGroup() ; with ( this.Groups['TableCell'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["InsertRow"] ) ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["DeleteRows"] ) ) ; Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["InsertColumn"] ) ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["DeleteColumns"] ) ) ; Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["InsertCell"] ) ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["DeleteCells"] ) ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["MergeCells"] ) ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["SplitCell"] ) ) ; Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["CellProperties"] ) ) ; Add( new FCKContextMenuItem( this, 'TableProp', FCKLang["TableProperties"], true ) ) ; } // Table operations. this.Groups['Table'] = new FCKContextMenuGroup() ; with ( this.Groups['Table'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Table', FCKLang["TableProperties"], true ) ) ; } // Image operations. this.Groups['Image'] = new FCKContextMenuGroup() ; with ( this.Groups['Image'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', FCKLang["ImageProperties"] ) ) ; // Add( new FCKContextMenuItem( this, 'Image', FCKLang["ImageProperties"], true ) ) ; } // Select field operations. this.Groups['Select'] = new FCKContextMenuGroup() ; with ( this.Groups['Select'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', "Selection Field Properties" ) ) ; } // Textarea operations. this.Groups['Textarea'] = new FCKContextMenuGroup() ; with ( this.Groups['Textarea'] ) { Add( new FCKContextMenuSeparator() ) ; Add( new FCKContextMenuItem( this, 'Undefined', "Textarea Properties" ) ) ; } // Create all table rows (representing the items) in the context menu. for ( var o in this.Groups ) { this.Groups[o].CreateTableRows( oTable ) ; } this._IsLoaded = true ; } FCKContextMenu.RefreshState = function() { // Get the actual selected tag (if any). var oTag = FCKSelection.GetSelectedElement() ; var sTagName ; if ( oTag ) { sTagName = oTag.tagName.toUpperCase() ; } // Set items visibility. this.Groups['Link'].SetVisible( FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ; this.Groups['TableCell'].SetVisible( FCKSelection.HasAncestorNode('TD') ) ; // TODO: Table Cell operations are not yet available. this.Groups['Table'].SetVisible( sTagName == 'TABLE' ) ; this.Groups['Image'].SetVisible( sTagName == 'IMG' ) ; this.Groups['Select'].SetVisible( sTagName == 'SELECT' ) ; this.Groups['Textarea'].SetVisible( sTagName == 'TEXTAREA' ) ; // Refresh the state of all visible items (active/disactive) for ( var o in this.Groups ) { this.Groups[o].RefreshState() ; } } /* Sample Context Menu Output ----------------------------------------- <div class="CM_ContextMenu"> <table cellSpacing="0" cellPadding="0" border="0"> <tr class="CM_Disabled"> <td class="CM_Icon"><img alt="" src="icons/button.cut.gif" width="21" height="20" unselectable="on"></td> <td class="CM_Label" unselectable="on">Cut</td> </tr> <tr class="CM_Disabled"> <td class="CM_Icon"><img height="20" alt="" src="icons/button.copy.gif" width="21"></td> <td class="CM_Label">Copy</td> </tr> <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);"> <td class="CM_Icon"><img height="20" alt="" src="icons/button.paste.gif" width="21"></td> <td class="CM_Label">Paste</td> </tr> <tr class="CM_Separator"> <td class="CM_Icon"></td> <td class="CM_Label"><div></div></td> </tr> <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);"> <td class="CM_Icon"><img height="20" alt="" src="icons/button.print.gif" width="21"></td> <td class="CM_Label">Print</td> </tr> <tr class="CM_Separator"> <td class="CM_Icon"></td> <td class="CM_Label"><div></div></td> </tr> <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);"> <td class="CM_Icon"></td> <td class="CM_Label">Do Something</td> </tr> <tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);"> <td class="CM_Icon"></td> <td class="CM_Label">Just Testing</td> </tr> </table> </div> */ --- NEW FILE: fckcontextmenu_gecko.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenu_gecko.js * Context Menu operations. (Gecko specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // The Context Menu CSS must be added to the parent document. FCKTools.AppendStyleSheet( window.parent.document, FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; FCKContextMenu.Show = function( x, y ) { if ( ! this._Document ) { this._Document = window.parent.document ; } // Create the context menu if needed. if ( !this._IsLoaded ) { this.Reload() ; this._Div.style.zIndex = 10000 ; this._Div.oncontextmenu = function() { return false ; } } this.RefreshState() ; // The x and y parameters for Gecko are relative to the client var oFrames = [ FCK.EditorWindow.frameElement, window.frameElement ] ; for ( var i = 0 ; i < oFrames.length ; i++ ) { var oParent = oFrames[i] ; while ( oParent ) { x += oParent.offsetLeft ; y += oParent.offsetTop ; oParent = oParent.offsetParent ; } } // Verifies if the context menu is completely visible. var iXSpace = x + this._Div.offsetWidth - this._Div.ownerDocument.defaultView.innerWidth ; var iYSpace = y + this._Div.offsetHeight - this._Div.ownerDocument.defaultView.innerHeight ; if ( iXSpace > 0 ) x -= this._Div.offsetWidth ; if ( iYSpace > 0 ) y -= this._Div.offsetHeight ; // Set the context menu DIV in the specified location. this._Div.style.left = x + 'px' ; this._Div.style.top = y + 'px' ; // Watch the "OnClick" event for all windows to close the Context Menu. var oActualWindow = FCK.EditorWindow ; while ( oActualWindow ) { oActualWindow.document.addEventListener( 'click', FCKContextMenu._OnDocumentClick, false ) ; if ( oActualWindow != oActualWindow.parent ) oActualWindow = oActualWindow.parent ; else if ( oActualWindow.opener == null ) oActualWindow = oActualWindow.opener ; else break ; } // Show it. this._Div.style.visibility = '' ; } FCKContextMenu._OnDocumentClick = function( event ) { var e = event.target ; while ( e ) { if ( e == FCKContextMenu._Div ) return ; e = e.parentNode ; } FCKContextMenu.Hide() ; } FCKContextMenu.Hide = function() { this._Div.style.visibility = 'hidden' ; this._Div.style.left = this._Div.style.top = '1px' ; } --- NEW FILE: fckcontextmenu_ie.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckcontextmenu_ie.js * Context Menu operations. (IE specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCKContextMenu.Show = function( x, y ) { // Create the Popup used to show the menu (this is a IE 5.5+ feature). if ( ! this._Popup ) { this._Popup = window.createPopup() ; this._Document = this._Popup.document ; this._Document.createStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; this._Document.oncontextmenu = function() { return false ; } } // Create the context menu if needed. if ( !this._IsLoaded ) { this.Reload() ; this._Div.style.visibility = '' ; } this.RefreshState() ; // IE doenst get the offsetWidth and offsetHeight values if the element is not visible. // So a temporary element is created to get this for us. if ( !this._DivCopy ) { this._DivCopy = document.createElement( 'DIV' ) ; this._DivCopy.className = 'CM_ContextMenu' ; this._DivCopy.style.position = 'absolute' ; this._DivCopy.style.visibility = 'hidden' ; document.body.appendChild( this._DivCopy ); } this._DivCopy.innerHTML = this._Div.innerHTML ; // Show the Popup at the specified location. this._Popup.show( x, y, this._DivCopy.offsetWidth, this._DivCopy.offsetHeight ) ; } FCKContextMenu.Hide = function() { if ( this._Popup ) this._Popup.hide() ; } --- NEW FILE: fckdebug.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdebug.js * Debug window control and operations. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKDebug = new Object() ; if ( FCKConfig.Debug ) { FCKDebug.Output = function( message, color ) { if ( ! FCKConfig.Debug ) return ; if ( message != null && isNaN( message ) ) { message = message.replace(/</g, "<") ; } if ( !this.DebugWindow || this.DebugWindow.closed ) { this.DebugWindow = window.open( 'fckdebug.html', 'FCKeditorDebug', 'menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500', true ) ; } if ( this.DebugWindow.Output) { this.DebugWindow.Output( message, color ) ; } } } else { FCKDebug.Output = function() {} } --- NEW FILE: fckdialog.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdialog.js * Dialog windows operations. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKDialog = new Object() ; // This method opens a dialog window using the standard dialog template. FCKDialog.OpenDialog = function( dialogName, dialogTitle, dialogPage, width, height ) { // Setup the dialog info. var oDialogInfo = new Object() ; oDialogInfo.Title = dialogTitle ; oDialogInfo.Page = dialogPage ; oDialogInfo.Editor = window ; var sUrl = FCKConfig.BasePath + 'fckdialog.html' ; this.Show( oDialogInfo, dialogName, sUrl, width, height ) ; } --- NEW FILE: fckdialog_gecko.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdialog_gecko.js * Dialog windows operations. (Gecko specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight ) { var iTop = (screen.height - dialogHeight) / 2 ; var iLeft = (screen.width - dialogWidth) / 2 ; var sOption = "location=no,menubar=no,resizable=no,toolbar=no,dependent=yes" + ",width=" + dialogWidth + ",height=" + dialogHeight + ",top=" + iTop + ",left=" + iLeft ; var oWindow = window.open( '', 'FCKEditorDialog', sOption, true ) ; oWindow.moveTo( iLeft, iTop ) ; oWindow.resizeTo( dialogWidth, dialogHeight ) ; oWindow.focus() ; oWindow.location.href = pageUrl ; oWindow.dialogArguments = dialogInfo ; this.Window = oWindow ; window.top.captureEvents( Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS ) ; window.top.parent.addEventListener( 'mousedown', this.CheckFocus, true ) ; window.top.parent.addEventListener( 'mouseup', this.CheckFocus, true ) ; window.top.parent.addEventListener( 'click', this.CheckFocus, true ) ; window.top.parent.addEventListener( 'focus', this.CheckFocus, true ) ; } FCKDialog.CheckFocus = function() { if ( FCKDialog.Window && !FCKDialog.Window.closed ) { FCKDialog.Window.focus() ; return false ; } else { window.top.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS) ; window.top.parent.removeEventListener( 'onmousedown', FCKDialog.CheckFocus, true ) ; window.top.parent.removeEventListener( 'mouseup', FCKDialog.CheckFocus, true ) ; window.top.parent.removeEventListener( 'click', FCKDialog.CheckFocus, true ) ; window.top.parent.removeEventListener( 'onfocus', FCKDialog.CheckFocus, true ) ; } } --- NEW FILE: fckdialog_ie.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdialog_ie.js * Dialog windows operations. (IE specific implementations) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight ) { window.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ; } --- NEW FILE: fcklanguagemanager.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcklanguagemanager.js * Defines the FCKLanguageManager object that is used for language * operations. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKLanguageManager = new Object() ; FCKLanguageManager.AvailableLanguages = { 'ar' : 'Arabic', 'en' : 'English', 'it' : 'Italian' } FCKLanguageManager.GetActiveLanguage = function() { if ( FCKConfig.AutoDetectLanguage ) { // IE accepts "navigator.userLanguage" while Gecko "navigator.language". var sUserLang = navigator.language ? navigator.language.toLowerCase() : navigator.userLanguage.toLowerCase() ; FCKDebug.Output( 'Navigator Language = ' + sUserLang ) ; // Some language codes are set in 5 characters, // like "pt-br" for Brasilian Portuguese. if ( sUserLang.length >= 5 ) { sUserLang = sUserLang.substr(0,5) ; if ( this.AvailableLanguages[sUserLang] ) return sUserLang ; } // If the user's browser is set to, for example, "pt-br" but only the // "pt" language file is available then get that file. if ( sUserLang.length >= 2 ) { sUserLang = sUserLang.substr(0,2) ; if ( this.AvailableLanguages[sUserLang] ) return sUserLang ; } } return FCKConfig.DefaultLanguage ; } FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet ) { var aInputs = targetDocument.getElementsByTagName(tag) ; for ( var i = 0 ; i < aInputs.length ; i++ ) { if ( aInputs[i].attributes['fckLang'] ) { var s = FCKLang[ aInputs[i].attributes["fckLang"].value ] ; eval( 'aInputs[i].' + propertyToSet + ' = s' ) ; } } } FCKLanguageManager.TranslatePage = function( targetDocument ) { this.TranslateElements( targetDocument, 'INPUT', 'value' ) ; this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ; this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ; } FCKLanguageManager.ActiveLanguage = new Object() ; FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ; FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ; FCK.Language = FCKLanguageManager ; FCKScriptLoader.AddScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ; --- NEW FILE: fckscriptloader.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckscriptloader.js * Defines the FCKScriptLoader object that is used to dynamically load * scripts in the editor. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // This object is used to download scripts and css files sequentialy. // A file download is not started until the previous file was not completelly // downloaded. var FCKScriptLoader = new Object() ; FCKScriptLoader.IsLoading = false ; FCKScriptLoader.Queue = new Array() ; // Adds a script or css to the queue. FCKScriptLoader.AddScript = function( scriptPath ) { FCKScriptLoader.Queue[ FCKScriptLoader.Queue.length ] = scriptPath ; if ( !this.IsLoading ) this.CheckQueue() ; } // Checks the queue to see if there is something to load. // This function should not be called by code. It's a internal function // that's called recursively. FCKScriptLoader.CheckQueue = function() { // Check if the queue is not empty. if ( this.Queue.length > 0 ) { this.IsLoading = true ; // Get the first item in the queue var sScriptPath = this.Queue[0] ; // Removes the first item from the queue var oTempArray = new Array() ; for ( i = 1 ; i < this.Queue.length ; i++ ) oTempArray[ i - 1 ] = this.Queue[ i ] ; this.Queue = oTempArray ; // window.status = ( 'Loading ' + sScriptPath + '...' ) ; // Dynamically load the file (it can be a CSS or a JS) var e ; // If is a CSS if ( sScriptPath.lastIndexOf( '.css' ) > 0 ) { e = document.createElement( 'LINK' ) ; e.rel = 'stylesheet' ; e.type = 'text/css' ; } // It is a JS else { e = document.createElement( "script" ) ; e.type = "text/javascript" ; } // Add the new object to the HEAD. document.getElementsByTagName("head")[0].appendChild( e ) ; var oEvent = function() { // Gecko doesn't have a "readyState" property if ( this.tagName == 'LINK' || !this.readyState || this.readyState == 'loaded' ) // Load the next script available in the queue FCKScriptLoader.CheckQueue() ; } // Start downloading it. if ( e.tagName == 'LINK' ) { // IE must wait for the file to be downloaded. if ( FCKBrowserInfo.IsIE ) e.onload = oEvent ; // Gecko doens't fire any event when the CSS is loaded, so we // can't wait for it. else FCKScriptLoader.CheckQueue() ; e.href = sScriptPath ; } else { // Gecko fires the "onload" event and IE fires "onreadystatechange" e.onload = e.onreadystatechange = oEvent ; e.src = sScriptPath ; } } else { this.IsLoading = false ; // Call the "OnEmpty" event. if ( this.OnEmpty ) this.OnEmpty() ; } } --- NEW FILE: fckselection.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckselection.js * Active selection functions. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKSelection = new Object() ; FCK.Selection = FCKSelection ; --- NEW FILE: fckselection_gecko.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckselection_gecko.js * Active selection functions. (Gecko specific implementation) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Retrieves the selected element (if any), just in the case that a single // element is selected. FCKSelection.GetSelectedElement = function() { var oSel = FCK.EditorWindow.getSelection() ; if ( oSel.rangeCount == 1 ) { var oRange = oSel.getRangeAt(0) ; if ( oRange.startContainer == oRange.endContainer && (oRange.endOffset - oRange.startOffset) == 1 ) return oSel.anchorNode.childNodes[ oSel.anchorOffset ] ; } } FCKSelection.MoveToNode = function( node ) { var oSel = FCK.EditorWindow.getSelection() ; for ( i = oSel.rangeCount - 1 ; i >= 0 ; i-- ) { if ( i == 0 ) { oSel.getRangeAt(i).selectNodeContents( node ) ; } else { oSel.removeRange( oSel.getRangeAt(i) ) ; } } } FCKSelection.HasAncestorNode = function( nodeTagName ) { var oContainer = this.GetSelectedElement() ; if ( ! oContainer && FCK.EditorWindow ) { try { oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ; } catch(e){} } while ( oContainer ) { if ( oContainer.tagName == nodeTagName ) return true ; oContainer = oContainer.parentNode ; } return false ; } FCKSelection.MoveToAncestorNode = function( nodeTagName ) { var oNode ; var oContainer = this.GetSelectedElement() ; if ( ! oContainer ) { oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ; } while ( oContainer ) { if ( oContainer.tagName == nodeTagName ) return oContainer ; oContainer = oContainer.parentNode ; } } FCKSelection.Delete = function() { // Gets the actual selection. var oSel = FCK.EditorWindow.getSelection() ; // Deletes the actual selection contents. for ( var i = 0 ; i < oSel.rangeCount ; i++ ) { oSel.getRangeAt(i).deleteContents() ; } return oSel ; } --- NEW FILE: fckselection_ie.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckselection_ie.js * Active selection functions. (IE specific implementation) * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Retrieves the selected element (if any), just in the case that a single // element is selected. FCKSelection.GetSelectedElement = function() { var oRange = FCK.EditorDocument.selection.createRange() ; if ( FCK.EditorDocument.selection.type != 'Text' && oRange.length == 1) { return oRange.item(0) ; } } FCKSelection.MoveToNode = function( node ) { FCK.EditorDocument.selection.empty() ; var oRange = FCK.EditorDocument.selection.createRange() ; oRange.moveToElementText( node ) ; oRange.select() ; } FCKSelection.HasAncestorNode = function( nodeTagName ) { var oContainer ; if ( FCK.EditorDocument.selection.type == "Control" ) { oContainer = this.GetSelectedElement() ; } else { var oRange = FCK.EditorDocument.selection.createRange() ; oContainer = oRange.parentElement() ; } while ( oContainer ) { if ( oContainer.tagName == nodeTagName ) return true ; oContainer = oContainer.parentNode ; } return false ; } FCKSelection.MoveToAncestorNode = function( nodeTagName ) { var oNode ; if ( FCK.EditorDocument.selection.type == "Control" ) { var oRange = FCK.EditorDocument.selection.createRange() ; for ( i = 0 ; i < oRange.length ; i++ ) { if (oRange(i).parentNode) { oNode = oRange(i).parentNode ; break ; } } } else { var oRange = FCK.EditorDocument.selection.createRange() ; oNode = oRange.parentElement() ; } while ( oNode && oNode.nodeName != nodeTagName ) oNode = oNode.parentNode ; return oNode ; } FCKSelection.Delete = function() { // Gets the actual selection. var oSel = FCK.EditorDocument.selection ; // Deletes the actual selection contents. if ( oSel.type.toLowerCase() != "none" ) { oSel.clear() ; } return oSel ; } --- NEW FILE: fcktoolbaritems.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcktoolbaritems.js * Toolbar items definitions. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:50 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ var FCKToolbarItems = new Object() ; FCKToolbarItems['Source'] = new FCKToolbarButton( 'Source', 'Source', null, FCK_TOOLBARITEM_ICONTEXT, true ) ; FCKToolbarItems['Save'] = new FCKToolbarButton( 'Save', null, null, null, true ) ; FCKToolbarItems['NewPage'] = new FCKToolbarButton( 'NewPage', null, null, null, true ) ; FCKToolbarItems['Preview'] = new FCKToolbarButton( 'Preview', null, null, null, true ) ; FCKToolbarItems['About'] = new FCKToolbarButton( 'About', FCKLang.About ) ; FCKToolbarItems['Cut'] = new FCKToolbarButton( 'Cut', FCKLang.Cut, null, null, true ) ; FCKToolbarItems['Copy'] = new FCKToolbarButton( 'Copy', FCKLang.Copy, null, null, true ) ; FCKToolbarItems['Paste'] = new FCKToolbarButton( 'Paste', FCKLang.Paste, null, null, true ) ; FCKToolbarItems['Print'] = new FCKToolbarButton( 'Print', null, null, null, true ) ; FCKToolbarItems['Undo'] = new FCKToolbarButton( 'Undo', null, null, null, true ) ; FCKToolbarItems['Redo'] = new FCKToolbarButton( 'Redo', null, null, null, true ) ; FCKToolbarItems['Find'] = new FCKToolbarButton( 'Find', null, null, null, true ) ; FCKToolbarItems['SelectAll'] = new FCKToolbarButton( 'SelectAll', 'Select All', null, null, true ) ; FCKToolbarItems['RemoveFormat'] = new FCKToolbarButton( 'RemoveFormat', 'Remove Format' ) ; FCKToolbarItems['Unlink'] = new FCKToolbarButton( 'Unlink' ) ; FCKToolbarItems['Bold... [truncated message content] |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:52
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor/css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor/css Added Files: fck_editorarea.css Log Message: added fckeditor to comment submittal. --- NEW FILE: fck_editorarea.css --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_editorarea.css * This is the default CSS file used by the editor area. It defines the * initial font of the editor and background color. * * A user can configure the editor to use another CSS file. Just change * the value of the FCKConfig.EditorAreaCSS key in the configuration * file. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:51 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ body { font-family: Arial, Verdana, Sans-Serif; font-size: 12px; padding: 5px 5px 5px 5px; margin: 0px; border-style: none; background-color: #ffffff; } |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/editor Added Files: fckdebug.html fckdialog.html fckeditor.html fckeditor.original.html fckeditorarea.html Log Message: added fckeditor to comment submittal. --- NEW FILE: fckdebug.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdebug.html * This is the Debug window. * It automatically popups if the Debug = true in the configuration file. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> <title>FCKeditor Debug Window</title> <script type="text/javascript"> var oWindow ; var oDiv ; if ( !window.FCKMessages ) window.FCKMessages = new Array() ; function Initialize() { oWindow = window.frames[ 'eOutput' ] oWindow.document.open() ; oWindow.document.write( '<div id="divMsg"></div>' ) ; oWindow.document.close() ; oDiv = oWindow.document.getElementById('divMsg') ; } function Output( message, color ) { if ( color ) message = '<font color="' + color + '">' + message + '</font>' ; window.FCKMessages[ window.FCKMessages.length ] = message ; StartTimer() ; } function StartTimer() { window.setTimeout( 'CheckMessages()', 100 ) ; } function CheckMessages() { if ( window.FCKMessages.length > 0 ) { // Get the first item in the queue var sMessage = window.FCKMessages[0] ; // Removes the first item from the queue var oTempArray = new Array() ; for ( i = 1 ; i < window.FCKMessages.length ; i++ ) oTempArray[ i - 1 ] = window.FCKMessages[ i ] ; window.FCKMessages = oTempArray ; var d = new Date() ; var sTime = ( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' + ( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' + ( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' + ( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ; var oMsgDiv = oWindow.document.createElement( 'div' ) ; oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '</b>' ; oDiv.appendChild( oMsgDiv ) ; oMsgDiv.scrollIntoView() ; } } function Clear() { oDiv.innerHTML = '' ; } </script> </head> <body onload="Initialize();" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10"> <TABLE height="100%" cellSpacing="5" cellPadding="0" width="100%" border="0"> <TR> <TD> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TR> <TD><FONT size="+2"><STRONG>FCKeditor Debug Window</STRONG></FONT></TD> <TD align="right"><INPUT type="button" value="Clear" onclick="Clear();"></TD> </TR> </TABLE> </TD> </TR> <TR> <TD height="100%" style="BORDER-RIGHT: #696969 1px solid; BORDER-TOP: #696969 1px solid; BORDER-LEFT: #696969 1px solid; BORDER-BOTTOM: #696969 1px solid"> <iframe id="eOutput" name="eOutput" width="100%" height="100%" scrolling="auto" src="about:blank" frameborder="no"></iframe> </TD> </TR> </TABLE> </body> </html> --- NEW FILE: fckdialog.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckdialog.html * This page is used by all dialog box as the container. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:52 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="noindex, nofollow" /> <script type="text/javascript"> <!-- // Sets the Skin CSS document.write( '<link href="' + dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; // Sets the language direction. window.document.dir = dialogArguments.Editor.FCKLang.Dir ; var sTitle = dialogArguments.Title ; document.write( '<title>' + sTitle + '</title>' ) ; function LoadInnerDialog() { // First of all, translate the dialog box contents. dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ; window.frames["frmMain"].document.location.href = dialogArguments.Page ; } function InnerDialogLoaded() { SetOnKeyDown( window.frames["frmMain"].document ) ; DisableContextMenu( window.frames["frmMain"].document ) ; return dialogArguments.Editor ; } function SetOkButton( showIt ) { document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ; } function Ok() { if ( window.frames["frmMain"].Ok() ) Cancel() ; } function Cancel() { window.close() ; } // Object that holds all available tabs. var oTabs = new Object() ; function AddTab( tabCode, tabText, startHidden ) { if ( typeof( oTabs[ tabCode ] ) != 'undefined' ) return ; var eTabsRow = document.getElementById( 'Tabs' ) ; var oCell = eTabsRow.insertCell( eTabsRow.cells.length - 1 ) ; oCell.noWrap = true ; var oDiv = document.createElement( 'DIV' ) ; oDiv.className = 'PopupTab' ; oDiv.innerHTML = tabText ; oDiv.TabCode = tabCode ; oDiv.onclick = function() { SetSelectedTab( this.TabCode ) ; } if ( startHidden ) oDiv.style.display = 'none' ; var eTabsRow = document.getElementById( 'TabsRow' ) ; oCell.appendChild( oDiv ) ; if ( eTabsRow.style.display == 'none' ) { var eTitleArea = document.getElementById( 'TitleArea' ) ; eTitleArea.className = 'PopupTitle' ; oDiv.className = 'PopupTabSelected' ; eTabsRow.style.display = '' ; if ( ! dialogArguments.Editor.FCKBrowserInfo.IsIE ) window.onresize() ; } oTabs[ tabCode ] = oDiv ; oTabs[ tabCode ].Index = oTabs.length - 1 ; } function SetSelectedTab( tabCode ) { for ( var sCode in oTabs ) { if ( sCode == tabCode ) oTabs[sCode].className = 'PopupTabSelected' ; else oTabs[sCode].className = 'PopupTab' ; } if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' ) window.frames["frmMain"].OnDialogTabChange( tabCode ) ; } function SetTabVisibility( tabCode, isVisible ) { var oTab = oTabs[ tabCode ] ; oTab.style.display = isVisible ? '' : 'none' ; if ( ! isVisible && oTab.className == 'PopupTabSelected' ) { for ( var sCode in oTabs ) { if ( oTabs[sCode].style.display != 'none' ) { SetSelectedTab( sCode ) ; break ; } } } } function SetOnKeyDown( targetDocument ) { targetDocument.onkeydown = function ( e ) { var e = e || event || this.parentWindow.event ; switch ( e.keyCode ) { case 13 : // ENTER var oTarget = e.srcElement || e.target ; if ( oTarget.tagName == 'TEXTAREA' ) return ; Ok() ; return false ; case 27 : // ESC Cancel() ; return false ; break ; } } } SetOnKeyDown( document ) ; function DisableContextMenu( targetDocument ) { if ( dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ; // Disable Right-Click var oOnContextMenu = function( e ) { var sTagName = e.target.tagName ; if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) ) e.preventDefault() ; } targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ; } DisableContextMenu( document ) ; if ( ! dialogArguments.Editor.FCKBrowserInfo.IsIE ) { window.onresize = function() { var oFrame = document.getElementById("frmMain") ; oFrame.height = 0 ; var oCell = document.getElementById("FrameCell") ; var iHeight = oCell.offsetHeight ; oFrame.height = iHeight - 2 ; } } //--> </script> </head> <body onload="LoadInnerDialog();" class="PopupBody"> <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td id="TitleArea" class="PopupTitle PopupTitleBorder"> <script type="text/javascript"> <!-- document.write( sTitle ) ; //--> </script> </td> </tr> <tr id="TabsRow" style="DISPLAY: none"> <td class="PopupTabArea"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr id="Tabs" onselectstart="return false;"> <td class="PopupTabEmptyArea"> </td> <td class="PopupTabEmptyArea" width="100%"> </td> </tr> </table> </td> </tr> <tr> <td id="FrameCell" height="100%"> <iframe id="frmMain" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto"> </iframe> </td> </tr> <tr> <td class="PopupButtons"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td width="100%"> </td> <td nowrap="nowrap"> <input id="btnOk" style="VISIBILITY: hidden; WIDTH: 100px" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" /> <input type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" /> </td> </tr> </table> </td> </tr> </table> </body> </html> --- NEW FILE: fckeditor.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.html * Main page that holds the editor. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:32:15 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor</title> <meta name="robots" content="noindex, nofollow" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Cache-Control" content="public"> <script type="text/javascript" src="js/fck_startup.js"></script> </head> <body onfocus="FCK.Focus();"> <table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td unselectable="on"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr id="Collapsed" style="DISPLAY: none"> <td class="TB_Expand" title="Expand Toolbar" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td> </tr> <tr id="Expanded" style="DISPLAY: none"> <td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse" title="Collapse Toolbar" unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td> <td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td> <td width="1" style="BACKGROUND-COLOR: #696969"></td> </tr> </table> </td> </tr> <tr id="eWysiwyg"> <td id="eWysiwygCell" height="100%"> <iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" src="fckeditorarea.html" frameborder="no"></iframe> </td> </tr> <tr id="eSource" style="DISPLAY: none"> <td class="Source" height="100%" valign="top"> <textarea id="eSourceField" style="WIDTH: 100%; HEIGHT: 100%"></textarea> </td> </tr> </table> </body> </html> --- NEW FILE: fckeditor.original.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.original.html * Main page that holds the editor. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:32:15 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor</title> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <!-- @Packager.RemoveLine --> <meta name="robots" content="noindex, nofollow" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- @Packager.RemoveLine <meta http-equiv="Cache-Control" content="public"> @Packager.RemoveLine --> <!-- @Packager.Remove.Start --> <script type="text/javascript" src="_source/internals/fckbrowserinfo.js"></script> <script type="text/javascript" src="_source/internals/fckscriptloader.js"></script> <script type="text/javascript" src="_source/internals/fckconfig.js"></script> <script type="text/javascript" src="_source/internals/fck_onload.js"></script> <script type="text/javascript" src="_source/internals/fckurlparams.js"></script> <script type="text/javascript" src="_source/globals/fck_constants.js"></script> <script type="text/javascript" src="_source/internals/fck.js"></script> <script type="text/javascript" src="_source/globals/fckeditorapi.js"></script> <!-- @Packager.Remove.End --> <!-- @Packager.RemoveLine <script type="text/javascript" src="js/fck_startup.js"></script> @Packager.RemoveLine --> </head> <body onfocus="FCK.Focus();"> <table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td unselectable="on"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr id="Collapsed" style="DISPLAY: none"> <td class="TB_Expand" title="Expand Toolbar" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td> </tr> <tr id="Expanded" style="DISPLAY: none"> <td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse" title="Collapse Toolbar" unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td> <td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td> <td width="1" style="BACKGROUND-COLOR: #696969"></td> </tr> </table> </td> </tr> <tr id="eWysiwyg"> <td id="eWysiwygCell" height="100%"> <iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" src="fckeditorarea.html" frameborder="no"></iframe> </td> </tr> <tr id="eSource" style="DISPLAY: none"> <td class="Source" height="100%" valign="top"> <textarea id="eSourceField" style="WIDTH: 100%; HEIGHT: 100%"></textarea> </td> </tr> </table> </body> </html> --- NEW FILE: fckeditorarea.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>FCKeditor - Editor Area</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="css/fck_editorarea.css" type="text/css" rel="stylesheet" /> </head> <body></body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:52
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_samples/jsp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_samples/jsp Added Files: sample01.jsp sample02_tag.jsp sampleposteddata.jsp Log Message: added fckeditor to comment submittal. --- NEW FILE: sample01.jsp --- <%@ page language="java" import="com.fredck.FCKeditor.*" %> /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample01.jsp * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-28 17:17:10 * * File Authors: * Simone Chiaretta (si...@pi...) */ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { window.status = editorInstance.Description ; } </script> </head> <body> <h1>FCKeditor - JSP - Sample 1</h1> This sample displays a normal HTML form with an FCKeditor with full features enabled. <hr> <form action="sampleposteddata.jsp" method="get" target="_blank"> <% FCKeditor oFCKeditor ; oFCKeditor = new FCKeditor( request, "EditorDefault" ) ; oFCKeditor.setBasePath( "/FCKeditor/" ) ; oFCKeditor.setValue( "This is some <B>sample text</B>." ) ; out.println( oFCKeditor.create() ) ; %> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sample02_tag.jsp --- <%@ taglib uri="/WEB-INF/FCKeditor.tld" prefix="FCK" %> /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample02_tag.jsp * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-28 17:16:54 * * File Authors: * Simone Chiaretta (si...@pi...) */ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { window.status = editorInstance.Description ; } </script> </head> <body> <h1>FCKeditor - JSP - Sample 2</h1> This sample displays a normal HTML form with an FCKeditor with full features enabled. <hr> <form action="sampleposteddata.jsp" method="get" target="_blank"> <FCK:editor id="EditorDefault" basePath="/FCKeditor/"> This is some <B>sample text</B>. </FCK:editor> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sampleposteddata.jsp --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sampleposteddata.jsp * This page lists the data posted by a form. * * Version: 2.0 Beta 1 * Modified: 2004-05-28 17:18:38 * * File Authors: * Simone Chiaretta (si...@pi...) */ <% Enumeration params = request.getParameterNames(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <title>FCKeditor - Samples - Posted Data</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKeditor - Samples - Posted Data</h1> This page lists all data posted by the form. <hr> <table width="100%" border="1" cellspacing="0" bordercolor="#999999"> <tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999"> <td noWrap>Field Name </td> <td>Value</td> </tr> <% String parameter = null ; while( params.hasMoreElements() ) { parameter = (String) params.nextElement() ; %> <tr> <td valign="top" nowrap><b><%=parameter%></b></td> <td width="100%"><%=request.getParameter(parameter)%></td> </tr> <% } %> </table> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:51
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor Added Files: fckconfig.js fckeditor.cfc fckeditor.cfm fckeditor.js license.txt Log Message: added fckeditor to comment submittal. --- NEW FILE: fckconfig.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckconfig.js * Editor configuration settings. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:55 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // Custom Configurations (leave blank to ignore) FCKConfig.CustomConfigurationsPath = '' ; // '/fckeditor.config.js' ; // Enables the debug window FCKConfig.Debug = false ; // Set the path for the skin files to use. FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; //FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/office2003/' ; // Language settings FCKConfig.AutoDetectLanguage = true ; FCKConfig.DefaultLanguage = "en" ; // Enable XHTML support FCKConfig.EnableXHTML = true ; FCKConfig.EnableSourceXHTML = true ; // Cut and Paste options FCKConfig.ForcePasteAsPlainText = false ; // Link: Target Windows FCKConfig.LinkShowTargets = true ; FCKConfig.LinkTargets = '_blank;_parent;_self;_top' ; FCKConfig.LinkDefaultTarget = '' ; FCKConfig.ToolbarStartExpanded = true ; FCKConfig.ToolbarCanCollapse = true ; //## //## Toolbar Buttons Sets //## FCKConfig.ToolbarSets = new Object() ; FCKConfig.ToolbarSets["Default"] = [ ['Source','-','Save','NewPage','Preview'], ['Cut','Copy','Paste'/*,'PasteText','PasteWord'*/,'-','Print'/*,'SpellCheck'*/], ['Undo','Redo',/*'-','Find','Replace',*/'-','SelectAll','RemoveFormat'], ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], ['OrderedList','UnorderedList','-','Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], ['Link','Unlink'/*,'Anchor'*/], [/*'Image',*/'Table','Rule','SpecialChar'/*,'UniversalKey'*/,'Smiley'], /*['Form','Checkbox','Radio','Input','Textarea','Select','Button','ImageButton','Hidden']*/ /*['ShowTableBorders','ShowDetails','-','Zoom'],*/ [/*'FontStyleAdv','-','FontStyle','-',*/'FontFormat','-','FontName','-','FontSize'], /*['TextColor','BGColor'],*/ ['About'] ] ; FCKConfig.ToolbarSets["Basic"] = [ ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About'] ] ; // Font Names FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; // Link Browsing FCKConfig.LinkBrowser = false ; FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/aspx/connector.aspx" ; FCKConfig.LinkBrowserWindowWidth = screen.width * 0.7 ; // 70% FCKConfig.LinkBrowserWindowHeight = screen.height * 0.7 ; // 70% // Link Upload FCKConfig.LinkUpload = false ; FCKConfig.LinkUploadURL = FCKConfig.BasePath + "filemanager/upload/aspx/upload.aspx" ; FCKConfig.LinkUploadWindowWidth = 300 ; FCKConfig.LinkUploadWindowHeight = 150 ; FCKConfig.LinkUploadAllowedExtensions = "*" ; // * or empty for all FCKConfig.LinkUploadDeniedExtensions = ".exe .asp .php .aspx .js .cfm .dll" ; // empty for no one // Smiley Dialog FCKConfig.SmileyPath = FCKConfig.BasePath + "images/smiley/msn/" ; FCKConfig.SmileyImages = ["regular_smile.gif","sad_smile.gif","wink_smile.gif","teeth_smile.gif","confused_smile.gif","tounge_smile.gif","embaressed_smile.gif","omg_smile.gif","whatchutalkingabout_smile.gif","angry_smile.gif","angel_smile.gif","shades_smile.gif","devil_smile.gif","cry_smile.gif","lightbulb.gif","thumbs_down.gif","thumbs_up.gif","heart.gif","broken_heart.gif","kiss.gif","envelope.gif"] ; FCKConfig.SmileyColumns = 8 ; FCKConfig.SmileyWindowWidth = 320 ; FCKConfig.SmileyWindowHeight = 240 ; //** // Load the custom configurations file if ( FCKConfig.CustomConfigurationsPath.length > 0 ) FCKScriptLoader.AddScript( FCKConfig.CustomConfigurationsPath ) ; --- NEW FILE: fckeditor.cfc --- <cfcomponent output="no" displayname="FCKEditor" hint="Create an instance of the FCKEditor."> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.cfc * ColdFusion MX integration. * Note this CFC is created for use only with Coldfusion MX and above. * For older version, check the fckeditor.cfm. * * Syntax: * * <cfscript> * fckEditor = createObject("component", "fckEditorV2/fckeditor"); * fckEditor.instanceName="myEditor"; * fckEditor.basePath="/fckEditorV2/"; * fckEditor.value="This is my <strong>initial</strong> html text."; * fckEditor.width="100%"; * fckEditor.height="200"; * // ... additional parameters ... * fckEditor.create(); // create instance now. * </cfscript> * * See your macromedia coldfusion mx documentation for more info. * * *** Note: * Do not use path names with a "." (dot) in the name. This is a coldfusion * limitation with the cfc invocation. * * Version: 2.0 Beta 1 * Modified: 2004-05-27 12:39:32 * * File Authors: * Hendrik Kramer (hk...@lw...) --> <cffunction name="create" access="public" output="Yes" returntype="void" hint="Initialize the FCKEditor instance." > <cfparam name="this.instanceName" type="string" /> <cfparam name="this.width" type="string" default="100%" /> <cfparam name="this.height" type="string" default="200" /> <cfparam name="this.toolbarSet" type="string" default="Default" /> <cfparam name="this.value" type="string" default="" /> <cfparam name="this.basePath" type="string" default="/fckeditor/" /> <cfparam name="this.checkBrowser" type="boolean" default="true" /> <cfparam name="this.config" type="struct" default="#structNew()#" /> <cfscript> // display the html editor or a plain textarea? if( isCompatibleBrowser() ) showHTMLEditor(); else showTextArea(); </cfscript> </cffunction> <cffunction name="isCompatibleBrowser" access="private" output="no" returnType="boolean" hint="Check browser compatibility via HTTP_USER_AGENT, if checkBrowser is true" > <cfscript> var sAgent = lCase( cgi.HTTP_USER_AGENT ); var stResult = ""; var sBrowserVersion = ""; // do not check if argument "checkBrowser" is false if( not this.checkBrowser ) return true; // check for Internet Explorer ( >= 5.5 ) if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) ) { // try to extract IE version stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true ); if( arrayLen( stResult.pos ) eq 2 ) { // get IE Version sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] ); return ( sBrowserVersion GTE 5.5 ); } } // check for Gecko ( >= 20030210+ ) else if( find( "gecko", sAgent ) ) { // try to extract Gecko version date stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true ); if( arrayLen( stResult.pos ) eq 2 ) { // get Gecko build (i18n date) sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] ); return ( sBrowserVersion GTE 20030210 ); } } return false; </cfscript> </cffunction> <cffunction name="showTextArea" access="private" output="yes" returnType="void" hint="Create a textarea field for non-compatible browsers." > <cfscript> var width = this.width; var height = this.height; // append unit "px" for numeric width and/or height values if( isNumeric( width ) ) width = width & "px"; if( isNumeric( height ) ) height = height & "px"; </cfscript> <cfoutput> <div> <textarea name="#this.instanceName#" rows="4" cols="40" style="WIDTH: #width#; HEIGHT: #height#" wrap="virtual">#HTMLEditFormat(this.value)#</textarea> </div> </cfoutput> </cffunction> <cffunction name="showHTMLEditor" access="private" output="yes" returnType="void" hint="Create the html editor instance for compatible browsers." > <cfscript> var sConfig = ""; var sURL = ""; var basePath = this.basePath; // try to fix the basePath, if ending slash is missing if( len( basePath) and right( basePath, 1 ) is not "/" ) basePath = basePath & "/"; // construct the url sURL = basePath & "editor/fckeditor.html?InstanceName=" & this.instanceName; // append toolbarset name to the url if( len( this.toolbarSet ) ) sURL = sURL & "&Toolbar=" & this.toolbarSet; // create configuration string: Key1=Value1&Key2=Value2&... (Key/Value:HTML encoded) for( key in this.config ) { if( len( sConfig ) ) sConfig = sConfig & '&'; sConfig = sConfig & HTMLEditFormat(key) & '=' & HTMLEditFormat(this.config[key]); } </cfscript> <cfoutput> <div> <input type="hidden" id="#this.instanceName#" name="#this.instanceName#" value="#HTMLEditFormat(this.value)#" /> <input type="hidden" id="#this.instanceName#___Config" value="#sConfig#" /> <iframe id="#this.instanceName#___Frame" src="#sURL#" width="#this.width#" height="#this.height#" frameborder="no" scrolling="no"></iframe> </div> </cfoutput> </cffunction> </cfcomponent> --- NEW FILE: fckeditor.cfm --- <cfsetting enablecfoutputonly="Yes"> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.cfm * ColdFusion integration. * Note this module is created for use with Coldfusion 4.52 and above. * For a cfc version for coldfusion mx check the fckeditor.cfc. * * Syntax: * * <cfmodule name="path/to/cfc/fckeditor" * instanceName="myEditor" * toolbarSet="..." * width="..." * height="..:" * value="..." * config="..." * > * * Version: 2.0 Beta 1 * Modified: 2004-05-27 12:24:11 * * File Authors: * Hendrik Kramer (hk...@lw...) --> <!--- :: * Attribute validation :: ---> <cfparam name="attributes.instanceName" type="string"> <cfparam name="attributes.width" type="string" default="100%"> <cfparam name="attributes.height" type="string" default="200"> <cfparam name="attributes.toolbarSet" type="string" default="Default"> <cfparam name="attributes.value" type="string" default=""> <cfparam name="attributes.basePath" type="string" default="/fckeditor/"> <cfparam name="attributes.checkBrowser" type="boolean" default="true"> <cfparam name="attributes.config" type="struct" default="#structNew()#"> <!--- :: * check browser compatibility via HTTP_USER_AGENT, if checkBrowser is true :: ---> <cfif attributes.checkBrowser> <cfscript> sAgent = lCase( cgi.HTTP_USER_AGENT ); isCompatibleBrowser = false; // check for Internet Explorer ( >= 5.5 ) if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) ) { // try to extract IE version stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true ); if( arrayLen( stResult.pos ) eq 2 ) { // get IE Version sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] ); if( sBrowserVersion GTE 5.5 ) isCompatibleBrowser = true; } } // check for Gecko ( >= 20030210+ ) else if( find( "gecko", sAgent ) ) { // try to extract Gecko version date stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true ); if( arrayLen( stResult.pos ) eq 2 ) { // get Gecko build (i18n date) sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] ); if( sBrowserVersion GTE 20030210 ) isCompatibleBrowser = true; } } </cfscript> <cfelse> <!--- :: If we should not check browser compatibility, assume true :: ---> <cfset isCompatibleBrowser = true> </cfif> <cfif isCompatibleBrowser> <!--- :: * show html editor area for compatible browser :: ---> <cfscript> // try to fix the basePath, if ending slash is missing if( len( attributes.basePath) and right( attributes.basePath, 1 ) is not "/" ) attributes.basePath = attributes.basePath & "/"; // construct the url sURL = attributes.basePath & "editor/fckeditor.html?InstanceName=" & attributes.instanceName; // append toolbarset name to the url if( len( attributes.toolbarSet ) ) sURL = sURL & "&Toolbar=" & attributes.toolbarSet; // create configuration string: Key1=Value1&Key2=Value2&... (Key/Value:HTML encoded) sConfig = ""; for( key in attributes.config ) { if( len( sConfig ) ) sConfig = sConfig & '&'; sConfig = sConfig & HTMLEditFormat( key ) & '=' & HTMLEditFormat( attributes.config[key] ); } </cfscript> <cfoutput> <div> <input type="hidden" id="#attributes.instanceName#" name="#attributes.instanceName#" value="#HTMLEditFormat(attributes.value)#" /> <input type="hidden" id="#attributes.instanceName#___Config" value="#sConfig#" /> <iframe id="#attributes.instanceName#___Frame" src="#sURL#" width="#attributes.width#" height="#attributes.height#" frameborder="no" scrolling="no"></iframe> </div> </cfoutput> <cfelse> <!--- :: * show plain textarea for non compatible browser :: ---> <cfscript> // append unit "px" for numeric width and/or height values if( isNumeric( attributes.width ) ) attributes.width = attributes.width & "px"; if( isNumeric( attributes.height ) ) attributes.height = attributes.height & "px"; </cfscript> <cfoutput> <div> <textarea name="#attributes.instanceName#" rows="4" cols="40" style="WIDTH: #width#; HEIGHT: #height#" wrap="virtual">#HTMLEditFormat(attributes.value)#</textarea> </div> </cfoutput> </cfif> <cfsetting enablecfoutputonly="No"> --- NEW FILE: fckeditor.js --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.js * This is the integration file for JavaScript. * * It defines the FCKeditor class that can be used to create editor * instances in a HTML page in the client side. For server side * operations, use the specific integration system. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:55 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ // FCKeditor Class var FCKeditor = function( instanceName, width, height, toolbarSet, value ) { // Properties this.InstanceName = instanceName ; this.Width = width || '100%' ; this.Height = height || '200' ; this.ToolbarSet = toolbarSet || 'Default' ; this.Value = value || '' ; this.BasePath = '/fckeditor/' ; this.CheckBrowser = true ; this.DisplayErrors = true ; this.Config = new Object() ; // Events this.OnError = null ; // function( source, errorNumber, errorDescription ) } FCKeditor.prototype.Create = function() { // Check for errors if ( !this.InstanceName || this.InstanceName.length == 0 ) { this._ThrowError( 701, 'You must specify a instance name.' ) ; return ; } document.write( '<div>' ) ; if ( !this.CheckBrowser || this._IsCompatibleBrowser() ) { document.write( '<input type="hidden" id="' + this.InstanceName + '" name="' + this.InstanceName + '" value="' + this._HTMLEncode( this.Value ) + '">' ) ; document.write( this._GetConfigHtml() ) ; document.write( this._GetIFrameHtml() ) ; } else { var sWidth = this.Width.toString().indexOf('%') > 0 ? this.Width : this.Width + 'px' ; var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ; document.write('<textarea name="' + this.InstanceName + '" rows="4" cols="40" style="WIDTH: ' + sWidth + '; HEIGHT: ' + sHeight + '" wrap="virtual">' + this._HTMLEncode( this.Value ) + '<\/textarea>') ; } document.write( '</div>' ) ; } FCKeditor.prototype.ReplaceTextarea = function() { if ( !this.CheckBrowser || this._IsCompatibleBrowser() ) { var oTextarea = document.getElementsByName( this.InstanceName )[0] ; oTextarea.style.display = 'none' ; this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ; this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ; } } FCKeditor.prototype._InsertHtmlBefore = function( html, element ) { if ( element.insertAdjacentHTML ) // IE element.insertAdjacentHTML( 'beforeBegin', html ) ; else // Gecko { var oRange = document.createRange() ; oRange.setStartBefore( element ) ; var oFragment = oRange.createContextualFragment( html ); element.parentNode.insertBefore( oFragment, element ) ; } } FCKeditor.prototype._GetConfigHtml = function() { var sConfig = '' ; for ( var o in this.Config ) { if ( sConfig.length > 0 ) sConfig += '&' ; sConfig += this._HTMLEncode(o) + '=' + this._HTMLEncode( this.Config[o] ) ; } return '<input type="hidden" id="' + this.InstanceName + '___Config" value="' + sConfig + '">' ; } FCKeditor.prototype._GetIFrameHtml = function() { var sLink = this.BasePath + 'editor/fckeditor.html?InstanceName=' + this.InstanceName ; if (this.ToolbarSet) sLink += '&Toolbar=' + this.ToolbarSet ; return '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' + this.Height + '" frameborder="no" scrolling="no"></iframe>' ; } FCKeditor.prototype._IsCompatibleBrowser = function() { var sAgent = navigator.userAgent.toLowerCase() ; // Internet Explorer if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 ) { var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ; return ( sBrowserVersion >= 5.5 ) ; } // Gecko else if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 ) return true ; else return false ; } FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription ) { this.ErrorNumber = errorNumber ; this.ErrorDescription = errorDescription ; if ( this.DisplayErrors ) { document.write( '<div style="COLOR: #ff0000">' ) ; document.write( '[ FCKeditor Error ' + this.ErrorNumber + ': ' + this.ErrorDescription + ' ]' ) ; document.write( '</div>' ) ; } if ( typeof( this.OnError ) == 'function' ) this.OnError( this, errorNumber, errorDescription ) ; } FCKeditor.prototype._HTMLEncode = function( text ) { if ( typeof( text ) != "string" ) text = text.toString() ; text = text.replace(/&/g, "&") ; text = text.replace(/"/g, """) ; text = text.replace(/</g, "<") ; text = text.replace(/>/g, ">") ; text = text.replace(/'/g, "’") ; return text ; } --- NEW FILE: license.txt --- GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:51
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_samples/aspx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_samples/aspx Added Files: sample01.aspx sampleposteddata.aspx Log Message: added fckeditor to comment submittal. --- NEW FILE: sample01.aspx --- <%@ Page ValidateRequest="false" Language="C#" AutoEventWireup="false" %> <%@ Register TagPrefix="fckeditorv2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample01.aspx * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:28:37 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <script runat="server" language="C#"> // This sample doesnt use a code behind file to avoid the user to have to compile // the page to run it. protected override void OnLoad(EventArgs e) { // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // FCKeditor1.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. string sPath = Request.Url.AbsolutePath ; int iIndex = sPath.LastIndexOf( "_samples") ; FCKeditor1.BasePath = sPath.Remove( iIndex, sPath.Length - iIndex ) ; } </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { window.status = editorInstance.Description ; } </script> </HEAD> <body> <h1>FCKeditor - ASP.Net - Sample 1</h1> This sample displays a normal HTML form with an FCKeditor with full features enabled. <hr> <form action="sampleposteddata.aspx" method="post" target="_blank"> <FCKeditorV2:FCKeditor id="FCKeditor1" runat="server" value='This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.'></FCKeditorV2:FCKeditor> <br> <input type="submit" value="Submit"> </form> </body> </HTML> --- NEW FILE: sampleposteddata.aspx --- <%@ Page ValidateRequest="false" Language="C#" AutoEventWireup="false" %> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sampleposteddata.aspx * This page lists the data posted by a form. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <title>FCKeditor - Samples - Posted Data</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKeditor - Samples - Posted Data</h1> This page lists all data posted by the form. <hr> <table width="100%" border="1" cellspacing="0" bordercolor="#999999"> <tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999"> <td noWrap>Field Name </td> <td>Value</td> </tr> <% foreach ( string sForm in Request.Form ) { %> <tr> <td valign="top" nowrap><b><%=sForm%></b></td> <td width="100%"><%=Server.HtmlEncode( Request.Form[sForm] )%></td> </tr> <% } %> </table> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:51
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_samples/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_samples/html Added Files: sample01.html sample02.html sample03.html sample04.html sample05.html sampleposteddata.asp sampleposteddata.html Log Message: added fckeditor to comment submittal. --- NEW FILE: sample01.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample01.html * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:35:28 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { window.status = editorInstance.Description ; } </script> </head> <body> <h1>FCKeditor - Javascript - Sample 1</h1> This sample displays a normal HTML form with an FCKeditor with full features enabled. <hr> <form action="sampleposteddata.asp" method="post" target="_blank"> <script type="text/javascript"> <!-- // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ; var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.BasePath = sBasePath ; oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ; oFCKeditor.Create() ; //--> </script> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sample02.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample02.html * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:12:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> window.onload = function() { // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ; var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.BasePath = sBasePath ; oFCKeditor.ReplaceTextarea() ; } </script> </head> <body> <h1>FCKeditor - Javascript - Sample 2</h1> This sample displays a normal HTML form with an FCKeditor with full features enabled. It uses the "ReplaceTextarea" command to create the editor. <hr> <form action="sampleposteddata.asp" method="post" target="_blank"> <div> <textarea id="FCKeditor1" name="FCKeditor1" style="WIDTH: 100%; HEIGHT: 200px">This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</textarea> </div> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sample03.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample03.html * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:12:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { var oCombo = document.getElementById( 'cmbLanguages' ) ; for ( code in editorInstance.Language.AvailableLanguages ) { AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ; } oCombo.value = editorInstance.Language.ActiveLanguage.Code ; } function AddComboOption(combo, optionText, optionValue) { var oOption = document.createElement("OPTION") ; combo.options.add(oOption) ; oOption.innerHTML = optionText ; oOption.value = optionValue ; return oOption ; } function ChangeLanguage( languageCode ) { window.location.href = window.location.pathname + "?" + languageCode ; } </script> </head> <body> <h1>FCKeditor - Javascript - Sample 3</h1> This sample shows the editor in all it's available languages. <hr> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> Select a language: </td> <td> <select id="cmbLanguages" onchange="ChangeLanguage(this.value);"> </select> </td> </tr> </table> <br> <form action="sampleposteddata.asp" method="post" target="_blank"> <script type="text/javascript"> <!-- // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ; var sLang ; if ( document.location.search.length > 1 ) sLang = document.location.search.substr(1) ; var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.BasePath = sBasePath ; if ( sLang == null ) { oFCKeditor.Config["AutoDetectLanguage"] = true ; oFCKeditor.Config["DefaultLanguage"] = "en" ; } else { oFCKeditor.Config["AutoDetectLanguage"] = false ; oFCKeditor.Config["DefaultLanguage"] = sLang ; } oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ; oFCKeditor.Create() ; //--> </script> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sample04.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample04.html * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:12:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { var oCombo = document.getElementById( 'cmbToolbars' ) ; oCombo.value = editorInstance.ToolbarSet.Name ; oCombo.style.visibility = '' ; } function ChangeLanguage( languageCode ) { window.location.href = window.location.pathname + "?" + languageCode ; } </script> </head> <body> <h1>FCKeditor - Javascript - Sample 4</h1> This sample shows how to change the editor toolbar. <hr> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> Select the toolbar to load: </td> <td> <select id="cmbToolbars" onchange="ChangeLanguage(this.value);" style="VISIBILITY: hidden"> <option value="Default" selected>Default</option> <option value="Basic">Basic</option> </select> </td> </tr> </table> <br> <form action="sampleposteddata.asp" method="post" target="_blank"> <script type="text/javascript"> <!-- // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ; // Get the toolbar from the URL. var sToolbar ; if ( document.location.search.length > 1 ) sToolbar = document.location.search.substr(1) ; var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.BasePath = sBasePath ; if ( sToolbar != null ) oFCKeditor.ToolbarSet = sToolbar ; oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ; oFCKeditor.Create() ; //--> </script> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sample05.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample05.html * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:12:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../../fckeditor.js"></script> <script type="text/javascript"> function FCKeditor_OnComplete( editorInstance ) { var oCombo = document.getElementById( 'cmbSkins' ) ; // Get the active skin. var sSkin = editorInstance.Config['SkinPath'] ; sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ; oCombo.value = sSkin ; oCombo.style.visibility = '' ; } function ChangeLanguage( languageCode ) { window.location.href = window.location.pathname + "?" + languageCode ; } </script> </head> <body> <h1>FCKeditor - Javascript - Sample 5</h1> This sample shows how to change the editor skin. <hr> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> Select the skin to load: </td> <td> <select id="cmbSkins" onchange="ChangeLanguage(this.value);" style="VISIBILITY: hidden"> <option value="default" selected>Default</option> <option value="office2003">Office 2003</option> <option value="silver">Silver</option> </select> </td> </tr> </table> <br> <form action="sampleposteddata.asp" method="post" target="_blank"> <script type="text/javascript"> <!-- // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ; // Get the skin from the URL. var sSkin ; if ( document.location.search.length > 1 ) sSkin = document.location.search.substr(1) ; var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.BasePath = sBasePath ; if ( sSkin != null ) oFCKeditor.Config['SkinPath'] = sBasePath + 'editor/skins/' + sSkin + '/' ; oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ; oFCKeditor.Create() ; //--> </script> <br> <input type="submit" value="Submit"> </form> </body> </html> --- NEW FILE: sampleposteddata.asp --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sampleposteddata.asp * This page lists the data posted by a form. * * Version: 2.0 Beta 1 * Modified: 2004-06-01 00:15:05 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Samples - Posted Data</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKeditor - Samples - Posted Data</h1> This page lists all data posted by the form. <hr> <table width="100%" border="1" cellspacing="0" bordercolor="#999999"> <tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999"> <td noWrap>Field Name </td> <td>Value</td> </tr> <% For Each sForm in Request.Form %> <tr> <td valign="top" nowrap><b><%=sForm%></b></td> <td width="100%"><%=Server.HTMLEncode( Request.Form(sForm) )%></td> </tr> <% Next %> </table> </body> </html> --- NEW FILE: sampleposteddata.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sampleposteddata.html * This page lists the data posted by a form. It uses the URL (GET data), * so it's limited to 2KB of data. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:30:49 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Samples - Posted Data</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKeditor - Samples - Posted Data</h1> This page lists all data posted by the form. It uses the "QueryString" to search for data submitted using the "GET" method, so it is limited to 2KB. <hr> <table width="100%" border="1" cellspacing="0" bordercolor="#999999"> <tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999"> <td>Field</td> <td>Value</td> </tr> <script type="text/javascript"> <!-- function HTMLEncode( text ) { text = text.replace(/&/g, "&") ; text = text.replace(/"/g, """) ; text = text.replace(/</g, "<") ; text = text.replace(/>/g, ">") ; text = text.replace(/'/g, "’") ; return text ; } var aParams = document.location.search.substr(1).split('&') ; for ( i = 0 ; i < aParams.length ; i++ ) { var aParam = aParams[i].split('=') ; var sParamName = aParam[0] ; var sParamValue = aParam[1] ; document.write( '<tr>' ) ; document.write( '<td valign="top" nowrap><b>' + sParamName + '</b></td>' ) ; document.write( '<td width="100%">' + HTMLEncode( unescape( sParamValue.replace( /\+/g, ' ' ) ) ) + '</td>' ) ; document.write( '</tr>' ) ; } //--> </script> </table> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:51
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_samples/cfm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_samples/cfm Added Files: sample01.cfm sample02_mx.cfm Log Message: added fckeditor to comment submittal. --- NEW FILE: sample01.cfm --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample01.cfm * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:18:38 * * File Authors: * Hendrik Kramer (hk...@lw...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKeditor - ColdFusion - Sample 1</h1> This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Custom Tag / Module.<br> ColdFusion is a registered trademark and product of <a href="http://www.macromedia.com/software/coldfusion/" target="_blank">Macromedia, Inc</a>. <hr> <form method="POST" action="<cfoutput>#cgi.script_name#</cfoutput>"> <cfmodule template="../../fckeditor.cfm" basePath="/fckeditor/" instanceName="textEditor" value='This is some sample text. You are using <a href="http://fckeditor.net/" target="_blank">FCKeditor</a>.' width="100%" height="200" > <br /> <input type="submit" value="Submit"> <br /> </form> <cfif isDefined( 'FORM.fieldnames' )> <cfoutput> <style> <!-- td, th { font: 11px Verdana, Arial, Helv, Helvetica, "sans-serif"; } --> </style> <table border="1" cellspacing="0" cellpadding="2" bordercolor="darkblue" bordercolordark="darkblue" bordercolorlight="darkblue"> <tr> <th colspan="2" bgcolor="darkblue"><font color="white"><strong>Dump of FORM Variables</strong></font></th> </tr> <tr> <td bgcolor="lightskyblue">FieldNames</td> <td>#FORM.fieldNames#</td> </tr> <cfloop list="#FORM.fieldnames#" index="key"> <tr> <td valign="top" bgcolor="lightskyblue">#key#</td> <td>#HTMLEditFormat(evaluate("FORM.#key#"))#</td> </tr> </cfloop> </table> </cfoutput> </cfif> </body> </html> --- NEW FILE: sample02_mx.cfm --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample02_mx.cfm * Sample page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:18:45 * * File Authors: * Hendrik Kramer (hk...@lw...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>FCKeditor - Sample</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="../sample.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>FCKEditor - ColdFusion Component (CFC) - Sample 2</h1> This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Component.<br> ColdFusion is a registered trademark and product of <a href="http://www.macromedia.com/software/coldfusion/" target="_blank">Macromedia, Inc</a>. <hr> <cflock scope="SERVER" type="READONLY" timeout="10"> <cfset prodVersion = listFirst( server.coldFusion.productVersion )> </cflock> <cfif prodVersion LT 6> <cfoutput><br><em style="color: red;">This sample work only with a ColdFusion MX server and higher, because it uses some advantages of this version.<br>Please try our other <a href="sample01.cfm">ColdFusion Sample Integration</a>.</em></cfoutput> <cfabort> </cfif> <form method="POST" action="<cfoutput>#cgi.script_name#</cfoutput>"> <cfscript> fckEditor = createObject("component", "/fckeditor/fckeditor"); fckEditor.instanceName = "textEditor"; fckEditor.value = 'This is some sample text. You are using <a href="http://fckeditor.net/" target="_blank">FCKeditor</a>.'; fckEditor.basePath = "/fckeditor/"; fckEditor.width = "100%"; fckEditor.height = 200; fckEditor.create(); // create the editor. </cfscript> <br /> <input type="submit" value="Submit"> <br /> </form> <cfdump var="#FORM#" label="Dump of FORM Variables"> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:50
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_samples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_samples Added Files: default.html sample.css sampleslist.html Log Message: added fckeditor to comment submittal. --- NEW FILE: default.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: default.html * Samples Frameset page. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:46 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head> <title>FCKeditor - Samples</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> </head> <frameset rows="60,*"> <frame src="sampleslist.html" noresize scrolling="no"> <frame name="Sample" src="html/sample01.html" noresize> </frameset> </html> --- NEW FILE: sample.css --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sample.css * Styles used in the samples pages. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) */ body, td, input, select, textarea { font-size: 12px; font-family: Arial, Verdana, Sans-Serif; } h1 { font-weight: bold; font-size: 180%; margin-bottom: 10px; } form { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; } --- NEW FILE: sampleslist.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: sampleslist.html * Page used to select the sample to view. * * Version: 2.0 Beta 1 * Modified: 2004-05-31 23:07:47 * * File Authors: * Frederico Caldeira Knabben (fr...@fc...) --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Sample Selection</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow"> <link href="sample.css" rel="stylesheet" type="text/css" /> <script language="javascript"> <!-- if ( window.top == window ) document.location = 'default.html' ; function OpenSample( sample ) { if ( sample.length > 0 ) window.open( sample, 'Sample' ) ; } //--> </script> </head> <body bottommargin="0" topmargin="0"> <table height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> Please select the sample you want to view: <br> <select onchange="OpenSample(this.value);"> <option value="html/sample01.html" selected>Javascript : Sample 01 : Editor with all features</option> <option value="html/sample02.html">Javascript : Sample 02 : Replacement of a TEXTAREA</option> <option value="html/sample03.html">Javascript : Sample 03 : Multi-language support</option> <option value="html/sample04.html">Javascript : Sample 04 : Toolbar selection</option> <option value="html/sample05.html">Javascript : Sample 05 : Skins support</option> <option value=""> </option> <option value="aspx/sample01.aspx">ASP.Net : Sample 01 : Editor with all features</option> <option value=""> </option> <option value="cfm/sample01.cfm">ColdFusion : Sample 01 : Editor with all features</option> <option value="cfm/sample02_mx.cfm">ColdFusion : Sample 02 : Advanced version for ColdFusion MX</option> <option value=""> </option> <option value="jsp/sample01.jsp">JSP : Sample 01 : Editor with all features</option> <option value="jsp/sample02_tag.jsp">JSP : Sample 02 : Editor with all features - TagLib version</option> </select> </td> </tr> </table> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:50
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers/images Added Files: FileBrowserConnector.gif Log Message: added fckeditor to comment submittal. --- NEW FILE: FileBrowserConnector.gif --- GIF87ar ÄÆÄnlDBDüäæäüdä"$dbd¤¦¤üBD$"$üÎÌôöôübdTRTü®¬üì24üæäÔÖÔD24trt´¶´424ôdNLüü"$üRTüÚÜüvtôòô´24z|LJL¬®¬,*,üþüdZ\ü¾¼ô><ÜÞÜ<:<|~|üüü~|üîì ÄÌÎÌvtìîìü T&$ì.,dfdüJL$&$üÖÔüöôTVTü²´üÜÚÜtvt¼¾¼464ü&$üZ\üÞÜüz|LNL´²´ü><¤¢¤<><üü¢¤üòô ;Ñ*mR]Vb±ãNU{Î2À=PbÁ]å ¢:ß®3à,!)tNûËâ¦vO»³@@n<)á*é^Â2@Ïþò$ïÃUq6³Nÿg¬1'¾»13ñ~ ½"±Ä&#SqÊ`ÌòË´¢30!Ï| É6çÌaÇ:ôfϸôÐÉL4-5÷óÑL/Ç`ÏÔTWmõÕXgõÖ\wMµ-+-4'DØ`öÙh§öÚl·íöÛpÇ}63}ëõÝxç7×1ÔÂ3-ÈPÀànøá'®øâ7îxPKÒ:/½d®ùæwîùç .úè¤oîÂKSxðøê¬·îzãVxPÑ8Ð÷Æ3ÌPKØ=½ 4¸ üðÄoüñÈ'¯üòÌ7ï þïò0ûÓµØþq f-xçàF#W á¶"Bæå$ÄMÿ¦ñ+?Ñ>P`0cÜÜ÷l!%µÊ VðPc ÊdvP @@z d¤J¹X4 °ÀÓþHedÉ0^bËáu !¨æsßXF,!ô0¤±9àZE¸Ä*5¶¿?îÑbÝD i˵ó;¬ äÒH+sÿÔU+! aåZK°Y&g6sa}G6÷D©£L°¼í6 ªÒ¢k%úⱤj£ijüXº3rÂA¨Dë%p"¨ÙÔDd) PÈ e xÍ^#ÈW¤¢³`bK2ͱ2P ÆFBôp@ù²Ì<V 7wÈÄÃá×¹¥Dè_£`e«òÒ¹ºÐ ú`p u*JÜÌdÎL .ZEÀ «b#3·Å÷Uò =Ñd&e¦¹ô§ÿy)¬sÆô¢$i²vv§ ËjBˤPð lÈ£o£cYf&vUäìvv 4eãpAUF2 nhQEH¨¬ ¼âá¸*p I{E&eG4ðVÿf ñÌFD³CmBFó²OoWdQÝSw9í±fÉ6|÷¿M£KÚôúy)$ZSÂ,,0ÌR%¶TwT¤Tuä3SíDo;ñÛI´o¿ë'@@*Ð|÷{%\ðwÿK ½ë¹s°3z®³ñûÀ l\@¹#¥¬-¦`H~©0rtM³Z2à1Hw #àü~@!?G@ è$ð~0|ÐwT0|,` áv:Ç )©NÒç ঠ/ q`Ë ÄiFª31I I' 1ÀF@fxYjOÒvÚVD±ÐèÁYïQDAª £Ëä¡ð¦ö³© ó EÕ´§ì3ðt*5¨Õ`s$wdmUp(JB¡¸z ìi2¢ÿ©c>P©Þ c·ÀzE A åVöU "ZA³,÷9·¤¯g®6®´°XºG @YEµ %kfHµ` è°o¨{}g_NP©¨!0è´ë É! i @üg¼Bù»¥ øb${X~Np~ðKÀ¿Àx~ »ÐÀX~Y̪Èáô˦l yÅÿÆ¸ËÆ9yG`·" $}ǾFzÌà@µ½ÐëõÐ[)ÃDç\9÷]ÅÓKhÖR°ÃûU¶PCQ`ÿe 9ÐWݱþÕN; A0²Ú7Ð øJðr@¨åa¯?ª¹iêA[¨¡õZ÷ À ¶@Ï}z%`S?Ñ|yäÚÉV@±SWkY½d«q¢@z gMÁ?´Ñ§ÊI[pÅN0Y` ½rá Û)@³v;E4µï7¯ î4"áÃð2Ò+ 'ãM Õ L®#¸%%^¨¹s#ÇÆ6-é/¤À¨m-fµµÿ£&_Ë>DZäHo3JËó²oZ¡aîè³ÂâÈs'Ú ©7rDª±îɶ¢ØØ )¯z´;nV®ÈòÖ+½úõìÛ»?¾üù¸ ´V|'æ¨ ø`H`` È]ÐaN8s@÷ÈâàÒv""~8b$hb%®â³Xr~hÈ Üc:îÈc>þdBâøÄ&Ðb**ÉâN6 eÂE¡Íäg%CáeÉ%¦uM`2BãfvVå¨`©¦"üµ §]iÆÙtIgH}©')lêùf²4ç ëb(x&ʨ> 6 Ì i¥ëði©uºh¦2óè§,ü'¥¢ZK¨Úg§¨¾: ¦°B*¦Î«&ÙXa^®¬Âéj®Â:âÏ Rk·Ël"ðÊì¯mV±e³ÖR©M¯¸&ç²×6«ª§Òªì·Ç>kì±Ü¶é¹Ãú³BVÈKï¼öÖï½úæËï¾þöð¿LðÀ7±é 4apÁ7ñÃGLñÄWñÅgÌñÆòÊÐD |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:49
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_documentation/Using FCKeditor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_documentation/Using FCKeditor Added Files: Javascript.html Log Message: added fckeditor to comment submittal. --- NEW FILE: FCKeditor Javascript.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * Version: 2.0 Beta 1 * Modified: 2004-05-28 18:27:57 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>FCKeditor - Using FCKeditor with JavaScript</title> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="VisualStudio.HTML" name="ProgId"> <meta content="Microsoft Visual Studio .NET 7.1" name="Originator"> <LINK href="../fck_docs.css" type="text/css" rel="stylesheet"> </head> <body> <H1>Using FCKeditor with JavaScript</H1> <P>The "JavaScript Integration Module" is the client side option to include FCKeditor in your web pages. It is quite easy to use and configure.</P> <H3>Step 1</H3> <P>Suppose that the editor is installed in the /FCKeditor/ path of your web site. The first thing to do is to include the "JavaScript Integration Module" scripts inside the <HEAD> of your page, just like this:</P> <code><script type="text/javascript" src="<STRONG>/FCKeditor/fckeditor.js</STRONG>"></script></code> <H3>Step 2</H3> <P>Now the FCKeditor class is available and ready to use. There are two ways to create an FCKeditor in you page:</P> <P>Method 1: The inline method (preferred): Go to the body of your page, in the place you want the editor to be (usually inside a form) and place the following script:</P> <code><script type="text/javascript"><BR> <STRONG> var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;<BR> oFCKeditor.Create() ;<BR> </STRONG></script></code> <P>Method 2: The TEXTAREA replacement method: In the "onload" method on your page, add the following code to replace a existing TEXTAREA in the page:</P> <code><html><BR> <head><BR> <script type="text/javascript"><BR> window.onload = function()<BR> {<BR> <STRONG>var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;<BR> oFCKeditor.ReplaceTextarea() ;<BR> </STRONG> }<BR> </script><BR> </head><BR> <body><BR> <textarea id="<STRONG>MyTextarea</STRONG>" name="MyTextarea">This is <b>the</b> initial value.</textarea><BR> </body><BR> </html></code> <H3>Step 3</H3> <P>The editor is now ready to be used. Just open the page in your browser to see it at work.</P> <H2>The FCKeditor Class</H2> <P>This is the main class used to create an instance of FCKeditor in a web page.</P> <div class="classDefinition"> <P><A href="#Constructor">Constructor</A></P> <P><A href="#Properties">Properties</A></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P><A href="#pInstanceName">InstanceName</A><BR> <A href="#pWidth">Width</A> <BR> <A href="#pHeight">Height</A> <BR> <A href="#pToolbarSet">ToolbarSet</A> <BR> <A href="#pValue">Value</A> <BR> <A href="#pBasePath">BasePath</A> <BR> <A href="#pCheckBrowser">CheckBrowser</A> <BR> <A href="#pDisplayErrors">DisplayErrors</A></P> </BLOCKQUOTE> <P><A href="#Collections">Collections</A></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P><A href="#cConfig">Config</A></P> </BLOCKQUOTE> <P><A href="#Methods">Methods</A></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P><A href="#mCreate">Create</A><BR> <A href="#mReplaceTextarea">ReplaceTextarea</A></P> </BLOCKQUOTE> </div> <H3 id="Constructor">Contructor</H3> <P class="classPropMeth">FCKeditor( instanceName[, width, height, toolbarSet, value] )</P> <P> <TABLE class="paramsDefinition" id="Table1" cellSpacing="0" cellPadding="0" border="0"> <TR> <TD>instanceName </TD> <TD>The unique name that represents the editor instance.</TD> </TR> <TR> <TD>width</TD> <TD>the width of the editor in pixels or percents. (Optional, Default: "100%").</TD> </TR> <TR> <TD>height</TD> <TD>the height of the editor in pixels or percents. (Optional, Default: "200").</TD> </TR> <TR> <TD>toolbarSet</TD> <TD>the name of the Toolbar set to use. (Optional, Default: "Default").</TD> </TR> <TR> <TD>value</TD> <TD>the initial value (HTML) of the editor. (Optional)</TD> </TR> </TABLE> </P> <P>Example:</P> <code>var oFCKeditor = new <STRONG>FCKeditor( 'FCKeditor1' )</STRONG> ;</code> <H3 id="Properties">Properties</H3> <P class="classPropMeth" id="pInstanceName">InstanceName</P> <P>The name of the this editor instance.</P> <P class="classPropMeth" id="pWidth">Width</P> <P>The width of the editor in pixels or percent. Numeric values are handled as pixels.</P> <P>Default Value: "100%"</P> <P>Examples:<BR> <code>oFCKeditor.<STRONG>Width</STRONG> = 400 ; // 400 pixels</code> <code>oFCKeditor.<STRONG>Width</STRONG> = "250" ; // 250 pixels</code> <code>oFCKeditor.<STRONG>Width</STRONG> = "80%" ; // 80 percent</code> </P> <P class="classPropMeth" id="pHeight">Height</P> <P>The height of the editor in pixels or percent. Numeric values are handled as pixels.</P> <P>Default Value: "200"</P> <P>Examples:<BR> <code>oFCKeditor.<STRONG>Height</STRONG> = 400 ; // 400 pixels</code> <code>oFCKeditor.<STRONG>Height</STRONG> = "250" ; // 250 pixels</code> <code>oFCKeditor.<STRONG>Height</STRONG> = "100%" ; // 100 percent</code> </P> <P class="classPropMeth" id="pToolbarSet"> ToolbarSet</P> <P>The Toolbar set to use. Refers to the configurations set at the fckconfig.js file.</P> <P>Default Value: "Default"</P> <P>Example:<BR> <code>oFCKeditor.<STRONG>ToolbarSet</STRONG> = "MyToolbar" ;</code></P> <P class="classPropMeth" id="pValue">Value</P> <P>The initial value (the HTML) to show in the editor at startup.</P> <P>Default Value: <empty></P> <P>Example:<BR> <code>oFCKeditor.<STRONG>Value</STRONG> = "<h1>Testing</h1>This is a <b>sample</b>." ;</code></P> <P class="classPropMeth" id="pBasePath"> BasePath</P> <P>The path used by the editor to find its code base. In other words, the directory where the editors package has been installed in your site.</P> <P>Default Value: "/fckeditor/"</P> <P>Example:<BR> <code>oFCKeditor.<STRONG>BasePath</STRONG> = "/Components/FCKeditor/" ;</code></P> <P>Remarks:<BR> Avoid using relative paths. It is preferable to set the base path starting from the root (/). Always finish the path with a slash (/).</P> <P class="classPropMeth" id="pCheckBrowser"> CheckBrowser</P> <P>Tells this class instance to check the browser compatibility when rendering the editor.</P> <P>Default Value: true</P> <P>Example:<BR> <code>oFCKeditor.<STRONG>CheckBrowser</STRONG> = true ;</code></P> <P>Remarks:<BR> This option could be useful if the check was made at the server side.</P> <P class="classPropMeth" id="pDisplayErrors"> DisplayErrors</P> <P>Tells this class instance to show error messages on errors while rendering the editor.</P> <P>Default Value: true</P> <P>Example:<BR> oFCKeditor.<STRONG>DisplayErrors</STRONG> = false ;</CODE></P> <H3 id="Collections">Collections</H3> <P class="classPropMeth" id="cConfig">Config[ key ] = value</P> <P>This collection holds all configurations set in the editor instance.</P> <P>Example:<br> <code>oFCKeditor.<STRONG>Config[ "AutoDetectLanguage" ]</STRONG> = false ;<BR> oFCKeditor.<STRONG>Config[ "DefaultLanguage" ]</STRONG> = "pt-BR" ;</code></P> <H3 id="Methods">Methods</H3> <P class="classPropMeth" id="mCreate"> Create()</P> <P>Builds and outputs the editor in the exact place where its called.</P> <P>Example:<BR> <code>oFCKeditor.<STRONG>Create()</STRONG> ;</code></P> <P class="classPropMeth" id="mReplaceTextarea"> ReplaceTextarea()</P> <P>Replaces an existing <TEXTAREA> in the page with the FCKeditor instance. The Textarea must has its ID set to the editor InstanceName.</P> <P>Example:<BR> <code>window.onload = function()<BR> {<BR> var oFCKeditor = new FCKeditor( '<STRONG>MyTextarea</STRONG> ' ) ;<BR> oFCKeditor.<STRONG>ReplaceTextarea()</STRONG> ;<BR> }<BR> ...<BR> <textarea id="<STRONG>MyTextarea</STRONG>" name=" MyTextarea">This is <b>the</b> initial value.</textarea></code> </P> </body> </html> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:49
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_documentation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_documentation Added Files: Performance.html fck_docs.css Log Message: added fckeditor to comment submittal. --- NEW FILE: Performance.html --- <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * Version: 2.0 Beta 1 * Modified: 2004-05-28 18:25:58 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> </head> <body> <H1>Performance</H1> <P>End users who need to work with FCKeditor want the most short loading and response time from it. They want to start reading and editing the content quickly. This is a big problem for almost all on-line text editors. There are many files that have to be downloaded from the server to make the editor work:</P> <UL> <LI> The called page and all images and scripts not related to the editor. <LI> If using Javascript integration, the JS file with the scripts to create the editor <LI> The page that works as the editor area (it's loaded in a IFrame) <LI> All the JS files with the scripts for the editor engine (more than 10 for version 1.x) <LI> The language file <LI> The editor's skin files <LI> All images that are used as the toolbar buttons (every button has it's own image)</LI></UL> <P>All these calls generate a lot of work and traffic throw the client's browser and the server. And worth, as many files are called, even if small size, as much time to wait.</P> <P>Two solutions have been developed for version 2.0 to solve this problem: accurate loading order and scripts compression.</P> <H2>Loading Order</H2> <P>From version 2.0, the editor separe it's loading into steps:</P> <UL> <LI> The called page (that holds the editor) and the script to loaded the editor is loaded. <LI> The basic scripts to create the editor are loaded <LI> The editor's skin and language files are loaded <LI> The editor is created <LI> The content is loaded in the editor <LI> [ At this point the user can start reading and writing with some limitations (drag-and-drop is disabled - cut and paste are disabled - the toolbar is not yet available ] <LI> The editor's engine scripts are loaded <LI> The toolbar is created and shown to the user (even if the buttons images are not yet loaded) <LI> [ At this point the editor has all it's feature enabled ] <LI> The toolbar icons are loaded.</LI></UL> <H2>Scripts Compression</H2> <P>The editor's scripts (JS files) are now pre-processed before packing any new version. This are the processing steps:</P> <UL> <LI> Remove all comments from the code. <LI> Remove all unuseful blank spaces, tabs and carriage returns <LI> Merge the scripts in fewer files.</LI></UL> <P>With this process we can reduce the file sizes up to 50%. Another good think is that the editor code can now be fully commented (I avoid code commenting on version 1.x to reduce the files size).</P> <P>The original code will still be available in the package in a folder called "_source".</P> </body> </html> --- NEW FILE: fck_docs.css --- /* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * Version: 2.0 Beta 1 * Modified: 2004-05-28 18:27:57 */ body { font-size: 1em; font-family: 'Times New Roman'; } p { margin-left: 20px; } code { padding-right: 10px; display: block; padding-left: 10px; padding-bottom: 5px; margin: 10px 20px; padding-top: 5px; background-color: #dcdcdc; } .classPropMeth { margin-top: 10px; font-weight: bold; font-size: 0.8em; margin-left: 0px; font-family: 'Courier New' , Monospace; } .paramsDefinition { margin-left: 20px; } .classDefinition * { margin-top: 0px; margin-bottom: 0px; } |
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers/FileBrowserConnectors/SampleResponses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers/FileBrowserConnectors/SampleResponses Added Files: CreateFolder.xml FileUpload.html GetFolders.xml GetFoldersAndFiles.xml Log Message: added fckeditor to comment submittal. --- NEW FILE: CreateFolder.xml --- <?xml version="1.0" encoding="utf-8" ?> <Connector command="GetFolders" resourceType="File"> <CurrentFolder path="/SampleDir/Test/" url="/UserFiles/File/SampleDir/Test/" /> <Error number="0" /> <!-- Errors Numbers: 0 : No errors found 101 : Folder already exists 102 : Invalid folder name 103 : You have no permissions to create the folder 110 : Unknown error creating folder --> </Connector> --- NEW FILE: FileUpload.html --- <script type="text/javascript"> window.parent.frames['frmUpload'].OnUploadCompleted(0) ; </script> <!-- These are the possible responses: window.parent.frames['frmUpload'].OnUploadCompleted(0) ; // No erros found. window.parent.frames['frmUpload'].OnUploadCompleted(201, 'FileName(1).ext') ; // When a file with the same name already exists. window.parent.frames['frmUpload'].OnUploadCompleted(202) ; // Invalid file. --> --- NEW FILE: GetFolders.xml --- <?xml version="1.0" encoding="utf-8" ?> <Connector command="GetFolders" resourceType="File"> <CurrentFolder path="/SampleDir/Test/" url="/UserFiles/File/SampleDir/Test/" /> <Folders> <Folder name="Documents" /> <Folder name="Files" /> <Folder name="Other Files" /> <Folder name="Related" /> </Folders> </Connector> --- NEW FILE: GetFoldersAndFiles.xml --- <?xml version="1.0" encoding="utf-8" ?> <Connector command="GetFolders" resourceType="File"> <CurrentFolder path="/SampleDir/Test/" url="/UserFiles/File/SampleDir/Test/" /> <Folders> <Folder name="Documents" /> <Folder name="Files" /> <Folder name="Other Files" /> <Folder name="Related" /> </Folders> <Files> <File name="XML Definition.doc" size="14" /> <File name="Samples.txt" size="5" /> <File name="Definition.txt" size="125" /> <File name="External Resources.drw" size="840" /> <File name="Todo.txt" size="2" /> </Files> </Connector> |
From: Joe S. <joe...@us...> - 2004-10-28 20:17:49
|
Update of /cvsroot/phpslash/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16237/phpslash-dev/public_html/scripts/fckeditor/_documentation/Developers Added Files: ServerSideIntegration.html Log Message: added fckeditor to comment submittal. --- NEW FILE: ServerSideIntegration.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * Version: 2.0 Beta 1 * Modified: 2004-05-31 22:33:20 --> <html> <head> <title>FCKeditor - Using FCKeditor with JavaScript</title> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="VisualStudio.HTML" name="ProgId"> <meta content="Microsoft Visual Studio .NET 7.1" name="Originator"> <LINK href="../fck_docs.css" type="text/css" rel="stylesheet"> </head> <body> <H1>Server Side Integration Guidelines</H1> <P>This documet offers some guidelines that must be considered when developing server side integration for FCKeditor (alias Server Side Integration Pack).</P> <P>There a few points of integration that every server side technology should have to be completely ready for FCKeditor. These are the main features:</P> <UL> <UL> <LI> <A href="#FCKeditorCreator">FCKeditor Creator</A> <LI> <A href="#FileUploadManager">File Upload Manager</A> <LI> <A href="#FileBrowser">File Browser</A> <LI> <A href="#Samples">Samples</A> <LI> <A href="#Documentation">Documentation</A></LI></UL> </UL> <P>This document will present the basic (minimum) features the integration must accomplish to. Any other feature is a welcome surplus. The scope of this document is to provide a generic pattern in the way the editor can have a homogeneous programming style even throw different languages.</P> <HR width="100%" SIZE="1"> <H2 id="FCKeditorCreator">FCKeditor Creator</H2> <P>This is the main integration feature needed. It makes it possible to create an instance of FCKeditor in a page using the desired server side language. Object oriented programming (OOP) should be used wherever is possible. These are the tasks the Integration Pack should propose to the end user programmer:</P> <UL> <UL> <LI> Editor Instance Creation <LI> Configuration and Settings <LI> Automatic Browser Compatibility Detection: <UL> <LI> Output HTML of the editor IFRAME for compatible browsers. <LI> Output HTML of a simple TEXTAREA for not compatible browsers.</LI></UL> </LI> </UL> </UL> <P>Suppose the editor instance is called "MyEditor". For compatible browser the Integration Pack should output HTML like this:</P> <code><div><BR> <input type="hidden" id="<STRONG>MyEditor</STRONG>" name="MyEditor" value="<STRONG><EM>initial value (HTML encoded)</EM> </STRONG>"><BR> <input type="hidden" id="<STRONG>MyEditor</STRONG>___Config" value="<STRONG>Key1=Value1&Key2=Value2&... <EM>(Key/Value:HTML encoded)</EM></STRONG>"><BR> <iframe id="<STRONG>MyEditor</STRONG>___Frame" src="<STRONG>/FCKeditor/</STRONG>editor/fckeditor.html?InstanceName=<STRONG>MyEditor</STRONG>&Toolbar=<STRONG>Default</STRONG>" width="<STRONG>100%</STRONG>" height="<STRONG>200</STRONG>" frameborder="no" scrolling="no"></iframe><BR> </div><BR> </code> <P>While non compatible browsers should get:</P> <code><div><BR> <textarea name="<STRONG>MyEditor</STRONG>" rows="4" cols="40" style="WIDTH: <STRONG> 100%</STRONG>; HEIGHT: <STRONG>200px</STRONG>" wrap="virtual"><STRONG><EM>initial value (HTML encoded)</EM></STRONG></textarea><BR> </div></code> <H3>FCKeditor Class</H3> <P>The Integration pack should usually offer a main class, called "FCKeditor", in a file called "fckeditor.ext" placed in the root of the editor's distribution package. To be able to use the class the end user should just include a "link" to that file and then easily create an instance of it. Obviously this is the common scenario for scripting languages. Other languages should just reflect this situation in the better way it's possible.</P> <P>This is the basic structure of the FCKeditor Class:</P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <div class="classDefinition"> <P><STRONG>Constructor</STRONG></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P>FCKeditor( instanceName )</P> </BLOCKQUOTE> <P><STRONG>Properties</STRONG></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P>InstanceName<BR> Width <BR> Height <BR> ToolbarSet <BR> Value <BR> BasePath</P> </BLOCKQUOTE> <P><STRONG>Collections</STRONG></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P>Config <EM>(Only if possible to use collections)</EM></P> </BLOCKQUOTE> <P><STRONG>Methods</STRONG></P> <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"> <P>Create()<BR> SetConfig( key, value ) <EM>(Only if not possible to use collections)</EM></P> </BLOCKQUOTE> </div> </BLOCKQUOTE> <P>The implementation should be based on the Javascript implementation (see fckeditor.js file). See <A href="../Using%20FCKeditor/Javascript.html">/_documentation/Developers/Using FCKeditor/Javascript.html</A> for a complete explanation of the class elements.</P> <HR width="100%" SIZE="1"> <H2 id="FileUploadManager">File Upload Manager</H2> <P>[ Documentation not yet available ]</P> <HR width="100%" SIZE="1"> <H2 id="FileBrowser">File Browser</H2> <P>The editor gives the end user the flexibility to create a custom file browser that can be integrated on it. This is a powerful feature, because every case is a different case and so different and specific problems must be solved. In any case, the editor package offers a default implementation of the File Browser so the user has a ready to use software without having to develop anything.</P> <P>On prior versions, a sample File Browser was available for each server side technology the editor was integrated. The problem with that approach is that each sample had a different implementation and worked completed different from each other. And worst, on some of then it was really poor.</P> <P>To solve that problems the actual version offers a <STRONG>unique interface</STRONG> that can be used by all server side languages. The interface was developed completely on Javascript DHTML and the integration is available by <STRONG>XML</STRONG>. In this way the developer that wants to integrate with it doesn't have be worried about the presentation layer of it.</P> <H3>The Architecture</H3> <P>The following graphic shows how the File Browser Integration works:</P> <P align="center"><IMG src="images/FileBrowserConnector.gif"></P> <P align="left">The "Connector" is the main file to be developed in this case regarding the server side integration with the File Browser. The following tasks must be done by the Connector:</P> <UL> <UL> <LI> <DIV align="left">Receive the File Manager requests.</DIV> <LI> <DIV align="left">Execute operations in the File System, like folder and files creations and listings.</DIV> <LI> <DIV align="left">Build the XML response in the right format and syntax.</DIV> <LI> <DIV align="left">Receive and handle file uploads from the File Browser.</DIV> </LI> </UL> </UL> <H3>The File Browser Requests</H3> <P>All requests are simply made by the File Browser using the normal HTTP channel. The request info is always passed by QueryString in the URL that reflects the following format:</P> <code>connector.ext?Command=<STRONG>CommandName</STRONG>&Type=<STRONG>ResourceType</STRONG>&CurrentFolder=<STRONG>FolderPath</STRONG></code> <p><STRONG>CommandName</STRONG><BR> Is the command the Connector must execute. For now there are three commands that must be handled: "GetFolders", "GetFoldersAndFiles" and "CreateFolder".</p> <P><STRONG>ResourceType</STRONG><BR> The File Browser is used on many parts of the editor, like the Link and Image dialog boxes and in the future Flash and Multimedia dialogs. So to separate each "Resource Type" the following type names are used: "File", "Image", "Flash" and "Media".</P> <P><STRONG>FolderPath</STRONG><BR> Represents the path of the actual folder visible in the File Browser. This path is not the final URL path for that folder, but it is relative to the Resource Type folder. The final folder is composed by: "Configured User Files Path" + "Resource Type" + "Folder Path". For example, the Folder Path "/Docs/Test/" of resources type "Image" could correspond to the following URL path: "/UserFiles/Image/Docs/Test/".</P> <P>The developer is encouraged to make available a easy way to configure the "User Files" folder by the end user. For example, for the ASP.NET Connector the user can use the global Web.config file to set witch folder to use the file. In case of absent configuration the Connector must use the "/UserFiles/" folder. The Connector should also automatically create the folder in the case it not exists.</P> <P>The Folder Path must always begin and finish with a slash ("/").</P> <H3>The Connector Responses</H3> <P>All Connector responses have the same base XML structure, like this:</P> <code><?xml version="1.0" encoding="utf-8" ?> <br> <Connector command="<STRONG>RequestedCommandName</STRONG>" resourceType="<STRONG> RequestedResourceType</STRONG>"><br> <CurrentFolder path="<STRONG>CurrentFolderPath</STRONG>" url="<STRONG>CurrentFolderUrl</STRONG>" /><BR> <STRONG><!-- Here goes all specific command data --></STRONG> <br> </Connector> </code> <P>Some important things must be considered when building the response:</P> <UL> <UL> <LI> The response encoding must be set to "text/xml". <LI> The "Cache-Control" HTTP header must be set to "no-cache". This is need because the browsers usually cache the requests for XML files and this is not wanted in this case. <LI> The Path and the URL must always start and finish with a slash (/).</LI></UL> </UL> <H3>The Commands</H3> <P>The actual File Browser version has 3 commands that wait for XML responses and 1 command that wait for HTML:</P> <UL> <UL> <LI> <STRONG>GetFolders</STRONG> (XML): gets the list of the children folders of a folder. <LI> <STRONG>GetFoldersAndFiles</STRONG> (XML): similar to the above command, gets the list of the children folders and files of a folder. <LI> <STRONG>CreateFolder</STRONG> (XML): creates a child folder. <LI> <STRONG>FileUpload</STRONG> (HTML): adds a file in a folder.</LI></UL> </UL> <P>Sample responses can be found in the "_documentation/Developers/FileBrowserConnectors/SampleResponses" folder.</P> <P><STRONG>GetFolders<BR> </STRONG>Gets the list of the children folders of a folder.</P> <P>Sample Request:</P> <code>connector.ext?Command=<STRONG>GetFolders</STRONG>&Type=<STRONG>File</STRONG>&CurrentFolder=<STRONG>/Samples/Docs/</STRONG> </code> <P>Sample Response:</P> <CODE><?xml version="1.0" encoding="utf-8" ?> <BR> <Connector command="<STRONG>GetFolders</STRONG>" resourceType="<STRONG>File</STRONG>"><BR> <CurrentFolder path="<STRONG>/Samples/Docs/</STRONG>" url="<STRONG>/UserFiles/File/Samples/Docs/</STRONG>" /><BR> <STRONG> <Folders><BR> <Folder name="Documents" /><BR> <Folder name="Files" /><BR> <Folder name="Other Files" /><BR> <Folder name="Related" /><BR> </Folders><BR> </STRONG></Connector> </CODE> <P><STRONG><STRONG>GetFoldersAndFiles</STRONG> <BR> </STRONG>Gets the list of the children folders and files of a folder.</P> <P>Sample Request:</P> <p></p> <CODE>connector.ext?Command=<STRONG>GetFoldersAndFiles</STRONG>&Type=<STRONG>File</STRONG>&CurrentFolder=<STRONG>/Samples/Docs/</STRONG></CODE> <P></P> <P>Sample Response:</P> <CODE><?xml version="1.0" encoding="utf-8" ?> <BR> <Connector command="<STRONG>GetFoldersAndFiles</STRONG>" resourceType="<STRONG>File</STRONG>"><BR> <CurrentFolder path="<STRONG>/Samples/Docs/</STRONG>" url="<STRONG>/UserFiles/File/Samples/Docs/</STRONG>" /><BR> <STRONG> <Folders><BR> <Folder name="Documents" /><BR> <Folder name="Files" /><BR> <Folder name="Other Files" /><BR> <Folder name="Related" /><BR> </Folders><BR> <Files><BR> <File name="XML Definition.doc" size="14" /><BR> <File name="Samples.txt" size="5" /><BR> <File name="Definition.txt" size="125" /><BR> <File name="External Resources.drw" size="840" /><BR> <File name="Todo.txt" size="2" /><BR> </Files><BR> </STRONG></Connector> </CODE> <P>The file size must be expressed as KBytes (KB).</P> <P><STRONG>CreateFolder<BR> </STRONG>Creates a child folder.</P> <P>Sample Request:</P> <p></p> <CODE>connector.ext?Command=<STRONG>CreateFolder</STRONG>&Type=<STRONG>File</STRONG>&CurrentFolder=<STRONG>/Samples/Docs/</STRONG>&NewFolderName=<STRONG>FolderName</STRONG></CODE> <P></P> <P>Sample Response:</P> <CODE><?xml version="1.0" encoding="utf-8" ?> <BR> <Connector command="<STRONG>CreateFolder</STRONG>" resourceType="<STRONG>File</STRONG>"><BR> <CurrentFolder path="<STRONG>/Samples/Docs/</STRONG>" url="<STRONG>/UserFiles/File/Samples/Docs/</STRONG>" /><BR> <STRONG> <Error number="0" /><BR> </STRONG></Connector> </CODE> <P>Possible Error Numbers are:</P> <UL> <UL> <LI> <STRONG>0</STRONG> : No Errors Found. The folder has been created. <LI> <STRONG>101</STRONG> : Folder already exists. <LI> <STRONG>102</STRONG> : Invalid folder name. <LI> <STRONG>103</STRONG> : You have no permissions to create the folder. <LI> <STRONG>110</STRONG> : Unknown error creating folder.</LI></UL> </UL> <P><STRONG>FileUpload<BR> </STRONG>Adds a file in a folder.</P> <P>This is a special command that doesn't require a XML response. A common "multipart/form-data" post goes with the request. The posted file is named "<STRONG>NewFile</STRONG>".</P> <P>In the case a file with the same name already exists, the Connector must automatically rename it adding a progressive number suffix. For example, if the posted file is named "Test.doc", the names to be used, in order, are: "Test(1).doc", "Test(2).doc", Test(3).doc"... and so on.</P> <P>Sample Request:</P> <CODE>connector.ext?Command=<STRONG>FileUpload</STRONG>&Type=<STRONG>File</STRONG>&CurrentFolder=<STRONG>/Samples/Docs/</STRONG></CODE> <P>Sample Response (Simple HTML):</P> <CODE><script type="text/javascript"><BR> window.parent.frames['frmUpload'].OnUploadCompleted(<STRONG>0</STRONG>) ;<BR> </script></CODE> <p>The "OnUploadCompleted" is a JavaScript function that is called to expose the upload result. The possible values are:</p> <UL> <UL> <LI> OnUploadCompleted( <STRONG>0</STRONG> ) : no errors found on the upload process. <LI> OnUploadCompleted( <STRONG>201, 'FileName(1).ext'</STRONG> ) : the file has been uploaded successfully, but it's name has been changed to "FileName(1).ext". <LI> OnUploadCompleted( <STRONG>202</STRONG> ) : invalid file.</LI></UL> </UL> <H3>Configuring the Connector</H3> <P>All connectors available in the editor package can be found at the following folder: "editor/filemanager/browser/default/connectors". Each server side language has its own folder there, with the Connector file inside it. To choose witch connector to use, the end-user just go to the configuration file and modify the following key (in this case for the Link Dialog box):</P> <P>FCKConfig.<STRONG>LinkBrowserURL</STRONG> = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=<STRONG>connectors/aspx/connector.aspx</STRONG>" ;</P> <P>The Connector path is relative to the "editor/filemanager/browser/default" folder. The user could even written his custom Connector and point the <STRONG>LinkBrowserURL</STRONG> to it, like "?Connector=/<STRONG>MyFolder/MyConnector.php</STRONG>" for example.</P> <HR width="100%" SIZE="1"> <H2 id="Samples">Samples</H2> <P>The easiest way to the end user to understand how to use the editor is to see it in action. So it's important to make available samples that clearly show how to use it.</P> <P>The developers are invited to create samples similar to that available for the Javascript Integration Pack. Please take a look at the <STRONG>_samples/html</STRONG> folder. All files must be put together in a folder under the _samples folder.</P> <P>All samples should post the posted data to a single page that shows that data. The Javascript integration module use an ASP file, called <STRONG>sampleposteddata.asp</STRONG>, that does that (just because it doesn't go on server side). That file can be used as a reference for a custom implementation. Please use the same file name, like sampleposteddata.ext.</P> <HR width="100%" SIZE="1"> <H2 id="Documentation">Documentation</H2> <P>[ Documentation not yet available ]</P> </STRONG> </body> </html> |