PageRenderTime 61ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 1ms

/application/views/pages/admin/ordersifrogzsz.php

https://bitbucket.org/chadsaun/ifrogz-panel
PHP | 1454 lines | 1362 code | 44 blank | 48 comment | 181 complexity | 0905215871f244849d370d19f6365e4c MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. //This code is copyright (c) Internet Business Solutions SL, all rights reserved.
  3. //The contents of this file are protect under law as the intellectual property of Internet
  4. //Business Solutions SL. Any use, reproduction, disclosure or copying of any kind
  5. //without the express and written permission of Internet Business Solutions SL is forbidden.
  6. //Author: Vince Reid, vince@virtualred.net
  7. include('init.php');
  8. include(APPPATH.'views/pages/admin/cartmisc.php');
  9. include_once(IFZROOT.'kohana.php');
  10. session_register('order_id_commas');
  11. $lisuccess=0;
  12. if(@$dateadjust=="") $dateadjust=0;
  13. if(@$dateformatstr == "") $dateformatstr = "m/d/Y";
  14. $admindatestr="Y-m-d";
  15. if(@$admindateformat=="") $admindateformat=0;
  16. if($admindateformat==1)
  17. $admindatestr="m/d/Y";
  18. elseif($admindateformat==2)
  19. $admindatestr="d/m/Y";
  20. if(@$storesessionvalue=="") $storesessionvalue="virtualstore".time();
  21. if(@$_GET["doedit"]=="true") $doedit=TRUE; else $doedit=FALSE;
  22. function editfunc($data,$col,$size){
  23. global $doedit;
  24. if($doedit) return('<input type="text" id="' . $col . '" name="' . $col . '" value="' . str_replace('"','&quot;',$data) . '" size="' . $size . '">'); else return($data);
  25. }
  26. function editnumeric($data,$col,$size){
  27. global $doedit;
  28. if($doedit) return('<input type="text" id="' . $col . '" name="' . $col . '" value="' . number_format($data,2,'.','') . '" size="' . $size . '">'); else return(FormatEuroCurrency($data));
  29. }
  30. if(@$_SESSION["loggedon"] != $storesessionvalue && trim(@$_COOKIE["WRITECKL"])!=""){
  31. $config = RBI_Kohana::config('database.default_ifrogz');
  32. $config = $config['connection'];
  33. $db=mysql_connect($config['hostname'], $config['username'], $config['password']);
  34. mysql_select_db($config['database']) or die ('RBI connection failed.</td></tr></table></body></html>');
  35. $rbiSQL = 'SELECT *
  36. FROM employee
  37. WHERE username="'.mysql_real_escape_string(unstripslashes(trim(@$_COOKIE["WRITECKL"]))).'" and password="'.mysql_real_escape_string(unstripslashes(trim(@$_COOKIE["WRITECKP"]))).'"';
  38. $rs_rbi = mysql_query($rbiSQL);
  39. if(mysql_num_rows($rs_rbi) > 0) {
  40. @$_SESSION["loggedon"] = $storesessionvalue;
  41. }else{
  42. $lisuccess=2;
  43. }
  44. mysql_free_result($rs_rbi);
  45. include(APPPATH.'views/partials/admin/dbconnection.php');
  46. }
  47. if(($_SESSION["loggedon"] != $storesessionvalue && $lisuccess!=2) || @$disallowlogin==TRUE) exit();
  48. if(@$htmlemails==TRUE) $emlNl = "<br />"; else $emlNl="\n";
  49. if($lisuccess==2){
  50. ?>
  51. <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="" align="center">
  52. <tr>
  53. <td width="100%">
  54. <table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="">
  55. <tr>
  56. <td width="100%" colspan="4" align="center"><p>&nbsp;</p><p>&nbsp;</p>
  57. <p><strong><?php print $yyOpFai?></strong></p><p>&nbsp;</p>
  58. <p><?php print $yyCorCoo?> <?php print $yyCorLI?> <a href="/admin/login.php"><?php print $yyClkHer?></a>.</p>
  59. </td>
  60. </tr>
  61. </table>
  62. </td>
  63. </tr>
  64. </table>
  65. <?php
  66. }else{
  67. $success=true;
  68. $alreadygotadmin = getadminsettings();
  69. if(@$_POST["updatestatus"]=="1"){
  70. mysql_query("UPDATE orders SET ordStatusInfo='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["ordStatusInfo"]))) . "' WHERE ordID=" . @$_POST["orderid"]) or print(mysql_error());
  71. }elseif(@$_GET["id"] != ""){
  72. if(@$_POST["delccdets"] != ""){
  73. mysql_query("UPDATE orders SET ordCNum='' WHERE ordID=" . @$_GET["id"]);
  74. }
  75. $sSQL = "SELECT cartProdId,cartProdName,cartProdPrice,cartQuantity,cartID FROM cart WHERE cartOrderID=" . $_GET["id"];
  76. $allorders = mysql_query($sSQL) or print(mysql_error());
  77. }else{
  78. // Delete old uncompleted orders.
  79. if($delccafter != 0){
  80. $sSQL = "UPDATE orders SET ordCNum='' WHERE ordDate<'" . date("Y-m-d H:i:s", time()-($delccafter*60*60*24)) . "'";
  81. mysql_query($sSQL) or print(mysql_error());
  82. }
  83. if($delAfter != 0){
  84. $sSQL = "SELECT cartOrderID,cartID FROM cart WHERE cartCompleted=0 AND cartDateAdded<'" . date("Y-m-d H:i:s", time()-($delAfter*60*60*24)) . "'";
  85. $result = mysql_query($sSQL) or print(mysql_error());
  86. if(mysql_num_rows($result)>0){
  87. $delStr="";
  88. $delOptions="";
  89. $addcomma = "";
  90. while($rs = mysql_fetch_assoc($result)){
  91. $delStr .= $addcomma . $rs["cartOrderID"];
  92. $delOptions .= $addcomma . $rs["cartID"];
  93. $addcomma = ",";
  94. }
  95. mysql_query("DELETE FROM orders WHERE ordID IN (" . $delStr . ")") or print(mysql_error());
  96. mysql_query("DELETE FROM cartoptions WHERE coCartID IN (" . $delOptions . ")") or print(mysql_error());
  97. mysql_query("DELETE FROM cart WHERE cartID IN (" . $delOptions . ")") or print(mysql_error());
  98. }
  99. mysql_free_result($result);
  100. }else{
  101. $sSQL = "SELECT cartOrderID,cartID FROM cart WHERE cartCompleted=0 AND cartOrderID=0 AND cartDateAdded<'" . date("Y-m-d H:i:s", time()-(3*60*60*24)) . "'";
  102. $result = mysql_query($sSQL) or print(mysql_error());
  103. if(mysql_num_rows($result)>0){
  104. $delStr="";
  105. $delOptions="";
  106. $addcomma = "";
  107. while($rs = mysql_fetch_assoc($result)){
  108. $delStr .= $addcomma . $rs["cartOrderID"];
  109. $delOptions .= $addcomma . $rs["cartID"];
  110. $addcomma = ",";
  111. }
  112. mysql_query("DELETE FROM cartoptions WHERE coCartID IN (" . $delOptions . ")") or print(mysql_error());
  113. mysql_query("DELETE FROM cart WHERE cartID IN (" . $delOptions . ")") or print(mysql_error());
  114. }
  115. mysql_free_result($result);
  116. }
  117. $numstatus=0;
  118. $sSQL = "SELECT statID,statPrivate FROM orderstatus WHERE statPrivate<>'' ORDER BY statID";
  119. $result = mysql_query($sSQL) or print(mysql_error());
  120. while($rs = mysql_fetch_assoc($result)){
  121. $allstatus[$numstatus++]=$rs;
  122. }
  123. mysql_free_result($result);
  124. }
  125. if(@$_POST["updatestatus"]=="1"){
  126. ?>
  127. <script language="JavaScript" type="text/javascript">
  128. <!--
  129. setTimeout("history.go(-2);",1100);
  130. // -->
  131. </script>
  132. <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="" align="center">
  133. <tr>
  134. <td width="100%">
  135. <table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="">
  136. <tr>
  137. <td width="100%" colspan="4" align="center"><br /><strong><?php print $yyUpdSuc?></strong><br /><br /><?php print $yyNowFrd?><br /><br />
  138. <?php print $yyNoAuto?> <a href="javascript:history.go(-2)"><strong><?php print $yyClkHer?></strong></a>.<br /><br />
  139. <img src="/lib/images/misc/clearpixel.gif" width="300" height="3" alt="" /></td>
  140. </tr>
  141. </table>
  142. </td>
  143. </tr>
  144. </table>
  145. <?php
  146. }elseif(@$_POST["doedit"] == "true"){
  147. if(!empty($_POST['clone'])) {
  148. // GET ALL THE INFORMATION TO CLONE THE ORDER
  149. // - To clone an order we need to duplicate the order's information in the orders, cart, and cartoptions tables
  150. $aNewOrder = array();
  151. $sql_orders = "SELECT * FROM orders WHERE ordID = " . $_POST["orderid"] ;
  152. $res_orders = mysql_query($sql_orders) or print(mysql_error());
  153. $row_orders = mysql_fetch_assoc($res_orders);
  154. $aNewOrder["orders"] = $row_orders;
  155. $sql_cart = "SELECT * FROM cart c, cartoptions co
  156. WHERE c.cartID = co.coCartID
  157. AND c.cartOrderID = " . $_POST["orderid"] . "
  158. ORDER BY c.cartID, c.cartProdID";
  159. $res_cart = mysql_query($sql_cart) or print(mysql_error());
  160. $prod_id = '';
  161. $i=0;
  162. $j=0;
  163. $isfirst = true;
  164. while($row_cart = mysql_fetch_assoc($res_cart)) {
  165. if($isfirst) {
  166. $prod_id = $row_cart["cartProdID"];
  167. }
  168. if(($prod_id != $row_cart["cartProdID"]) && !$isfirst) {
  169. $i++;
  170. $j=0;
  171. $prod_id = $row_cart["cartProdID"];
  172. $aNewOrder["cart"][$i]["cartID"] = $row_cart["cartID"];
  173. $aNewOrder["cart"][$i]["cartSessionID"] = $row_cart["cartSessionID"];
  174. $aNewOrder["cart"][$i]["cartProdID"] = $row_cart["cartProdID"];
  175. $aNewOrder["cart"][$i]["cartProdName"] = $row_cart["cartProdName"];
  176. $aNewOrder["cart"][$i]["cartProdPrice"] = $row_cart["cartProdPrice"];
  177. $aNewOrder["cart"][$i]["cartDateAdded"] = $row_cart["cartDateAdded"];
  178. $aNewOrder["cart"][$i]["cartQuantity"] = $row_cart["cartQuantity"];
  179. $aNewOrder["cart"][$i]["cartOrderID"] = $row_cart["cartOrderID"];
  180. $aNewOrder["cart"][$i]["cartCompleted"] = $row_cart["cartCompleted"];
  181. $aNewOrder["cart"][$i]["cartCustID"] = $row_cart["cartCustID"];
  182. $aNewOrder["cart"][$i]["cartoptions"][$j]["coID"] = $row_cart["coID"];
  183. $aNewOrder["cart"][$i]["cartoptions"][$j]["coCartID"] = $row_cart["coCartID"];
  184. $aNewOrder["cart"][$i]["cartoptions"][$j]["coOptID"] = $row_cart["coOptID"];
  185. $aNewOrder["cart"][$i]["cartoptions"][$j]["coOptGroup"] = $row_cart["coOptGroup"];
  186. $aNewOrder["cart"][$i]["cartoptions"][$j]["coCartOption"] = $row_cart["coCartOption"];
  187. $aNewOrder["cart"][$i]["cartoptions"][$j]["coPriceDiff"] = $row_cart["coPriceDiff"];
  188. $aNewOrder["cart"][$i]["cartoptions"][$j]["coWeightDiff"] = $row_cart["coWeightDiff"];
  189. $aNewOrder["cart"][$i]["cartoptions"][$j]["coExtendShipping"] = $row_cart["coExtendShipping"];
  190. }else{
  191. $aNewOrder["cart"][$i]["cartID"] = $row_cart["cartID"];
  192. $aNewOrder["cart"][$i]["cartSessionID"] = $row_cart["cartSessionID"];
  193. $aNewOrder["cart"][$i]["cartProdID"] = $row_cart["cartProdID"];
  194. $aNewOrder["cart"][$i]["cartProdName"] = $row_cart["cartProdName"];
  195. $aNewOrder["cart"][$i]["cartProdPrice"] = $row_cart["cartProdPrice"];
  196. $aNewOrder["cart"][$i]["cartDateAdded"] = $row_cart["cartDateAdded"];
  197. $aNewOrder["cart"][$i]["cartQuantity"] = $row_cart["cartQuantity"];
  198. $aNewOrder["cart"][$i]["cartOrderID"] = $row_cart["cartOrderID"];
  199. $aNewOrder["cart"][$i]["cartCompleted"] = $row_cart["cartCompleted"];
  200. $aNewOrder["cart"][$i]["cartCustID"] = $row_cart["cartCustID"];
  201. $aNewOrder["cart"][$i]["cartoptions"][$j]["coID"] = $row_cart["coID"];
  202. $aNewOrder["cart"][$i]["cartoptions"][$j]["coCartID"] = $row_cart["coCartID"];
  203. $aNewOrder["cart"][$i]["cartoptions"][$j]["coOptID"] = $row_cart["coOptID"];
  204. $aNewOrder["cart"][$i]["cartoptions"][$j]["coOptGroup"] = $row_cart["coOptGroup"];
  205. $aNewOrder["cart"][$i]["cartoptions"][$j]["coCartOption"] = $row_cart["coCartOption"];
  206. $aNewOrder["cart"][$i]["cartoptions"][$j]["coPriceDiff"] = $row_cart["coPriceDiff"];
  207. $aNewOrder["cart"][$i]["cartoptions"][$j]["coWeightDiff"] = $row_cart["coWeightDiff"];
  208. $aNewOrder["cart"][$i]["cartoptions"][$j]["coExtendShipping"] = $row_cart["coExtendShipping"];
  209. $j++;
  210. }
  211. $isfirst = false;
  212. }
  213. //showarray($aNewOrder); exit();
  214. // UPDATE SOME OF THE INFORMATION FOR THE CLONED ORDER
  215. $aNewOrder["orders"]["ordID"] = '';
  216. $aNewOrder["orders"]["ordSessionID"] = session_id();
  217. $aNewOrder["orders"]["ordAuthNumber"] = 'CLONED';
  218. $aNewOrder["orders"]["ordTransID"] = 0;
  219. $aNewOrder["orders"]["ordShipping"] = 0;
  220. $aNewOrder["orders"]["ordStateTax"] = 0;
  221. $aNewOrder["orders"]["ordCountryTax"] = 0;
  222. $aNewOrder["orders"]["ordHSTTax"] = 0;
  223. $aNewOrder["orders"]["ordHandling"] = 0;
  224. $aNewOrder["orders"]["ordTotal"] = 0;
  225. $aNewOrder["orders"]["ordDate"] = date("Y-m-d H:i:s");
  226. $aNewOrder["orders"]["ordIP"] = $_SERVER['REMOTE_ADDR'];
  227. $aNewOrder["orders"]["ordDiscount"] = 0;
  228. $aNewOrder["orders"]["ordDiscountText"] = '';
  229. $aNewOrder["orders"]["ordStatus"] = 2;
  230. $aNewOrder["orders"]["ordStatusDate"] = date("Y-m-d H:i:s");
  231. $aNewOrder["orders"]["ordStatusInfo"] = '';
  232. $aNewOrder["orders"]["order_changed"] = 'no';
  233. for($i=0; $i<count($aNewOrder["cart"]); $i++) {
  234. $aNewOrder["cart"][$i]["cartSessionID"] = session_id();
  235. $aNewOrder["cart"][$i]["cartDateAdded"] = date("Y-m-d H:i:s");
  236. }
  237. //showarray($aNewOrder); exit();
  238. // CREATE CLONED ORDER
  239. $clone_error = false;
  240. $sql_cr_ord = "INSERT INTO orders ( ordSessionID , ordName , ordAddress , ordAddress2 , ordCity , ordState ,
  241. ordZip , ordCountry , ordEmail , ordPhone , ordShipName , ordShipAddress ,
  242. ordShipAddress2 , ordShipCity , ordShipState , ordShipZip , ordShipCountry ,
  243. ordAuthNumber , ordAffiliate , ordPayProvider , ordTransID , ordShipping ,
  244. ordStateTax , ordCountryTax , ordHSTTax , ordHandling , ordShipType , ordTotal ,
  245. ordDate , ordIP , ordDiscount , ordDiscountText , ordExtra1 , ordExtra2 , ordAddInfo ,
  246. ordCNum , ordComLoc , ordStatus , ordStatusDate , ordStatusInfo , ordPoApo ,
  247. ordShipPoApo , ordHowFound , ordSupportInfo , order_changed , ordPmtMessage ,
  248. ordCCType , ord_cert_id , ord_cert_amt , ordExtra3 , ordExtra4 , ordExtra5 , ordEID ,
  249. ordEOrderID )
  250. VALUES ( '".$aNewOrder["orders"]["ordSessionID"]."' ,
  251. '".$aNewOrder["orders"]["ordName"]."' , '".$aNewOrder["orders"]["ordAddress"]."' ,
  252. '".$aNewOrder["orders"]["ordAddress2"]."' , '".$aNewOrder["orders"]["ordCity"]."' ,
  253. '".$aNewOrder["orders"]["ordState"]."' , '".$aNewOrder["orders"]["ordZip"]."' ,
  254. '".$aNewOrder["orders"]["ordCountry"]."' , '".$aNewOrder["orders"]["ordEmail"]."' ,
  255. '".$aNewOrder["orders"]["ordPhone"]."' , '".$aNewOrder["orders"]["ordShipName"]."' ,
  256. '".$aNewOrder["orders"]["ordShipAddress"]."' , '".$aNewOrder["orders"]["ordShipAddress2"]."' ,
  257. '".$aNewOrder["orders"]["ordShipCity"]."' , '".$aNewOrder["orders"]["ordShipState"]."' ,
  258. '".$aNewOrder["orders"]["ordShipZip"]."' , '".$aNewOrder["orders"]["ordShipCountry"]."' ,
  259. '".$aNewOrder["orders"]["ordAuthNumber"]."' , '".$aNewOrder["orders"]["ordAffiliate"]."' ,
  260. '".$aNewOrder["orders"]["ordPayProvider"]."' , '".$aNewOrder["orders"]["ordTransID"]."' ,
  261. '".$aNewOrder["orders"]["ordShipping"]."' , '".$aNewOrder["orders"]["ordStateTax"]."' ,
  262. '".$aNewOrder["orders"]["ordCountryTax"]."' , '".$aNewOrder["orders"]["ordHSTTax"]."' ,
  263. '".$aNewOrder["orders"]["ordHandling"]."' , '".$aNewOrder["orders"]["ordShipType"]."' ,
  264. '".$aNewOrder["orders"]["ordTotal"]."' , '".$aNewOrder["orders"]["ordDate"]."' ,
  265. '".$aNewOrder["orders"]["ordIP"]."' , '".$aNewOrder["orders"]["ordDiscount"]."' ,
  266. '".$aNewOrder["orders"]["ordDiscountText"]."' , '".$aNewOrder["orders"]["ordExtra1"]."' ,
  267. '".$aNewOrder["orders"]["ordExtra2"]."' , '".mysql_real_escape_string($aNewOrder["orders"]["ordAddInfo"])."' ,
  268. '".$aNewOrder["orders"]["ordCNum"]."' , '".$aNewOrder["orders"]["ordComLoc"]."' ,
  269. '".$aNewOrder["orders"]["ordStatus"]."' , '".$aNewOrder["orders"]["ordStatusDate"]."' ,
  270. '".mysql_real_escape_string($aNewOrder["orders"]["ordStatusInfo"])."' , '".$aNewOrder["orders"]["ordPoApo"]."' ,
  271. '".$aNewOrder["orders"]["ordShipPoApo"]."' , '".$aNewOrder["orders"]["ordHowFound"]."' ,
  272. '".mysql_real_escape_string($aNewOrder["orders"]["ordSupportInfo"])."' , '".$aNewOrder["orders"]["order_changed"]."' ,
  273. '".$aNewOrder["orders"]["ordPmtMessage"]."' , '".$aNewOrder["orders"]["ordCCType"]."' ,
  274. '".$aNewOrder["orders"]["ord_cert_id"]."' , '".$aNewOrder["orders"]["ord_cert_amt"]."' ,
  275. '".$aNewOrder["orders"]["ordExtra3"]."' , '".$aNewOrder["orders"]["ordExtra4"]."' ,
  276. '".$aNewOrder["orders"]["ordExtra5"]."' , '".$aNewOrder["orders"]["ordEID"]."' ,
  277. '".$aNewOrder["orders"]["ordEOrderID"]."' )";
  278. //echo $sql_cr_ord; exit();
  279. $res_cr_ord = mysql_query($sql_cr_ord);
  280. if(!$res_cr_ord) {
  281. print(mysql_error());
  282. $clone_error = true;
  283. }
  284. $ordID = mysql_insert_id();
  285. $aNewOrder["orders"]["ordID"] = $ordID;
  286. if(!$clone_error) {
  287. for($i=0; $i<count($aNewOrder["cart"]); $i++) {
  288. $aNewOrder["cart"][$i]["cartOrderID"] = $ordID;
  289. $sql_cr_cart = "INSERT INTO cart ( cartSessionID , cartProdID , cartProdName , cartProdPrice , cartDateAdded ,
  290. cartQuantity , cartOrderID , cartCompleted )
  291. VALUES ( '".session_id()."' , '".$aNewOrder["cart"][$i]["cartProdID"]."' ,
  292. '".$aNewOrder["cart"][$i]["cartProdName"]."' , '".$aNewOrder["cart"][$i]["cartProdPrice"]."' ,
  293. '".date("Y-m-d H:i:s")."' , '".$aNewOrder["cart"][$i]["cartQuantity"]."' ,
  294. '".$aNewOrder["cart"][$i]["cartOrderID"]."' , 1 )";
  295. //echo $sql_cr_cart; exit();
  296. $res_cr_cart = mysql_query($sql_cr_cart) or print(mysql_error());
  297. $cart_id = mysql_insert_id();
  298. $aNewOrder["cart"][$i]["cartID"] = $cart_id;
  299. for($j=0; $j<count($aNewOrder["cart"][$i]["cartoptions"]); $j++) {
  300. $sql_cr_cartoptions = "INSERT INTO cartoptions ( coCartID , coOptID , coOptGroup , coCartOption , coPriceDiff ,
  301. coWeightDiff , coExtendShipping )
  302. VALUES ( ".$aNewOrder["cart"][$i]["cartID"]." ,
  303. ".$aNewOrder["cart"][$i]["cartoptions"][$j]["coOptID"]." ,
  304. '".$aNewOrder["cart"][$i]["cartoptions"][$j]["coOptGroup"]."' ,
  305. '".$aNewOrder["cart"][$i]["cartoptions"][$j]["coCartOption"]."' ,
  306. ".$aNewOrder["cart"][$i]["cartoptions"][$j]["coPriceDiff"]." ,
  307. ".$aNewOrder["cart"][$i]["cartoptions"][$j]["coWeightDiff"]." ,
  308. '".$aNewOrder["cart"][$i]["cartoptions"][$j]["coExtendShipping"]."' )";
  309. //echo $sql_cr_cartoptions; exit();
  310. $res_cr_cartoptions = mysql_query($sql_cr_cartoptions) or print(mysql_error());
  311. }
  312. }
  313. // UPDATE INVENTORY
  314. $sSQL="SELECT cartID,cartProdID,cartQuantity,pSell FROM cart INNER JOIN products ON cart.cartProdID=products.pID WHERE cartOrderID='" . $ordID . "'";
  315. $result1 = mysql_query($sSQL) or print(mysql_error());
  316. while($rs1 = mysql_fetch_array($result1)){
  317. if(($rs1["pSell"] & 2) == 2){
  318. // Determine extended shipping
  319. $sSQL2 = "SELECT coID,optStock,cartQuantity,coOptID,optExtend_shipping,optMin FROM cart INNER JOIN cartoptions ON cart.cartID=cartoptions.coCartID INNER JOIN options ON cartoptions.coOptID=options.optID INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE (optType=2 OR optType=-2";
  320. // ADDED by Chad - Fix to allow quantity change for custom screenz
  321. if(eregi("^[a-z]{1,3}-Custom$",$pID)) {
  322. $sSQL2 .= " OR optType=3";
  323. }
  324. // ADD ENDED
  325. $sSQL2 .= ") AND cartID='" . $rs1['cartID'] . "'";
  326. $result2 = mysql_query($sSQL2) or print(mysql_error());
  327. if(mysql_num_rows($result2)>0){
  328. while($rs2 = mysql_fetch_assoc($result2)){
  329. $pInStock = (int)$rs2["optStock"]+1000;
  330. $actualpInStock = (int)$rs2["optStock"];
  331. $extend_shipping = $rs2["optExtend_shipping"];//extends shipping time, displayed in the cart
  332. $min = $rs2["optMin"];//sets how many in stock above zero the extend_shipping is displayed in the cart
  333. $coID = $rs2["coID"];
  334. $totQuant = 0;
  335. $cartQuantity = (int)$rs2["cartQuantity"];
  336. $sSQL3 = "SELECT SUM(cartQuantity) AS cartQuant FROM cart INNER JOIN cartoptions ON cart.cartID=cartoptions.coCartID WHERE cartCompleted=0 AND cartCustID=0 AND coOptID=" . $rs2["coOptID"];
  337. $result3 = mysql_query($sSQL3) or print(mysql_error());
  338. if($rs3 = mysql_fetch_assoc($result3))
  339. if(! is_null($rs3["cartQuant"])) $totQuant = (int)$rs3["cartQuant"];
  340. mysql_free_result($result3);
  341. $extend='';
  342. //echo '<div style"position:absolute; z-index:100;>actual='.$actualpInStock.' total qty='.$totQuant. ' cart qty='.$cartQuantity.' min='. $min. ' new qty='.abs((int)$objValue).'</div>';
  343. if(($actualpInStock - $totQuant + $cartQuantity - $min) < 0) {
  344. $extend = $extend_shipping;
  345. }
  346. $sql_co="UPDATE cartoptions SET coExtendShipping='$extend' WHERE coID=".$coID;
  347. mysql_query($sql_co);
  348. }
  349. }
  350. // End of Determine extended shipping
  351. $sSQL = "SELECT coOptID FROM cartoptions INNER JOIN options ON cartoptions.coOptID=options.optID INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE (optType=2 OR optType=-2) AND coCartID=" . $rs1["cartID"];
  352. $result2 = mysql_query($sSQL) or print(mysql_error());
  353. while($rs2 = mysql_fetch_array($result2)){
  354. $sql = "SELECT * FROM options WHERE optID = " . $rs2["coOptID"];
  355. $res = mysql_query($sql);
  356. $options = mysql_fetch_assoc($res);
  357. $sSQL = "UPDATE options SET optStock=optStock-" . $rs1["cartQuantity"] . " WHERE optID=" . $rs2["coOptID"];
  358. mysql_query($sSQL) or print(mysql_error());
  359. $sql = "SELECT p.*
  360. FROM products p
  361. JOIN prodoptions po ON p.pID = po.poProdID
  362. JOIN optiongroup og ON po.poOptionGroup = og.optGrpID
  363. JOIN options o ON og.optGrpID = o.optGroup
  364. WHERE o.optID = '".$rs2["coOptID"]."'";
  365. $res = mysql_query($sql);
  366. $prod = mysql_fetch_assoc($res);
  367. $prodstyle = $prod["pID"] . "-" . $options['optStyleID'];
  368. $newvalue = $options['optStock'] - $rs1["cartQuantity"];
  369. // RECORD INVENTORY CHANGE
  370. $sql3 = "INSERT INTO inv_adjustments (iaOptID, iaAmt, iaDate, iaProdStyle, iaOldValue, iaNewValue, iareason, iaEmpID)
  371. VALUES (".$rs2["coOptID"].", -".$rs1["cartQuantity"].", '".date('Y-m-d H:i:s')."', '$prodstyle', ".$options['optStock'].", $newvalue, 8, '".$_SESSION['employee']['id']."')";
  372. $res3 = mysql_query($sql3);
  373. }
  374. mysql_free_result($result2);
  375. }else{
  376. $sSQL = "UPDATE products SET pInStock=pInStock-" . $rs1["cartQuantity"] . " WHERE pID='" . $rs1["cartProdID"] . "'";
  377. mysql_query($sSQL) or print(mysql_error());
  378. }
  379. }
  380. mysql_free_result($result1);
  381. // INSERT LOCATION
  382. setNewLocation(2,$ordID);
  383. }
  384. if($clone_error) {
  385. $pg_msg = "There was a problem cloning your order.";
  386. }else{
  387. $pg_msg = "Your order has been cloned successfully.";
  388. ?>
  389. <script language="JavaScript" type="text/javascript">
  390. <!--
  391. //setTimeout("history.go(-2);",1100);
  392. setTimeout("window.location='/admin/orders.php?id=<?=$ordID?>&doedit=true'",4000);
  393. // -->
  394. </script>
  395. <?php
  396. }
  397. if(!$clone_error) {
  398. $auto_link = "/admin/orders.php?id=$ordID&doedit=true";
  399. }else{
  400. $auto_link = "/admin/orders.php";
  401. }
  402. ?>
  403. <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="" align="center">
  404. <tr>
  405. <td width="100%">
  406. <table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="">
  407. <tr>
  408. <td width="100%" colspan="4" align="center"><br /><strong><?=$pg_msg?></strong><br /><br />You will now be forwarded to view the order.<br /><br />
  409. <?php print $yyNoAuto?> <a href="<?=$auto_link?>"><strong><?php print $yyClkHer?></strong></a>.<br /><br />
  410. <img src="/lib/images/misc/clearpixel.gif" width="300" height="3" alt="" /></td>
  411. </tr>
  412. </table>
  413. </td>
  414. </tr>
  415. </table>
  416. <?php
  417. }else{
  418. $OWSP = "";
  419. $sSQL = "SELECT ordSessionID FROM orders WHERE ordID='" . $_POST["orderid"] . "'";
  420. $result = mysql_query($sSQL) or print(mysql_error());
  421. $rs = mysql_fetch_array($result);
  422. $thesessionid = $rs["ordSessionID"];
  423. mysql_free_result($result);
  424. $sSQL = "UPDATE orders SET ";
  425. $sSQL .= "ordName='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["name"]))) . "',";
  426. $sSQL .= "ordAddress='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["address"]))) . "',";
  427. if(@$useaddressline2==TRUE) $sSQL .= "ordAddress2='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["address2"]))) . "',";
  428. $sSQL .= "ordCity='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["city"]))) . "',";
  429. $sSQL .= "ordPoApo='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["APO"]))) . "',";
  430. $sSQL .= "ordState='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["state"]))) . "',";
  431. $sSQL .= "ordZip='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["zip"]))) . "',";
  432. $sSQL .= "ordCountry='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["country"]))) . "',";
  433. $sSQL .= "ordEmail='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["email"]))) . "',";
  434. $sSQL .= "ordPhone='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["phone"]))) . "',";
  435. $sSQL .= "ordShipName='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["sname"]))) . "',";
  436. $sSQL .= "ordShipAddress='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["saddress"]))) . "',";
  437. if(@$useaddressline2==TRUE) $sSQL .= "ordShipAddress2='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["saddress2"]))) . "',";
  438. $sSQL .= "ordShipCity='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["scity"]))) . "',";
  439. $sSQL .= "ordShipPoApo='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["ShipAPO"]))) . "',";
  440. $sSQL .= "ordShipState='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["sstate"]))) . "',";
  441. $sSQL .= "ordShipZip='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["szip"]))) . "',";
  442. $sSQL .= "ordShipCountry='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["scountry"]))) . "',";
  443. $sSQL .= "ordShipType='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["shipmethod"]))) . "',";
  444. $sSQL .= "ordIP='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["ipaddress"]))) . "',";
  445. $ordComLoc = 0;
  446. if(trim(@$_POST["commercialloc"])=="Y") $ordComLoc = 1;
  447. if(trim(@$_POST["wantinsurance"])=="Y") $ordComLoc += 2;
  448. $sSQL .= "ordComLoc=" . $ordComLoc . ",";
  449. $sSQL .= "ordAffiliate='" . trim(@$_POST["PARTNER"]) . "',";
  450. $sSQL .= "ordAddInfo='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["ordAddInfo"]))) . "',";
  451. $sSQL .= "ordStatusInfo='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["ordStatusInfo"]))) . "',";
  452. $sSQL .= "ordSupportInfo='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["ordSupportInfo"]))) . "',";
  453. $sSQL .= "order_changed='yes',";
  454. $sSQL .= "ordDiscountText='" . mysql_real_escape_string(trim(unstripslashes(@$_POST["discounttext"]))) . "',";
  455. $sSQL .= "ordExtra1='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["ordextra1"]))) . "',";
  456. $sSQL .= "ordExtra2='" . mysql_real_escape_string(unstripslashes(trim(@$_POST["ordextra2"]))) . "',";
  457. $sSQL .= "ordShipping='" . mysql_real_escape_string(trim(@$_POST["ordShipping"])) . "',";
  458. $sSQL .= "ordStateTax='" . mysql_real_escape_string(trim(@$_POST["ordStateTax"])) . "',";
  459. $sSQL .= "ordCountryTax='" . mysql_real_escape_string(trim(@$_POST["ordCountryTax"])) . "',";
  460. if(@$canadataxsystem==TRUE) $sSQL .= "ordHSTTax='" . mysql_real_escape_string(trim(@$_POST["ordHSTTax"])) . "',";
  461. $sSQL .= "ordDiscount='" . mysql_real_escape_string(trim(@$_POST["ordDiscount"])) . "',";
  462. $sSQL .= "ordHandling='" . mysql_real_escape_string(trim(@$_POST["ordHandling"])) . "',";
  463. $sSQL .= "ordAuthNumber='" . mysql_real_escape_string(trim(@$_POST["ordAuthNumber"])) . "',";
  464. $sSQL .= "ordTransID='" . mysql_real_escape_string(trim(@$_POST["ordTransID"])) . "',";
  465. $sSQL .= "ordTotal='" . mysql_real_escape_string(trim(@$_POST["ordtotal"])) . "',";
  466. $sSQL .= "ord_cert_amt='" . mysql_real_escape_string(trim(@$_POST["ord_cert_amt"])) . "'";
  467. $sSQL .= " WHERE ordID='" . $_POST["orderid"] . "'";
  468. mysql_query($sSQL) or print(mysql_error());
  469. foreach($_POST as $objItem => $objValue){
  470. //print $objItem . " : " . $objValue . "<br>";
  471. if(substr($objItem,0,6)=="prodid"){
  472. $idno = (int)substr($objItem, 6);
  473. $cartid = trim(@$_POST["cartid" . $idno]);
  474. $prodid = trim(@$_POST["prodid" . $idno]);
  475. $quant = trim(@$_POST["quant" . $idno]);
  476. $theprice = trim(@$_POST["price" . $idno]);
  477. $prodname = trim(@$_POST["prodname" . $idno]);
  478. $delitem = trim(@$_POST["del_" . $idno]);
  479. if($delitem=="yes"){
  480. mysql_query("DELETE FROM cart WHERE cartID=" . $cartid) or print(mysql_error());
  481. mysql_query("DELETE FROM cartoptions WHERE coCartID=" . $cartid) or print(mysql_error());
  482. $cartid = "";
  483. }elseif($cartid != ""){
  484. $sSQL = "UPDATE cart SET cartProdID='" . mysql_real_escape_string(trim(unstripslashes($prodid))) . "',cartProdPrice=" . $theprice . ",cartProdName='" . mysql_real_escape_string(trim(unstripslashes($prodname))) . "',cartQuantity=" . $quant . " WHERE cartID=" . $cartid;
  485. mysql_query($sSQL) or print(mysql_error());
  486. mysql_query("DELETE FROM cartoptions WHERE coCartID=" . $cartid) or print(mysql_error());
  487. }else{
  488. $sSQL = "INSERT INTO cart (cartSessionID,cartProdID,cartQuantity,cartCompleted,cartProdName,cartProdPrice,cartOrderID,cartDateAdded) VALUES (";
  489. $sSQL .= "'" . $thesessionid . "',";
  490. $sSQL .= "'" . mysql_real_escape_string(trim(unstripslashes($prodid))) . "',";
  491. $sSQL .= $quant . ",";
  492. $sSQL .= "1,";
  493. $sSQL .= "'" . mysql_real_escape_string(trim(unstripslashes($prodname))) . "',";
  494. $sSQL .= "'" . $theprice . "',";
  495. $sSQL .= @$_POST["orderid"] . ",";
  496. $sSQL .= "'" . date("Y-m-d H:i:s", time() + ($dateadjust*60*60)) . "')";
  497. mysql_query($sSQL) or print(mysql_error());
  498. $cartid = mysql_insert_id();
  499. }
  500. if($cartid != ""){
  501. $optprefix = "optn" . $idno . '_';
  502. $prefixlen = strlen($optprefix);
  503. foreach($_POST as $kk => $kkval){
  504. if(substr($kk,0,$prefixlen)==$optprefix && trim($kkval) != ''){
  505. $optidarr = split('\|', $kkval);
  506. $optid = $optidarr[0];
  507. if(@$_POST["v" . $kk] == ""){
  508. $sSQL="SELECT optID,".getlangid("optGrpName",16).",".getlangid("optName",32)."," . $OWSP . "optPriceDiff,optWeightDiff,optType,optFlags FROM options LEFT JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE optID='" . mysql_real_escape_string($kkval) . "'";
  509. $result = mysql_query($sSQL) or print(mysql_error());
  510. if($rs = mysql_fetch_array($result)){
  511. if(abs($rs["optType"]) != 3){
  512. $sSQL = "INSERT INTO cartoptions (coCartID,coOptID,coOptGroup,coCartOption,coPriceDiff,coWeightDiff) VALUES (" . $cartid . "," . $rs["optID"] . ",'" . mysql_real_escape_string($rs[getlangid("optGrpName",16)]) . "','" . mysql_real_escape_string($rs[getlangid("optName",32)]) . "',";
  513. $sSQL .= $optidarr[1] . ",0)";
  514. }else
  515. $sSQL = "INSERT INTO cartoptions (coCartID,coOptID,coOptGroup,coCartOption,coPriceDiff,coWeightDiff) VALUES (" . $cartid . "," . $rs["optID"] . ",'" . mysql_real_escape_string($rs[getlangid("optGrpName",16)]) . "','',0,0)";
  516. mysql_query($sSQL) or print(mysql_error());
  517. }
  518. mysql_free_result($result);
  519. }else{
  520. $sSQL="SELECT optID,".getlangid("optGrpName",16).",".getlangid("optName",32)." FROM options LEFT JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE optID='" . mysql_real_escape_string($kkval) . "'";
  521. $result = mysql_query($sSQL) or print(mysql_error());
  522. $rs = mysql_fetch_array($result);
  523. $sSQL = "INSERT INTO cartoptions (coCartID,coOptID,coOptGroup,coCartOption,coPriceDiff,coWeightDiff) VALUES (" . $cartid . "," . $rs["optID"] . ",'" . mysql_real_escape_string($rs[getlangid("optGrpName",16)]) . "','" . mysql_real_escape_string(unstripslashes(trim(@$_POST["v" . $kk]))) . "',0,0)";
  524. mysql_query($sSQL) or print(mysql_error());
  525. mysql_free_result($result);
  526. }
  527. }
  528. }
  529. }
  530. }
  531. }
  532. ?>
  533. <script language="JavaScript" type="text/javascript">
  534. <!--
  535. setTimeout("history.go(-2);",1100);
  536. // -->
  537. </script>
  538. <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="" align="center">
  539. <tr>
  540. <td width="100%">
  541. <table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="">
  542. <tr>
  543. <td width="100%" colspan="4" align="center"><br /><strong><?php print $yyUpdSuc?></strong><br /><br /><?php print $yyNowFrd?><br /><br />
  544. <?php print $yyNoAuto?> <a href="javascript:history.go(-2)"><strong><?php print $yyClkHer?></strong></a>.<br /><br />
  545. <img src="/lib/images/misc/clearpixel.gif" width="300" height="3" alt="" /></td>
  546. </tr>
  547. </table>
  548. </td>
  549. </tr>
  550. </table>
  551. <?php
  552. }
  553. ?>
  554. <tr>
  555. <td align="center" colspan="6">&nbsp;<br /></td>
  556. </tr>
  557. </table>
  558. </td>
  559. </tr>
  560. <?php if($isprinter && @$invoicefooter != ""){ ?>
  561. <tr>
  562. <td width="100%"><?php print $invoicefooter?></td>
  563. </tr>
  564. <?php }elseif($doedit){ ?>
  565. <tr>
  566. <td align="center" width="100%">&nbsp;<br />&nbsp;<br />
  567. &nbsp;</td>
  568. </tr>
  569. <?php } ?>
  570. </table>
  571. <?php
  572. if($doedit) print '</form>';
  573. if($doedit){
  574. // ADDED by Chad Jun-06-06
  575. // PRICE ADJUSTMENTS
  576. ?>
  577. </table>
  578. <?php
  579. if(strstr($_SESSION['employee']['permissions'],"all") || $_SESSION['employee']['id']==9 || $_SESSION['employee']['id']==12 || $_SESSION['employee']['id']==2) {
  580. ?>
  581. <div id="div_trans" style="display: none">
  582. <form id="aim_frm" name="aim_frm" method="post" action="/admin/ordersprocess.php" onsubmit="return checkAIM(this);">
  583. <table cellpadding="3" cellspacing="0" border="1" style="margin: 5px auto 5px auto; border: 1px solid #BFC9E0; border-collapse: collapse">
  584. <tr style="background-color: #BFC9E0; color: #194C7F">
  585. <td colspan="4" style="text-align: center; font-weight: bold; font-size: 14px">Credit or Void a Transaction</td>
  586. </tr>
  587. <tr>
  588. <th style="text-align: center">Type</th>
  589. <th style="text-align: center">TXN</th>
  590. <th style="text-align: center">Amount</th>
  591. <th>Note</th>
  592. </tr>
  593. <tr>
  594. <td valign="top">
  595. <select name="aim_type" id="aim_type">
  596. <option value="" selected="selected">Choose...</option>
  597. <option value="CREDIT">Credit</option>
  598. <option value="VOID">Void</option>
  599. </select>
  600. </td>
  601. <td valign="top"><input type="text" id="aim_txn" name="aim_txn" value="" autocomplete="off" /></td>
  602. <td valign="top"><input type="text" id="aim_amt" name="aim_amt" value="" autocomplete="off" /></td>
  603. <td valign="top"><textarea id="aim_note" name="aim_note"></textarea></td>
  604. </tr>
  605. <tr>
  606. <td colspan="4" style="text-align: right"><input type="submit" id="aim_submit" name="aim_submit" value="Submit" /></td>
  607. </tr>
  608. </table>
  609. <input type="hidden" id="aim_inv" name="aim_inv" value="<?=$_GET["id"]?>" />
  610. <?php
  611. $tmp = explode(" ",$alldata["ordName"]);
  612. ?>
  613. <input type="hidden" id="aim_fname" name="aim_fname" value="<?=$tmp[0]?>" />
  614. <input type="hidden" id="aim_lname" name="aim_lname" value="<?=(!empty($tmp[1]))?$tmp[1]:''?>" />
  615. <input type="hidden" id="aim_doedit" name="aim_doedit" value="<?=$_GET['doedit']?>" />
  616. </form>
  617. </div>
  618. <div id="div_charge" style="display: none">
  619. <?php
  620. if(!empty($alldata["ordEID"])){
  621. $sql_eid="SELECT * FROM customers WHERE custID=".$alldata["ordEID"];
  622. $result_eid=mysql_query($sql_eid);
  623. if(mysql_num_rows($result_eid)>0){
  624. $row_eid=mysql_fetch_assoc($result_eid);
  625. }
  626. }
  627. ?>
  628. <form id="frmCharge" name="frmCharge" method="post" action="/admin/ordersprocess.php">
  629. <table cellpadding="3" cellspacing="0" border="1" style="margin: 5px auto 5px auto; border: 1px solid #BFC9E0; border-collapse: collapse">
  630. <tr style="background-color: #BFC9E0; color: #194C7F">
  631. <td colspan="2" style="font-size: 14px; font-weight: bold; text-align: center">Authorize &amp; Capture</td>
  632. </tr>
  633. <tr>
  634. <td>First Name:</td>
  635. <td><input type="text" id="am_fname" name="am_fname" value="<?=$row_eid['Name']?>" /></td>
  636. </tr>
  637. <tr>
  638. <td>Last Name:</td>
  639. <td><input type="text" id="am_lname" name="am_lname" value="" /></td>
  640. </tr>
  641. <tr>
  642. <td>Address:</td>
  643. <td><input type="text" id="am_address" name="am_address" value="<?=$row_eid['Address']?>" /></td>
  644. </tr>
  645. <tr>
  646. <td>Address 2:</td>
  647. <td><input type="text" id="am_address2" name="am_address2" value="<?=$row_eid['Address2']?>" /></td>
  648. </tr>
  649. <tr>
  650. <td>City:</td>
  651. <td><input type="text" id="am_city" name="am_city" value="<?=$row_eid['City']?>" /></td>
  652. </tr>
  653. <tr>
  654. <td>State:</td>
  655. <td><input type="text" id="am_state" name="am_state" value="<? if(!empty($row_eid['State2'])) echo $row_eid['State2']; else echo $row_eid['State']; ?>" /></td>
  656. </tr>
  657. <tr>
  658. <td>Zip:</td>
  659. <td><input type="text" id="am_zip" name="am_zip" value="<?=$row_eid['Zip']?>" /></td>
  660. </tr>
  661. <tr>
  662. <td>Amount:</td>
  663. <td><input type="text" id="am_amt" name="am_amt" value="" autocomplete="off" /></td>
  664. </tr>
  665. <tr>
  666. <td>CC#:</td>
  667. <td><input type="text" id="am_cc_num" name="am_cc_num" value="<?=Decrypt($row_eid['ccNum'], $cart_misc)?>" autocomplete="off" /></td>
  668. </tr>
  669. <tr>
  670. <td>Exp. Date:</td>
  671. <td>
  672. <select id="am_exp_mon" name="am_exp_mon">
  673. <?
  674. $ccexp=explode('/',$row_eid['ccExp']);
  675. for($i=1; $i<=12; $i++)
  676. {
  677. if($i<10)
  678. $i = '0'.$i;
  679. if($i == $ccexp[0])
  680. echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
  681. else if(date('n') == $i )
  682. echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
  683. else
  684. echo '<option value="'.$i.'">'.$i.'</option>';
  685. }
  686. ?>
  687. </select>&nbsp;/&nbsp;
  688. <select id="am_exp_year" name="am_exp_year">
  689. <?
  690. $cur_year = date('Y');
  691. for($i=($cur_year); $i<=$cur_year+10; $i++)
  692. {
  693. if($i == $ccexp[1])
  694. echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
  695. elseif(date('Y') == $i || $i==$ccexp[1])
  696. echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
  697. else
  698. echo '<option value="'.$i.'">'.$i.'</option>';
  699. }
  700. ?>
  701. </select>
  702. </td>
  703. </tr>
  704. <tr>
  705. <td>CCV:</td>
  706. <td><input type="text" id="am_ccv" name="am_ccv" value="<?=$row_eid['ccCCV']?>" autocomplete="off" /></td>
  707. </tr>
  708. <tr>
  709. <td colspan="2" style="text-align: center"><input type="submit" id="am_submit" name="am_submit" value="Submit" /></td>
  710. </tr>
  711. </table>
  712. <input type="hidden" id="am_inv" name="am_inv" value="<?=$_GET["id"]?>" />
  713. <input type="hidden" id="am_type" name="am_type" value="AUTH_CAPTURE" />
  714. <input type="hidden" id="am_doedit" name="am_doedit" value="<?=$_GET['doedit']?>" />
  715. </form>
  716. </div>
  717. <?php
  718. }
  719. } // End of User permission check
  720. // ADDED by Chad Apr-04-06
  721. // LOCATION HISTORY
  722. $qry = "SELECT * FROM location WHERE ordID = '".$_GET["id"]."'";
  723. $res = mysql_query($qry) or print(mysql_error());
  724. $i=0;
  725. while($row = mysql_fetch_assoc($res)) {
  726. $locations[$i++]=$row;
  727. }
  728. ?>
  729. <?php
  730. include(APPPATH.'views/partials/admin/dbconnection.php');
  731. // ADD ENDED
  732. // ADDED by Chad Apr-04-06
  733. // FEDEX TRACKING
  734. $qry = "SELECT * FROM fedex WHERE ordID = '".$_GET["id"]."'";
  735. $res = mysql_query($qry);
  736. if(mysql_num_rows($res) > 0) {
  737. $row = mysql_fetch_assoc($res);
  738. $trackNum = $row['trackNum'];
  739. if(!empty($trackNum)) {
  740. include(DOCROOT.'includes/fedex/fedexdc.php');
  741. $fed = new FedExDC();
  742. $track_Ret = $fed->track(
  743. array(
  744. '1537' => $trackNum, //Tracking Number
  745. '1534' =>'Y' // detail_scan_indicator (Show me all the tracking data)
  746. )
  747. );
  748. $ctr = 0;
  749. $hasChanged = false;
  750. $isDelivered = false;
  751. for($i=1; $i<=$track_Ret[1584]; $i++) {
  752. // See Customer Service Page for displaying results
  753. ?>
  754. <div style="margin: 10px auto; border: 2px solid #2C578A; width: 550px">
  755. <table align="center" width="550" border="0" cellpadding="3" cellspacing="0" style="font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif">
  756. <tr>
  757. <th colspan="2" style="font-size: 18px; background-color: #2C578A; color: #FFF; font-weight: bold; text-align: left">Fed<span style="margin-left: -3px; color: #FF6600">Ex</span></th>
  758. <th colspan="3" style="font-size: 14px; text-align: right; background-color: #2C578A; color: #FFF; font-weight: bold">Tracking# <?=$trackNum?></th>
  759. </tr>
  760. <?php
  761. if(!empty($track_Ret['1339-'.$i]))
  762. {
  763. $tmp_date = $track_Ret['1339-'.$i];
  764. $est_del = substr($tmp_date,0,4).'-'.substr($tmp_date,4,2).'-'.substr($tmp_date,6,2);
  765. ?>
  766. <tr>
  767. <td colspan="5" style="background-color: #2C578A; height: 15px">&nbsp;</td>
  768. </tr>
  769. <tr>
  770. <td colspan="5" style="background-color: #DFE7FF"><strong>Estimated Delivery Date:</strong> <?=date('M j, Y',strtotime($est_del))?></td>
  771. </tr>
  772. <?php
  773. }
  774. ?>
  775. <tr>
  776. <th align="left" width="150" colspan="2" style="background-color: #2C578A; color: #FFF; font-weight: bold">Date/Time</th>
  777. <th align="left" style="background-color: #2C578A; color: #FFF; font-weight: bold">Activity</th>
  778. <th align="left" style="background-color: #2C578A; color: #FFF; font-weight: bold">Location</th>
  779. <th align="left" style="background-color: #2C578A; color: #FFF; font-weight: bold">Details</th>
  780. </tr>
  781. <?php
  782. for($j=1; $j<=$track_Ret['1715-'.$i]; $j++)
  783. {
  784. $date = $track_Ret['1162-'.$i.'-'.$j];
  785. $year = substr($date,0,4);
  786. $mon = substr($date,4,2);
  787. $day = substr($date,6,2);
  788. $hrs = substr($track_Ret['1163-'.$i.'-'.$j],0,2);
  789. $min = substr($track_Ret['1163-'.$i.'-'.$j],2,2);
  790. $sec = substr($track_Ret['1163-'.$i.'-'.$j],4,2);
  791. $date = $year.'-'.$mon.'-'.$day.' '.$hrs.':'.$min.':'.$sec;
  792. $unixDate = strtotime($date);
  793. if(empty($track_Ret['1161-'.$i.'-'.$j]))
  794. {
  795. $state = $track_Ret['1164-'.$i.'-'.$j];
  796. }
  797. else
  798. {
  799. $state = $track_Ret['1161-'.$i.'-'.$j];
  800. }
  801. if(date('Ymd',$unixDate) != date('Ymd',$last_date))
  802. {
  803. $ctr++;
  804. $hasChanged = true;
  805. }
  806. if($track_Ret['1159-'.$i.'-'.$j] == 'Delivered' && empty($track_Ret['1711-'.$i.'-'.$j]))
  807. {
  808. $isDelivered = true;
  809. }
  810. ?>
  811. <tr style="background-color: #<?=($ctr%2==0)?'FFF':'DFE7FF'?>">
  812. <?php
  813. if($hasChanged)
  814. {
  815. ?>
  816. <td style="text-align: left" valign="top">
  817. <span style="font-weight: bold"><?=date('M j, Y',$unixDate)?></span>
  818. </td>
  819. <td valign="top" style="text-align: right; border-right: 1px solid #<?=($ctr%2!=0)?'FFF':'DFE7FF'?>"><?=date('g:i A',$unixDate)?></td>
  820. <?php
  821. $hasChanged = false;
  822. }
  823. else
  824. {
  825. ?>
  826. <td valign="top" colspan="2" style="text-align: right; border-right: 1px solid #<?=($ctr%2!=0)?'FFF':'DFE7FF'?>"><?=date('g:i A',$unixDate)?></td>
  827. <?php
  828. }
  829. ?>
  830. </td>
  831. <td valign="top" style="border-right: 1px solid #<?=($ctr%2!=0)?'FFF':'DFE7FF'?>"><?=($isDelivered)?'<strong>':''?><?=$track_Ret['1159-'.$i.'-'.$j]?><?=($isDelivered)?'</strong>':''?></td>
  832. <td valign="top" style="border-right: 1px solid #<?=($ctr%2!=0)?'FFF':'DFE7FF'?>"><?=$track_Ret['1160-'.$i.'-'.$j]?>, <?=$state?></td>
  833. <td valign="top"><?=$track_Ret['1711-'.$i.'-'.$j]?></td>
  834. </tr>
  835. <?php
  836. if($isDelivered)
  837. {
  838. $isDelivered = false;
  839. }
  840. $last_date = $unixDate;
  841. }
  842. }
  843. ?>
  844. </table>
  845. </div>
  846. <?php
  847. }
  848. }
  849. // ADD ENDED
  850. // ADDED by Chad Apr-03-06
  851. // DHL AND USPS TRACKING
  852. $qry = "SELECT * FROM dhl WHERE custPackID = '".$_GET["id"]."'";
  853. $res = mysql_query($qry) or print(mysql_error());
  854. if(mysql_num_rows($res) > 0) {
  855. $row = mysql_fetch_assoc($res);
  856. $trackNum = $row['DHLGMTrackNum'];
  857. if(!empty($trackNum)) {
  858. $ch = curl_init();
  859. curl_setopt($ch,CURLOPT_URL,"http://api.smartmail.com/tnt2.cfm?number=$trackNum&criteria=3&type=wddx&custid=rband&passwd=sm36732");
  860. //curl_setopt($ch, CURLOPT_POST, 1);
  861. curl_setopt($ch,CURLOPT_HEADER,0);
  862. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  863. //curl_setopt($ch, CURLOPT_POSTFIELDS, "number=$trackNum&criteria=3&type=wddx&custid=rband&passwd=sm36732");
  864. $res = curl_exec($ch);
  865. curl_close($ch);
  866. $info = wddx_deserialize($res);
  867. if(empty($info['Detail'][0])) { //If no errors
  868. ?><?php
  869. // CHECK USPS TRACKING INFO
  870. if(!empty($info['TRACK_DELV_CONF'][0])) {
  871. $ch = curl_init();
  872. curl_setopt($ch,CURLOPT_URL,"http://Production.ShippingAPIs.com/ShippingAPI.dll");
  873. curl_setopt($ch, CURLOPT_POST, 1);
  874. curl_setopt($ch,CURLOPT_HEADER,0);
  875. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  876. curl_setopt($ch, CURLOPT_POSTFIELDS, 'API=TrackV2&XML=<TrackFieldRequest USERID="268REMIN3619"><TrackID ID="'.$info['TRACK_DELV_CONF'][0].'"></TrackID></TrackFieldRequest>');
  877. $res = curl_exec($ch);
  878. curl_close($ch);
  879. include(APPPATH.'views/pages/admin/xml2array.php');
  880. $xmlData = new xml2array();
  881. $uspsData = $xmlData -> parseXMLintoarray($res);
  882. ?>
  883. <?php
  884. }
  885. }
  886. }
  887. }
  888. // ADD ENDED
  889. }else{
  890. $sSQL = "SELECT ordID FROM orders WHERE ordStatus=1";
  891. if(@$_POST["act"] != "purge") $sSQL .= " AND ordStatusDate<'" . date("Y-m-d H:i:s", time()-(3*60*60*24)) . "'";
  892. $result = mysql_query($sSQL) or print(mysql_error());
  893. while($rs = mysql_fetch_assoc($result)){
  894. $theid = $rs["ordID"];
  895. $delOptions = "";
  896. $addcomma = "";
  897. $result2 = mysql_query("SELECT cartID FROM cart WHERE cartOrderID=" . $theid) or print(mysql_error());
  898. while($rs2 = mysql_fetch_assoc($result2)){
  899. $delOptions .= $addcomma . $rs2["cartID"];
  900. $addcomma = ",";
  901. }
  902. if($delOptions != ""){
  903. $sSQL = "DELETE FROM cartoptions WHERE coCartID IN (" . $delOptions . ")";
  904. mysql_query($sSQL) or print(mysql_error());
  905. }
  906. mysql_query("DELETE FROM cart WHERE cartOrderID=" . $theid) or print(mysql_error());
  907. mysql_query("DELETE FROM orders WHERE ordID=" . $theid) or print(mysql_error());
  908. }
  909. if(@$_POST["act"]=="authorize"){
  910. do_stock_management(trim($_POST["id"]));
  911. if(trim($_POST["authcode"]) != "")
  912. $sSQL = "UPDATE orders set ordAuthNumber='" . mysql_real_escape_string(trim($_POST["authcode"])) . "',ordStatus=3 WHERE ordID=" . $_POST["id"];
  913. else
  914. $sSQL = "UPDATE orders set ordAuthNumber='" . mysql_real_escape_string($yyManAut) . "',ordStatus=3 WHERE ordID=" . $_POST["id"];
  915. if(mysql_query($sSQL)) {
  916. if(!setNewLocation( 3 , $_POST["id"],'Manual' )) print("Unable to record status change.");
  917. }else{
  918. print(mysql_error());
  919. }
  920. mysql_query("UPDATE cart SET cartCompleted=1 WHERE cartOrderID=" . $_POST["id"]) or print(mysql_error());
  921. }elseif(@$_POST["act"]=="status"){
  922. $maxitems=(int)($_POST["maxitems"]);
  923. for($index=0; $index < $maxitems; $index++){
  924. $iordid = trim($_POST["ordid" . $index]);
  925. $ordstatus = trim($_POST["ordstatus" . $index]);
  926. $ordauthno = "";
  927. $oldordstatus=999;
  928. $result = mysql_query("SELECT ordStatus,ordAuthNumber,ordEmail,ordDate,".getlangid("statPublic",64).",ordStatusInfo,ordName FROM orders INNER JOIN orderstatus ON orders.ordStatus=orderstatus.statID WHERE ordID=" . $iordid) or print(mysql_error());
  929. if($rs = mysql_fetch_assoc($result)){
  930. $oldordstatus=$rs["ordStatus"];
  931. $ordauthno=$rs["ordAuthNumber"];
  932. $ordemail=$rs["ordEmail"];
  933. $orddate=strtotime($rs["ordDate"]);
  934. $oldstattext=$rs[getlangid("statPublic",64)];
  935. $ordstatinfo=$rs["ordStatusInfo"];
  936. $ordername=$rs["ordName"];
  937. }
  938. if(! ($oldordstatus==999) && ($oldordstatus < 3 && $ordstatus >=3)){
  939. // This is to force stock management
  940. mysql_query("UPDATE cart SET cartCompleted=0 WHERE cartOrderID=" . $iordid) or print(mysql_error());
  941. do_stock_management($iordid);
  942. mysql_query("UPDATE cart SET cartCompleted=1 WHERE cartOrderID=" . $iordid) or print(mysql_error());
  943. if($ordauthno=="") mysql_query("UPDATE orders SET ordAuthNumber='". mysql_real_escape_string($yyManAut) . "' WHERE ordID=" . $iordid) or print(mysql_error());
  944. }
  945. if(! ($oldordstatus==999) && ($oldordstatus >=3 && $ordstatus < 3)) release_stock($iordid);
  946. if($iordid != "" && $ordstatus != ""){
  947. if($oldordstatus != (int)$ordstatus && @$_POST["emailstat"]=="1"){
  948. $result = mysql_query("SELECT ".getlangid("statPublic",64)." FROM orderstatus WHERE statID=" . $ordstatus);
  949. if($rs = mysql_fetch_assoc($result))
  950. $newstattext = $rs[getlangid("statPublic",64)];
  951. $emailsubject = "Order status updated";
  952. if(@$orderstatussubject != "") $emailsubject=$orderstatussubject;
  953. $ose = $orderstatusemail;
  954. $ose = str_replace("%orderid%", $iordid, $ose);
  955. $ose = str_replace("%orderdate%", date($dateformatstr, $orddate), $ose);// . " " . date("H:i", $orddate), $ose);
  956. $ose = str_replace("%oldstatus%", $oldstattext, $ose);
  957. $ose = str_replace("%newstatus%", $newstattext, $ose);
  958. $thetime = time() + ($dateadjust*60*60);
  959. $ose = str_replace("%date%", date($dateformatstr, $thetime), $ose);// . " " . date("H:i", $thetime), $ose);
  960. $ose = str_replace("%statusinfo%", $ordstatinfo, $ose);
  961. $ose = str_replace("%ordername%", $ordername, $ose);
  962. $ose = str_replace("%nl%", $emlNl, $ose);
  963. if(@$customheaders == ""){
  964. $customheaders = "MIME-Version: 1.0\n";
  965. $customheaders .= "From: %from% <%from%>\n";
  966. if(@$htmlemails==TRUE)
  967. $customheaders .= "Content-type: text/html; charset=".$emailencoding."\n";
  968. else
  969. $customheaders .= "Content-type: text/plain; charset=".$emailencoding."\n";
  970. }
  971. $headers = str_replace('%from%',$emailAddr,$customheaders);
  972. $headers = str_replace('%to%',$ordemail,$headers);
  973. if((int)$ordstatus==9) {
  974. $ose = $orderstatusshippedemail;
  975. $ose = str_replace("%orderid%", $iordid, $ose);
  976. $ose = str_replace("%orderdate%", date($dateformatstr, $orddate) . " " . date("H:i", $orddate), $ose);
  977. $emailsubject = $orderstatusshippedsubject;
  978. }
  979. mail($ordemail, $emailsubject, $ose, $headers);
  980. }
  981. if($oldordstatus != (int)$ordstatus) {
  982. if(mysql_query("UPDATE orders SET ordStatus=" . $ordstatus . ",ordStatusDate='" . date("Y-m-d H:i:s", time() + ($dateadjust*60*60)) . "' WHERE ordID=" . $iordid)) {
  983. if(!setNewLocation( $ordstatus , $iordid ,'Manual' )) print("Unable to record status change.");
  984. }else{
  985. print(mysql_error());
  986. }
  987. }
  988. }
  989. }
  990. }
  991. if(@$_POST["sd"] != "")
  992. $sd = @$_POST["sd"];
  993. elseif(@$_GET["sd"] != "")
  994. $sd = @$_GET["sd"];
  995. else
  996. $sd = date($admindatestr, time() + ($dateadjust*60*60));
  997. if(@$_POST["ed"] != "")
  998. $ed = @$_POST["ed"];
  999. elseif(@$_GET["ed"] != "")
  1000. $ed = @$_GET["ed"];
  1001. else
  1002. $ed = date($admindatestr, time() + ($dateadjust*60*60));
  1003. $sd = parsedate($sd);
  1004. $ed = parsedate($ed);
  1005. if($sd > $ed) $ed = $sd;
  1006. $fromdate = trim(@$_POST["fromdate"]);
  1007. $todate = trim(@$_POST["todate"]);
  1008. $ordid = trim(str_replace('"',"",str_replace("'","",@$_POST["ordid"])));
  1009. $origsearchtext = trim(unstripslashes(@$_POST["searchtext"]));
  1010. $searchtext = trim(mysql_real_escape_string(unstripslashes(@$_POST["searchtext"])));
  1011. $ordstatus = "";
  1012. $sSQL = "SELECT cart.*, ordID,ordName,payProvName,ordDropshipSent,ordAuthNumber,ordDate,ordStatus,ordTotal-ordDiscount AS ordTot,ordTransID,order_changed,ordEID,ordAffiliate FROM cart,orders,payprovider,products WHERE cart.cartProdID=products.pID AND products.pPricing_group=3 AND payprovider.payPr…

Large files files are truncated, but you can click here to view the full file