Cyber Sprocket Labs > Postgres-Handler-HTML > Postgres::Handler::HTML

Download:
Postgres-Handler-HTML-1.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1   Source  

NAME ^

Postgres::Handler::HTML - HTML Component for PostgreSQL data.

DESCRIPTION ^

Accessors for PostgreSQL data. Simplifies data access through a series of standard class methods.

SYNOPSIS ^

 # Instantiate Object
 #
 use Postgres::Handler;
 my $DB = Postgres::Handler->new(dbname=>'products',dbuser=>'postgres',dbpass=>'pgpassword');
 
 # Retrieve Data & List Records
 #
 $DB->PrepLEX('SELECT * FROM products');
 while ($item=$DB->GetRecord()) {
     print "$item->{PROD_ID}\t$item->{PROD_TITLE}\t$item->{PROD_QTY}\n";
 }
 
 # Add / Update Record based on CGI Form
 # assuming objCGI is an instatiated CGI object
 # if the CGI param 'prod_id' is set we update
 # if it is not set we add
 #
 my %cgimap;
 foreach ('prod_id','prod_title','prod_qty') { $cgimap{$_} = $_; }
 $DB->AddUpdate( CGI=>$objCGI     , CGIKEY=>'prod_id', 
                 TABLE=>'products', DBKEY=>'prod_id',
                 hrCGIMAP=>\%cgimap
                );

EXAMPLE ^

 #!/usr/bin/perl
 #
 # Connect to the postgres XYZ database owned by user1/mypass
 # Set the primary key field for the abc table to the field named pkid
 # Print the contents of the fldone field in the abc table where the pkid=123
 #
 use Postgres::Handler::HTML;
 our $STORE = Postgres::Handler::HTML->new(dbname=>'xyz', dbuser=>'user1', dbpass=>'mypass');
 $STORE->data('abc!PGHkeyfld'=>'pkid');
 $STORE->ShowThe('abc!fldone',123);
 exit(1);

REQUIRES ^

        Subclass of Postgres::Handler

        Postgres::Handler
                 +- CGI::Carp
                 +- CGI::Util
                 +- Class::Struct
                 +- DBI

METHODS ^

CheckBox()

 Produce an HTML Checkbox for the specified boolean field

 Parameters
        TABLE                   =>      name of table to get data from
        CBNAME          =>      name to put on the checkbox, defaults to VALUE
        VALUE                   => field that contains the t/f use to set the checkmark
        LABEL                   => what to put next to the checkbox as a label (defaults to field name)
        KEY                     =>      value of the key used to lookup the data in the database
        CHECKED         => set to '1' to check by default if KEY not found
        SCRIPT          => script tags (or class tags) to add to checkbox HTML
        NOLABEL         => set to '1' to skip printing of label

 Action
 prints out the HTML Checkbox, checked if field is true

 Return
 0 = failure, sets error message, get with lasterror()
 1 = success

Pulldown()

 Produce an HTML pulldown menu for the specified table/fields

 Parameters
        TABLE                   =>       name of table to get data from
        PDNAME          =>       name to put on the pulldown, defaults to VALUE
        VALUE                   =>  which field we stick into the option values
        SHOW                    =>  which field we spit out on the selection menu, defaults to VALUE
        SELECT          =>  mark the one with this VALUE as selected
        ALLOWBLANK      => set to 1 to allow blank selection (noted as ---)
        ORDERBY         => special ordering, defaults to SHOW field
        WHERE                   => filtering selection clause (without WHERE, i.e. pdclass='class1')
        SCRIPT          => event script, such as 'onChange="DoSumthin();"'
        PREADD          => address to hashref of Add-ons for begining of list
                          key     = the value
                                                        content = show
        GROUP                   => group the data

 Action
 prints out the HTML pulldown

RadioButtons()

 Produce an HTML Radio Button menu for the specified table/fields

 Parameters
        TABLE                   =>       name of table to get data from
        RBNAME          =>       name to put on the pulldown, defaults to VALUE
        VALUE                   =>  which field we stick into the option values
        SHOW                    =>  which field we spit out on the menu, defaults to VALUE
        SELECT          =>  mark the one with this VALUE as selected
        ORDERBY         => special ordering, defaults to SHOW field
        WHERE                   => filtering selection clause (without WHERE, i.e. rbclass='class1')

 Action
 prints out the HTML Radio Buttons

ShowHeader()

 Display header for retrieved records in an HTML <table> row

 One of these 2 id required
 DATAREF                => reference to hash storing record 
 DISPCOLS       => reference to array of columns to show, defaults to hash key names

 Optional parameters
 FULLNAME       => set to 1 to show full field name, otherwise we trunc up to first _
 SORT                   => set to 1 to sort keys

ShowRecord()

 Display retrieved records in an HTML <table> row

 Parameters
 DATAREF                => reference to hash storing record (required)

 DATAMODREF     => reference to hash storing data modifiers
                                                The field specified by the hash key is replaced
                                                with the data specified in the value.
                                                Use $Record{???} to place the record field ??? within 
                                                the substitution string.                                                

                                                If the modifier starts with ~eval(<blah>) then the modifier
                                                evaluates <blah> and returns it's result.  For example:
                                                $datmodref{THISFIELD} = '~eval(substr($Record{FIELD},0,10))';
                                                would display the first 10 characters of the field.

 DISPLAYREF     => reference to hash storing special cell formats for
                                                each data element. Key = element, value = <td> modifier

 DISPCOLS       => reference to array of columns to show, defaults to hash key names

 TRIMDATES      => set to 'minute' or 'day' to trim date fields
                                                date fields are any ending in 'LASTUPDATE' 
 WRAP                   => set to 1 to allow data wrapping
 SORT                   => set to 1 to sort keys
 ASFORM         => set to 1 to show data as input form fields
 NOTABLE                => set to 1 to drop all table html tags
 OUTPUT         => output file handle
 ROWMOD         => modifier to <tr> row definition
 CELLMOD                => modifier to each <td> Cell definition

ValOrZero()

 Set these CGI parameters to 0 if not defined.  Used for checkbox
 form variables when we want to ensure the value is set to 0 (false)
 if they are not set via the CGI interface.

 HTML checkboxes are NOT passed to the CGI module if they are not
 checked, so this function helps us out by forcing the assumption
 that the CGI parameters passed here should be 0 if the are not
 received.

 Parameters
 [0] - the CGI variable
 [1] - an array of CGI parameters to be set

 Action
 Sets the named CGI parameters to 0 if they are not set, otherwise
 leaves the original value intact.

ShowThe

 Load the DB record and spit out the value of the specified field
Parameters
 Parameters are positional.

 Required
 <0> field name to be displayed in "table!field" format

 <1> key, lookup the record based on the Postgres::Handler key
          that has been set for this field.   Reference the
                         Postgres::Handler->Field method for more info.

 Optional
 [2] trim to this many characters

AUTHOR ^

 Cyber Sprocket Labs, Advanced Internet Technology Consultants
 Contact info@cybersprocket.com for more info.

ABOUT CSL ^

 Cyber Sprocket Labs (CSL) is and advanced internet technology
 consulting firm based in Charleston South Carolina.   We provide custom
 software, database, and consulting services for small to mid-sized
 businesses.

 For more information, or to schedule a consult, visit our website at
 www.cybersprocket.com

CONTRIBUTIONS ^

 Like the script and want to contribute?  
 You can send payments via credit card or bank transfer using
 PayPal and sending money to our paypal@cybersprocket.com PayPal address.

COPYRIGHT ^

 (c) 2008, Cyber Sprocket Labs
 This script is covered by the GNU GENERAL PUBLIC LICENSE.
 View the license at http://www.gnu.org/copyleft/gpl.html

REVISION HISTORY ^

 v1.0 - May 2008
      Attach to Postgres::Handler via use base() construct
      Cleaned up perldocs
      Build new distro so we can do routine updates

 v0.9 - January 2006
      GROUP option on Pulldown()
                Added some docs, minor code cleanup

 v0.8 - September 2005
                PREADD option on Pulldown()

 v0.7 - August 2005
      minor updates

 v0.6 - Jun 13 2005
      added script option to checkbox type
                added no label option to checkbox type

 v0.5 - Jun 09 2005
      moved under Postgres::Handler:: namespace
                initial CPAN release

 v0.4 - Apr 28 2005
                pod updates
                Updated CheckBox() w/ default 'checked' option
                Added ShowThe() method

 v0.1 - Dec/2004
      Initial private release
syntax highlighting: