X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fcoord-links.html;h=a755791ae4994216e9cb390f04d0e4689632dd26;hp=02a224a00124f1453e2408f962b538b0bb991f5e;hb=e1acfb2921b35fe097015208e8072a2675d01d69;hpb=a6fe07e49e3fc12169e801b1ed6874c3a5bd8500 diff --git a/httemplate/elements/coord-links.html b/httemplate/elements/coord-links.html index 02a224a00..a755791ae 100644 --- a/httemplate/elements/coord-links.html +++ b/httemplate/elements/coord-links.html @@ -1,5 +1,7 @@ <& /elements/init_overlib.html &> +% if ( $apikey ) { + <& /elements/popup_link.html, 'action' => $p. 'view/map.html?'. $query, 'label' => mt('map'), @@ -19,26 +21,41 @@ &> % } +% } # end if $apikey + <% mt('earth') |h %> <%init> -my ($latitude, $longitude, $name, $agentnum) = @_; +my %opt = (); +my ($latitude, $longitude, $name, $agentnum); +if ( ref($_[0]) ) { + %opt = %{ $_[0] }; + $latitude = $opt{latitude}; + $longitude = $opt{longitude}; + $name = $opt{name}; + $agentnum = $opt{agentnum}; +} else { + ($latitude, $longitude, $name, $agentnum) = @_; +} my $query = 'name='. uri_escape_utf8($name). ';lat='. $latitude. ';lon='. $longitude; my $js_name = $name; -$js_name =~ s/[<>"]/ /g; +$js_name =~ s/[<>"']/ /g; $m->interp->apply_escapes($js_name, 'js_string'); $js_name =~ s/^'//; $js_name =~ s/'$//; -my $origin; +my $conf = new FS::Conf; +my $apikey = $conf->config('google_maps_api_key'); + #for directions link -if ( $agentnum =~ /^\d+$/ ) { - $origin = FS::Conf->new->config('company_address', $agentnum); - $origin = uri_escape($origin); -} +my @origin = $opt{company_address} + ? @{ $opt{company_address} } + : $conf->config('company_address', $agentnum); +my $origin = uri_escape(join(',', @origin)); +