diff --git a/Anvil/Tools/Template.pm b/Anvil/Tools/Template.pm index 8909a2b6..b1c2ee4e 100755 --- a/Anvil/Tools/Template.pm +++ b/Anvil/Tools/Template.pm @@ -187,14 +187,16 @@ sub get if (not $error) { - my $in_template = 0; - my $template_file = $anvil->Storage->read_file({file => $source}); + my $template_found = 0; + my $in_template = 0; + my $template_file = $anvil->Storage->read_file({debug => $debug, file => $source}); foreach my $line (split/\n/, $template_file) { $anvil->Log->entry({source => $THIS_FILE, line => __LINE__, level => $debug, key => "log_0023", variables => { line => $line }}); if ($line =~ /^/) { $in_template = 1; + $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { in_template => $in_template }}); if ($show_name) { $template .= "\n"; @@ -205,7 +207,12 @@ sub get { if ($line =~ /^/) { - $in_template = 0; + $in_template = 0; + $template_found = 1; + $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { + in_template => $in_template, + template_found => $template_found, + }}); if ($show_name) { $template .= "\n"; @@ -225,9 +232,24 @@ sub get string => $template, variables => $variables, }); - $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { source => $source }}); + + # If we failed to read the template, then load an error message. + $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { + template_found => $template_found, + template => $template, + }}); + if ((not $template_found) or ($template eq "#!not_found!#")) + { + # Error! + $template = $anvil->Words->string({key => "error_0029", variables => { + template => $name, + file => $source, + }}); + $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { template => $template }}); + } } + $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => $debug, list => { template => $template }}); return($template); } diff --git a/cgi-bin/home b/cgi-bin/home index e992f332..a72db7f0 100755 --- a/cgi-bin/home +++ b/cgi-bin/home @@ -68,6 +68,8 @@ $anvil->Get->cgi(); $anvil->data->{skin}{url} = $anvil->data->{path}{urls}{skins}."/".$anvil->Template->skin; $anvil->data->{form}{body} = ""; + +# Time for the header my $header = $anvil->Template->get({file => "main.html", name => "header", variables => { language => $anvil->Words->language }}); # If any jobs are pending/running, show the "unavailable" option. @@ -92,7 +94,7 @@ else process_task($anvil); } -# Preparing the back (and eventually 'reload' button) takes a bit more work. +# Build the page to display my $refresh_button = ""; if ($anvil->data->{form}{refresh_link}) { @@ -119,24 +121,28 @@ else # Back is disabled. $back_button = $anvil->Template->get({file => "main.html", name => "back_button_off"}); } -my $buttons = $anvil->Template->get({file => "main.html", name => "button_bar", variables => { - back_button => $back_button, - refresh_button => $refresh_button, - anvil_button => 0 ? $anvil->Template->get({file => "main.html", name => "anvil_button_on"}) : $anvil->Template->get({file => "main.html", name => "anvil_button_off"}), - striker_button => 0 ? $anvil->Template->get({file => "main.html", name => "striker_button_on"}) : $anvil->Template->get({file => "main.html", name => "striker_button_off"}), - user_button => $anvil->data->{sys}{users}{user_name} ? $anvil->Template->get({file => "main.html", name => "user_button_on"}) : $anvil->Template->get({file => "main.html", name => "user_button_off"}), +my $left_buttons = $anvil->Template->get({file => "main.html", name => "button_bar_left", variables => { + back_button => $back_button, + refresh_button => $refresh_button, +}}); + +my $right_buttons = $anvil->Template->get({file => "main.html", name => "button_bar_right", variables => { + anvil_button => $anvil->data->{sys}{users}{user_name} ? $anvil->Template->get({file => "main.html", name => "anvil_button_on"}) : $anvil->Template->get({file => "main.html", name => "anvil_button_off"}), + striker_button => $anvil->data->{sys}{users}{user_name} ? $anvil->Template->get({file => "main.html", name => "striker_button_on"}) : $anvil->Template->get({file => "main.html", name => "striker_button_off"}), + configure_button => $anvil->data->{sys}{users}{user_name} ? $anvil->Template->get({file => "main.html", name => "configure_button_on"}) : $anvil->Template->get({file => "main.html", name => "configure_button_off"}), + user_button => $anvil->data->{sys}{users}{user_name} ? $anvil->Template->get({file => "main.html", name => "user_button_on"}) : $anvil->Template->get({file => "main.html", name => "user_button_off"}), }}); my $footer = $anvil->Template->get({file => "main.html", name => "footer", variables => { user => $anvil->data->{sys}{users}{user_name} ? "#!string!message_0034!#" : " ", }}); # Display the page. -my $template = $anvil->Template->get({file => "main.html", name => "master", variables => { +my $body = $anvil->Template->get({debug => 3, file => "main.html", name => "master", variables => { header => $header, skin_url => $anvil->data->{path}{urls}{skins}."/".$anvil->Template->skin, - left_top_bar => " ", center_top_bar => $anvil->data->{form}{error_massage}, - right_top_bar => $buttons, + right_top_bar => $right_buttons, + left_top_bar => $left_buttons, center_body => $anvil->data->{form}{body}, left_bottom_bar => " ", center_bottom_bar => " ", @@ -145,7 +151,7 @@ my $template = $anvil->Template->get({file => "main.html", name => "master", var }}); print $anvil->Template->get({file => "shared.html", name => "http_headers"})."\n"; -print $template; +print "$body"; $anvil->nice_exit({exit_code => 0}); @@ -201,7 +207,7 @@ sub process_task $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 2, list => { logged_in => $logged_in }}); if (not $logged_in) { - $anvil->data->{form}{body} = $anvil->Template->get({file => "main.html", name => "striker-login", variables => { + $anvil->data->{form}{body} = $anvil->Template->get({file => "striker.html", name => "striker-login", variables => { user => $anvil->data->{cgi}{username}{value}, password => "", }}); @@ -212,8 +218,17 @@ sub process_task # If we're here, the user is logged in! if ($anvil->data->{cgi}{striker}{value}) { - $anvil->data->{form}{back_link} = "?"; - $anvil->data->{form}{body} = $anvil->Template->get({file => "main.html", name => "striker-setup"}); + $anvil->data->{form}{back_link} = "?striker=true"; + if ($anvil->data->{cgi}{task}{value} eq "sync") + { + $anvil->data->{form}{body} = $anvil->Template->get({file => "striker.html", name => "striker-sync"}); + } + else + { + # The 'back' goes home + $anvil->data->{form}{back_link} = "?"; + $anvil->data->{form}{body} = $anvil->Template->get({file => "striker.html", name => "striker-setup"}); + } } elsif (0) { @@ -221,7 +236,7 @@ sub process_task else { # Load the main page. - $anvil->data->{form}{body} = $anvil->Template->get({file => "main.html", name => "striker-welcome"}); + $anvil->data->{form}{body} = $anvil->Template->get({file => "striker.html", name => "striker-welcome"}); } # $anvil->data->{sys}{users}{user_name} = $user_name; @@ -359,7 +374,7 @@ AND unixtime => $unixtime, }}); - $anvil->data->{say}{maintenance} = $anvil->Template->get({file => "main.html", name => "striker-offline", variables => { + $anvil->data->{say}{maintenance} = $anvil->Template->get({file => "striker.html", name => "striker-offline", variables => { title_id => "", message_id => "", title => "#!string!striker_0046!#", @@ -510,7 +525,7 @@ ORDER BY $template .= "_with_gateway"; $anvil->data->{cgi}{dns}{value} = "--" if not $anvil->data->{cgi}{dns}{value}; } - $networks .= $anvil->Template->get({file => "main.html", name => $template, variables => { + $networks .= $anvil->Template->get({file => "config.html", name => $template, variables => { column => $anvil->Words->string({key => $column, variables => { number => $link_number }}), ip_address => $say_ip, ip => $ip, @@ -537,7 +552,7 @@ ORDER BY } # We don't need to store anything as hidden variables, we'll read it back from the database later. - my $step3_body = $anvil->Template->get({file => "main.html", name => "config_step3", variables => { + my $step3_body = $anvil->Template->get({file => "config.html", name => "config_step3", variables => { step1_welcome_title_id => "", step1_welcome_message_id => "", organization => $anvil->data->{cgi}{organization}{value}, @@ -665,7 +680,7 @@ ORDER BY }); # Assemble the form - $interface_form .= $anvil->Template->get({file => "main.html", name => "bonded_interface_form", variables => { + $interface_form .= $anvil->Template->get({file => "config.html", name => "bonded_interface_form", variables => { field => $anvil->Words->string({key => "striker_0018", variables => { number => $bcn }}), description => "#!string!striker_0019!#", ip_key => $this_ip_key, @@ -757,7 +772,7 @@ ORDER BY }); # Assemble the form - $interface_form .= $anvil->Template->get({file => "main.html", name => "single_interface_form", variables => { + $interface_form .= $anvil->Template->get({file => "config.html", name => "single_interface_form", variables => { field => $anvil->Words->string({key => "striker_0018", variables => { number => $bcn }}), description => "#!string!striker_0019!#", ip_key => $this_ip_key, @@ -899,7 +914,7 @@ ORDER BY my $interface_states = get_network_details_form($anvil); # Store the previous CGI variables and display the new fields. - my $step2_body = $anvil->Template->get({file => "main.html", name => "config_step2", variables => { + my $step2_body = $anvil->Template->get({file => "config.html", name => "config_step2", variables => { step1_welcome_title_id => "", step1_welcome_message_id => "", organization => $anvil->data->{cgi}{organization}{value}, @@ -1566,7 +1581,7 @@ sub config_step1 }}); $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 3, list => { say_ifn_count => $say_ifn_count }}); - my $step1_body = $anvil->Template->get({file => "main.html", name => "config_step1", variables => { + my $step1_body = $anvil->Template->get({file => "config.html", name => "config_step1", variables => { step1_welcome_title_id => "", step1_welcome_message_id => "", organization_form => $say_organization, @@ -1721,11 +1736,11 @@ sub get_network_details_form else { my $interface_list = ""; - $network = $anvil->Template->get({file => "main.html", name => "network_header"}); + $network = $anvil->Template->get({file => "config.html", name => "network_header"}); foreach my $interface (sort {$a cmp $b} keys %{$data->{interface}}) { $interface_list .= "$interface,"; - $network .= $anvil->Template->get({file => "main.html", name => "network_entry", variables => { + $network .= $anvil->Template->get({file => "config.html", name => "network_entry", variables => { mac => "", mac_id => $interface."_mac", name => $interface, @@ -1739,7 +1754,7 @@ sub get_network_details_form }}); } $interface_list =~ s/,$//; - $network .= $anvil->Template->get({file => "main.html", name => "network_footer", variables => { interface_list => $interface_list }}); + $network .= $anvil->Template->get({file => "config.html", name => "network_footer", variables => { interface_list => $interface_list }}); } $anvil->Log->variables({source => $THIS_FILE, line => __LINE__, level => 3, list => { network => $network }}); diff --git a/html/skins/alteeve/config.html b/html/skins/alteeve/config.html index 05ef7dcf..e37b6b5d 100644 --- a/html/skins/alteeve/config.html +++ b/html/skins/alteeve/config.html @@ -1,3 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + +
+ #!variable!field!#: +
+ #!variable!description!# +
+ #!string!striker_0024!# + + + + +   + + #!string!striker_0029!# + + #!variable!iface1_select!# +
+ #!string!striker_0025!# + + + + +   + + #!string!striker_0030!# + + #!variable!iface2_select!# +
+ + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ #!string!striker_0001!#
+ #!string!striker_0002!# +
+
+   +
+ #!variable!organization_form!# +
+ #!variable!prefix_form!# +
+ #!variable!domain_form!# +
+ #!variable!sequence_form!# +
+ #!variable!ifn_count_form!# +
+
+
+ +
+ + + + +
+
+
+ + + + + + + + + + + + + + + + + +
+ #!string!striker_0001!#
+ #!string!striker_0002!# +
+
+   +
+ + + + + + + + + + + + + + + + + + + + + + +
+#!variable!hostname_form!# +
+#!variable!striker_user_form!# +
+#!variable!striker_password_form!# +
+   +
+#!variable!interface_form!# +
+#!variable!gateway_form!# +
+#!variable!dns_form!# +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ #!string!striker_0014!# +
+ #!string!striker_0003!#: + + #!variable!organization!# + +
+ #!string!striker_0005!#: + + #!variable!prefix!# + +
+ #!string!striker_0007!#: + + #!variable!domain!# + +
+ #!string!striker_0009!#: + + #!variable!sequence!# + +
+ #!string!striker_0015!#: + + #!variable!ifn_count!# + +
+
+ #!variable!interface_states!# +
+
+
+ +
+ + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ #!string!striker_0001!#
+ #!string!striker_0002!# +
+
+   +
+ #!string!striker_0041!# +
+
+   +
+ + + + + + + + + + + + + + + + + + + + + + + + + +#!variable!networks!# +
+ #!string!striker_0042!# +
+ #!string!striker_0003!#: + + #!variable!organization!# +
+ #!string!striker_0007!#: + + #!variable!domain!# +
+ #!string!striker_0031!#: + + #!variable!striker_user!# +
+ #!string!striker_0033!#: + + #!variable!striker_password!# +
+
+
+
+ +
+ @@ -17,3 +349,264 @@ + + + + + #!variable!mac!# + + + #!variable!name!# + + + #!variable!link!# + + + #!variable!speed!# + + + #!variable!order!# + + + + + + + + + + + + + + + + + + + + + + + + + +
+ #!string!header_0001!# +
+ #!string!header_0002!# + + #!string!header_0003!# + + #!string!header_0006!# +
+ + + + + + + + + + + + + + + + + + + + +
+ #!variable!field!# +
+ #!variable!description!# +
+ #!string!striker_0024!# + + + + +   + + #!string!striker_0028!# + + #!variable!iface1_select!# +
+ #!string!striker_0025!# + + + + +   + +   + +   +
+ + + + + + #!variable!column!#: + + +   + + + + +   • #!string!striker_0024!#: + + + #!variable!ip_address!# + + + + + + +   • #!string!striker_0029!#: + + + #!variable!primary!# + + + + +   • #!string!striker_0030!#: + + + #!variable!backup!# + + + + + + + + #!variable!column!#: + + +   + + + + +   • #!string!striker_0024!#: + + + #!variable!ip_address!# + + + + +   • #!string!striker_0026!#: + + + #!variable!gateway!# + + + + +   • #!string!striker_0027!#: + + + #!variable!dns!# + + + + +   • #!string!striker_0029!#: + + + #!variable!primary!# + + + + +   • #!string!striker_0030!#: + + + #!variable!backup!# + + + + + + + + #!variable!column!#: + + +   + + + + +   • #!string!striker_0024!#: + + + #!variable!ip_address!# + + + + +   • #!string!striker_0028!#: + + + #!variable!primary!# + + + + + + + + #!variable!column!#: + + +   + + + + +   • #!string!striker_0024!#: + + + #!variable!ip_address!# + + + + +   • #!string!striker_0026!#: + + + #!variable!gateway!# + + + + +   • #!string!striker_0027!#: + + + #!variable!dns!# + + + + +   • #!string!striker_0028!#: + + + #!variable!primary!# + + + diff --git a/html/skins/alteeve/images/back.png b/html/skins/alteeve/images/back.png new file mode 100644 index 00000000..47ceb9ab Binary files /dev/null and b/html/skins/alteeve/images/back.png differ diff --git a/html/skins/alteeve/images/build_icon.png b/html/skins/alteeve/images/build_icon.png new file mode 100644 index 00000000..d5f94a17 Binary files /dev/null and b/html/skins/alteeve/images/build_icon.png differ diff --git a/html/skins/alteeve/images/configure_icon_off.png b/html/skins/alteeve/images/configure_icon_off.png new file mode 100644 index 00000000..708bce9f Binary files /dev/null and b/html/skins/alteeve/images/configure_icon_off.png differ diff --git a/html/skins/alteeve/images/configure_icon_on.png b/html/skins/alteeve/images/configure_icon_on.png new file mode 100644 index 00000000..6210e98b Binary files /dev/null and b/html/skins/alteeve/images/configure_icon_on.png differ diff --git a/html/skins/alteeve/images/help_icon_off.png b/html/skins/alteeve/images/help_icon_off.png new file mode 100644 index 00000000..9ce57578 Binary files /dev/null and b/html/skins/alteeve/images/help_icon_off.png differ diff --git a/html/skins/alteeve/images/help_icon_on.png b/html/skins/alteeve/images/help_icon_on.png index 874ecb74..22877db0 100644 Binary files a/html/skins/alteeve/images/help_icon_on.png and b/html/skins/alteeve/images/help_icon_on.png differ diff --git a/html/skins/alteeve/images/sources.txt b/html/skins/alteeve/images/sources.txt index 054804e2..b2b58c7c 100644 --- a/html/skins/alteeve/images/sources.txt +++ b/html/skins/alteeve/images/sources.txt @@ -28,3 +28,12 @@ back by K from the Noun Project (https://thenounproject.com/term/back/453801/) Refresh by Denis Klyuchnikov from the Noun Project (https://thenounproject.com/term/refresh/1147205/) - refresh.png + +configure by Gregor Cresnar from the Noun Project (https://thenounproject.com/term/configure/485294/) +- striker_configure.png + +customize by Trusted Icons from the Noun Project (https://thenounproject.com/term/customize/538026/) +- configure_icon.png + +configure by iconesia from the Noun Project (https://thenounproject.com/term/configure/1651241/) +- build_icon.png diff --git a/html/skins/alteeve/images/striker_configure.png b/html/skins/alteeve/images/striker_configure.png new file mode 100644 index 00000000..9c4ccb46 Binary files /dev/null and b/html/skins/alteeve/images/striker_configure.png differ diff --git a/html/skins/alteeve/main.html b/html/skins/alteeve/main.html index c84544f9..654e7e8e 100644 --- a/html/skins/alteeve/main.html +++ b/html/skins/alteeve/main.html @@ -1,137 +1,3 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -
-   -
- Striker Configuration and Management -
-   -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-   -
- #!string!message_0035!# -
- - - #!string!message_0036!# -
- - - #!string!message_0037!# -
- #!string!message_0033!# - - #!string!message_0033!# -
- - - #!string!message_0038!# -
- - - - - - - - - - - - -
- #!variable!back_button!# - - #!variable!refresh_button!# - - #!variable!striker_button!# - - #!variable!anvil_button!# - - #!variable!user_button!# - - -
- - - - - - - - - - - - - - - - - - @@ -140,700 +6,64 @@ - - - - - - - - - - - - - -#!string!message_0033!# - - - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- #!string!striker_0001!#
- #!string!striker_0002!# -
-
-   -
- #!variable!organization_form!# -
- #!variable!prefix_form!# -
- #!variable!domain_form!# -
- #!variable!sequence_form!# -
- #!variable!ifn_count_form!# -
-
-
- -
- + + + - - -
-
-
- - - - - - - - - - - - - - - - - -
- #!string!striker_0001!#
- #!string!striker_0002!# -
-
-   -
- - - - - - - - - - - - - - - - - - - - - - -
-#!variable!hostname_form!# -
-#!variable!striker_user_form!# -
-#!variable!striker_password_form!# -
-   -
-#!variable!interface_form!# -
-#!variable!gateway_form!# -
-#!variable!dns_form!# -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- #!string!striker_0014!# -
- #!string!striker_0003!#: - - #!variable!organization!# - -
- #!string!striker_0005!#: - - #!variable!prefix!# - -
- #!string!striker_0007!#: - - #!variable!domain!# - -
- #!string!striker_0009!#: - - #!variable!sequence!# - -
- #!string!striker_0015!#: - - #!variable!ifn_count!# - -
-
- #!variable!interface_states!# -
-
-
- -
- + + + - - -
-
-
- - - - - - - - - - - - - - + +
- #!string!striker_0001!#
- #!string!striker_0002!# -
-
-   -
- #!string!striker_0041!# -
-
-   -
- - - - - - - - - - - - - - - - - - - - - - - - - -#!variable!networks!# -
- #!string!striker_0042!# -
- #!string!striker_0003!#: - - #!variable!organization!# -
- #!string!striker_0007!#: - - #!variable!domain!# -
- #!string!striker_0031!#: - - #!variable!striker_user!# -
- #!string!striker_0033!#: - - #!variable!striker_password!# -
-
- - - - - - - -
-
-
- +
- - - - -
-
- - -
- #!variable!title!#
- #!variable!description!# -
-
- Reload + #!variable!back_button!#
- - - - -
-
-
- #!variable!title!#
- #!variable!description!# -
-
- Reload + #!variable!refresh_button!#
- + - - - -
+ +
- - - - - -
- + #!variable!configure_button!# -   + #!variable!striker_button!# - + #!variable!anvil_button!# -   + #!variable!user_button!# - -
- #!string!message_0032!# +
- - - - - - #!variable!column!#: - - -   - - - - -   • #!string!striker_0024!#: - - - #!variable!ip_address!# - - - - - - -   • #!string!striker_0029!#: - - - #!variable!primary!# - - - - -   • #!string!striker_0030!#: - - - #!variable!backup!# - - - + - - - - #!variable!column!#: - - -   - - - - -   • #!string!striker_0024!#: - - - #!variable!ip_address!# - - - - -   • #!string!striker_0026!#: - - - #!variable!gateway!# - - - - -   • #!string!striker_0027!#: - - - #!variable!dns!# - - - - -   • #!string!striker_0029!#: - - - #!variable!primary!# - - - - -   • #!string!striker_0030!#: - - - #!variable!backup!# - - - + + + - - - - #!variable!column!#: - - -   - - - - -   • #!string!striker_0024!#: - - - #!variable!ip_address!# - - - - -   • #!string!striker_0028!#: - - - #!variable!primary!# - - - - - - - - #!variable!column!#: - - -   - - - - -   • #!string!striker_0024!#: - - - #!variable!ip_address!# - - - - -   • #!string!striker_0026!#: - - - #!variable!gateway!# - - - - -   • #!string!striker_0027!#: - - - #!variable!dns!# - - - - -   • #!string!striker_0028!#: - - - #!variable!primary!# - - - + + +
* #!variable!error_message!#
- - #!variable!description!#
- #!variable!options!# - - - - #!variable!description!#
- - - - - - #!variable!description!#
- - - - - - - - - - - - - - - - - - - - - - - - - -
- #!variable!field!#: -
- #!variable!description!# -
- #!string!striker_0024!# - - - - -   - - #!string!striker_0029!# - - #!variable!iface1_select!# -
- #!string!striker_0025!# - - - - -   - - #!string!striker_0030!# - - #!variable!iface2_select!# -
- - - - - - - - - - - - - - - - - - - - - - - - -
- #!variable!field!# -
- #!variable!description!# -
- #!string!striker_0024!# - - - - -   - - #!string!striker_0028!# - - #!variable!iface1_select!# -
- #!string!striker_0025!# - - - - -   - -   - -   -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- #!string!header_0001!# -
- #!string!header_0002!# - - #!string!header_0003!# - - #!string!header_0006!# -
- #!variable!mac!# - - #!variable!name!# - - #!variable!link!# - - #!variable!speed!# - - #!variable!order!# -
- - + + #!variable!header!# - - - @@ -914,3 +176,48 @@ #!variable!footer!# + + +
- + +#!variable!left_top_bar!# + #!variable!center_top_bar!# + #!variable!right_top_bar!#
+
+
+ + + +
+ #!variable!title!#
+ #!variable!description!# +
+
+ Reload +
+ + + + + + + + + + + + #!variable!description!#
+ #!variable!options!# + + + + + + + + + + + + + + + +#!string!message_0033!# + diff --git a/html/skins/alteeve/striker.html b/html/skins/alteeve/striker.html new file mode 100644 index 00000000..0bed7b63 --- /dev/null +++ b/html/skins/alteeve/striker.html @@ -0,0 +1,158 @@ + + + + +
+
+ + + + + + + + + + + + +
+ + +   + + + +   + + +
+ #!string!message_0032!# +
+ + + + +
+
+ + + +
+ #!variable!title!#
+ #!variable!description!# +
+
+ Reload +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+   +
+ Striker Configuration and Management +
+   +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+   +
+ #!string!message_0035!# +
+ + + #!string!message_0036!# +
+ + + #!string!message_0037!# +
+ #!string!message_0033!# + + #!string!message_0033!# +
+ + + #!string!message_0038!# +
+ + diff --git a/share/words.xml b/share/words.xml index c8b53d25..639a2bad 100644 --- a/share/words.xml +++ b/share/words.xml @@ -407,6 +407,7 @@ Here we will inject 't_0006', which injects 't_0001' which has a variable: [#!st The user ID passed in to Account->read_details: [#!variable!uuid!#] was not found in the database. Login failed, please try again. #!data!sys::log_file!#] for details.]]> + #!variable!template!#] in the template file: [#!variable!file!#].]]> Up