Re: [WebDNA] Google map mashups

This WebDNA talk-list message is from

2010


It keeps the original formatting.
numero = 104453
interpreted = N
texte = --0015174c0eaabc338d047d0e7e42 Content-Type: text/plain; charset=UTF-8 Terry / Jym, Ok here's the code I use, you'll obviously have to amend it for your needs. I have to send it in three parts as the list software rejected my first email as being too big. Watch out for wrapped lines etc. Sorry I haven't had time to package it better. Come back to me if you have questions or problems. - Tom 1. Code for admin page The following snippet will geocode (i.e. get the lat and lng) for an address. The receiving db needs to have fields named 'sLAT' 'sLNG, and 'sZOOM'. This map is centred on Dublin - so you'll obviously need to change that. Be sure to call in the Google Maps javascript with your API key in the header of this page.
Geocode Details


Note: format should be:

Street Number Street,Town/City,Countryi.e.17 Ely Place,Dublin 2,Ireland

Drag marker if needed [reset]

[if ("[url][_sLAT][/url]" = "")][then][text]sLAT=53.347169750741884[/text][/then][else][text]sLAT=[_sLAT][/text][/else][/if] [if ("[url][_sLNG][/url]" = "")][then][text]sLNG=-6.259288787841797[/text][/then][else][text]sLNG=[_sLNG][/text][/else][/if] [if ("[url][_sZOOM][/url]" = "")][then][text]sZOOM=15[/text][/then][else][text]sZOOM=[_sZOOM][/text][/else][/if]

--0015174c0eaabc338d047d0e7e42 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Terry / Jym,

Ok here's the code I use, you'll obviously have to amend it for y= our needs. =C2=A0I have to send it in three parts as the list software reje= cted my first email as being too big. Watch out for wrapped lines etc. =C2= =A0 Sorry I haven't had time to package it better. =C2=A0Come back to m= e if you have questions or problems.

- Tom


1. Code for admin page



The following snippet will geocode (i.e. get the= lat and lng) for an address. =C2=A0The receiving db needs to have fields n= amed 'sLAT' 'sLNG, and 'sZOOM'. =C2=A0 This map is cent= red on Dublin - so you'll obviously need to change that. Be sure to cal= l in the Google Maps javascript with your API key in the header of this pag= e.

<fieldset>
<legen= d>Geocode Details</legend>

<div class=3D"clearfix" style=3D" width: 100%;"><= /div>
<div style=3D"float: left; margin-r= ight: 20px; width: 200px;">
<lab= el for=3D"_sGEOADDRESS">Address to Geocode</label>
<textarea id=3D"_sGEOADDRESS" name= =3D"_sGEOADDRESS" cols=3D"60" rows=3D"4" styl= e=3D"width: 180px;">[grep search=3D(<br />|%0B)&repl= ace=3D%0D][hideif [url][_sADDRESS][/url]=3D[url][raw][_sADDRESS][/raw][/url= ]][_sADDRESS][/hideif][/grep]</textarea><br />

<label f= or=3D"frmLat" style=3D"width: 180px; text-align: right; marg= in-right: 3px;">Latitude
<input = type=3D"text" name=3D"_sLAT" value=3D"[_sLAT]"= ; id=3D"frmLat" style=3D"width: 100px;" /></label= >

<label f= or=3D"frmLon" style=3D"width: 180px; text-align: right; marg= in-right: 3px;">Longitude
<input= type=3D"text" name=3D"_sLNG" value=3D"[_sLNG]&quo= t; id=3D"frmLon" style=3D"width: 100px;" /></labe= l><br />

<label f= or=3D"frmZoom" style=3D"width: 180px; text-align: right; mar= gin-right: 3px;">Zoom
<input typ= e=3D"text" name=3D"_sZOOM" value=3D"[_sZOOM]"= id=3D"frmZoom" style=3D"width: 100px;" /></label= ><br />

<p style= =3D"margin-bottom: 0;"><strong>Note: </strong> for= mat should be:</p>
<pre style=3D&q= uot;margin-top: 5px;">Street Number Street,
Town/City,
Count= ry
i.e.
17 = Ely Place,
Dublin 2,
Ireland</pre>

</div>

<div style=3D"width: 454px; margin-top: 18px; = float: left;">
<input type=3D"button" value=3D&quo= t;click to map the address" onclick=3D"showAddress(); return fals= e;" /> <p style=3D"display: inline; margin: 0: padding-bott= om: 3px;">Drag marker if needed [<a href=3D"#" onclick= =3D"resetAddress(); return false;">reset</a>]</p><= /div>
<div id=3D"map1" style=3D"widt= h: 450px; height: 320px; border: 1px #000 solid;"></div>
</div>
</div>

<= noscript>
<script>JavaScript must = be enabled in order for you to use Google Maps.</script>=C2=A0
However, it seems JavaScript is either disabled = or not supported by your browser. To view Google Maps, enable JavaScript by= changing your browser options, and then try again.
</noscript>

[if ("[url][_sLAT][/url]" =3D "")][then][te= xt]sLAT=3D53.347169750741884[/text][/then][else][text]sLAT=3D[_sLAT][/text]= [/else][/if]
[if ("[url][_sLNG][/url]" =3D "&q= uot;)][then][text]sLNG=3D-6.259288787841797[/text][/then][else][text]sLNG= =3D[_sLNG][/text][/else][/if]
[if ("[u= rl][_sZOOM][/url]" =3D "")][then][text]sZOOM=3D15[/text][/th= en][else][text]sZOOM=3D[_sZOOM][/text][/else][/if]

<script = type=3D"text/javascript">
//<![CDATA[

if (GBrowserIsCompatible()) {= =C2=A0

var map =3D new GMap(document.g= etElementById("map1"));

var div =3D document.getElementById("m= ap1");=C2=A0

map.addControl(new G= SmallZoomControl());
map.a= ddControl(new GOverviewMapControl());

<= /div>
= map.setCenter(new GLatLng([sLAT], [sLNG]), 15);

GEvent.addListener(map, "zoomend"= ,function() {
document.getElementById("frmZoom").value =3D map.ge= tZoom();
});= =C2=A0

//enable smooth zooming
map.enableContinuousZoom();
map.= enableDoubleClickZoom();

// Draggable marker to help posi= tion it
= var marker =3D new GMarker (new GLatLng([sLAT], [sLNG]), {draggable= :true});
map.a= ddOverlay(marker);
marker.enableDragging();
GEvent.addListener(marker,"= ;dragend", function () {
docum= ent.getElementById("frmLat").value =3D marker.getPoint().lat();
d= ocument.getElementById("frmLon").value =3D marker.getPoint().lng(= );
docum= ent.getElementById("frmZoom").value =3D map.getZoom();
});
<= div class=3D"gmail_quote">
// =3D=3D=3D=3D=3D=3D Create a Client Geocoder =3D=3D=3D=3D=3D=3D
var = geo =3D new GClientGeocoder(new GGeocodeCache());=C2=A0

// =3D=3D=3D=3D=3D=3D Array for decoding th= e failure codes =3D=3D=3D=3D=3D=3D
var reasons=3D[];
reaso= ns[G_GEO_SUCCESS]=3D "Succ= ess";
reasons[G_GEO_MISSING_ADDRESS] =C2=A0 =C2=A0=3D "Missing Ad= dress: The address was either missing or had no value.";
reaso= ns[G_GEO_UNKNOWN_ADDRESS] =C2=A0 =C2=A0=3D "Unknown Address: =C2=A0No = corresponding geographic location could be found for the specified address.= ";
reasons[G_GEO_UNAVAILABLE_ADDRES= S]=3D "Unavailable Address: =C2=A0The geocode for the given address ca= nnot be returned due to legal or contractual reasons.";
reasons[G_GEO_BAD_KEY]=3D "Bad Key: The API key is either = invalid or does not match the domain for which it was given";
reasons[G_GEO_TOO_MANY_QUERIES] = =C2=A0 =3D "Too Many Queries: The daily geocoding quota for this site = has been exceeded.";
reasons[G_GEO_SERVER_ERROR]=C2=A0=3D "Server error: The geocoding request co= uld not be successfully processed.";

// =3D=3D=3D=3D=3D=3D Geocoding =3D=3D=3D= =3D=3D=3D
function showAddress() {
=C2= =A0=C2=A0var search =3D document.getElementById("_sGEOADDRESS").v= alue;
<= /span>=C2=A0=C2=A0// =3D=3D=3D=3D=3D=3D Perform the Geocoding =3D=3D=3D=3D= =3D=3D=C2=A0=C2=A0
=C2= =A0=C2=A0geo.getLatLng(search, function (point)
=C2=A0=C2=A0 =C2=A0{=C2=A0<= /div>
// =3D=3D=3D=3D=3D If that was successful, plot the point and centre the m= ap =3D=3D=3D=3D=3D=3D
if (= point) {
map.clearOverlays();
var marker =3D new GMarker(point, {draggab= le:true});
map.= addOverlay(marker);
marker.openInfoWindowHtml('<div style=3D"w= idth: 205px; height: 50px; font-size: .9em;"><strong>Check th= is:</strong><br />If this location is wrong then drag marker to= correct location.</div>');
map.= setCenter(point,15);
document.getElementById("frmLat").value =3D= (point.y);
docu= ment.getElementById("frmLon").value =3D (point.x);
document.getE= lementById("frmZoom").value =3D map.getZoom();

marker.enableDragging();
GEvent.addList= ener(marker,"dragend", function () {
map.= closeInfoWindow ();
document.getElementById("frmLat").value =3D = marker.getPoint().lat();
docu= ment.getElementById("frmLon").value =3D marker.getPoint().lng();<= /div>
document.getElementById("frmZoom").value =3D map.getZoom();
});
= }
// =3D=3D=3D=3D=3D=3D Decode the error status =3D=3D=3D=3D=3D=3D
else= {
=C2=A0=C2=A0// =3D=3DLook to see if the query was cached =3D=3D
=C2=A0=C2=A0var result=3Dgeo.ge= tCache().get(search);
=C2=A0=C2=A0if (result) {
=C2=A0=C2=A0 =C2=A0var re= ason=3D"Code "+result.Status.code;
=C2= =A0=C2=A0 =C2=A0if (reasons[result.Status.code]) {
reason =3D reasons[res= ult.Status.code]
=C2= =A0=C2=A0 =C2=A0}
=C2=A0=C2=A0} else {
=C2=A0=C2=A0 =C2=A0var reason =3D = "";
=C2= =A0=C2=A0}=C2=A0
=C2=A0=C2=A0alert('Could not find "'+search+= '" ' + reason);
}
= =C2=A0=C2=A0 =C2=A0}
=C2=A0=C2=A0);
}

function resetAddress() {
map.clearOverlays();
var point= =3D new GLatLng([sLAT],[sLNG]);
var marker =3D new GMarker(point, {dragga= ble:true});
map.= addOverlay(marker);
map.setCenter(point,15);
document.getElementById(&quo= t;frmLat").value =3D (point.y);
docu= ment.getElementById("frmLon").value =3D (point.x);
document.getE= lementById("_sGEOADDRESS").value =3D ("[grep search=3D(<b= r />|%0B)&replace=3D\r][_sADDRESS][/grep]");

ma= rker.enableDragging();
GEvent.addListener(marker,"dragend", func= tion () {
map.= closeInfoWindow ();
document.getElementById("frmLat").value =3D = marker.getPoint().lat();
docu= ment.getElementById("frmLon").value =3D marker.getPoint().lng();<= /div>
= });
}


}

// display a warning if the bro= wser was not compatible
else {
alert= ("Sorry, the Google Maps API is not compatible with this browser"= );
}

// This Javascript is based on code provide= d by the
// Blackpool Community Church Javascript Team
//=C2= =A0http://www.commchurch.freeserve.co.uk/= =C2=A0=C2=A0=C2=A0

//]]>
</script>

</fieldset><br />

--0015174c0eaabc338d047d0e7e42-- Associated Messages, from the most recent to the oldest:

    
  1. Re: [WebDNA] Google map mashups (Terry Wilson 2010)
  2. Re: [WebDNA] Google map mashups (Tom Duke 2010)
  3. Re: [WebDNA] Google map mashups (Tom Duke 2010)
  4. Re: [WebDNA] Google map mashups (Tom Duke 2010)
  5. Re: [WebDNA] Google map mashups (Jym Duane 2010)
  6. Re: [WebDNA] Google map mashups ("Terry Wilson" 2010)
  7. Re: [WebDNA] Google map mashups (Tom Duke 2010)
  8. Re: [WebDNA] Google map mashups ("Terry Wilson" 2010)
  9. Re: [WebDNA] Google map mashups (Carl Sky 2010)
  10. Re: [WebDNA] Google map mashups ( 2010)
  11. [WebDNA] Google map mashups (Terry Wilson 2010)
--0015174c0eaabc338d047d0e7e42 Content-Type: text/plain; charset=UTF-8 Terry / Jym, Ok here's the code I use, you'll obviously have to amend it for your needs. I have to send it in three parts as the list software rejected my first email as being too big. Watch out for wrapped lines etc. Sorry I haven't had time to package it better. Come back to me if you have questions or problems. - Tom 1. Code for admin page The following snippet will geocode (i.e. get the lat and lng) for an address. The receiving db needs to have fields named 'sLAT' 'sLNG, and 'sZOOM'. This map is centred on Dublin - so you'll obviously need to change that. Be sure to call in the Google Maps javascript with your API key in the header of this page.
Geocode Details


Note: format should be:

Street Number Street,Town/City,Countryi.e.17 Ely Place,Dublin 2,Ireland

Drag marker if needed [reset]

[if ("[url][_sLAT][/url]" = "")][then][text]sLAT=53.347169750741884[/text][/then][else][text]sLAT=[_sLAT][/text][/else][/if] [if ("[url][_sLNG][/url]" = "")][then][text]sLNG=-6.259288787841797[/text][/then][else][text]sLNG=[_sLNG][/text][/else][/if] [if ("[url][_sZOOM][/url]" = "")][then][text]sZOOM=15[/text][/then][else][text]sZOOM=[_sZOOM][/text][/else][/if]

--0015174c0eaabc338d047d0e7e42 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Terry / Jym,

Ok here's the code I use, you'll obviously have to amend it for y= our needs. =C2=A0I have to send it in three parts as the list software reje= cted my first email as being too big. Watch out for wrapped lines etc. =C2= =A0 Sorry I haven't had time to package it better. =C2=A0Come back to m= e if you have questions or problems.

- Tom


1. Code for admin page



The following snippet will geocode (i.e. get the= lat and lng) for an address. =C2=A0The receiving db needs to have fields n= amed 'sLAT' 'sLNG, and 'sZOOM'. =C2=A0 This map is cent= red on Dublin - so you'll obviously need to change that. Be sure to cal= l in the Google Maps javascript with your API key in the header of this pag= e.

<fieldset>
<legen= d>Geocode Details</legend>

<div class=3D"clearfix" style=3D" width: 100%;"><= /div>
<div style=3D"float: left; margin-r= ight: 20px; width: 200px;">
<lab= el for=3D"_sGEOADDRESS">Address to Geocode</label>
<textarea id=3D"_sGEOADDRESS" name= =3D"_sGEOADDRESS" cols=3D"60" rows=3D"4" styl= e=3D"width: 180px;">[grep search=3D(<br />|%0B)&repl= ace=3D%0D][hideif [url][_sADDRESS][/url]=3D[url][raw][_sADDRESS][/raw][/url= ]][_sADDRESS][/hideif][/grep]</textarea><br />

<label f= or=3D"frmLat" style=3D"width: 180px; text-align: right; marg= in-right: 3px;">Latitude
<input = type=3D"text" name=3D"_sLAT" value=3D"[_sLAT]"= ; id=3D"frmLat" style=3D"width: 100px;" /></label= >

<label f= or=3D"frmLon" style=3D"width: 180px; text-align: right; marg= in-right: 3px;">Longitude
<input= type=3D"text" name=3D"_sLNG" value=3D"[_sLNG]&quo= t; id=3D"frmLon" style=3D"width: 100px;" /></labe= l><br />

<label f= or=3D"frmZoom" style=3D"width: 180px; text-align: right; mar= gin-right: 3px;">Zoom
<input typ= e=3D"text" name=3D"_sZOOM" value=3D"[_sZOOM]"= id=3D"frmZoom" style=3D"width: 100px;" /></label= ><br />

<p style= =3D"margin-bottom: 0;"><strong>Note: </strong> for= mat should be:</p>
<pre style=3D&q= uot;margin-top: 5px;">Street Number Street,
Town/City,
Count= ry
i.e.
17 = Ely Place,
Dublin 2,
Ireland</pre>

</div>

<div style=3D"width: 454px; margin-top: 18px; = float: left;">
<input type=3D"button" value=3D&quo= t;click to map the address" onclick=3D"showAddress(); return fals= e;" /> <p style=3D"display: inline; margin: 0: padding-bott= om: 3px;">Drag marker if needed [<a href=3D"#" onclick= =3D"resetAddress(); return false;">reset</a>]</p><= /div>
<div id=3D"map1" style=3D"widt= h: 450px; height: 320px; border: 1px #000 solid;"></div>
</div>
</div>

<= noscript>
<script>JavaScript must = be enabled in order for you to use Google Maps.</script>=C2=A0
However, it seems JavaScript is either disabled = or not supported by your browser. To view Google Maps, enable JavaScript by= changing your browser options, and then try again.
</noscript>

[if ("[url][_sLAT][/url]" =3D "")][then][te= xt]sLAT=3D53.347169750741884[/text][/then][else][text]sLAT=3D[_sLAT][/text]= [/else][/if]
[if ("[url][_sLNG][/url]" =3D "&q= uot;)][then][text]sLNG=3D-6.259288787841797[/text][/then][else][text]sLNG= =3D[_sLNG][/text][/else][/if]
[if ("[u= rl][_sZOOM][/url]" =3D "")][then][text]sZOOM=3D15[/text][/th= en][else][text]sZOOM=3D[_sZOOM][/text][/else][/if]

<script = type=3D"text/javascript">
//<![CDATA[

if (GBrowserIsCompatible()) {= =C2=A0

var map =3D new GMap(document.g= etElementById("map1"));

var div =3D document.getElementById("m= ap1");=C2=A0

map.addControl(new G= SmallZoomControl());
map.a= ddControl(new GOverviewMapControl());

<= /div>
= map.setCenter(new GLatLng([sLAT], [sLNG]), 15);

GEvent.addListener(map, "zoomend"= ,function() {
document.getElementById("frmZoom").value =3D map.ge= tZoom();
});= =C2=A0

//enable smooth zooming
map.enableContinuousZoom();
map.= enableDoubleClickZoom();

// Draggable marker to help posi= tion it
= var marker =3D new GMarker (new GLatLng([sLAT], [sLNG]), {draggable= :true});
map.a= ddOverlay(marker);
marker.enableDragging();
GEvent.addListener(marker,"= ;dragend", function () {
docum= ent.getElementById("frmLat").value =3D marker.getPoint().lat();
d= ocument.getElementById("frmLon").value =3D marker.getPoint().lng(= );
docum= ent.getElementById("frmZoom").value =3D map.getZoom();
});
<= div class=3D"gmail_quote">
// =3D=3D=3D=3D=3D=3D Create a Client Geocoder =3D=3D=3D=3D=3D=3D
var = geo =3D new GClientGeocoder(new GGeocodeCache());=C2=A0

// =3D=3D=3D=3D=3D=3D Array for decoding th= e failure codes =3D=3D=3D=3D=3D=3D
var reasons=3D[];
reaso= ns[G_GEO_SUCCESS]=3D "Succ= ess";
reasons[G_GEO_MISSING_ADDRESS] =C2=A0 =C2=A0=3D "Missing Ad= dress: The address was either missing or had no value.";
reaso= ns[G_GEO_UNKNOWN_ADDRESS] =C2=A0 =C2=A0=3D "Unknown Address: =C2=A0No = corresponding geographic location could be found for the specified address.= ";
reasons[G_GEO_UNAVAILABLE_ADDRES= S]=3D "Unavailable Address: =C2=A0The geocode for the given address ca= nnot be returned due to legal or contractual reasons.";
reasons[G_GEO_BAD_KEY]=3D "Bad Key: The API key is either = invalid or does not match the domain for which it was given";
reasons[G_GEO_TOO_MANY_QUERIES] = =C2=A0 =3D "Too Many Queries: The daily geocoding quota for this site = has been exceeded.";
reasons[G_GEO_SERVER_ERROR]=C2=A0=3D "Server error: The geocoding request co= uld not be successfully processed.";

// =3D=3D=3D=3D=3D=3D Geocoding =3D=3D=3D= =3D=3D=3D
function showAddress() {
=C2= =A0=C2=A0var search =3D document.getElementById("_sGEOADDRESS").v= alue;
<= /span>=C2=A0=C2=A0// =3D=3D=3D=3D=3D=3D Perform the Geocoding =3D=3D=3D=3D= =3D=3D=C2=A0=C2=A0
=C2= =A0=C2=A0geo.getLatLng(search, function (point)
=C2=A0=C2=A0 =C2=A0{=C2=A0<= /div>
// =3D=3D=3D=3D=3D If that was successful, plot the point and centre the m= ap =3D=3D=3D=3D=3D=3D
if (= point) {
map.clearOverlays();
var marker =3D new GMarker(point, {draggab= le:true});
map.= addOverlay(marker);
marker.openInfoWindowHtml('<div style=3D"w= idth: 205px; height: 50px; font-size: .9em;"><strong>Check th= is:</strong><br />If this location is wrong then drag marker to= correct location.</div>');
map.= setCenter(point,15);
document.getElementById("frmLat").value =3D= (point.y);
docu= ment.getElementById("frmLon").value =3D (point.x);
document.getE= lementById("frmZoom").value =3D map.getZoom();

marker.enableDragging();
GEvent.addList= ener(marker,"dragend", function () {
map.= closeInfoWindow ();
document.getElementById("frmLat").value =3D = marker.getPoint().lat();
docu= ment.getElementById("frmLon").value =3D marker.getPoint().lng();<= /div>
document.getElementById("frmZoom").value =3D map.getZoom();
});
= }
// =3D=3D=3D=3D=3D=3D Decode the error status =3D=3D=3D=3D=3D=3D
else= {
=C2=A0=C2=A0// =3D=3DLook to see if the query was cached =3D=3D
=C2=A0=C2=A0var result=3Dgeo.ge= tCache().get(search);
=C2=A0=C2=A0if (result) {
=C2=A0=C2=A0 =C2=A0var re= ason=3D"Code "+result.Status.code;
=C2= =A0=C2=A0 =C2=A0if (reasons[result.Status.code]) {
reason =3D reasons[res= ult.Status.code]
=C2= =A0=C2=A0 =C2=A0}
=C2=A0=C2=A0} else {
=C2=A0=C2=A0 =C2=A0var reason =3D = "";
=C2= =A0=C2=A0}=C2=A0
=C2=A0=C2=A0alert('Could not find "'+search+= '" ' + reason);
}
= =C2=A0=C2=A0 =C2=A0}
=C2=A0=C2=A0);
}

function resetAddress() {
map.clearOverlays();
var point= =3D new GLatLng([sLAT],[sLNG]);
var marker =3D new GMarker(point, {dragga= ble:true});
map.= addOverlay(marker);
map.setCenter(point,15);
document.getElementById(&quo= t;frmLat").value =3D (point.y);
docu= ment.getElementById("frmLon").value =3D (point.x);
document.getE= lementById("_sGEOADDRESS").value =3D ("[grep search=3D(<b= r />|%0B)&replace=3D\r][_sADDRESS][/grep]");

ma= rker.enableDragging();
GEvent.addListener(marker,"dragend", func= tion () {
map.= closeInfoWindow ();
document.getElementById("frmLat").value =3D = marker.getPoint().lat();
docu= ment.getElementById("frmLon").value =3D marker.getPoint().lng();<= /div>
= });
}


}

// display a warning if the bro= wser was not compatible
else {
alert= ("Sorry, the Google Maps API is not compatible with this browser"= );
}

// This Javascript is based on code provide= d by the
// Blackpool Community Church Javascript Team
//=C2= =A0http://www.commchurch.freeserve.co.uk/= =C2=A0=C2=A0=C2=A0

//]]>
</script>

</fieldset><br />

--0015174c0eaabc338d047d0e7e42-- Tom Duke

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

shipping & multiple comparisons? (2000) Append command (1999) Banner DNA (1997) Hello??? (1997) Problem with broken images (2004) [OT] JS Libraries (2007) encrypt/decrypt - are docs correct?? (2002) [date] problem with %d%m%Y (1998) WebCat2b12 CGI Mac - [shownext] problem (1997) Show shoppingcart after remove last item (1997) GD Spam (2003) [WebDNA] Capitalize surprise (2012) Date Calulation (1997) Large databases in WebCat (1997) Claris HomePage messes up the code (1997) WC Database Format (1997) Plugin or CGI or both (1997) Frames and WebCat (1997) in conversions.db crashes unix webcat (1999) multiple price line in formula.db (2004)