$extra = null; $err = ''; $xml = ''; $idents = array(); $last_action_time = 0; $last_actionident_time = 0; $action = 'CustomerQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/CustomerQuery.xml'); QuickBooks_Server_SQL_Callbacks::CustomerQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'InvoiceQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/InvoiceQuery.xml'); QuickBooks_Server_SQL_Callbacks::InvoiceQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'AccountQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/AccountQuery.xml'); QuickBooks_Server_SQL_Callbacks::AccountQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'EmployeeQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/EmployeeQuery.xml'); QuickBooks_Server_SQL_Callbacks::EmployeeQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'ClassQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/ClassQuery.xml'); QuickBooks_Server_SQL_Callbacks::ClassQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'ItemQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/ItemQuery.xml'); QuickBooks_Server_SQL_Callbacks::ItemQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'VendorQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/VendorQuery.xml'); QuickBooks_Server_SQL_Callbacks::VendorQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents); $action = 'TermsQuery'; $xml = file_get_contents(dirname(__FILE__) . '/../docs/responses/TermsQuery.xml'); QuickBooks_Server_SQL_Callbacks::TermsQueryResponse($requestID, $user, $action, $ID, $extra, $err, $last_action_time, $last_actionident_time, $xml, $idents);
/** * Used to build the xml that limits the results to only updated results * * @param string $user Same deal: pass along the $user parameter * @param string $action Ditto with $action parameter * @param array $extra Simply pass in the $extra value that is passed to the function you're calling this from. * @param boolean $filter_wrap * @return string */ protected static function _buildFilter($user, $action, $extra, $filter_wrap = false) { $Driver = QuickBooks_Driver_Singleton::getInstance(); $xml = ''; $type = ''; $key_prev = QuickBooks_Server_SQL_Callbacks::_keySyncPrev($action); $key_curr = QuickBooks_Server_SQL_Callbacks::_keySyncCurr($action); $module = __CLASS__; //$action = null; $type = null; $opts = null; // configRead($user, $module, $key, &$type, &$opts) $prev_sync_datetime = $Driver->configRead($user, $module, $key_prev, $type, $opts); // last sync started... if (!$prev_sync_datetime) { // If this query has *never* run before, let's get *all* of the records $timestamp = time() - 60 * 60 * 24 * 365 * 25; $prev_sync_datetime = date('Y-m-d', $timestamp) . 'T' . date('H:i:s', $timestamp); $extra = array(); // If an iterator exists, get rid of it (this should *never* happen... how could it?) // configWrite($user, $module, $key, $value, $type, $opts $Driver->configWrite($user, $module, $key_prev, $prev_sync_datetime, null); } if (!is_array($extra) or empty($extra['iteratorID'])) { // Start of a new iterator! // Store when we started to do this iterator (this will become the $prev_sync_datetime after we finish with this iterator) $curr_sync_datetime = date('Y-m-d') . 'T' . date('H:i:s'); $Driver->configWrite($user, $module, $key_curr, $curr_sync_datetime, null); if ($filter_wrap) { if ($action == QUICKBOOKS_QUERY_DELETEDITEMS || $action == QUICKBOOKS_QUERY_DELETEDTXNS) { $xml .= '<DeletedDateRangeFilter>' . "\n"; $xml .= ' <FromDeletedDate>' . $prev_sync_datetime . '</FromDeletedDate>' . "\n"; $xml .= '</DeletedDateRangeFilter>' . "\n"; } else { $xml .= '<ModifiedDateRangeFilter>' . "\n"; $xml .= ' <FromModifiedDate>' . $prev_sync_datetime . '</FromModifiedDate>' . "\n"; $xml .= '</ModifiedDateRangeFilter>' . "\n"; } } else { $xml .= '<FromModifiedDate>' . $prev_sync_datetime . '</FromModifiedDate>'; } } else { if ($filter_wrap) { if ($action == QUICKBOOKS_QUERY_DELETEDITEMS || $action == QUICKBOOKS_QUERY_DELETEDTXNS) { $xml .= '<DeletedDateRangeFilter>' . "\n"; $xml .= ' <FromDeletedDate>' . $prev_sync_datetime . '</FromDeletedDate>' . "\n"; $xml .= '</DeletedDateRangeFilter>' . "\n"; } else { $xml .= '<ModifiedDateRangeFilter>' . "\n"; $xml .= ' <FromModifiedDate>' . $prev_sync_datetime . '</FromModifiedDate>' . "\n"; $xml .= '</ModifiedDateRangeFilter>' . "\n"; } } else { $xml .= '<FromModifiedDate>' . $prev_sync_datetime . '</FromModifiedDate>'; } } return $xml; }