The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ShopCard - Create and process ShopCard within MySQL DB

VERSION

ShopCard.pm ver.1.0

DESCRIPTION

    ShopCard allows you to create and process ShopCards

SYNOPSIS

 There is an example that you may use in your own CGI scripts:

 # --- Script begin here ---
 use ShopCard;

 # NOTE: new() method will create needed DB structure in MySQL (database & tables) if they not exist!
 #       Please create database before execute this script or DB USER must have privilege to create DBs!
 
 $sid = '54929429823023450234';

 $obj = ShopCard->new(database => 'shopdb', user => 'db_user', pass => 'db_pass',
                      host => 'localhost', id=>$sid);
      # OR
      # $obj = ShopCard->new(dbh => $mysql_dbh_handler, id=>$sid);
 
 if($obj)
   {
    $id = $obj->add(product_id=>'8',quantity=>'2',price=>'19',discount=>'0',total=>'38',expire=>'40m','id'=>$sid);
    $obj->update_expire('id'=>$sid,'expire'=>'2h');
    print "<HR>";
    my @res = $obj->find('search'=>'8','sort'=>'EXPIRE','by'=>'PRODUCT_ID','multiple'=>YES,
                         'partial'=>NO,'reverse'=>NO);
   if(scalar(@res))
     {
      foreach $l (@res)
       {
         my ($uid,$id,$card_name,$product_id,$quantity,$price,$discount,$total,$currency,$expire) = @$l;
         print "UID:     $uid<BR>\n";
         print "ID:      $id<BR>\n";
         print "CARD:    $card_name<BR>\n";
         print "PRODUCT: $product_id<BR>\n";
         print "QNT:     $quantity<BR>\n";
         print "PRICE:   $price<BR>\n";
         print "DISC:    $discount<BR>\n";
         print "TOTAL:   $total<BR>\n";
         print "CURR:    $currency<BR>\n";
         print "EXPIRE:  $expire<BR>\n";
         print "<HR>";
       }
     }
   }
  else
   {
    print $ShopCard::error;
   }

 # --- Script ends here ---

SYNTAX

 That is simple function reference:
 
 $object = ShopCard->new(database=>'shopdb', user=>'db_user', pass=>'db_pass', host=>'localhost', 
                         port=>'3306', create=>'Y', checkdb=>'Y', name=>'shop', card_name=>'default',
                         dbh=>$connect_db_handler, id=>'session_card_id);
    Where:
    database  - is your DB where ShopCard (tables) will be placed. If database not exist module
                will try to create one for you, using supplied user and password. [REQUIRED if $dbh empty]
    user/pass - is your DB user and password [REQUIRED if $dbh empty]
    host      - MySQL DB host
    port      - your MySQL port
    create    - module will attempt to create DB and/or tables
    checkdb   - module will try to check DB structure
    name      - name of shop object
    dbh       - you can supply already connected database handler instead of database/user/pass/host/port!
    card_name - name of shopcard (multilevel name)
    id        - session/card id [REQUIRED]

AUTHOR

 Julian Lishev - Bulgaria, Sofia, 
 e-mail: julian@proscriptum.com, 
 www.proscriptum.com