package WebGUI::Style; =head1 LEGAL ------------------------------------------------------------------- WebGUI is Copyright 2001-2003 Plain Black LLC. ------------------------------------------------------------------- Please read the legal notices (docs/legal.txt) and the license (docs/license.txt) that came with this distribution before using this software. ------------------------------------------------------------------- http://www.plainblack.com info@plainblack.com ------------------------------------------------------------------- =cut use strict; use Tie::CPHash; use WebGUI::Session; use WebGUI::SQL; use WebGUI::Template; =head1 NAME Package WebGUI::Style =head1 DESCRIPTION This package contains utility methods for WebGUI's style system. =head1 SYNOPSIS use WebGUI::Style; $style = WebGUI::Style::get(); =head1 METHODS These subroutines are available from this package: =cut #------------------------------------------------------------------- =head2 get ( ) Returns a style based upon the current WebGUI session information. =cut sub get { my ($header, $footer, %style, $styleId, @body); tie %style, 'Tie::CPHash'; if ($session{form}{makePrintable}) { $styleId = $session{form}{style} || 3; } else { $styleId = $session{page}{styleId} || 2; } %style = WebGUI::SQL->quickHash("select * from style where styleId=$styleId"); @body = split(/\^\-\;/,$style{body}); $header = $session{setting}{docTypeDec}."\n".' '; $header .= $session{page}{title}.' - '.$session{setting}{companyName}; $header .= '' .$style{styleSheet}.$session{page}{metaTags}; if ($session{var}{adminOn}) { # This "triple incantation" panders to the delicate tastes of various browsers for reliable cache suppression. $header .= ''; $header .= ''; $header .= ''; } if ($session{page}{defaultMetaTags}) { $header .= ''; $header .= ''; } $header .= ''.$body[0]; $footer = $body[1].' '; return $header.$_[0].$footer; } 1;