Пример #1
0
 /**
  * 
  * @todo Make the Boolean TRUE value used in the QUICKBOOKS_DRIVER_SQL_FIELD_DELETED_FLAG field a constant, in case the sql driver used uses something other than 1 and 0.
  * @todo Change all ListID and TxnID instances to use the QuickBooks_Utilities::actionToKey function.
  */
 protected static function _GetChildrenTables($table)
 {
     $get_children_map = array('account' => array('id_field' => 'ListID', 'children' => array('account_taxlineinfo' => 'Account_ListID', 'dataext' => 'Entity_ListID')), 'bill' => array('id_field' => 'TxnID', 'children' => array('bill_linkedtxn' => 'FromTxnID', 'bill_expenseline' => 'Bill_TxnID', 'bill_itemgroupline' => 'Bill_TxnID', 'bill_itemline' => 'Bill_TxnID', 'dataext' => 'Txn_TxnID')), 'bill_itemgroupline' => array('id_field' => 'TxnLineID', 'children' => array('bill_itemgroupline_itemline' => 'Bill_ItemGroupLine_TxnLineID')), 'billingrate' => array('id_field' => 'ListID', 'children' => array('billingrate_billingrateperitem' => 'BillingRate_ListID')), 'billpaymentcheck' => array('id_field' => 'ListID', 'children' => array('billpaymentcheck_appliedtotxn' => 'FromTxnID', 'dataext' => 'Entity_ListID')), "billpaymentcreditcard" => array("id_field" => "ListID", "children" => array("billpaymentcreditcard_appliedtotxn" => "FromTxnID", "dataext" => "Entity_ListID")), "charge" => array("id_field" => "TxnID", "children" => array("dataext" => "Txn_TxnID")), "check" => array("id_field" => "TxnID", "children" => array("check_expenseline" => "Check_TxnID", "check_itemgroupline" => "Check_TxnID", "check_itemline" => "Check_TxnID", "check_linkedtxn" => "FromTxnID", "dataext" => "Txn_TxnID")), "check_itemgroupline" => array("id_field" => "TxnLineID", "children" => array("check_itemgroupline_itemline" => "Check_ItemGroupLine_TxnLineID")), "company" => array("id_field" => "CompanyName", "children" => array("company_subscribedservices_service" => "Company_CompanyName")), "creditcardcharge" => array("id_field" => "TxnID", "children" => array("creditcardcharge_expenseline" => "CreditCardCharge_TxnID", "creditcardcharge_itemgroupline" => "CreditCardCharge_TxnID", "creditcardcharge_itemline" => "CreditCardCharge_TxnID", "dataext" => "Txn_TxnID")), "creditcardcharge_itemgroupline" => array("id_field" => "TxnLineID", "children" => array("creditcardcharge_itemgroupline_itemline" => "CreditCardCharge_ItemGroupLine_TxnLineID")), "creditcardcredit" => array("id_field" => "TxnID", "children" => array("creditcardcredit_expenseline" => "CreditCardCredit_TxnID", "creditcardcredit_itemgroupline" => "CreditCardCredit_TxnID", "creditcardcredit_itemline" => "CreditCardCredit_TxnID", "dataext" => "Txn_TxnID")), "creditcardcredit_itemgroupline" => array("id_field" => "TxnLineID", "children" => array("creditcardcredit_itemgroupline_itemline" => "CreditCardCredit_ItemGroupLine_TxnLineID")), "creditmemo" => array("id_field" => "TxnID", "children" => array("creditmemo_creditmemoline" => "CreditMemo_TxnID", "creditmemo_creditmemolinegroup" => "CreditMemo_TxnID", "creditmemo_linkedtxn" => "FromTxnID", "dataext" => "Txn_TxnID")), "creditmemolinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "creditmemo_creditmemolinegroup_creditmemoline" => "CreditMemo_CreditMemoLineGroup_TxnLineID")), "creditmemolinegroup_creditmemoline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "customer" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "deposit" => array("id_field" => "TxnID", "children" => array("deposit_depositline" => "Deposit_TxnID", "dataext" => "Txn_TxnID")), "employee" => array("id_field" => "ListID", "children" => array("employee_earnings" => "Employee_ListID", "dataext" => "Entity_ListID")), "estimate" => array("id_field" => "TxnID", "children" => array("estimate_linkedtxn" => "FromTxnID", "estimate_estimateline" => "Estimate_TxnID", "estimate_estimatelinegroup" => "Estimate_TxnID", "dataext" => "Entity_ListID")), "estimate_estimatelinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "estimate_estimatelinegroup_estimateline" => "Estimate_EstimateLineGroup_TxnLineID")), "estimate_estimateline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "estimate_estimatelinegroup_estimateline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "inventoryadjustment" => array("id_field" => "TxnID", "children" => array("inventoryadjustment_inventoryadjustmentline" => "InventoryAdjustment_TxnID", "dataext" => "Txn_TxnID")), "invoice" => array("id_field" => "TxnID", "children" => array("invoice_linkedtxn" => "FromTxnID", "invoice_invoiceline" => "Invoice_TxnID", "invoice_invoicelinegroup" => "Invoice_TxnID", "dataext" => "Txn_TxnID")), "invoice_invoiceline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "invoice_invoicelinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "invoice_invoicelinegroup_invoiceline" => "Invoice_InvoiceLineGroup_TxnLineID")), "invoice_invoicelinegroup_invoiceline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "iteminventory" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "iteminventoryassembly" => array("id_field" => "ListID", "children" => array("iteminventoryassembly_iteminventoryassemblyline" => "ItemInventoryAssembly_ListID", "dataext" => "Txn_TxnID")), "itemnoninventory" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itemdiscount" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itemfixedasset" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itemgroup" => array("id_field" => "ListID", "children" => array("itemgroup_itemgroupline" => "ItemGroup_ListID", "dataext" => "Entity_ListID")), "itemothercharge" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itempayment" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itemreceipt" => array("id_field" => "TxnID", "children" => array("itemreceipt_linkedtxn" => "FromTxnID", "itemreceipt_expenseline" => "ItemReceipt_TxnID", "itemreceipt_itemgroupline" => "ItemReceipt_TxnID", "itemreceipt_itemline" => "ItemReceipt_TxnID", "dataext" => "Entity_ListID")), "itemreceipt_itemgroupline" => array("id_field" => "TxnLineID", "children" => array("itemreceipt_itemgroupline_itemline" => "ItemReceipt_ItemGroupLine_TxnLineID")), "itemsalestaxgroup" => array("id_field" => "ListID", "children" => array("itemsalestaxgroup_itemsalestax" => "ItemSalesTaxGroup_ListID", "dataext" => "Entity_ListID")), "itemservice" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "itemsubtotal" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "journalentry" => array("id_field" => "TxnID", "children" => array("journalentry_journalcreditline" => "JournalEntry_TxnID", "journalentry_journaldebitline" => "JournalEntry_TxnID", "dataext" => "Entity_ListID")), "pricelevel" => array("id_field" => "ListID", "children" => array("pricelevel_pricelevelperitem" => "PriceLevel_ListID")), "purchaseorder" => array("id_field" => "TxnID", "children" => array("purchaseorder_linkedtxn" => "FromTxnID", "purchaseorder_purchaseorderline" => "PurchaseOrder_TxnID", "purchaseorder_purchaseorderlinegroup" => "PurchaseOrder_TxnID", "dataext" => "Entity_ListID")), "purchaseorder_purchaseorderline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "purchaseorder_purchaseorderlinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "purchaseorder_purchaseorderlinegroup_purchaseorderline" => "PurchaseOrder_PurchaseOrderLineGroup_TxnLineID")), "purchaseorder_purchaseorderlinegroup_purchaseorderline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), 'receievepayment' => array('id_field' => 'TxnID', 'children' => array('receivepayment_appliedtotxn' => 'FromTxnID', 'dataext' => 'Txn_TxnID')), "salesorder" => array("id_field" => "TxnID", "children" => array("salesorder_linkedtxn" => "FromTxnID", "salesorder_salesorderline" => "SalesOrder_TxnID", "salesorder_salesorderlinegroup" => "SalesOrder_TxnID", "dataext" => "Entity_ListID")), "salesorder_salesorderline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "salesorder_salesorderlinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "salesorder_salesorderlinegroup_salesorderline" => "SalesOrder_SalesOrderLineGroup_TxnLineID")), "salesorder_salesorderlinegroup_salesorderline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "salesreceipt" => array("id_field" => "TxnID", "children" => array("salesreceipt_salesreceiptline" => "SalesReceipt_TxnID", "salesreceipt_salesreceiptlinegroup" => "SalesReceipt_TxnID", "dataext" => "Txn_TxnID")), "salesreceipt_salesreceiptline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "salereceipt_salesreceiptlinegroup" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID", "salesreceipt_salesreceiptlinegroup_salesreceiptline" => "SalesReceipt_SalesReceiptLineGroup_TxnLineID")), "salesreceipt_salesreceiptlinegroup_salesreceiptline" => array("id_field" => "TxnLineID", "children" => array("dataext" => "Txn_TxnID")), "unitofmeasureset" => array("id_field" => "ListID", "children" => array("unitofmeasureset_defaultunit" => "UnitOfMeasureSet_ListID", "unitofmeasureset_relatedunit" => "UnitOfMeasureSet_ListID")), "vendor" => array("id_field" => "ListID", "children" => array("dataext" => "Entity_ListID")), "vendorcredit" => array("id_field" => "TxnID", "children" => array("vendorcredit_linkedtxn" => "FromTxnID", "vendorcredit_expenseline" => "VendorCredit_TxnID", "vendorcredit_itemline" => "VendorCredit_TxnID", "vendorcredit_itemgroupline" => "VendorCredit_TxnID", "dataext" => "Txn_TxnID")), "vendorcredit_itemgroupline" => array("id_field" => "TxnLineID", "children" => array("vendorcredit_itemgroupline_itemline" => "VendorCredit_ItemGroupLine_TxnLineID")), "workerscompcode" => array("id_field" => "ListID", "children" => array("workerscompcode_ratehistory" => "WorkersCompCode_ListID")));
     //If No Children, return empty array
     if (!isset($get_children_map[$table])) {
         return array();
     }
     $retArr = array();
     foreach ($get_children_map[$table]['children'] as $key => $value) {
         $index = count($retArr);
         $retArr[$index]['tableName'] = $key;
         $retArr[$index]['relField'] = $value;
         $retArr[$index]['parentKey'] = $get_children_map[$table]['id_field'];
         $retArr[$index]['children'] = QuickBooks_Server_SQL_Callbacks::_GetChildrenTables($key);
     }
     return $retArr;
 }