use strict; use HTML::Entities (); package Pos::Webtop::Web::OEM::20::Box; my %types = ( default => { borderWidth=> 1, # only used if border true border=> 1, # true or false topicClass=> "BOXTOPIC", topicAlign=> "left", class=> "BOXTD1", align=> "left", valign=> "top", padding=> 2 }, contentModulePreview => { borderWidth=> 1, # only used if border true border=> 1, # true or false topicClass=> "CLMPREVIEWTITLE", topicAlign=> "left", class=> "CLMPREVIEW", align=> "left", valign=> "top", padding=> 2 }, prefModule => { borderWidth=> 1, # only used if border true border=> 1, # true or false topicClass=> "BOXTOPIC", topicAlign=> "left", class=> "PREFMODULEBOX", align=> "left", valign=> "top", padding=> 4 }, webTheme => { borderWidth=> 1, # only used if border true border=> 1, # true or false topicClass=> "WEBTHEMEBOXTOPIC", topicAlign=> "left", class=> "WEBTHEMEBOX", align=> "left", valign=> "top", padding=> 2 } ); sub new { my $this = shift; my $class = ref($this) || $this; my ($self,$title,$type,$width) = @{{@_}}{qw/self title type width/}; if ( not defined $self ) { $self = {}; bless($self,$class); } $title = "Webtop" unless defined $title; $type = "default" unless defined $type; $type = "default" if not exists $types{$type}; $self->{'title'} = $title; $self->{'type'} = $types{$type}; $self->{'width'} = $width; return $self; } sub getHeaderHtml { my $self = shift; my ($title) = @{{@_}}{qw/title/}; $title = $self->{'title'} unless defined $title; my $type = $self->{'type'}; my $cp = $type->{'padding'}; my $cs; my $st; my $tc = $type->{'topicClass'}; my $ta = $type->{'topicAlign'}; my $bc = $type->{'class'}; my $ba = $type->{'align'}; my $bv = $type->{'valign'}; if ( $type->{'border'} ) { $st = "background: #ebf0f6;"; $cs = $type->{'borderWidth'}; } my $ret = "
| $title |
|---|
| "; return $ret; } sub getFooterHtml() { my $ret = ""; $ret .= " |