diff options
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/popup_link.html | 21 | ||||
-rw-r--r-- | httemplate/elements/popup_link_onclick.html | 55 |
2 files changed, 58 insertions, 18 deletions
diff --git a/httemplate/elements/popup_link.html b/httemplate/elements/popup_link.html index 556e19ebe..0915bfa68 100644 --- a/httemplate/elements/popup_link.html +++ b/httemplate/elements/popup_link.html @@ -21,16 +21,11 @@ Example: } ) </%doc> -% if ($action && $label) { +% if ($params->{'action'} && $label) { <A HREF="javascript:void(0);" onClick="<% $onclick %>"><% $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 +35,7 @@ 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'}; +my $onclick = include('/elements/popup_link_onclick.html', $params); </%init> diff --git a/httemplate/elements/popup_link_onclick.html b/httemplate/elements/popup_link_onclick.html new file mode 100644 index 000000000..41383fdf6 --- /dev/null +++ b/httemplate/elements/popup_link_onclick.html @@ -0,0 +1,55 @@ +<%doc> + +Example: + + <SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT> + <SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT> + + include( '/elements/popup_link_onclick.html', { #hashref or a list, either way + + #required + 'action' => 'content.html', # uri for content of popup + + #strongly recommended + 'actionlabel => 'You clicked', # popup title + + #opt + 'width' => '540', + 'color' => '#ff0000', + 'closetext' => 'Go Away', # the value '' removes the link + } ) + +</%doc> +% if ($action) { +<% $onclick %>\ +% } +<%init> + +my($action, $actionlabel) = ( '', '' ); +my( $width, $height ) = ( 540, 336 ); +my $closetext = 'Close'; +my $color = '#333399'; + +my $params; +if (ref($_[0]) eq 'HASH') { + #$params = { %$params, %{ $_[0] } }; + $params = shift; +} else { + #$params = { %$params, @_ }; + $params = { @_ }; +} + +$action = $params->{'action'} if exists $params->{'action'}; +$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'}; +$width = $params->{'width'} if exists $params->{'width'}; +$height = $params->{'height'} if exists $params->{'height'}; +$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, $height, '$popup_name' ), CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext' ); return false;"; + +</%init> |