X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fpopup_link_onclick.html;h=b59720a3ace6c2cb905ccc7db0e041825e9aa127;hp=4c61a6c977208f32ef6477e5d6e94dbc11cdf7ec;hb=f822e27a1e00594332ffa487a1c284234c5580a6;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c diff --git a/httemplate/elements/popup_link_onclick.html b/httemplate/elements/popup_link_onclick.html index 4c61a6c97..b59720a3a 100644 --- a/httemplate/elements/popup_link_onclick.html +++ b/httemplate/elements/popup_link_onclick.html @@ -8,15 +8,20 @@ Example: #required 'action' => 'content.html', # uri for content of popup - + #strongly recommended 'actionlabel => 'You clicked', # popup title + #alternately, use instead of action, values will be passed unquoted to overlib + 'js_action' => 'url', # javascript variable or expression + 'js_actionlabel' => 'actionlabel', # javascript variable or expression + #opt 'width' => 540, 'height' => 336, 'color' => '#ff0000', 'closetext' => 'Go Away', # the value '' removes the link + 'nocenter' => 0, #bool, elminates centering the popup #uncommon opt 'frame' => 0, #bool @@ -34,7 +39,7 @@ Example: my( $action, $actionlabel, $frame ) = ( '', '', '' ); my( $width, $height ) = ( 540, 336 ); -my $closetext = 'Close'; +my $closetext = emt('Close'); my $color = '#333399'; my $scrolling = 'auto'; @@ -47,8 +52,10 @@ if (ref($_[0]) eq 'HASH') { $params = { @_ }; } -$action = $params->{'action'} if exists $params->{'action'}; -$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'}; +$action = q(') . $params->{'action'} . q('); +$action = $params->{'js_action'} if exists $params->{'js_action'}; +$actionlabel = q(') . $params->{'actionlabel'} . q('); +$actionlabel = $params->{'js_actionlabel'} if exists $params->{'js_actionlabel'}; $width = $params->{'width'} if exists $params->{'width'}; $height = $params->{'height'} if exists $params->{'height'}; $color = $params->{'color'} if exists $params->{'color'}; @@ -58,13 +65,15 @@ $scrolling = $params->{'scrolling'} if exists $params->{'scrolling'}; #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 $popup_name = 'popup-'.random_id(); my $onclick = - "overlib( OLiframeContent('$action', $width, $height, '$popup_name', 0, '$scrolling' ), ". - "CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ". - "DRAGGABLE, CLOSECLICK, ". - "BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext'". + "overlib( OLiframeContent($action, $width, $height, '$popup_name', 0, '$scrolling' ), ". + "CAPTION, $actionlabel, STICKY, AUTOSTATUSCAP, ". + ( $params->{'nocenter'} ? "" : "MIDX, 0, MIDY, 0, " ). + "DRAGGABLE, CLOSECLICK, TEXTPADDING, 0, BASE, 0, ". + "BGCOLOR, '$color', CGCOLOR, '$color', FGCOLOR, '#f8f8f8', ". + "CLOSETEXT, '$closetext'". ( $frame ? ", FRAME, $frame" : '' ). ");";