<%doc> Example: include('/elements/init_overlib.html') include( '/elements/popup_link-cust_main.html', { #hashref or a list, either way #required 'action' => 'content.html', # uri for content of popup which should # be suitable for appending keywords 'label' => 'click me', # text of tag 'cust_main' => $cust_main # a FS::cust_main object #strongly recommended (you want a title, right?) 'actionlabel => 'You clicked', # popup title #opt 'width' => '540', 'color' => '#ff0000', 'closetext' => 'Go Away', # the value '' removes the link ) % if ( $custnum || $prospectnum ) { <% include('/elements/popup_link.html', $params ) %>\ % } <%init> my $params = { 'closetext' => emt('Close') }; if (ref($_[0]) eq 'HASH') { $params = { %$params, %{ $_[0] } }; } else { $params = { %$params, @_ }; } my $custnum = $params->{'cust_main'} ? $params->{'cust_main'}->custnum : $params->{'custnum'}; $params->{'action'} .= ( $params->{'action'} =~ /\?/ ? ';' : '?' ). "custnum=$custnum" if $custnum; #(maybe i should be called popup_link-cust_or_prospect_main.html now) my $prospectnum = $params->{'prospect_main'} ? $params->{'prospect_main'}->prospectnum : $params->{'prospectnum'}; $params->{'action'} .= ( $params->{'action'} =~ /\?/ ? ';' : '?' ). "prospectnum=$prospectnum" if $prospectnum; $params->{'action'} .= ";$_=".$params->{$_} foreach grep $params->{$_}, qw( lock_pkgpart lock_locationnum qualnum quotationnum svcpart );