Пример #1
0
 function m_deleteTemp()
 {
     $comFunc = new c_commonFunctions();
     $comFunc->obDb = $this->obDb;
     $this->obDb->query = "SELECT count(*) as cnt  FROM " . TEMPCART . " WHERE  vSessionId='" . $this->sessionId . "'";
     $rowCount = $this->obDb->fetchQuery();
     $this->obDb->query = "SELECT iTmpCartId_PK,iQty,iProdId_FK,iUseinventory,P.iBackorder,vDownloadablefile  FROM " . TEMPCART . " AS T," . PRODUCTS . " AS P WHERE  vSessionId='" . $this->sessionId . "' AND iProdId_FK=iProdId_PK";
     #FLAG TO INDICATE SEPERATE BACKORDER AND NORMAL ORDER
     $_SESSION['backOrderSeperate'] = $this->libFunc->ifSet($_SESSION, 'backOrderSeperate', '0');
     #FLAG TO INDICATE WHETHER PROCESSING BACKORDER OR NOT
     $_SESSION['backOrderProcess'] = $this->libFunc->ifSet($_SESSION, 'backOrderProcess', '0');
     if ($_SESSION['backOrderSeperate'] == 1 && $_SESSION['backOrderProcess'] == 1) {
         $this->obDb->query .= " AND T.iBackOrder='1'";
     } elseif ($_SESSION['backOrderSeperate'] == 1) {
         $this->obDb->query .= " AND T.iBackOrder<>'1'";
     }
     $rowCart = $this->obDb->fetchQuery();
     $rsCount = $this->obDb->record_count;
     if ($rsCount > 0) {
         for ($i = 0; $i < $rsCount; $i++) {
             #CHECK FOR DOWNLOADABLE FILE
             if (!empty($rowCart[$i]->vDownloadablefile)) {
                 if ($this->libFunc->m_checkFileExist($rowCart[$i]->vDownloadablefile, "files")) {
                     $downloadUrl = $this->libFunc->m_safeUrl(SITE_URL . "index.php?action=download&mode=" . $rowCart[$i]->vDownloadablefile);
                     $this->fileLink .= "<a href='" . $downloadUrl . "'>" . $downloadUrl . "</a><br /><br />";
                 }
             }
             #UPDATING QUANTITY
             if (STOCK_CHECK == 1 && ($rowCart[$i]->iUseinventory == 1 && $rowCart[$i]->iBackorder != 1)) {
                 $this->obDb->query = "UPDATE " . PRODUCTS . " SET iInventory=iInventory - " . $rowCart[$i]->iQty . " WHERE  iProdId_PK\t='" . $rowCart[$i]->iProdId_FK . "'";
                 $this->obDb->updateQuery();
             }
             #SEND STOCK EMAIL
             $comFunc->productId = $rowCart[$i]->iProdId_FK;
             $comFunc->m_sendStockMail();
             $this->obDb->query = "SELECT vOptVal,iProdId_Fk FROM " . TEMPOPTIONS . " WHERE  iTmpCartId_FK='" . $rowCart[$i]->iTmpCartId_PK . "'";
             $rowOpt = $this->obDb->fetchQuery();
             $rsOptCount = $this->obDb->record_count;
             if ($rsOptCount > 0) {
                 for ($j = 0; $j < $rsOptCount; $j++) {
                     //Neetika Patch: Product Package
                     if ($rowOpt[$j]->vOptVal == "" && $rowOpt[$j]->iProdId_Fk != "") {
                         $this->obDb->query = "UPDATE " . PRODUCTS . " SET iInventory=iInventory - " . $rowCart[$i]->iQty . " WHERE  iProdId_PK\t='" . $rowOpt[$j]->iProdId_Fk . "'";
                         #TELL MOBI TO UPDATE INV
                         if (MOBICARTEN == "enabled") {
                             $this->obDb->query = "SELECT * FROM " . PRODUCTS . " WHERE iProdId_PK = '" . $rowOpt[$j]->iProdId_FK . "'";
                             $prodInfo = $this->obDb->fetchQuery();
                             mobi_upd_prod($prodInfo[0]->vTitle, $prodInfo[0]->vTitle, '', $prodInfo[0]->fprice, '', '', $prodInfo[0]->iInventory, $use_inventory);
                         }
                     } else {
                         #UPDATING QUANTITY
                         $this->obDb->query = "UPDATE " . OPTIONVALUES . " SET iInventory=iInventory - " . $rowCart[$i]->iQty . " WHERE iOptionValueid_PK='" . $rowOpt[$j]->vOptVal . "'";
                     }
                     $this->obDb->updateQuery();
                 }
             }
             #DELETE TEMP OPTIONS ENTRIES FROM DATABASE
             $this->obDb->query = "DELETE FROM " . TEMPOPTIONS . " WHERE  iTmpCartId_FK='" . $rowCart[$i]->iTmpCartId_PK . "'";
             $this->obDb->updateQuery();
             $this->obDb->query = "SELECT iTmpChoiceId_FK FROM " . TEMPCHOICES . " WHERE  iTmpCartId_FK='" . $rowCart[$i]->iTmpCartId_PK . "'";
             $rowChoice = $this->obDb->fetchQuery();
             $rsChoiceCount = $this->obDb->record_count;
             if ($rsChoiceCount > 0) {
                 for ($k = 0; $k < $rsChoiceCount; $k++) {
                     #UPDATING QUANTITY
                     $this->obDb->query = "UPDATE " . CHOICES . " SET iInventory=iInventory - " . $rowCart[$i]->iQty . " WHERE  iChoiceid_PK='" . $rowChoice[$k]->iTmpChoiceId_FK . "'";
                     $this->obDb->updateQuery();
                 }
             }
             #DELETE TEMP CHOICES FROM DATABASE
             $this->obDb->query = "DELETE FROM " . TEMPCHOICES . " WHERE  iTmpCartId_FK='" . $rowCart[$i]->iTmpCartId_PK . "'";
             $this->obDb->updateQuery();
             #DELEET TEMP CART
             $this->obDb->query = "DELETE FROM " . TEMPCART . " WHERE vSessionId='" . $this->sessionId . "'";
             #FLAG TO INDICATE WHETHER PROCESSING BACKORDER OR NOT
             $_SESSION['backOrderProcess'] = $this->libFunc->ifSet($_SESSION, 'backOrderProcess', '0');
             if ($_SESSION['backOrderSeperate'] == 1 && $_SESSION['backOrderProcess'] == 1) {
                 $this->obDb->query .= " AND iBackOrder='1'";
             } elseif ($_SESSION['backOrderSeperate'] == 1) {
                 $this->obDb->query .= " AND iBackOrder<>'1'";
             }
             $this->obDb->updateQuery();
         }
         #end for
     }
     #end if
     if ($rowCount[0]->cnt == $rsCount || $rowCount[0]->cnt == "0") {
         #DELETE FROM SESSION
         foreach ($_SESSION as $sid => $svalue) {
             $notDestroyArrray = array('cssSelectedFile', 'userid', 'uid', 'username', 'uname', 'email');
             if (!in_array($sid, $notDestroyArrray)) {
                 unset($_SESSION[$sid]);
             }
         }
     }
 }