diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.html new file mode 100644 index 0000000000..062805b8e4 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.html @@ -0,0 +1,118 @@ + + + + + Google Maps + + + + + + + +
+ + + + + + + +
+ + + + + + + Zoom Level + + + + +
+ + + + + +
+ + + + + +
+
+ + + + + + + + + +
+ + + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.js new file mode 100644 index 0000000000..353605864c --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/googleMaps.js @@ -0,0 +1,525 @@ +/* + GoogleMaps Plugin for FCKeditor +*/ + +// Rounds a number to just "precission" decimals +Number.prototype.RoundTo = function( precission ) +{ + var base = Math.pow(10, precission) ; + return Math.round( this * base ) / base ; +} ; + +function Import(aSrc) { + document.write(''); +} + +var oEditor = window.parent.InnerDialogLoaded() ; +var FCK = oEditor.FCK ; +var FCKLang = oEditor.FCKLang ; +var FCKConfig = oEditor.FCKConfig ; +var FCKTools = oEditor.FCKTools ; + +Import(FCKConfig.FullBasePath + 'dialog/common/fck_dialog_common.js'); + +Import('http://maps.google.com/maps?file=api&v=2&key=' + FCKConfig.GoogleMaps_Key); + +Import('polyline.js'); + +window.parent.AddTab( 'Map', FCKLang.GMapsMap ) ; +window.parent.AddTab( 'Search', FCKLang.GMapsSearch ) ; +window.parent.AddTab( 'Marker', FCKLang.GMapsMarker ) ; +window.parent.AddTab( 'Line', FCKLang.GMapsLine ) ; + +var ActiveTab ; + +// Function called when a dialog tag is selected. +function OnDialogTabChange( tabCode ) +{ + ActiveTab = tabCode ; + + ShowE('MapInfo', ( tabCode == 'Map' ) ) ; + ShowE('SearchInfo', ( tabCode == 'Search' ) ) ; + ShowE('MarkerInfo', ( tabCode == 'Marker' ) ) ; + ShowE('LineInfo', ( tabCode == 'Line' ) ) ; + + if (tabCode == 'Line') + ShowLinePoints() + else + HideLinePoints(); + + if (tabCode != 'Marker') + FinishAddMarker() ; + + ResizeParent() ; +} + + +// Get the selected map (if available). +var oFakeImage = FCK.Selection.GetSelectedElement() ; +var oParsedMap ; + +if ( oFakeImage ) +{ + if ( oFakeImage.getAttribute( 'MapNumber' ) ) + { + oParsedMap = FCK.GoogleMapsHandler.getMap( oFakeImage.getAttribute( 'MapNumber' ) ); + oParsedMap.updateDimensions( oFakeImage ); + } + else + oFakeImage = null ; +} +if ( !oParsedMap ) + oParsedMap = FCK.GoogleMapsHandler.createNew() ; + + +window.onload = function() +{ + // Garbage collection. The imported function won't be available inmediately. + window.onunload = GUnload ; + + // Translate the dialog box texts. + oEditor.FCKLanguageManager.TranslatePage(document) ; + var btn = GetE('btnAddNewMarker') ; + btn.alt = btn.title = FCKLang.GMapsAddMarker ; + + // Load the selected element information (if any). + LoadSelection() ; + + if ( GetE('apiKey').value.length>0 ) + { + GetE('apiKey').style.display = 'none' ; + GetE('lblApiKey').style.display = 'none' ; + } + + ConfigureEvents() ; + + // Activate the "OK" button. + SetupHelpButton( oEditor.FCKPlugins.Items['googlemaps'].Path + 'docs/' + FCKLang.GMapsUserHelpFile ) ; + window.parent.SetOkButton( true ) ; +//2.6 + if (window.parent.Sizer) window.parent.SetAutoSize( true ) ; +} ; + +function ConfigureEvents() +{ + GetE('txtWidth').onblur = UpdateDimensions ; + GetE('txtHeight').onblur = UpdateDimensions ; + + GetE('cmbZoom').onchange = UpdatePreview ; + + GetE('btnAddNewMarker').onclick = function () {AddMarker(); return false;}; + + FCKTools.AddEventListener(GetE('searchDirection') , 'keydown', searchDirection_keydown) ; + GetE('searchButton').onclick = function () {doSearch(); return false;}; +} + +function searchDirection_keydown(e) +{ + if (!e) e = window.event ; + if ( e.keyCode == 13 ) + { + doSearch(); + if (e.preventDefault) e.preventDefault() ; + if (e.stopPropagation) e.stopPropagation() ; + return false; + } +} + +function LoadSelection() +{ + GetE('apiKey').value = FCK.GoogleMapsHandler.publicKey ; + + GetE('txtWidth').value = oParsedMap.width ; + GetE('txtHeight').value = oParsedMap.height ; + + GetE('cmbZoom').value = oParsedMap.zoom ; + GetE('txtCenterLatitude').value = oParsedMap.centerLat ; + GetE('txtCenterLongitude').value = oParsedMap.centerLon ; + + var markerPoints = oParsedMap.markerPoints; + + GetE('encodedPolyline').value = oParsedMap.LinePoints ; + GetE('encodedLevels').value = oParsedMap.LineLevels ; + + SetPreviewElement( oParsedMap.mapType ) ; + UpdatePreview() ; + // Only after we have set the center. + map.setMapType( allMapTypes[ oParsedMap.mapType ] ); + + for (var i=0; i' + + '
' + + '
' + + '
' + + '
' + + '
' + + '' + ; + +} + +function doSearch() +{ + if (!geocoder) geocoder = new GClientGeocoder(); + + function processPoint(point) + { + if (point) + { + GetE("txtCenterLatitude").value = point.lat().RoundTo(5) ; + GetE("txtCenterLongitude").value = point.lng().RoundTo(5) ; + + // Create a marker at that direction + AddMarkerAtPoint( point, GetE('searchDirection').value ) ; + + UpdatePreview() ; + } + else { + alert( FCKLang.GMapsNotFound.replace("%s", GetE('searchDirection').value) ) ; + } + } + + geocoder.getLatLng ( GetE('searchDirection').value, processPoint ) ; +} + +// Change mode to enable addition of a new marker. +function AddMarker() +{ + if (Mode=='AddMarker') + { + FinishAddMarker() ; + return ; + } + + GetE( 'btnAddNewMarker' ).src = '../images/AddMarkerDown.png' ; + GetE( 'instructions' ).innerHTML = FCKLang.GMapsClickToAddMarker ; + Mode = 'AddMarker' ; + // Change cursor type + mapDiv.firstChild.firstChild.style.cursor = "crosshair" ; +} + +function AddMarkerAtPoint( point, text, interactive ) +{ + var marker = createMarker(point, text) ; + map.addOverlay( marker ) ; + markers.push( marker ); + FinishAddMarker(); + + if (interactive) + EditMarker( marker ); +} + +function FinishAddMarker() +{ + Mode = ''; + GetE( 'btnAddNewMarker' ).src = '../images/AddMarker.png' ; + GetE( 'instructions' ).innerHTML = ''; + // Change cursor type + mapDiv.firstChild.firstChild.style.cursor = "default" ; +} + + +function EditMarker(obj) +{ + if (ActiveTab!='Marker') + { + obj.openInfoWindowHtml(obj.text) ; + return; + } + // We are really editing. + activeMarker = obj ; + Mode = 'EditMarker' ; + obj.openInfoWindowHtml(generateEditPopupString(obj.text)); +} + +function CloseInfoWindow() +{ + Mode = '' ; + + map.closeInfoWindow() ; + activeMarker = null ; +} + +function UpdateCurrentMarker() +{ + activeMarker.text = GetE( 'txtMarkerText' ).value.replace(/\n/g, '
'); + CloseInfoWindow(); +} + +function DeleteCurrentMarker() +{ + // Remove it from the global array + for ( var j = 0 ; j < markers.length ; j++ ) + { + if ( markers[j] == activeMarker) + { + markers.splice(j, 1); + break ; + } + } + var tmp = activeMarker ; + CloseInfoWindow() ; + + // Remove it from the map + map.removeOverlay(tmp); +} + +// Full resize in x and y and centering +function ResizeParent() +{ + var oParentWindow = window.parent; +//2.6 + if (window.parent.Sizer) { + oParentWindow.Sizer.RefreshSize() ; + return; +} + var oInnerWindow = window ; + var oInnerDoc = oInnerWindow.document ; + var iDiff, iFrameHeight, iFrameWidth ; + + if ( document.all ) + iFrameHeight = oInnerDoc.body.offsetHeight ; + else + iFrameHeight = oInnerWindow.innerHeight ; + + var iInnerHeight = oInnerDoc.body.scrollHeight ; + iDiff = iInnerHeight - iFrameHeight ; + + if ( iDiff !== 0 ) + { + if ( document.all ) + oParentWindow.dialogHeight = ( parseInt( oParentWindow.dialogHeight, 10 ) + iDiff ) + 'px' ; + else + oParentWindow.resizeBy( 0, iDiff ) ; + } + + // Width: + if ( document.all ) + iFrameWidth = oInnerDoc.body.offsetWidth ; + else + iFrameWidth = oInnerWindow.innerWidth ; + + var iInnerWidth = oInnerDoc.body.scrollWidth ; + iDiff = iInnerWidth - iFrameWidth ; + + if ( iDiff !== 0 ) + { + if ( document.all ) + oParentWindow.dialogWidth = ( parseInt( oParentWindow.dialogWidth, 10 ) + iDiff ) + 'px' ; + else + oParentWindow.resizeBy( iDiff, 0 ) ; + } + +} + +// Adds a Help button to the parent dialog pointing to the provided url +function SetupHelpButton( url ) +{ + var doc = window.parent.document ; + var helpButton = doc.createElement( 'INPUT' ) ; + helpButton.type = 'button' ; + helpButton.value = FCKLang.Help ; + helpButton.className = 'Button' ; + helpButton.onclick = function () { window.open( url ); return false; }; + + var okButton = doc.getElementById( 'btnOk' ) ; + var cell = okButton.parentNode.previousSibling ; + if (cell.nodeName != 'TD') + cell = cell.previousSibling ; + cell.appendChild( helpButton ); +} \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/polyline.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/polyline.js new file mode 100644 index 0000000000..501eb58acb --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/dialog/polyline.js @@ -0,0 +1,335 @@ +var points = []; +var highlighted_marker = null; +var point_markers = []; +var currentIndex = -1; + +// Returns the index of the marker in the polyline. +function findMarkerIndex(point_marker) { + var index = -1; + + for (var i = 0; i < point_markers.length; ++i) { + if (point_markers[i] == point_marker) { + index = i; + break; + } + } + + return index; +} + +// Creates a point and adds it to both the polyline and the list. +function createPoint(lat, lng, pLevel) { + var newPoint = { + lat: lat, + lon: lng, + Level: pLevel + }; + + if (currentIndex>-1) + points.splice(currentIndex+1, 0, newPoint) ; + else + points.push(newPoint); + + var point_marker = createPointMarker(new GLatLng(lat, lng), false); + point_marker.focusable = true ; // To signal that the map must get the focus. + map.addOverlay(point_marker); + + if (currentIndex>-1) + point_markers.splice(currentIndex+1, 0, point_marker) ; + else + point_markers.push(point_marker); + + highlight(currentIndex+1); +} + +// Creates a marker representing a point in the polyline. +function createPointMarker(point, highlighted) { + var clr = highlighted ? "yellow" : "blue"; + + var point_marker = createColorMarker(point, clr); + + GEvent.addListener(point_marker, "drag", function() { + var index = findMarkerIndex(point_marker); + + if (index >= 0) { + var nLat = point_marker.getPoint().lat(); + var nLng = point_marker.getPoint().lng(); + + var pLevel = points[index].Level; + + var modifiedPoint = { + lat: nLat, + lon: nLng, + Level: pLevel + }; + + points[index] = modifiedPoint; + createEncodings(); + } + }); + + GEvent.addListener(point_marker, "click", function() { + highlight(findMarkerIndex(point_marker)); + }); + + return point_marker; +} + +// Highlights the point specified by index in both the map and the point list. +function highlight(index) { + + if (point_markers[index] != null + && point_markers[index] != highlighted_marker) { + map.removeOverlay(point_markers[index]); + } + + if (highlighted_marker != null) { + var oldIndex = findMarkerIndex(highlighted_marker); + map.removeOverlay(highlighted_marker); + + if (oldIndex != index) { + point_markers[oldIndex] + = createPointMarker(highlighted_marker.getPoint(), false); + map.addOverlay(point_markers[oldIndex]); + } + } + + highlighted_marker = createPointMarker(point_markers[index].getPoint(), + true); + point_markers[index] = highlighted_marker; + map.addOverlay(highlighted_marker); + + currentIndex = index ; +} + +// Encode a signed number in the encode format. +function encodeSignedNumber(num) { + var sgn_num = num << 1; + + if (num < 0) { + sgn_num = ~(sgn_num); + } + + return(encodeNumber(sgn_num)); +} + +// Encode an unsigned number in the encode format. +function encodeNumber(num) { + var encodeString = ""; + + while (num >= 0x20) { + encodeString += (String.fromCharCode((0x20 | (num & 0x1f)) + 63)); + num >>= 5; + } + + encodeString += (String.fromCharCode(num + 63)); + return encodeString; +} + +// Delete a point from the polyline. +function deletePoint() { + if (points.length > 0) { + var point_index = currentIndex; + + if (point_index >= 0 && point_index < points.length) { + points.splice(point_index, 1); + + if (highlighted_marker == point_markers[point_index]) { + highlighted_marker = null; + currentIndex=-1; + } + + map.removeOverlay(point_markers[point_index]); + point_markers.splice(point_index, 1); + createEncodings(); + } + + if (points.length > 0) { + if (point_index == 0) { + point_index++; + } + + highlight(point_index - 1); + } + } +} + + +// Create the encoded polyline and level strings. +function createEncodings() { + if (points.length==0) + { + document.getElementById('encodedLevels').value = ''; + document.getElementById('encodedPolyline').value = ''; + if (document.overlay) { + map.removeOverlay(document.overlay); + } + return; + } + + var encoded_levels=''; + var encoded_points=''; + var vZoom, vLevels; + + vLevels = 4; + vZoom = 32; + + var plat = 0; + var plng = 0; + + for(var i = 0; i < points.length; ++i) { + var point = points[i]; + var lat = point.lat; + var lng = point.lon; + var level = point.Level; + + var late5 = Math.floor(lat * 1e5); + var lnge5 = Math.floor(lng * 1e5); + + dlat = late5 - plat; + dlng = lnge5 - plng; + + plat = late5; + plng = lnge5; + + encoded_points += encodeSignedNumber(dlat) + encodeSignedNumber(dlng); + encoded_levels += encodeNumber(level); + } + + document.getElementById('encodedLevels').value = encoded_levels.replace(/\\/g, "\\\\"); + document.getElementById('encodedPolyline').value = encoded_points.replace(/\\/g, "\\\\"); + + if (document.overlay) { + map.removeOverlay(document.overlay); + } + + if (points.length > 1) { + document.overlay = GPolyline.fromEncoded({color: "#3333cc", + weight: 5, + points: encoded_points, + zoomFactor: vZoom, + levels: encoded_levels, + numLevels: vLevels + }); + + map.addOverlay(document.overlay); + } +} + + +// Decode an encoded polyline into a list of lat/lng tuples. +function decodeLine (encoded) { + var len = encoded.length; + var index = 0; + var array = []; + var lat = 0; + var lng = 0; + + while (index < len) { + var b; + var shift = 0; + var result = 0; + do { + b = encoded.charCodeAt(index++) - 63; + result |= (b & 0x1f) << shift; + shift += 5; + } while (b >= 0x20); + var dlat = ((result & 1) ? ~(result >> 1) : (result >> 1)); + lat += dlat; + + shift = 0; + result = 0; + do { + b = encoded.charCodeAt(index++) - 63; + result |= (b & 0x1f) << shift; + shift += 5; + } while (b >= 0x20); + var dlng = ((result & 1) ? ~(result >> 1) : (result >> 1)); + lng += dlng; + + array.push([lat * 1e-5, lng * 1e-5]); + } + + return array; +} + +// Decode an encoded levels string into a list of levels. +function decodeLevels(encoded) { + var levels = []; + + for (var pointIndex = 0; pointIndex < encoded.length; ++pointIndex) { + var pointLevel = encoded.charCodeAt(pointIndex) - 63; + levels.push(pointLevel); + } + + return levels; +} + +// Decode the supplied encoded polyline and levels. +function decodePolyline() { + var encoded_points = document.getElementById('encodedPolyline').value; + encoded_points = encoded_points.replace(/\\\\/g, "\\"); + + if (encoded_points.length==0) { + return; + } + + var enc_points = decodeLine(encoded_points); + + if (enc_points.length==0) { + return; + } + + points = []; + + for (var i = 0; i < enc_points.length; ++i) { + createPoint(enc_points[i][0], enc_points[i][1], 3); + } + + createEncodings(); +} + +function ShowLinePoints() +{ + if (points.length==0) + return; + + for (var i=0; i=0 ; i--) + { + map.removeOverlay(point_markers[i]); + } + point_markers = [] ; + highlighted_marker = null; + currentIndex=-1; +} + +function createColorMarker(point, color) { + var f = new GIcon(); + f.image = "http://labs.google.com/ridefinder/images/mm_20_" + color + + ".png"; + f.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png"; + f.iconSize = new GSize(12,20); + f.shadowSize = new GSize(22,20); + f.iconAnchor = new GPoint(6,20); + f.infoWindowAnchor = new GPoint(6,1); + f.infoShadowAnchor = new GPoint(13,13); + + newMarker = new GMarker(point, + {icon: f, draggable: true}); + + return newMarker; +} + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/es.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/es.png new file mode 100644 index 0000000000..82a2bf2744 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/es.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/index.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/index.html new file mode 100644 index 0000000000..b61697a4cd --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/index.html @@ -0,0 +1,11 @@ + + + + googlemaps plugin index + + + +

You should have been redirected to the documentation

+ + \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install.html new file mode 100644 index 0000000000..044f5bd684 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install.html @@ -0,0 +1,156 @@ + + + + +GoogleMaps plugin + + + + +

Google Maps Plugin for FCKeditor

+
Change your language +
    +
  • Español
  • +
+
+

Introduction

+

This is a dialog-based plugin to handle insertion and modification of Google + Maps in FCKeditor

+

Author:

+

Alfonso Martínez de Lizarrondo

+

Sponsored by:

+

Dynamical.biz

+

Uritec

+

InControl Solutions

+

Version history:

+
    +
  1. 1.0: 25/08/2007. First version.
  2. +
  3. 1.1: 28/08/2007. Ups, didn't test 2.4.3
  4. +
  5. 1.2: 31/08/2007. New icon by Dynamical.biz. Use IMG instead of DIV as placeholder + for the moment.
  6. +
  7. 1.3: 02/09/2007. Complete documentation in HTML for installation and users.
  8. +
  9. 1.4: 21/09/2007. Use the onload event to generate the maps (to avoid IE issues), and include the call to GUnload call. Automatically remove the toolbar icon if there is no proper Google Key
  10. +
  11. 1.5 30/09/2007. Support for drawing polylines in the map.
  12. +
  13. 1.6 24/10/2007. Support for multiple markers.
  14. +
  15. 1.7 03/02/2008. Support for the new dialogs in FCKeditor 2.6.
  16. +
  17. 1.8 02/05/2008. Support for Terrain view and remembering the selected map type. The preview in the editor now uses the static maps.
  18. +
  19. 1.9 19/05/2008. It respects the values set for width and height (only assumes that they are pixel if they are numbers without any modifier)
    + Optional configuration parameters: GoogleMaps_WrapperClass and GoogleMaps_PublicKey (this code proposed by Makerweb.it) .
  20. +
  21. 1.95 12/09/2008. The preview reflects the real type of the map. It shows also the markers.
    + Dutch translation added
  22. +
  23. 1.96 14/09/2008. Preserve any previous onload handler.
    + French translation added
  24. +
  25. 1.97 20/09/2008. Simplified the onload handler according to the advice by Hector Virgen.
  26. +
+

Get the latest version and/or updated info

+

Known bugs:

+

The 'Preview' command in FCKeditor won't work properly if there's a GoogleMap + in the content. This seems related to the way the Google Maps API script loads + and inserts its content.

+

These threads in the API group point to the same problem:
+ http://groups.google.com/group/Google-Maps-API/browse_thread/thread/7849dfd612181b6c/1c3e5f7fb5fa3301
+http://groups.google.com/group/Google-Maps-API/browse_thread/thread/89ea5fa4e0a0ccb9/05c364940447891d

+

A workaround for the problem could be to use the Server +preview plugin

+

Installation

+

1. Copying the files

+

Extract the contents of the zip in you plugins directory, so it ends up like + this
+ Screenshot of installation

+
+editor\
+	...
+	js\
+	lang\
+	plugins\
+		...
+		googlemaps\
+			fckplugin.js
+			readme.html
+			dialog\
+			docs\
+			images\
+			lang\
+		...
+	skins\
+
+

2. Adding it to FCKeditor

+

Now add in your fckconfig.js or custom js configuration +file the following line: +FCKConfig.Plugins.Add( 'googlemaps', 'de,en,es,fr,it,nl') ; +

+

3. Adding it to the toolbarset

+

Add the button 'googlemaps' (lowercase) to your toolbarset: +FCKConfig.ToolbarSets["Basic"] = [
+ ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink', + '-','googlemaps','-','About']
+] ;
+

+

4. Configure the plugin

+

The most important part is your GoogleMaps key. It must be set properly for + the + plugin to work, or Google will refuse to serve the maps data.
+ You must get one for each server where you want to use the plugin, just get + the key for free here after agreeing to the Terms of Use of the GoogleMaps + API: http://www.google.com/apis/maps/signup.html
+ (Please don't ask questions about where you can use GoogleMaps or how to get + key, + those items aren't related to this plugin.)
+ For example the key for "localhost" is
+ ABQIAAAAlXu5Pw6DFAUgqM2wQn01gxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSy5hTGQdsosYD3dz6faZHVrO-02A

+

Once you get the key, you must set it in the configuration file: +FCKConfig.GoogleMaps_Key = 'ABQIAAAAlXu5Pw6DFAUgqM2wQn01gxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSy5hTGQdsosYD3dz6faZHVrO-02A' + ; +

+

(remember to replace the key in green with your own one)

+

Note: if you leave an empty string then the toolbar icon won't be shown (so you can easily use the same toolbar configuration as the current +setup in FCKeditor doesn't allow to add/remove plugins/ToolbarIcons in a really easy way)

+

There are several options that you can set to change the default values for + a new map:

+
    +
  • FCKConfig.GoogleMaps_Width : The width of the map area
  • +
  • FCKConfig.GoogleMaps_Height : The height of the map area
  • +
  • FCKConfig.GoogleMaps_CenterLat : The latitude of the center
  • +
  • FCKConfig.GoogleMaps_CenterLon :The longitude of the center
  • +
  • FCKConfig.GoogleMaps_Zoom : The zoom level
  • +
  • FCKConfig.GoogleMaps_MarkerText : The text for the marker
  • +
  • FCKConfig.GoogleMaps_WrapperClass : The Google Maps automatically fills the width and height of the generated div, + so if you want to add a little spacing and a border, you need to use a div around it. If this entry contains a non-empty value then such a div + will be generated with this class.
    + Important: in the preview inside the editor, the class will be applied to an image, not a div!
  • +
  • FCKConfig.GoogleMaps_PublicKey : If you are using the editor in a different domain than the final + location of the web, the maps won't work correctly by default. In this situation you must use this setting. First, set the GoogleMaps_Key + to the key of the domain where FCKeditor will be run, and then you have two options: +
      +
    • Set an emtpy value for GoogleMaps_PublicKey (FCKConfig.GoogleMaps_PublicKey = '';) this means that when the user wants to + create a map he must supply the key for the final domain. This is useful if you don't know beforehand all the domains where that + installation will be used. Of course, you must explain to your users how to get an API Key
    • +
    • Set the value of the final domain in GoogleMaps_PublicKey. For the user this means no troubles at all, everything works automatically.
    • +
    +
+ +

All these values can be set in the fckconfig.js file, a custom js configuration + file, or at the moment of the creation of the FCKeditor instance using any + language.

+

5. Use it

+

Now empty the cache of your browser and reload the editor, the new button + Insert GoogleMap should + be ready to use.

+

Final notes

+

If you find this plugin useful, consider making a donation so it can be further +improved, any amount can help to keep the development running.

+
+ + + + +
+

If you need some special feature for this plugin, or if you need any other kind of plugin +for FCKeditor then contact me and we can discuss it

+

Disclaimers

+

FCKeditor is © FredCK.com

+

Google, Google Maps and the Google Maps API are all properties of Google.

+ + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install_es.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install_es.html new file mode 100644 index 0000000000..53e2d5bf0c --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/install_es.html @@ -0,0 +1,152 @@ + + + + +GoogleMaps plugin + + + + +

Plugin de Mapas Google para FCKeditor

+
Cambie su idioma +
    +
  • English
  • +
+
+

Introducción

+

Este es un plugin basado en una ventana de dialogo para controlar la inserción + y modificación de Mapas Google en FCKeditor

+

Autor:

+

Alfonso Martínez de Lizarrondo

+

Patrocinado por:

+

Dynamical.biz

+

Uritec

+

InControl Solutions

+

Historial de versiones :

+
    +
  1. 1.0: 25/08/2007. Primera versión.
  2. +
  3. 1.1: 28/08/2007. Ups, no estaba probado en 2.4.3
  4. +
  5. 1.2: 31/08/2007. Nuevo icono por Dynamical.biz. Utilizar IMG en vez de + DIV para mostrar la situación del mapa por el momento.
  6. +
  7. 1.3: 02/09/2007. Documentación completa en HTML para la instalación y para + usuarios.
  8. +
  9. 1.4: 21/09/2007. Utilizar el evento onload para generar el mapa (para evitar problemas con IE), e incluir la llamada a GUnload. + Eliminar automáticamente el icono de la barra si no existe una clave Google correcta
  10. +
  11. 1.5 30/09/2007. Soporte para poder dibujar lineas en el mapa.
  12. +
  13. 1.6 24/10/2007. Soporte de múltiples marcadores.
  14. +
  15. 1.7 03/02/2008. Soporte de los nuevos cuadros de diálogo en FCKeditor 2.6.
  16. +
  17. 1.8 02/05/2008. Soporte de la vista Terreno y recordar el tipo de vista seleccionado. Se usan los mapas estáticos en el editor.
  18. +
  19. 1.9 19/05/2008. Respeta los valores que se pongan de anchura y altura (solo supone que son pixels si se trata de números sin ningún sufijo)
    + Parámetros opcionales de configuración: GoogleMaps_WrapperClass y GoogleMaps_PublicKey (este código propuesto por Makerweb.it) .
  20. +
  21. 1.95 12/09/2008. The preview reflects the real type of the map. It shows also the markers.
  22. +
+

Descarga la última versión + y/o información actualizada

+

Problemas conocidos :

+

El botón de 'Previsualizar' en FCKeditor no funcionará correctamente si hay + algún mapa en el contenido. El problema parece debido a la forma en que la + API de Google Maps realiza la inserción y carga del contenido adicional.

+

Estos temas en el grupo del API apuntan al mismo problema :
+ http://groups.google.com/group/Google-Maps-API/browse_thread/thread/7849dfd612181b6c/1c3e5f7fb5fa3301
+http://groups.google.com/group/Google-Maps-API/browse_thread/thread/89ea5fa4e0a0ccb9/05c364940447891d

+

Una solución para este problema podría ser utilizar el plugin de Previsualización + mediante el servidor

+

Instalación

+

1. Copiar los ficheros

+

Extrae los contenidos del zip en tu carpeta de plugins, de forma que quede + como a continuación
+Captura de pantalla de la instalación

+
+editor\
+	...
+	js\
+	lang\
+	plugins\
+		...
+		googlemaps\
+			fckplugin.js
+			readme.html
+			dialog\
+			docs\
+			images\
+			lang\
+		...
+	skins\
+
+

2. Añadirlo a FCKeditor

+

Ahora incluye en tu fckconfig.js o fichero de configuración que estes + usando la siguiente linea: +FCKConfig.Plugins.Add( 'googlemaps', 'de,en,es,fr,it,nl') ;

+

3. Añadirlo a la barra de botones

+

Añade el botón 'googlemaps' (en minúsculas) a tu barra de + botones: +FCKConfig.ToolbarSets["Basic"] = [
+ ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink', + '-','googlemaps','-','About']
+] ;
+

+

4. Configurar el plugin

+

La parte más importante es tu clave para GoogleMaps. Debe estar establecida + correctamente para que el plugin funcione, ya que sino Google no proporcionará + los datos para el mapa.
+ Debes obtener una para cada servidor donde quieras utilizar el plugin, puedes + obtenerlas gratuitamente aquí tras aceptar las condiciones de uso de los Mapas + Google: http://www.google.com/apis/maps/signup.html
+ (Por favor, no hagais preguntas sobre en que sitios se puede usar GoogleMaps + o cómo conseguir la clave, ya que son temas que no están relacionados con el + plugin.)
+ Por ejemplo, la clave para "localhost" es
+ABQIAAAAlXu5Pw6DFAUgqM2wQn01gxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSy5hTGQdsosYD3dz6faZHVrO-02A

+

Una vez que tengas la clave, has de añadirla a tu fichero de configuración:
+FCKConfig.GoogleMaps_Key = 'ABQIAAAAlXu5Pw6DFAUgqM2wQn01gxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSy5hTGQdsosYD3dz6faZHVrO-02A' + ;

+

(recuerda que has de sustituir la clave en verde por la tuya)

+

Nota: si dejas esa variable como una cadena en blanco entonces el icono no se mostrará (así se puede reutilizar la misma configuración +de la barra para diferentes situaciones y dependiendo de esa variable se mostrará o no, ya que el sistema actual de FCKeditor no permite +el añadir/eliminar plugins o botones de una forma realmente sencilla)

+

Hay varias opciones que puedes establecer para cambiar los valores por defecto + con los que se crearán los nuevos mapas:

+
    +
  • FCKConfig.GoogleMaps_Width : La anchura del mapa
  • +
  • FCKConfig.GoogleMaps_Height : La altura del mapa
  • +
  • FCKConfig.GoogleMaps_CenterLat : La latitud del centro
  • +
  • FCKConfig.GoogleMaps_CenterLon : La longitud del centro
  • +
  • FCKConfig.GoogleMaps_Zoom : El nivel de zoom
  • +
  • FCKConfig.GoogleMaps_MarkerText : El texto para el marcador
  • +
  • FCKConfig.GoogleMaps_WrapperClass : Los mapas Google automaticamente ocupan toda la altura y anchura del div generado, por lo que si quieres mostrar algo de espacio y/o un borde necesitas añadir un div a su alrededor. Si este parámetro no está vacío, entonces se generará ese div con esta clase.
    + Importante: ¡en la previsualización en el editor la clase se aplicará a una imagen, no a un div!
  • +
  • FCKConfig.GoogleMaps_PublicKey : Si estás usando el editor en un dominio diferente a la localización final de la web, los mapas no funcionarán correctamente con la configuración por defecto. En esta situación puedes usar este parámetro. Primero, establece en GoogleMaps_Key la clave del dominio donde funcionará FCKeditor y a continuación tienes dos opciones,: +
      +
    • Poner un valor en blanco para GoogleMaps_PublicKey (FCKConfig.GoogleMaps_PublicKey = '';) esto significa que el usuario debe proporcionar la clave para el dominio final. Esto es útil si no se sabe de antemano todos los dominios donde esta instalación será usada. Por supuesto, debes explicarle a los usuarios cómo conseguir la clave API correspondiente
    • +
    • Establecer en GoogleMaps_PublicKey la clave adecuada para el dominio final. Para el usuario esto supone que todo funcionará automáticamente sin ningún problema.
    • +
    +
+

Estos valores pueden establecerse en el fichero fckconfig.js, + un fichero de configuración personalizado o en el momento de creación del FCKeditor + utilizando cualquier lenguaje.

+ +

5. Úsalo

+

Ahora vacía la caché del navegador, recarga el editor y el nuevo + botón + Insertar mapa Google debería + estar listo para usarse .

+

Notas finales

+

Si ves que este plugin es útil, considera la opción de realizar una donación + para que pueda ser mejorado, cualquier cantidad ayudará a que el desarrollo + siga adelante.

+
+ + + + +
+

Si necesitas alguna funcionalidad especial para este plugin, o si necesitas + cualquier otro plugin para FCKeditor, contacta conmigo y hablaremos sobre el + tema

+

Avisos legales

+

FCKeditor © FredCK.com

+

Google, Google Maps y el API de Google Maps son propiedades de Google.

+ + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/installation.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/installation.png new file mode 100644 index 0000000000..f1abb18f06 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/installation.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/marker.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/marker.png new file mode 100644 index 0000000000..24d250aeff Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/marker.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/preview.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/preview.png new file mode 100644 index 0000000000..b05063084b Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/preview.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/styles.css b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/styles.css new file mode 100644 index 0000000000..58ae80a0d6 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/styles.css @@ -0,0 +1,59 @@ +body { + font-family: Arial, Helvetica, sans-serif; + font-size: 90%; +} +h1 { + text-align:center; + font-size:180%; +} +h2 { + border-bottom:2px solid #CCC; + margin:1em 0 0.4em 0; +} +h3 { + margin-bottom:0.4em; +} +p { + margin:0 0 1em 1em; + text-align:justify; +} +ol { + margin:0 0 1.2em 1em; + padding:0; + list-style-type:none; +} +ol li { + margin:0.2em 0; +} +pre, code { + font-size:100%; + font-family:"Courier New", Courier, mono; + background-color: #CCCCCC; + border:1px solid #999; + padding:0.2em 1em; + margin: 0.4em 0; + display:block; + white-space: pre; + overflow: auto; +} +form { + margin:0 0 0 1em; +} +span.key { + color: #006600; +} +#install { + display:none +} +#languages ul { + display:inline; + list-style-type:none; + margin:0; + padding:0; +} +#languages li { + display:inline; + margin:0; + padding:0; + vertical-align:bottom; +} \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/uk.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/uk.png new file mode 100644 index 0000000000..264f39fa05 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/uk.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog1.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog1.png new file mode 100644 index 0000000000..e98213b9eb Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog1.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog2.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog2.png new file mode 100644 index 0000000000..91b2980af4 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog2.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog3.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog3.png new file mode 100644 index 0000000000..4e7fa19352 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog3.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog4.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog4.png new file mode 100644 index 0000000000..0d96c3ffc8 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/user_dialog4.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users.html new file mode 100644 index 0000000000..4e6d7f2fed --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users.html @@ -0,0 +1,110 @@ + + + + +GoogleMaps plugin + + + + +

Insertion of Google Maps in FCKeditor

+
Change your language +
    +
  • Español
  • +
+
+

Introduction

+

This dialog allows to handle the insertion and modification of Google + Maps in FCKeditor

+

Usage

+

Press the Insert GoogleMap button + in the FCKeditor toolbar, and a new dialog will open allowing to configure + the parameters of the map that you want to show.

+

+ + Map dimensions controls + Zoom dropdown + Map center controls + Marker + Zoom widget + Map position widget + +

+

+ + Search controls + +

+

+ + Marker controls + +

+

+ + + +

+

Map dimensions

+

With these inputs you can control the dimensions of the map as they will appear + in your final page. You can also drag and resize the placeholder image that + appears while you are in the editor.

+

Map zoom

+

You can control this way the level of zoom of the map. You can use either + the top dropdown or the embeded + and - controls in the map.

+

Map center

+

These inputs set the center of the map. You can also use the arrow buttons + embeded in the map or even drag and drop the map itself.

+ +

Input here the location that you want to search and if it is properly found + then the map will re-center automatically and add a marker to + that point. To be able to find what you want separate each item with a comma: + "street, city, country"

+

Add Marker

+

By pressing this button you can add a marker at any place in the map. It's + properties window will open and you can change the text or delete the marker. + You can the placement of any marker dragging it around.

+

edit marker + + + +

+

Marker text

+

This is the text that will appear if the visitor clicks on the marker (you + can test it in the Map tab).

+

Line

+

With this tab you can drag a polyline accross the map, and adjust each of + its points dragging the markers that appear while you are here.

+

Additional Info

+

When you go close the dialog, a placeholder item will be added to your content + representing the current map. It will have the proper dimensions and a black + border around it, and it will feature a Google Maps logo at the center.

+

You can click to select it and drag one of the corners to resize it, but remember + that the center of the map and the position of the marker won't change, so + you might need to check again in the editing dialog that everything is fine

+

preview in the editor

+

You can add to your page as many maps as you want, the system is prepared + to work with various maps at the same time.

+

To edit an existing map you can select it and then click again the toolbar + button, or use the entry in the context menu, or even just double click it. + Whatever you want.

+

Existe un problema por el cual si intentas hacer una previsualización en FCKeditor + de una página que contiene un mapa, la previsualización no se mostrará

+

Final notes

+

If you find this plugin useful, consider making a donation so it can be further +improved, any amount can help to keep the development running.

+
+ + + + +
+

If you need some special feature for this plugin, or if you need any other kind of plugin +for FCKeditor then contact me and we can discuss it: amla70 at gmail dot com

+

Disclaimers

+

FCKeditor is © FredCK.com

+

Google, Google Maps and the Google Maps API are all properties of Google.

+ + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users_es.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users_es.html new file mode 100644 index 0000000000..6cc3b8746e --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/docs/users_es.html @@ -0,0 +1,110 @@ + + + + +GoogleMaps plugin + + + + +

Edición de mapas Google en FCKeditor

+
Cambie su idioma +
    +
  • English
  • +
+
+

Introducción

+

Esta ventana permite insertar y modificar Mapas + Google en FCKeditor

+

Uso

+

Pulsa el botón Insert GoogleMap en + la barra de botones de FCKeditor, y se abrirá una ventana para configurar los + parámetros del mapa que quieres mostrar.

+

+ + Map dimensions controls + Zoom dropdown + Map center controls + Marker + Zoom widget + Map position widget + +

+

+ + Search controls + +

+

+ + Marker controls + +

+

+ + + +

+

Dimensiones del mapa

+

Con estas casillas puedes controlar las dimensiones del mapa que aparecerá + en la página web. También es posible redimensionar directamente el elemento + que aparece durante la edición de la página para ajustar las dimensiones.

+

Zoom del mapa

+

Permite controlar el nivel de zoom del mapa. Puede usarse el desplegable superior + o los controles + y - incrustados en el mapa.

+

Centro del mapa

+

Estas casillas establecen cual será el centro del mapa. También es posible + modificarlo mediante las flechas que aparecen incrustadas en el mapa inferior + o incluso hacer click y desplazarlo.

+ +

Escribe aquí la dirección que deseas buscar, y si se encuentra el mapa se + centrará automáticamente en esas coordenadas y un marcador aparecerá en el + punto. Para poder hacer búsquedas adecuadamente, recuerda que hay que separar + cada elemento con una coma: "calle, ciudad, provincia, país"

+

Añadir marcador

+

Al pulsar este botón podrás añadir un marcador en cualquier punto del mapa. Se abrirá su ventana de propiedades y ahí puedes ajustar el texto o borrar el marcador. Puedes ajustar la posición de un marcador arrastrandolo.

+

editar marcador + + + +

+

Texto del marcador

+

Este es el texto que se mostrará cuando los visitantes hagan click en el marcador (puedes probarlo en la pestaña Mapa).

+

Lineas

+

Aquí puedes dibujar una linea o ruta sobre el mapa, y ajustar cada uno de sus puntos mediante los minimarcadores que se muestran mientras se está aquí.

+

Información adicional

+

Cuando cierres la ventana, se añadirá en el contenido del editor un elemento + para representar el mapa. Este elemento tendrá las dimensiones apropiadas con + un borde negro alrededor suya y el logo de Google Maps en el centro.

+

Puedes hacer click para seleccionarlo y arrastrar una de las esquinas para + redimensionarlo, pero recuerda que el centro del mapa y la posición del marcador + no cambiarán, por lo que puede ser conveniente abrir de nuevo la ventana de + edición para verificar que todo está bien.

+

previsualización en el editor

+

Puedes incluir en la página tantos mapas como desees, el funcionamiento no + está limitado a un número determinado de mapas.

+

Para editar un mapa que ya existe simplemente lo puedes seleccionar y hacer + click otra vez en el botón, o hacer click con el botón derecho y escoger la + opción ahí de editar el mapa, o hacer doble click en él. Lo que más te guste.

+

Existe un problema por el cual si intentas hacer una previsualización en FCKeditor +de una página que contiene un mapa, la previsualización no se mostrará normalmente.

+

Notas finales

+

Si ves que este plugin es útil, considera la opción de realizar una donación + para que pueda ser mejorado, cualquier cantidad ayudará a que el desarrollo + siga adelante.

+
+ + + + +
+

Si necesitas alguna funcionalidad especial para este plugin, o si necesitas + cualquier otro plugin para FCKeditor, contacta conmigo y hablaremos sobre el + tema

+

Avisos legales

+

FCKeditor © FredCK.com

+

Google, Google Maps y el API de Google Maps son propiedades de Google.

+ + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/fckplugin.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/fckplugin.js new file mode 100644 index 0000000000..7495b43dcf --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/fckplugin.js @@ -0,0 +1,752 @@ +/* + GoogleMaps Plugin for FCKeditor + Dialog plugin to handle insertion and modification of Google Maps in FCKeditor + + File Author: + Alfonso Martinez de Lizarrondo amla70 at gmail dot com + + version 1.97 + + See readme.html +*/ + +// Check that the Google key is defined +if ( typeof( FCKConfig.GoogleMaps_Key ) != 'string') +{ + alert( 'Error.\r\nThe configuration doesn\'t contain the Google Maps key.\r\n' + + 'Please read the Configuration section.') ; + + window.open(FCKPlugins.Items['googlemaps'].Path + 'docs/' + FCKLang.GMapsHelpFile + '#configure'); +} + +// If it's empty automatically remove the button from any toolbar. +if ( !FCKConfig.GoogleMaps_Key || FCKConfig.GoogleMaps_Key.length === 0) +{ + for( var name in FCKConfig.ToolbarSets ) + RemoveButtonFromToolbarSet( FCKConfig.ToolbarSets[name], 'googlemaps' ) ; +} + +/** + Helper function + It does remove a button from an toolbarset. + It's better than leaving it disabled as it will avoid questions about why some button is always disabled. +*/ +function RemoveButtonFromToolbarSet(ToolbarSet, CommandName) +{ + if (!ToolbarSet) + return; + + for ( var x = 0 ; x < ToolbarSet.length ; x++ ) + { + var oToolbarItems = ToolbarSet[x] ; + + // If the configuration for the toolbar is missing some element or has any extra comma + // this item won't be valid, so skip it and keep on processing. + if ( !oToolbarItems ) + continue ; + + if ( typeof( oToolbarItems ) == 'object' ) + { + for ( var j = 0 ; j < oToolbarItems.length ; j++ ) + { + if ( oToolbarItems[j] == CommandName) + { + oToolbarItems.splice(j, 1); + ToolbarSet[x] = oToolbarItems ; + return; + } + } + } + } +} + +// Toolbar button + +// Register the related command. +FCKCommands.RegisterCommand( 'googlemaps', new FCKDialogCommand( 'googlemaps', FCKLang.DlgGMapsTitle, FCKPlugins.Items['googlemaps'].Path + 'dialog/googleMaps.html', 450, 428 ) ) ; + +// Create the "googlemaps" toolbar button. +var oGoogleMapsButton = new FCKToolbarButton( 'googlemaps', FCKLang.GMapsBtn, FCKLang.GMapsBtnTooltip) ; +oGoogleMapsButton.IconPath = FCKPlugins.Items['googlemaps'].Path + 'images/mapIcon.gif' ; + +FCKToolbarItems.RegisterItem( 'googlemaps', oGoogleMapsButton ) ; + + +// Detection of existing maps +/** + FCKCommentsProcessor + --------------------------- + It's run after a document has been loaded, it detects all the protected source elements + + In order to use it, you add your comment parser with + FCKCommentsProcessor.AddParser( function ) +*/ +if (typeof FCKCommentsProcessor === 'undefined') +{ + var FCKCommentsProcessor = FCKDocumentProcessor.AppendNew() ; + FCKCommentsProcessor.ProcessDocument = function( oDoc ) + { + if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG ) + return ; + + if ( !oDoc ) + return ; + + //Find all the comments: + //try to choose the best approach according to the browser: + if ( oDoc.evaluate ) + this.findCommentsXPath( oDoc ); + else + { + if (oDoc.all) + this.findCommentsIE( oDoc.body ) ; + else + this.findComments( oDoc.body ) ; + } + + } + + FCKCommentsProcessor.findCommentsXPath = function(oDoc) { + var nodesSnapshot = oDoc.evaluate('//body//comment()', oDoc.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); + + for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ) + { + this.parseComment( nodesSnapshot.snapshotItem(i) ) ; + } + } + + FCKCommentsProcessor.findCommentsIE = function(oNode) { + var aComments = oNode.getElementsByTagName( '!' ); + for(var i=aComments.length-1; i >=0 ; i--) + { + var comment = aComments[i] ; + if (comment.nodeType == 8 ) // oNode.COMMENT_NODE) + this.parseComment( comment ) ; + } + } + + // Fallback function, iterate all the nodes and its children searching for comments. + FCKCommentsProcessor.findComments = function( oNode ) + { + if (oNode.nodeType == 8 ) // oNode.COMMENT_NODE) + { + this.parseComment( oNode ) ; + } + else + { + if (oNode.hasChildNodes()) + { + var children = oNode.childNodes ; + for (var i = children.length-1; i >=0 ; i--) + this.findComments( children[ i ] ); + } + } + } + + // We get a comment node + // Check that it's one that we are interested on: + FCKCommentsProcessor.parseComment = function( oNode ) + { + var value = oNode.nodeValue ; + + // Difference between 2.4.3 and 2.5 + var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS\\.\\.' ) ; + + var regex = new RegExp( "\\{" + prefix + "(\\d+)\\}", "g" ) ; + + if ( regex.test( value ) ) + { + var index = RegExp.$1 ; + var content = FCKTempBin.Elements[ index ] ; + + // Now call the registered parser handlers. + var oCalls = this.ParserHandlers ; + if ( oCalls ) + { + for ( var i = 0 ; i < oCalls.length ; i++ ) + oCalls[ i ]( oNode, content, index ) ; + + } + + } + } + + /** + The users of the object will add a parser here, the callback function gets two parameters: + oNode: it's the node in the editorDocument that holds the position of our content + oContent: it's the node (removed from the document) that holds the original contents + index: the reference in the FCKTempBin of our content + */ + FCKCommentsProcessor.AddParser = function( handlerFunction ) + { + if ( !this.ParserHandlers ) + this.ParserHandlers = [ handlerFunction ] ; + else + { + // Check that the event handler isn't already registered with the same listener + // It doesn't detect function pointers belonging to an object (at least in Gecko) + if ( this.ParserHandlers.IndexOf( handlerFunction ) == -1 ) + this.ParserHandlers.push( handlerFunction ) ; + } + } +} +/** + END of FCKCommentsProcessor + --------------------------- +*/ + + + + +// Check if the comment it's one of our scripts: +var GoogleMaps_CommentsProcessorParser = function( oNode, oContent, index) +{ + if ( FCK.GoogleMapsHandler.detectMapScript( oContent ) ) + { + var oMap = FCK.GoogleMapsHandler.createNew() ; + oMap.parse( oContent ) ; + oMap.createHtmlElement( oNode, index ) ; + } + else + { + if ( FCK.GoogleMapsHandler.detectGoogleScript( oContent ) ) + oNode.parentNode.removeChild( oNode ); + } +} + +FCKCommentsProcessor.AddParser( GoogleMaps_CommentsProcessorParser ); + + + +// Context menu +FCK.ContextMenu.RegisterListener( { + AddItems : function( menu, tag, tagName ) + { + // under what circumstances do we display this option + if ( tagName == 'IMG' && tag.getAttribute( 'MapNumber' ) ) + { + // No other options: + menu.RemoveAllItems() ; + // the command needs the registered command name, the title for the context menu, and the icon path + menu.AddItem( 'googlemaps', FCKLang.DlgGMapsTitle, oGoogleMapsButton.IconPath ) ; + } + }} +); + +// Double click +FCK.RegisterDoubleClickHandler( editMap, 'IMG' ) ; + +function editMap( oNode ) +{ + if ( !oNode.getAttribute( 'MapNumber' )) + return ; + + FCK.Commands.GetCommand( 'googlemaps' ).Execute() ; +} + + +// Object that handles the common functions about all the maps +FCK.GoogleMapsHandler = { + // Object to store a reference to each map + maps: {}, + + getMap: function(id){ + return this.maps[id]; + }, + + // Verify that the node is a script generated by this plugin. + detectMapScript: function( script ) + { + // We only know about version 1: + if ( !(/FCK googlemaps v1\.(\d+)/.test(script)) ) + return false; + + return true + }, + + // Self-executed function, we want to run it once at initialization only. + // Public key that will be used for the generated maps, + // while we are editing we will use only FCKConfig.GoogleMaps_Key + publicKey : function() { + // if FCKConfig.GoogleMaps_PublicKey is set to something, then use it + if ( FCKConfig.GoogleMaps_PublicKey ) + return FCKConfig.GoogleMaps_PublicKey ; + + // else we will use GoogleMaps_Key for both the public and private side. + return FCKConfig.GoogleMaps_Key ; + }(), + + // Detects both the google script as well as our ending block + // both must be removed and then added later only if neccesary + detectGoogleScript: function( script ) + { + // Our final script + if (/FCK googlemapsEnd v1\./.test(script) ) + return true ; + + // If it is the Google Maps script, get the public key from here: + if ( !/^' ; + }, + + // This can be called from the dialog + createNew: function() + { + var map = new FCKGoogleMap() ; + this.maps[ map.number ] = map; + return map; + }, + + BuildEndingScript: function() + { + var versionMarker = '// FCK googlemapsEnd v1.97'; + + var aScript = [] ; + aScript.push('\r\n'); + + return aScript.join('\r\n'); + }, + + // We will use this to track the number of maps that are generated + // This way we know if we must add the Google Script or not. + // We store their names so they are called properly from BuildEndingScript + CreatedMapsNames : [], + + // Function that will be injected into the normal core + GetXHTMLAfter: function( node, includeNode, format, Result ) + { + if (FCK.GoogleMapsHandler.CreatedMapsNames.length > 0) + { + Result += FCK.GoogleMapsHandler.BuildEndingScript() ; + } + // Reset the counter each time the GetXHTML function is called + FCK.GoogleMapsHandler.CreatedMapsNames = []; + + return Result ; + }, + + // Store any previous processor so nothing breaks + previousProcessor: FCKXHtml.TagProcessors[ 'img' ] +} + + +// Our object that will handle parsing of the script and creating the new one. +var FCKGoogleMap = function() +{ + var now = new Date() ; + this.number = '' + now.getFullYear() + now.getMonth() + now.getDate() + now.getHours() + now.getMinutes() + now.getSeconds() ; + + this.width = FCKConfig.GoogleMaps_Width || 400 ; + this.height = FCKConfig.GoogleMaps_Height || 240 ; + + this.centerLat = FCKConfig.GoogleMaps_CenterLat || 37.4419 ; + this.centerLon = FCKConfig.GoogleMaps_CenterLon || -122.1419 ; + this.zoom = FCKConfig.GoogleMaps_Zoom || 11 ; + + this.markerPoints = [] ; + + this.LinePoints = '' ; + this.LineLevels = '' ; + + this.mapType = 0 ; + + this.WrapperClass = FCKConfig.GoogleMaps_WrapperClass || '' ; +} + + +FCKGoogleMap.prototype.createHtmlElement = function( oReplacedNode, index) +{ + var oFakeNode = FCK.EditorDocument.createElement( 'IMG' ) ; + + // Are we creating a new map? + if ( !oReplacedNode ) + { + index = FCKTempBin.AddElement( this.BuildScript() ) ; + var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS..' ) ; + oReplacedNode = FCK.EditorDocument.createComment( '{' + prefix + index + '}' ) ; + FCK.InsertElement(oReplacedNode); + } + oFakeNode.contentEditable = false ; +// oFakeNode.setAttribute( '_fckfakelement', 'true', 0 ) ; + + oFakeNode.setAttribute( '_fckrealelement', FCKTempBin.AddElement( oReplacedNode ), 0 ) ; + oFakeNode.setAttribute( '_fckBinNode', index, 0 ) ; + + oFakeNode.src = FCKConfig.FullBasePath + 'images/spacer.gif' ; + oFakeNode.style.display = 'block' ; + oFakeNode.style.border = '1px solid black' ; + oFakeNode.style.background = 'white center center url("' + FCKPlugins.Items['googlemaps'].Path + 'images/maps_res_logo.png' + '") no-repeat' ; + + oFakeNode.setAttribute("MapNumber", this.number, 0) ; + + oReplacedNode.parentNode.insertBefore( oFakeNode, oReplacedNode ) ; + oReplacedNode.parentNode.removeChild( oReplacedNode ) ; + + // dimensions + this.updateHTMLElement( oFakeNode ); + + return oFakeNode ; +} + +FCKGoogleMap.prototype.updateScript = function( oFakeNode ) +{ + this.updateDimensions( oFakeNode ) ; + + var index = oFakeNode.getAttribute( '_fckBinNode' ); + FCKTempBin.Elements[ index ] = this.BuildScript() ; +} + +FCKGoogleMap.prototype.updateHTMLElement = function( oFakeNode ) +{ + oFakeNode.width = this.width ; + oFakeNode.height = this.height ; + + // Static maps preview :-) + oFakeNode.src = this.generateStaticMap() ; + oFakeNode.style.border = 0 ; + + // The wrapper class is applied to the IMG not to a wrapping DIV !!! + if ( this.WrapperClass !== '') + oFakeNode.className = this.WrapperClass ; +} + +FCKGoogleMap.prototype.generateStaticMap = function() +{ + var w = Math.min(this.width, 640); + var h = Math.min(this.height, 640); + var staticMapTypes = ['roadmap', 'satellite', 'hybrid', 'terrain'] ; + + return 'http://maps.google.com/staticmap?center=' + this.centerLat + ',' + this.centerLon + + '&zoom=' + this.zoom + '&size=' + w + 'x' + h + + '&maptype=' + staticMapTypes[ this.mapType ] + + this.generateStaticMarkers() + + '&key=' + FCKConfig.GoogleMaps_Key +} + +FCKGoogleMap.prototype.generateStaticMarkers = function() +{ + if (this.markerPoints.length==0) + return ''; + + var aPoints = []; + for (var i=0; i.'); + var regexpDimensions = /
/ ; + if (regexpDimensions.test( script ) ) + { + delete FCK.GoogleMapsHandler.maps[this.number] ; + this.number = RegExp.$1 ; + FCK.GoogleMapsHandler.maps[this.number] = this ; + + this.width = RegExp.$2 ; + this.height = RegExp.$3 ; + } + +// map.setCenter(new GLatLng(42.4298,-8.07756), 8); + var regexpPosition = /map\.setCenter\(new GLatLng\((-?\d{1,3}\.\d{1,6}),(-?\d{1,3}\.\d{1,6})\), (\d{1,2})\);/ ; + if (regexpPosition.test( script ) ) + { + this.centerLat = RegExp.$1 ; + this.centerLon = RegExp.$2 ; + this.zoom = RegExp.$3 ; + } + +// v <= 1.5 + if ( version<=5 ) + { + // var text = 'En O Carballino ha estado la d\'elegacion diplomatica japonesa'; + var markerText, markerLat=0, markerLon=0; + var regexpText = /var text\s*=\s*("|')(.*)\1;\s*\n/ ; + if (regexpText.test( script ) ) + { + markerText = RegExp.$2 ; + } + + // var point = new GLatLng(42.4298,-8.07756); + var regexpMarker = /var point\s*=\s*new GLatLng\((-?\d{1,3}\.\d{1,6}),(-?\d{1,3}\.\d{1,6})\)/ ; + if (regexpMarker.test( script ) ) + { + markerLat = RegExp.$1 ; + markerLon = RegExp.$2 ; + } + if (markerLat!=0 && markerLon!=0) + this.markerPoints.push( {lat:markerLat, lon:markerLon, text:this.decodeText(markerText)} ) ; + } + else + { + // v > 1.5. multiple points. + + // AddMarkers( [{lat:37.45088, lon:-122.21123, text:'Write your text'}] ) ; + var regexpMarkers = /\{lat\:(-?\d{1,3}\.\d{1,6}),\s*lon\:(-?\d{1,3}\.\d{1,6}),\s*text\:("|')(.*)\3}(?:,|])/ ; + var point; + var sampleText = script ; + var startIndex = 0; + var totalLength = sampleText.length; + var result, pos; + while (startIndex != totalLength) { + result = regexpMarkers.exec(sampleText); + if (result && result.length > 0) { + pos = sampleText.indexOf(result[0]); + startIndex += pos; + + this.markerPoints.push( {lat:result[1], lon:result[2], text:this.decodeText(result[4])} ) ; + + sampleText = sampleText.substr(pos + result[0].length); + startIndex += result[0].length; + } else { + break; + } + } + /* + while (result = regexpMarkers.exec( script ) ) + { + this.markerPoints.push( {lat:result[1], lon:result[2], text:result[4]} ) ; + } + */ + } + +// var encodedPoints = "iuowFf{kbMzH}N`IbJb@zBpYzO{dAvfF{LwDyN`_@`NzKqB|Ec@|L}BKmBbCoPjrBeEdy@uJ`Mn@zoAer@bjA~Xz{JczBa]pIps@de@tW}rCdxSwhPl`XgikCl{soA{dLdAaaF~cCyxCk_Aao@jp@kEvnCgoJ`]y[pVguKhCkUflAwrEzKk@yzCv^k@?mI"; + var regexpLinePoints = /var encodedPoints\s*=\s*("|')(.*)\1;\s*\n/ ; + if (regexpLinePoints.test( script ) ) + { + this.LinePoints = RegExp.$2 ; + } + +// var encodedLevels = "B????????????????????????????????????B"; + var regexpLineLevels = /var encodedLevels\s*=\s*("|')(.*)\1;\s*\n/ ; + if (regexpLineLevels.test( script ) ) + { + this.LineLevels = RegExp.$2 ; + } + +// 1.8 mapType +// map.setMapType( allMapTypes[ 1 ] ); + var regexpMapType = /setMapType\([^\[]*\[\s*(\d+)\s*\]\s*\)/ ; + if (regexpMapType.test( script ) ) + { + this.mapType = RegExp.$1 ; + } + +// 1.9 wrapper div with custom class + if ( version >= 9 ) + { + var regexpWrapper = /
') ; + aScript.push( versionMarker ) ; + + if ( this.WrapperClass !== '') + aScript.push('document.write(\'
\'); //wrapper'); + + aScript.push('document.write(\'
.<\\\/div>\');'); + + if ( this.WrapperClass !== '') + aScript.push('document.write(\'<\\\/div>\'); '); + + aScript.push('function CreateGMap' + this.number + '() {'); + aScript.push(' if(!GBrowserIsCompatible()) return;'); + + aScript.push(' var allMapTypes = [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP, G_PHYSICAL_MAP] ;'); + aScript.push(' var map = new GMap2(document.getElementById("gmap' + this.number + '"), {mapTypes:allMapTypes});'); + aScript.push(' map.setCenter(new GLatLng(' + this.centerLat + ',' + this.centerLon + '), ' + this.zoom + ');'); + + aScript.push(' map.setMapType( allMapTypes[ ' + this.mapType + ' ] );'); + + aScript.push(' map.addControl(new GSmallMapControl());'); + aScript.push(' map.addControl(new GMapTypeControl());'); + + + var aPoints = []; + for (var i=0; i'); + + return aScript.join('\r\n'); +} + + + +// Modifications of the core routines of FCKeditor: + +FCKXHtml.GetXHTML = Inject(FCKXHtml.GetXHTML, null, FCK.GoogleMapsHandler.GetXHTMLAfter ) ; + +FCKXHtml.TagProcessors.img = function( node, htmlNode, xmlNode ) +{ + if ( htmlNode.getAttribute( 'MapNumber' ) ) + { + var oMap = FCK.GoogleMapsHandler.getMap( htmlNode.getAttribute( 'MapNumber' ) ) ; + FCK.GoogleMapsHandler.CreatedMapsNames.push( oMap.number ) ; + + oMap.updateScript( htmlNode ); + node = FCK.GetRealElement( htmlNode ) ; + if ( FCK.GoogleMapsHandler.CreatedMapsNames.length == 1 ) + { + // If it is the first map, insert the google maps script + var index = FCKTempBin.AddElement( FCK.GoogleMapsHandler.GenerateGoogleScript() ) ; + var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS..' ) ; + oScriptCommentNode = xmlNode.ownerDocument.createComment( '{' + prefix + index + '}' ) ; + xmlNode.appendChild( oScriptCommentNode ) ; + } + + return xmlNode.ownerDocument.createComment( node.nodeValue ) ; + } + + if (typeof FCK.GoogleMapsHandler.previousProcessor == 'function') + node = FCK.GoogleMapsHandler.previousProcessor( node, htmlNode, xmlNode ) ; + else + node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ; + + return node ; +}; + +/** + @desc inject the function + @author Aimingoo&Riceball +*/ +function Inject( aOrgFunc, aBeforeExec, aAtferExec ) { + return function() { + if (typeof(aBeforeExec) == 'function') arguments = aBeforeExec.apply(this, arguments) || arguments; + //convert arguments object to array + var Result, args = [].slice.call(arguments); + args.push(aOrgFunc.apply(this, args)); + if (typeof(aAtferExec) == 'function') Result = aAtferExec.apply(this, args); + return (typeof(Result) != 'undefined')?Result:args.pop(); + } ; +} diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarker.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarker.png new file mode 100644 index 0000000000..f235685881 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarker.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarkerDown.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarkerDown.png new file mode 100644 index 0000000000..76f2c784cd Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/AddMarkerDown.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/mapIcon.gif b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/mapIcon.gif new file mode 100644 index 0000000000..ea213ac591 Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/mapIcon.gif differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/maps_res_logo.png b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/maps_res_logo.png new file mode 100644 index 0000000000..9766a771db Binary files /dev/null and b/main/inc/lib/fckeditor/editor/plugins/googlemaps/images/maps_res_logo.png differ diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/de.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/de.js new file mode 100644 index 0000000000..89bd35ece5 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/de.js @@ -0,0 +1,45 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, German language file. + */ + +FCKLang.DlgGMapsTitle = 'Google Maps Eigenschaften'; +FCKLang.GMapsBtn = 'Google Maps'; +FCKLang.GMapsBtnTooltip = 'Google Map einfügen/editieren'; +FCKLang.GMapsMap = 'Karte'; +FCKLang.GMapsZoomLevel = 'Zoom-Faktor'; +FCKLang.txtLatitude = 'Breite'; +FCKLang.txtLongitude = 'Länge'; +FCKLang.GMapsMarker = 'Ortsmarke'; +FCKLang.GMapsSearchLabel = 'Adresse suchen'; +FCKLang.GMapsSearch = 'Suchen'; +FCKLang.GMapsNotFound = '%s wurde nicht gefunden.'; +FCKLang.GMapsMarkerText = 'Text'; +FCKLang.GMapsMarkerDefaultText = 'Geben Sie einen Text ein'; +FCKLang.GMapsLine = 'Linie'; +FCKLang.GMapsLineInstructions = 'Klicken Sie auf die Karte um den ersten Punkt zu setzten. Jeder weitere Klick setzt einen neuen Punkte.
Gesetzte Punkte können Sie auch verschieben und wieder löschen.'; + +FCKLang.GMapsHelpFile = 'install.html'; +FCKLang.GMapsUserHelpFile = 'users.html'; +FCKLang.Help = 'Hilfe'; + +FCKLang.GMapsClickToAddMarker = 'Klicken Sie auf die Karte um eine Ortsmarke zu setzen.'; +FCKLang.GMapsDeleteMarker = 'Ortsmarke löschen'; +FCKLang.GMapsAddMarker = 'Neue Ortsmarke setzen'; + +FCKLang.GMaps_MissingKey = 'You must enter the Google Maps Key for your domain.' ; \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/en.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/en.js new file mode 100644 index 0000000000..c69bef070f --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/en.js @@ -0,0 +1,45 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, English language file. + */ + +FCKLang.DlgGMapsTitle = 'Google Maps properties' ; +FCKLang.GMapsBtn = 'Google Maps' ; +FCKLang.GMapsBtnTooltip = 'Insert/Edit a Google Map' ; +FCKLang.GMapsMap = 'Map' ; +FCKLang.GMapsZoomLevel = 'Zoom Level' ; +FCKLang.txtLatitude = 'Latitude' ; +FCKLang.txtLongitude = 'Longitude' ; +FCKLang.GMapsMarker = 'Marker' ; +FCKLang.GMapsSearchLabel = 'Search a direction' ; +FCKLang.GMapsSearch = 'Search' ; +FCKLang.GMapsNotFound = '%s not found.' ; +FCKLang.GMapsMarkerText = 'Text' ; +FCKLang.GMapsMarkerDefaultText = 'Write your text' ; +FCKLang.GMapsLine = 'Line' ; +FCKLang.GMapsLineInstructions = 'Click on the map to place the first point, and then keep on clicking to add more points.
You can drag them or delete them using "DEL" in your keyboard' ; + +FCKLang.GMapsHelpFile = 'install.html' ; +FCKLang.GMapsUserHelpFile = 'users.html' ; +FCKLang.Help = 'Help' ; + +FCKLang.GMapsClickToAddMarker = 'Click on the map to add a new marker' ; +FCKLang.GMapsDeleteMarker = 'Delete marker' ; +FCKLang.GMapsAddMarker = 'Add new marker' ; + +FCKLang.GMaps_MissingKey = 'You must enter the Google Maps Key for your domain.' ; \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/es.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/es.js new file mode 100644 index 0000000000..d89b10391e --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/es.js @@ -0,0 +1,45 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, Spanish language file. + */ + +FCKLang.DlgGMapsTitle = 'Propiedades del mapa Google' ; +FCKLang.GMapsBtn = 'Mapas Google' ; +FCKLang.GMapsBtnTooltip = 'Insertar/Editar un mapa Google' ; +FCKLang.GMapsMap = 'Mapa' ; +FCKLang.GMapsZoomLevel = 'Zoom' ; +FCKLang.txtLatitude = 'Latitud' ; +FCKLang.txtLongitude = 'Longitud' ; +FCKLang.GMapsMarker = 'Marcador' ; +FCKLang.GMapsSearchLabel = 'Buscar una dirección' ; +FCKLang.GMapsSearch = 'Buscar' ; +FCKLang.GMapsNotFound = 'No se ha encontrado %s.' ; +FCKLang.GMapsMarkerText = 'Texto' ; +FCKLang.GMapsMarkerDefaultText = 'Escriba el texto' ; +FCKLang.GMapsLine = 'Linea' ; +FCKLang.GMapsLineInstructions = 'Haz click en el mapa para añadir un punto, sigue haciendo clicks para añadir más puntos a la linea.
Es posible arrastrarlos, o borrarlos pulsando "SUPR" en el teclado' ; + +FCKLang.GMapsHelpFile = 'install_es.html' ; +FCKLang.GMapsUserHelpFile = 'users_es.html' ; +FCKLang.Help = 'Ayuda' ; + +FCKLang.GMapsClickToAddMarker = 'Haz click en el mapa para añadir un nuevo marcador' ; +FCKLang.GMapsDeleteMarker = 'Borrar el marcador' ; +FCKLang.GMapsAddMarker = 'Añadir un nuevo marcador' ; + +FCKLang.GMaps_MissingKey = 'You must enter the Google Maps Key for your domain.' ; \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/fr.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/fr.js new file mode 100644 index 0000000000..edc8252f90 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/fr.js @@ -0,0 +1,44 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, French language file. + */ + +FCKLang.DlgGMapsTitle = 'Propriétés de Google Maps' ; +FCKLang.GMapsBtn = 'Google Maps' ; +FCKLang.GMapsBtnTooltip = 'Insérer/Editer un plan Google' ; +FCKLang.GMapsMap = 'Plan' ; +FCKLang.GMapsZoomLevel = 'Niveau de zoom' ; +FCKLang.txtLatitude = 'Latitude' ; +FCKLang.txtLongitude = 'Longitude' ; +FCKLang.GMapsMarker = 'Repère' ; +FCKLang.GMapsSearchLabel = 'Rechercher une direction' ; +FCKLang.GMapsSearch = 'Chercher' ; +FCKLang.GMapsNotFound = '%s non trouvé.' ; +FCKLang.GMapsMarkerText = 'Texte' ; +FCKLang.GMapsMarkerDefaultText = 'Ecrivez votre texte' ; +FCKLang.GMapsLine = 'Ligne' ; +FCKLang.GMapsLineInstructions = 'Cliquez sur la carte pour placer le premier point, et continuer a cliquez pour ajouter plus de points.
Vous pouvez les déplacer ou les effacer en utilisant "Suppr" sur votre clavier' ; + +FCKLang.GMapsHelpFile = 'install.html' ; +FCKLang.GMapsUserHelpFile = 'users.html' ; +FCKLang.Help = 'Aide' ; + +FCKLang.GMapsClickToAddMarker = 'Cliquez sur la carte pour ajouter un nouveau repère' ; +FCKLang.GMapsDeleteMarker = 'Effacer un repère' ; +FCKLang.GMapsAddMarker = 'Ajouter un nouveau repère' ; + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/it.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/it.js new file mode 100644 index 0000000000..3f89eed6c6 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/it.js @@ -0,0 +1,45 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, English language file. + */ + +FCKLang.DlgGMapsTitle = 'Google Maps Proprietà' ; +FCKLang.GMapsBtn = 'Google Maps' ; +FCKLang.GMapsBtnTooltip = 'Inserisci/Modifica una Google Maps' ; +FCKLang.GMapsMap = 'Mappa' ; +FCKLang.GMapsZoomLevel = 'Zoom' ; +FCKLang.txtLatitude = 'Latitudine' ; +FCKLang.txtLongitude = 'Longitudine' ; +FCKLang.GMapsMarker = 'Marker' ; +FCKLang.GMapsSearchLabel = 'Cerca una direzione' ; +FCKLang.GMapsSearch = 'Cerca una località' ; +FCKLang.GMapsNotFound = '%s non trovato.' ; +FCKLang.GMapsMarkerText = 'Testo' ; +FCKLang.GMapsMarkerDefaultText = 'Inserisci il testo' ; +FCKLang.GMapsLine = 'Tracciato' ; +FCKLang.GMapsLineInstructions = 'Clicca sulla mappa per scegliere il primo punto, e successivamente selezionare gli altri sulla mappa.
Puoi trascinare i punti già selezionati o cancellarli delete usando "CANC" dalla tua tastiera' ; + +FCKLang.GMapsHelpFile = 'install.html' ; +FCKLang.GMapsUserHelpFile = 'users.html' ; +FCKLang.Help = 'Aiuto' ; + +FCKLang.GMapsClickToAddMarker = 'Clicca sulla mappa per aggiungere un nuovo marker' ; +FCKLang.GMapsDeleteMarker = 'Cancella marker' ; +FCKLang.GMapsAddMarker = 'Aggiungi un nuovo marker' ; + +FCKLang.GMaps_MissingKey = 'You must enter the Google Maps Key for your domain.' ; \ No newline at end of file diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/nl.js b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/nl.js new file mode 100644 index 0000000000..965d20b92f --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/lang/nl.js @@ -0,0 +1,44 @@ +/* + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Google Maps for FCKeditor, English language file. + */ + +FCKLang.DlgGMapsTitle = 'Google Maps eigenschappen' ; +FCKLang.GMapsBtn = 'Google Maps' ; +FCKLang.GMapsBtnTooltip = 'Invoegen/Wijzigen een Google Map' ; +FCKLang.GMapsMap = 'Kaart' ; +FCKLang.GMapsZoomLevel = 'Zoom Level' ; +FCKLang.txtLatitude = 'Latitude' ; +FCKLang.txtLongitude = 'Longitude' ; +FCKLang.GMapsMarker = 'Marker' ; +FCKLang.GMapsSearchLabel = 'Zoek een locatie' ; +FCKLang.GMapsSearch = 'Zoeken' ; +FCKLang.GMapsNotFound = '%s is niet gevonden.' ; +FCKLang.GMapsMarkerText = 'Tekst' ; +FCKLang.GMapsMarkerDefaultText = 'Schrijf je eigen tekst' ; +FCKLang.GMapsLine = 'Lijn' ; +FCKLang.GMapsLineInstructions = 'Klik op de kaart om een een eerste marker te plaaten, blijf dan klikken om meer markers te plaatsen.
Je kunt ze slepen of verwijderen met de "DEL" toets' ; + +FCKLang.GMapsHelpFile = 'install.html' ; +FCKLang.GMapsUserHelpFile = 'users.html' ; +FCKLang.Help = 'Help' ; + +FCKLang.GMapsClickToAddMarker = 'klik op de kaart om de marker toe te voegen' ; +FCKLang.GMapsDeleteMarker = 'Verwijder marker' ; +FCKLang.GMapsAddMarker = 'Voeg nieuwe marker toe' ; + diff --git a/main/inc/lib/fckeditor/editor/plugins/googlemaps/readme.html b/main/inc/lib/fckeditor/editor/plugins/googlemaps/readme.html new file mode 100644 index 0000000000..bd73a36f66 --- /dev/null +++ b/main/inc/lib/fckeditor/editor/plugins/googlemaps/readme.html @@ -0,0 +1,11 @@ + + + + googlemaps plugin index + + + +

You should have been redirected to the documentation

+ + \ No newline at end of file