|
From: Ruediger H. <hae...@us...> - 2005-07-26 09:32:59
|
Update of /cvsroot/pn-commerce/pn-commerce In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8590 Modified Files: pnadminapi.php pnadmin.php Log Message: finish code for recalculating ordered quantities of all items Index: pnadminapi.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pnadminapi.php,v retrieving revision 1.181 retrieving revision 1.182 diff -C2 -d -r1.181 -r1.182 *** pnadminapi.php 12 Jul 2005 13:14:57 -0000 1.181 --- pnadminapi.php 26 Jul 2005 09:32:49 -0000 1.182 *************** *** 2481,2523 **** */ - // unfinished code // - function pncommerce_adminapi_rebuildOrderedQuantity() { ! if( !pnModAPILoad( 'pncommerce', 'user' ) ) { return showerrorpage("unable to load pnuserapi", __FILE__, __LINE__); - } if (!pnSecAuthAction(0, 'pncommerce::', "::", ACCESS_ADMIN)) { return showerrorpage(_PNC_NOAUTH, __FILE__, __LINE__); - } // get the number of orders in the db ! $ordercount = pnModAPIFunc( 'pncommerce', 'user', 'gethighidfromDB', ! array( 'table' => 'orders', ! 'indexfield' => 'OrderNumber' ) ); ! if( $ordercount > 0 ) { ! for($i=1;$i<=$ordercount;$i++) { // read the userid for order $i ! list( $UserID ) = pnModAPIFunc( 'pncommerce', 'user', 'readfromDB', ! array( 'table' => 'orders', ! 'fields' => array( 'UserID' ), ! 'required' => array( 'OrderNumber', $i ) ) ); ! $order = pnModAPIFunc( 'pncommerce', 'user', 'getOrder', ! array( 'ON' => $i, ! 'KID' => $UserID ) ); ! if( $order <> false ) { // cycle through the order items ! foreach( $order['CartItems'] as $Item ) { ! } } } return true; } --- 2481,2540 ---- */ function pncommerce_adminapi_rebuildOrderedQuantity() { ! if (!pnModAPILoad('pncommerce', 'user')) { return showerrorpage("unable to load pnuserapi", __FILE__, __LINE__); } if (!pnSecAuthAction(0, 'pncommerce::', "::", ACCESS_ADMIN)) { return showerrorpage(_PNC_NOAUTH, __FILE__, __LINE__); } + + // Array to store itemIDs and their ordered quantities + $orderedItems = array(); + // get the number of orders in the db ! $ordercount = pnModAPIFunc('pncommerce', 'user', 'gethighidfromDB', ! array('table' => 'orders', ! 'indexfield' => 'OrderNumber')); ! if ($ordercount > 0) { ! for ($i = 1; $i <= $ordercount; $i++) { // read the userid for order $i ! list($UserID) = pnModAPIFunc('pncommerce', 'user', 'readfromDB', ! array('table' => 'orders', ! 'fields' => array('UserID'), ! 'required' => array('OrderNumber', $i))); ! $order = pnModAPIFunc('pncommerce', 'user', 'getOrder', ! array('ON' => $i, ! 'KID' => $UserID)); ! // only count items of orders which haven't been deleted ! if (($order <> false) && ($order['OrderStatus'] <> 99)) { // cycle through the order items ! foreach( $order['CartData']['Items'] as $cartItem ) { ! $itemID = $cartItem['ItemID']; ! $quantity = $cartItem['ItemQuantity']; ! if (isset($orderedItems[$itemID])) ! { ! $orderedItems[$itemID] += $quantity; ! } ! else ! { ! $orderedItems[$itemID] = $quantity; ! } } } } + + // update the QuantityOrdered in the items table + foreach($orderedItems as $itemId => $quantity) + { + $sql = 'UPDATE ' . pnConfigGetVar('prefix') . '_pncommerce_items SET QuantityOrdered = ' . $quantity . ' WHERE ItemID = ' . $itemId; + pncommerce_userapi_executesqlDB(array('sql' => $sql)); + } return true; } Index: pnadmin.php =================================================================== RCS file: /cvsroot/pn-commerce/pn-commerce/pnadmin.php,v retrieving revision 1.263 retrieving revision 1.264 diff -C2 -d -r1.263 -r1.264 *** pnadmin.php 13 Jul 2005 15:49:18 -0000 1.263 --- pnadmin.php 26 Jul 2005 09:32:50 -0000 1.264 *************** *** 2797,2801 **** { // rebuild OrderedQuantity ! // $res = pnModAPIFunc( 'pncommerce', 'admin', 'rebuildOrderedQuantity' ); } // make the shop active again --- 2797,2801 ---- { // rebuild OrderedQuantity ! $res = pnModAPIFunc( 'pncommerce', 'admin', 'rebuildOrderedQuantity' ); } // make the shop active again |