Source for file basket.phpinc

Documentation is available at basket.phpinc

  1. <?php
  2. /** ##################################
  3.   *
  4.   *     project:     GNU PORTAL / CMS / SHOP
  5.   *     module:       shop/basket.phpinc
  6.   *
  7.   *     (c) 2003 by Landesverlag Unternehmensservice
  8.   *     p.krebs@lvus.at
  9.   *
  10.   * ##################################
  11. **/
  12.  
  13.  
  14.     session_start();
  15.  
  16.     // initialization:
  17.  
  18.     if (!isset($_GET['cmd']))         $_GET['cmd']="";
  19.     if (!isset($_SESSION['USER_ID'])) $_SESSION['USER_ID']=0;
  20.     if (!isset($_SESSION['BASKET']))  $_SESSION['BASKET']="";
  21.     if (!isset($_SESSION['BAS_ID']))  $_SESSION['BAS_ID']=0;
  22.  
  23.     $bas_items  FALSE;
  24.     $bas_arr    FALSE;
  25.  
  26.     if (!isset($SEC_REQ['PUBLIC'])) {
  27.         $SEC_REQ['PUBLIC']=(intval($_SESSION['USER_ID']FALSE :TRUE);
  28.     }
  29.     $SEC_REQ['DBCONN']=TRUE;
  30.     include $PROJECT['PHPINCPATH']."user/checkuser.phpinc";
  31.  
  32.     $GLOBALS['DEBUGMODE'FALSE;
  33.  
  34.     if (intval($_SESSION['USER_ID'])) {
  35.         $query="SELECT c.* FROM T_CLI_CLIENT c, T_CLI_USER cu WHERE cu.USR_ID=".intval($_SESSION['USER_ID'])." AND c.CLI_ID=cu.CLI_ID";
  36.         $client=$USRDB->quickQuery($query);
  37.         if ((!intval($_SESSION['BAS_ID'])) && (intval($_POST['CREATENEWBASKET']|| intval($_GET['CREATENEWBASKET']))) {
  38.             $bas_arr array();
  39.             $bas_arr['USR_ID'$_SESSION['USER_ID'];
  40.             $bas_arr['CLI_ID'$client['CLI_ID'];
  41.             require_once $GLOBALS['PHPINCPATH']."common/pcf_Date.phpclass";
  42.             $aDate new pcf_Date();
  43.             $bas_arr['BAS_NAME']      ="WK ".$aDate->dateStr();
  44.             $bas_arr['BAS_CREATEDATE']=$aDate->getMySqlTimeStamp();
  45.             $_SESSION['BAS_ID']=$USRDB->insertArray("T_BASKET",$bas_arr);
  46.         }
  47.  
  48.     else {
  49.         $client=FALSE;
  50.     }
  51.  
  52.     switch($_GET['cmd']{
  53.         case "add":
  54.             if (isset($_GET['PAR_ID'])) {
  55.                 die("ADD PART NOT JET IMPLEMENTED");
  56.             else if ((isset($_GET['ITEM'])) && (is_array($_GET['ITEM']))) {
  57.                 die("ADD ITEM NOT JET IMPLEMENTED");
  58.             else {
  59.                 die("NODATA");
  60.             }
  61.         case "delete":
  62.             if (intval($_SESSION['BAS_ID'])) {
  63.                 $cmd="DELETE FORM T_BASKET_ITEM WHERE BAS_ID=".intval($_SESSION['BAS_ID']);
  64.                 $USRDB->executeCmd($cmd);
  65.                 $cmd="DELETE FROM T_BASKET WHERE BAS_ID=".intval($_SESSION['BAS_ID']);
  66.                 $USRDB->executeCmd($cmd);
  67.             }
  68.             // no break to get a new basket
  69.         case "new":
  70.             $_SESSION['BAS_ID']=0;
  71.             // no break because we have to clear the old basket to
  72.         case "clear":
  73.             $_SESSION['BASKET']="";
  74.             break;
  75.         case "update":
  76.             $bas_items=array();
  77.             while(list($key,$val)=each($_POST['ITEM'])) {
  78.                 if (intval($val['BIT_QUANT'])) {
  79.                     $bas_items[$key]=$val;
  80.                 }
  81.             }
  82.             if (intval($_SESSION['BAS_ID'])) {
  83.                 $cmd="DELETE FROM T_BASKET_ITEM WHERE BAS_ID=".intval($_SESSION['BAS_ID']);
  84.                 $USRDB->executeCmd($cmd);
  85.                 reset($bas_items);$insArr=array();
  86.                 while(list($key,$val)=each($bas_items)) {
  87.                     // echo "<pre>";print_r($val);"</pre>";
  88.                     $val['BAS_ID']=intval($_SESSION['BAS_ID']);
  89.                     if (intval($val['BIT_QUANT'])) {
  90.                         if ($key=$USRDB->insertArray("T_BASKET_ITEM",$val,$GLOBALS['DEBUGMODE'])) {
  91.                             $insArr[$key]=$val;
  92.                         }
  93.                     }
  94.                 }
  95.                 $bas_items=$insArr;
  96.                 if (!empty($_POST['BAS_NAME'])) {
  97.                     $cmd="UPDATE T_BASKET SET BAS_NAME=".DB_getSlashedValue($_POST['BAS_NAME']);
  98.                     $cmd.=" WHERE BAS_ID=".intval($_SESSION['BAS_ID']);
  99.                     $USRDB->executeCmd($cmd);
  100.                 }
  101.             }
  102.             break;
  103.         case "open":
  104.             if (isset($_GET['BAS_ID'])) {
  105.                 $query="SELECT * FROM T_BASKET WHERE BAS_ID=".intval($_GET['BAS_ID'])." AND USR_ID=".intval($_SESSION['USER_ID']);
  106.                 if ($bas_arr=$USRDB->quickQuery($query)) {
  107.                     $_SESSION['BAS_ID']=intval($bas_arr['BAS_ID']);
  108.                     $query="SELECT * FROM T_BASKET_ITEM WHERE BAS_ID=".$bas_arr['BAS_ID'];
  109.                     if ($cursor=$USRDB->query($query)) {
  110.                         while($row=$cursor->fetchArrayFld()) {
  111.                             $bas_items[$row['BIT_ID']]=$row;
  112.                         }
  113.                         $cursor->free();
  114.                     }
  115.                 }
  116.             }
  117.             break;
  118.         default:
  119.             if (!empty($_SESSION['BASKET'])) {
  120.                 $bas_items=unserialize(base64_decode($_SESSION['BASKET']));
  121.             else {
  122.                 $bas_items=array();
  123.             }
  124.     }
  125.  
  126.  
  127.     if ((intval($_SESSION['BAS_ID'])) && (!$bas_arr)) {
  128.         $query="SELECT * FROM T_BASKET WHERE BAS_ID=".intval($_SESSION['BAS_ID'])." AND USR_ID=".intval($_SESSION['USER_ID']);
  129.         if (!($bas_arr=$USRDB->quickQuery($query))) {
  130.             unset($_SESSION['BAS_ID']);
  131.         }
  132.     }
  133.  
  134.     if ($bas_items$_SESSION['BASKET']=base64_encode(serialize($bas_items));
  135.     ?>

Documentation generated on Thu, 08 Jan 2009 17:37:35 +0100 by phpDocumentor 1.4.0a2