<:{
# create a hash and maintain order of keys
my %navigation;
my @keys;
while (@navigation) {
my $key = shift @navigation;
my $val = shift @navigation;
push @keys, $key;
$navigation{$key} = $val;
}
my $page = $WML_SRC_BASENAME;
my $lang = "$(LANG)";
for my $key (@keys) {
my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
# in directory of active link, set class active
my $class;
if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
$class = 'class="active"';
} else {
$class = '';
}
$dir = '.' unless defined $dir;
# translated version
if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
printf '
'."\n", $key, $navigation{$key};
} else {
warn "$WML_SRC_FILENAME has a [page $key] (parses to
docdir: $(DOCROOT)/; dir: $dir; base: $base -> $(DOCROOT)/$dir/$lang/$base.wml), but that doesn't exist.";
}
}
}:>
# LANGUAGE SWITCH
<:{ if (has_translations()) {
my @lngs = list_translations();
print $lngs[0];
}
}:>
<:{
#import "perl-globals.wmi";
use Cwd;
use Cwd 'abs_path';
use File::Spec;
my $urlbase = File::Spec->abs2rel(getcwd(),abs_path("$(DOCROOT)"));
my $LANGUAGES;
my $page = $WML_SRC_FILENAME;
opendir(DIR, getcwd()) or die $!;
# take a look and see what language support we have
while (my $file = readdir(DIR)) {
if (-d $file) {
if (-e "$file/$page") {
my $url = $WML_SRC_BASENAME.'.html.'.$file;
print ''.$LANGUAGES{$file}.''."\n" unless not defined $LANGUAGES{$file};
}
}
}
closedir(DIR);
}:>
#
# end navigation generation
<:{
my %calltoaction;
my @keys;
while (@calltoaction) {
my $key = shift @calltoaction;
my $val = shift @calltoaction;
push @keys, $key;
$calltoaction{$key} = $val;
}
my $page = $WML_SRC_BASENAME;
my $lang = "$(LANG)";
for my $key (@keys) {
my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
# in directory, set active
my $class;
if ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) or ($WML_SRC_BASENAME eq $base)) {
#if ($WML_SRC_BASENAME eq $base) {
$class = 'class="active"';
} else {
$class = '';
}
$dir = '.' unless defined $dir;
# try to use a translated version
if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
printf '
'."\n",
stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$calltoaction{$key};
}
# default to english version
elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
printf '