/** * * * @param QuickBooks_Object $Product * @param mixed $ProductID * @return boolean */ protected function _integrateProduct($Product, $ProductID) { // Call a hook to indicate the order is being pushed to QuickBooks $hook_data = array('ProductID' => $ProductID, 'Product' => $Product); $this->_callHooks(QUICKBOOKS_SERVER_INTEGRATOR_HOOK_INTEGRATEPRODUCT, null, $user, null, $err, $hook_data); switch ($Product->object()) { case QUICKBOOKS_OBJECT_INVENTORYITEM: return $this->_api->addInventoryItem($Product, 'QuickBooks_Server_Integrator_Callbacks::addInventoryItem', $ProductID); case QUICKBOOKS_OBJECT_NONINVENTORYITEM: return $this->_api->addNonInventoryItem($Product, 'QuickBooks_Server_Integrator_Callbacks::addNonInventoryItem', $ProductID); case QUICKBOOKS_OBJECT_SERVICEITEM: return $this->_api->addServiceItem($Product, 'QuickBooks_Server_Integrator_Callbacks::addServiceItem', $ProductID); case QUICKBOOKS_OBJECT_DISCOUNTITEM: return $this->_api->addDiscountItem($Product, 'QuickBooks_Server_Integrator_Callbacks::addDiscountItem', $ProductID); case QUICKBOOKS_OBJECT_OTHERCHARGEITEM: return $this->_api->addOtherChargeItem($Product, 'QuickBooks_Server_Integrator_Callbacks::addOtherChargeItem', $ProductID); default: return false; } }