7a772ce415ef43a81252d3f26b53121d03bc178d
[www.jankratochvil.net.git] / product / hotelgate / Index.pm
1 # $Id$
2 # Main page of 'My::Project::hotelgate'
3 # Copyright (C) 2005 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; exactly version 2 of June 1991 is required
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19 package product::hotelgate::Index;
20 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
21 our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
22 our $CVS_ID=q$Id$;
23 use strict;
24 use warnings;
25
26 use My::Web;
27
28
29 our @ListItem=(
30                 "name"=>"HotelGate",
31                 "priority"=>80,
32                 "icon"=>"Admin-Login-icon.jpeg",
33                 "summary"=>"Internet Public Access Gateway",
34                 "description"=><<"HERE",
35 <p>User-friendly Internet access gateway providing separate rooms / areas
36 access control with a single central administration point.</p>
37 HERE
38                 );
39
40 sub handler
41 {
42 Wrequire 'product::hotelgate::Lib';
43 my $W=product::hotelgate::Lib->init();
44
45 my $ListItem=product::Lib->name_to_hashref("hotelgate");
46
47
48 print <<"HERE";
49 <h1>@{[ product::Lib->title($ListItem) ]}</h1>
50 HERE
51
52 print rightimg <<"HERE","./rack-1u.jpeg","Rack mountable 1U cased";
53 <p>Unique feature of this product is its control of Internet access for each
54 individual network segment connected through remotely located switches. One
55 example of such feature is its utilization for enabling/disabling Internet
56 specifically in each room of your hotel. No need to complicate the clients'
57 access by the usual tickets. Still even the ticketed access is provided.</p>
58 HERE
59
60 print <<"HERE";
61 <h2>Features List</h2>
62
63 <p>(@{[ a_href 'Spec.pm#feature','see more' ]} with descriptions included)</p>
64 <ul>
65 HERE
66 Wrequire 'product::hotelgate::Spec';
67 my @features_local=@product::hotelgate::Spec::Features;
68 while (@features_local) {
69         my $key=shift @features_local;
70         my $val=shift @features_local;
71         print <<"HERE";
72         <li>$key</li>
73 HERE
74         }
75 print <<"HERE";
76 </ul>
77
78
79 HERE
80
81 sub hotel_href($)
82 {
83 my($content)=@_;
84
85         return a_href_cc {""=>'http://www.hotelsevendays.com/',
86                         "CZ"=>'http://www.hotelsevendays.cz/',
87                         "RU"=>'http://www.hotelsevendays.ru/'},$content;
88 }
89
90 print rightimg <<"HERE",hotel_href(img 'hotelsevendays.jpeg','Hotel Seven Days photo');
91 <h2>Pilot Deployment</h2>
92 <p>The initial pilot deployment of this gateway is running since 2004 in
93 @{[ hotel_href 'Hotel Seven Days' ]}.</p>
94 HERE
95
96
97 exit;
98 }
99 1;