4.x style
[freeside.git] / httemplate / elements / popup_link.html
index 556e19e..2394681 100644 (file)
@@ -2,35 +2,44 @@
 
 Example:
 
-  <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT>
-  <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT>
+  <& /elements/init_overlib.html &>
 
-  include( '/elements/popup_link.html', { #hashref or a list, either way is fine
+  <& /elements/popup_link.html', { #hashref or a list, either way is fine
 
     #required
     'action'         => 'content.html', # uri for content of popup
     'label'          => 'click me',     # text of <A> tag
    
     #strongly recommended
-    'actionlabel     => 'You clicked',  # popup title
+    'actionlabel'    => 'You clicked',  # popup title
    
     #opt
-    'width'          => '540',
+    'width'          => 540,
+    'height'         => 336,
     'color'          => '#ff0000',
     'closetext'      => 'Go Away',      # the value '' removes the link
-  } )
+    'title'          => 'Hover Text',
+
+    #uncommon opt
+    'aname'          => "target", # link NAME= value, useful for #targets
+    'target'         => '_parent',
+    'style'          => 'css-attribute:value',
+    'html_label'     => '<IMG SRC="something.png">',  # overrides label
+  }
+  &>
 
 </%doc>
-% if ($action && $label) {
-<A HREF="javascript:void(0);" onClick="<% $onclick %>"><% $label %></A>\
+% if ($params->{'action'} && $label) {
+<A HREF="javascript:void(0);"
+   onClick="<% $onclick |n %>"
+   <% $params->{'title'}  ? 'TITLE="' . $params->{'title'}.  '"' : '' |n %>
+   <% $params->{'aname'}  ? 'NAME="'.   $params->{'aname'}.  '"' : '' |n %>
+   <% $params->{'target'} ? 'TARGET="'. $params->{'target'}. '"' : '' |n %>
+   <% $params->{'style'}  ? 'STYLE="'.  $params->{'style'}.  '"' : '' |n %>
+><% $label %></A>\
 % }
 <%init>
 
-my($action, $label, $actionlabel) = ( '', '', '' );
-my $closetext = 'Close';
-my $width = 540;
-my $color = '#333399';
-
 my $params;
 if (ref($_[0]) eq 'HASH') {
   #$params = { %$params, %{ $_[0] } };
@@ -40,17 +49,10 @@ if (ref($_[0]) eq 'HASH') {
   $params = { @_ };
 }
 
-$action      = $params->{'action'}      if exists $params->{'action'};
-$label       = $params->{'label'}       if exists $params->{'label'};
-$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
-$width       = $params->{'width'}       if exists $params->{'width'};
-$color       = $params->{'color'}       if exists $params->{'color'};
-$closetext   = $params->{'closetext'}   if exists $params->{'closetext'};
-
-#stupid safari is caching the "location" of popup iframs, and submitting them
-#instead of displaying them.  this should prevent that.
-my $popup_name = 'popup-'.time. "-$$-". rand() * 2**32;
-
-my $onclick = "overlib( OLiframeContent('$action', $width, 336, '$popup_name' ), CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext' ); return false;";
+my $label = $params->{'label'};
+$label = encode_entities($label);
+$label =~ s/ /&nbsp;/g;
+$label = $params->{'html_label'} || $label;
+my $onclick = include('/elements/popup_link_onclick.html', $params);
 
 </%init>