";
my $id = $full_name_to_id_mapping{$full_names[$i]};
my $name = $id_to_name_mapping->{$id};
my $extra = $id_to_extra_mapping->{$id} || "";
$static_browser_macro_chunk .= "" . &html_safe($name) . "" . &html_safe($extra) . " | ";
$static_browser_macro_chunk .= "";
if (defined($full_names[$i+$half_point])) {
$id = $full_name_to_id_mapping{$full_names[$i+$half_point]};
$name = $id_to_name_mapping->{$id};
$extra = $id_to_extra_mapping->{$id} || "";
$static_browser_macro_chunk .= "" . &html_safe($name) . "" . &html_safe($extra);
}
$static_browser_macro_chunk .= " | ";
$static_browser_macro_chunk .= "
";
}
return $static_browser_macro_chunk;
}
sub write_bilevel_static_browser_macrofile
{
my $static_browser_package_root = shift(@_);
my $category_to_ids_mapping = shift(@_);
my $id_to_name_mapping = shift(@_);
my $id_to_extra_mapping = shift(@_);
my $static_browser_macrofile_path = "$ENV{'GSDLHOME'}\\collect\\cic-hcap\\macros\\$static_browser_package_root.dm";
print STDERR "Writing $static_browser_macrofile_path...\n";
open(BROWSER_MACROFILE, ">$static_browser_macrofile_path") or die "Error: Could not write to $static_browser_macrofile_path.\n";
foreach my $category (keys(%{$category_to_ids_mapping})) {
my $static_browser_package_name = $static_browser_package_root . $category;
$static_browser_package_name =~ s/\W//g;
my %id_to_name_mapping_for_category = ();
foreach my $id (@{$category_to_ids_mapping->{$category}}) {
$id_to_name_mapping_for_category{$id} = $id_to_name_mapping->{$id};
}
&write_static_browser_macros($static_browser_package_name, \%id_to_name_mapping_for_category, $id_to_extra_mapping);
}
close(BROWSER_MACROFILE);
}
sub html_safe
{
my $text = shift(@_);
$text =~ s/&/&/g;
$text =~ s/\'/&\#39;/g; # Apostrophes mess up Javascript on the Search by State page
return $text;
}
sub write_state_browser_macrofile
{
my $static_browser_package_name = shift(@_);
my $state_to_ids_mapping = shift(@_);
my $id_to_name_mapping = shift(@_);
my $static_browser_macrofile_path = "$ENV{'GSDLHOME'}\\collect\\cic-hcap\\macros\\$static_browser_package_name.dm";
print STDERR "Writing $static_browser_macrofile_path...\n";
open(BROWSER_MACROFILE, ">$static_browser_macrofile_path") or die "Error: Could not write to $static_browser_macrofile_path.\n";
print BROWSER_MACROFILE "package $static_browser_package_name\n\n";
print BROWSER_MACROFILE "_cicstaticbrowser_ {\n";
print BROWSER_MACROFILE "