From 081432fe4eab648efc6d01f6df371a464e50404e Mon Sep 17 00:00:00 2001 From: Mikael Nordin Date: Fri, 3 Jun 2016 15:25:58 +0200 Subject: [PATCH] Initial commit --- hello/description.txt | 4 +++ hello/lib/Thruk/Controller/hello.pm | 37 ++++++++++++++++++++++++++++ hello/preview.png | Bin 0 -> 7605 bytes hello/routes | 15 +++++++++++ hello/templates/hello.tt | 12 +++++++++ 5 files changed, 68 insertions(+) create mode 100644 hello/description.txt create mode 100644 hello/lib/Thruk/Controller/hello.pm create mode 100644 hello/preview.png create mode 100644 hello/routes create mode 100644 hello/templates/hello.tt diff --git a/hello/description.txt b/hello/description.txt new file mode 100644 index 0000000..0dc6954 --- /dev/null +++ b/hello/description.txt @@ -0,0 +1,4 @@ +The 'Hello World' plugin displays the words "Hello World!" on the +plugin page hello.cgi. + +Url: hello.cgi diff --git a/hello/lib/Thruk/Controller/hello.pm b/hello/lib/Thruk/Controller/hello.pm new file mode 100644 index 0000000..42a6223 --- /dev/null +++ b/hello/lib/Thruk/Controller/hello.pm @@ -0,0 +1,37 @@ +package Thruk::Controller::hello; + +use strict; +use warnings; + +=head1 NAME + +Thruk::Controller::hello - Hello World! + +=head1 DESCRIPTION + +Hello World!. + +=head1 METHODS + +=cut + + +=head2 index + +=cut + +sub index { + my ( $c ) = @_; + $c->stash->{title} = 'Hello World!'; + $c->stash->{template} = 'hello.tt'; + $c->stash->{hello_var} = 'Hello World!'; # This is our magic variable +} + +=head1 LICENSE + +This library is free software, you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + +1; diff --git a/hello/preview.png b/hello/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0406157c10a36d05273ac3ee6789c5c550d224cd GIT binary patch literal 7605 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 literal 0 HcmV?d00001 diff --git a/hello/routes b/hello/routes new file mode 100644 index 0000000..b1a0bbc --- /dev/null +++ b/hello/routes @@ -0,0 +1,15 @@ +########################################################## + +=head2 add_routes + +page: /thruk/cgi-bin/hello.cgi + +=cut + +$routes->{'/thruk/cgi-bin/hello.cgi'} = 'Thruk::Controller::hello::index'; + +# add new menu item +Thruk::Utils::Menu::insert_item('System', { + 'href' => '/thruk/cgi-bin/hello.cgi', + 'name' => 'Hello World!', +}); diff --git a/hello/templates/hello.tt b/hello/templates/hello.tt new file mode 100644 index 0000000..53d3bd1 --- /dev/null +++ b/hello/templates/hello.tt @@ -0,0 +1,12 @@ + + + + [% title_prefix %][% title %] + + + + + +

[% hello_var %]

+ +