Bug 952

Summary: Fixed: MapTips widget ignores tolerance and creates incorrect mouseover and mouseout attributes. Added: intelligent LinkURL parsing, LINKTARGET attribute
Product: Chameleon Reporter: Andreas Hocevar <ahocevar@hotmail.com>
Component: WidgetAssignee: Paul Spencer <pspencer@dmsolutions.ca>
Status: RESOLVED FIXED    
Severity: normal CC: chameleon-dev@lists.maptools.org
Priority: P2    
Version: 2.0   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Attachments: Bugfixes & new features for MapTips.widget.php, CVS version 2005/01/31
Solve problem with backslash-escaped characters in URLs

Description From 2005-02-08 05:15:42
Attached is a new version of the MapTips widgets which corrects some typos that
prevent it from working and adds two new features:

- bugfix: use tolerance from cwc2 call (and not 3!)
- bugfix: use correct variable $this->mszOnMouseOut (not $this->onMouseOut)
  for $onmouseout and fix semicolon typo in $onmouseover definiton.
- bugfix: set default onmouseover and onmouseout to correct names
  (i.e. MapTipContent and MapTip clear instead of MapTipsContent and
  MapTipsClear).
- add feature: if keyword "LinkUniqueID" (case insensitive) is found in the
  LINKURL attribute, it is replaced by the current link-id. This is useful
  if your LinkURL looks more like "javascript:openURL(12345, 'foo')" that
  "http://www.foo.bar/index.php?id=12345".
- add feature: new LINKTARGET attribute. If not set, "_blank" is used to
  keep compatibility with previous versions. If LINKTARGET attribute is set
  to "", it will be omitted in the according hfres.
------- Comment #1 From 2005-02-08 05:17:08 -------
Created an attachment (id=67) [details]
Bugfixes & new features for MapTips.widget.php, CVS version 2005/01/31
------- Comment #2 From 2005-02-11 09:28:23 -------
bug fixes to be applied to 2.0, new features in 2.1 only.  Not sure when I'll
get to this, though ... hopefully within a week or so.
------- Comment #3 From 2005-02-23 15:34:35 -------
applied full patch in 2.1 and partial patch in 2.0.  tested bug fixes in both,
but not the new features in 2.1 ...
------- Comment #4 From 2005-02-25 07:12:42 -------
Created an attachment (id=72) [details]
Solve problem with backslash-escaped characters in URLs

If using JavaScript-URLs (like "javascript:openURL('LinkUniqueID');") in the
LINKURL attribute, the quotes are escaped again and again after every form
submission, resulting in broken URLs like
"javascript:openURL(\\\'LinkUniqueID\\\');".

My workaround in the attached patch is to strip those slashes (using
stripslashes), but this might be bad practice since it is unclear to me where
and why GET-Parameters are backslash-escaped in Chameleon.