stray closing /TABLE in the no-ticket case
[freeside.git] / httemplate / elements / coord-links.html
index 81af812..db04dad 100644 (file)
@@ -3,7 +3,7 @@
 <& /elements/popup_link.html,
      'action'      => $p. 'view/map.html?'. $query,
      'label'       => mt('map'),
-     'actionlabel' => $name,
+     'actionlabel' => $js_name,
      'width'       => 763,
      'height'      => 575,
      #'color'
@@ -13,7 +13,7 @@
   <& /elements/popup_link.html,
       'action'      => $p. "view/directions.html?origin=$origin;". $query,
       'label'       => mt('directions'),
-      'actionlabel' => $name,
+      'actionlabel' => $js_name,
       'width'       => 763,
       'height'      => 575,
   &>
 
 <%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 $origin;
+my $js_name = $name;
+$js_name =~ s/[<>"']/ /g;
+$m->interp->apply_escapes($js_name, 'js_string');
+$js_name =~ s/^'//;
+$js_name =~ s/'$//;
+
+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_physical_address', $agentnum) 
+                   ? $conf->config('company_physical_address', $agentnum)
+                   : $conf->config('company_address', $agentnum) );
+my $origin = uri_escape(join(',', @origin));
+
 </%init>