function mapItemDetailToDB($Detail, $always_process_foreign_transactions = false) { //#type $Detail TransactionType // echo "<pre>";print_r($Detail);echo"</pre>";#die(); $data['item_id'] = $Detail->Item->ItemID; $data['transaction_id'] = $Detail->TransactionID; $data['date_created'] = self::convertEbayDateToSql($Detail->CreatedDate); $data['price'] = $Detail->TransactionPrice->value; $data['quantity'] = $Detail->QuantityPurchased; $data['buyer_userid'] = @$Detail->Buyer->UserID; $data['buyer_name'] = @$Detail->Buyer->RegistrationAddress->Name; $data['buyer_email'] = @$Detail->Buyer->Email; $data['eBayPaymentStatus'] = $Detail->Status->eBayPaymentStatus; $data['CheckoutStatus'] = $Detail->Status->CheckoutStatus; $data['ShippingService'] = @$Detail->ShippingServiceSelected->ShippingService; //$data['ShippingAddress_Country'] = $Detail->Buyer->BuyerInfo->ShippingAddress->Country; //$data['ShippingAddress_Zip'] = $Detail->Buyer->BuyerInfo->ShippingAddress->PostalCode; $data['ShippingAddress_City'] = @$Detail->Buyer->BuyerInfo->ShippingAddress->CityName; $data['PaymentMethod'] = $Detail->Status->PaymentMethodUsed; $data['CompleteStatus'] = $Detail->Status->CompleteStatus; $data['LastTimeModified'] = self::convertEbayDateToSql($Detail->Status->LastTimeModified); $data['OrderLineItemID'] = $Detail->OrderLineItemID; $data['site_id'] = $this->site_id; $data['account_id'] = $this->account_id; $auction_item = ListingsModel::getItemByEbayID($Detail->Item->ItemID); // skip items not found in listings if ($listingItem) { $data['post_id'] = $listingItem->post_id; $data['item_title'] = $listingItem->auction_title; WPLE()->logger->info("process transaction #" . $Detail->TransactionID . " for item '" . $data['item_title'] . "' - #" . $Detail->Item->ItemID); WPLE()->logger->info("post_id: " . $data['post_id']); } else { $data['post_id'] = false; $data['item_title'] = $Detail->Item->Title; // only skip if foreign_transactions option is disabled if (get_option('wplister_foreign_transactions') != 1 && !$always_process_foreign_transactions) { WPLE()->logger->info("skipped transaction #" . $Detail->TransactionID . " for foreign item #" . $Detail->Item->ItemID); $this->addToReport('skipped', $data); return false; } else { WPLE()->logger->info("IMPORTED transaction #" . $Detail->TransactionID . " for foreign item #" . $Detail->Item->ItemID); } } // avoid empty transaction id if (intval($data['transaction_id']) == 0) { // use negative OrderLineItemID to separate from real TransactionIDs $data['transaction_id'] = 0 - str_replace('-', '', $data['OrderLineItemID']); } // use buyer name from shipping address if registration address is empty if ($data['buyer_name'] == '') { $data['buyer_name'] = @$Detail->Buyer->BuyerInfo->ShippingAddress->Name; } // save GetSellerTransactions reponse in details $data['details'] = self::encodeObject($Detail); return $data; }
public function showSiteDetails($id) { // init model $sitesModel = new SitesModel(); // get transaction record $transaction = $sitesModel->getItem($id); // get auction item record $auction_item = ListingsModel::getItemByEbayID($transaction['item_id']); $aData = array('transaction' => $transaction, 'auction_item' => $auction_item); $this->display('transaction_details', $aData); }