/**
  * 
  * 
  * @param boolean $todo_for_empty_elements	A constant, one of: QUICKBOOKS_XML_XML_COMPRESS, QUICKBOOKS_XML_XML_DROP, QUICKBOOKS_XML_XML_PRESERVE
  * @param string $indent
  * @param string $root
  * @return string
  */
 public function asQBXML($request, $todo_for_empty_elements = QUICKBOOKS_OBJECT_XML_DROP, $indent = "\t", $root = null)
 {
     $this->_cleanup();
     return parent::asQBXML($request, $todo_for_empty_elements, $indent, $root);
 }
Exemple #2
0
 /**
  * 
  * 
  * @param string $request
  * @param QuickBooks_Object $obj
  * @param boolean $continue_on_error
  * @param string $err
  * @return array
  */
 protected function _mapApplicationIDs($request, &$obj, $continue_on_error, &$err)
 {
     foreach ($obj->asList($request) as $key => $value) {
         if (is_array($value)) {
             // this function neeeds to beable to handle arrays, or objects
             /*
             foreach ($value as $subvalue)
             {
             	$err = '';
             	if ($this->_mapApplicationIDs($request, $subvalue, $continue_on_error, $err))
             	{
             		; // do nothing
             	}
             	else if (!$continue_on_error)
             	{
             		$err = 'Recursive map error: ' . $err;
             		return false;
             	}
             }
             */
         } else {
             /*
             				if (substr($key, strlen(QUICKBOOKS_API_APPLICATIONID) * -1, strlen(QUICKBOOKS_API_APPLICATIONID)) == QUICKBOOKS_API_APPLICATIONID)
             				{
             					$type = null;
             					$tag = null;
             					$ID = null;
             					$obj->decodeApplicationID($value, $type, $tag, $ID);
             					
             					if ($ListID_or_TxnID = $this->_mapToQuickBooksID($type, $ID))
             					{
             						$back = substr($key, 0, -1 * (strlen(QUICKBOOKS_API_APPLICATIONID) + 1));
             						
             						$obj->set($back . ' ' . $tag, $ListID_or_TxnID);
             					}
             					else if (!$continue_on_error)
             					{
             						$err = 'Unable to map key: ' . $key;
             						return false;
             					}
             				}*/
         }
     }
     return true;
 }
 /**
  * Create a new QuickBooks_Object_Check_ExpenseLine object
  * 
  * @param array $arr
  */
 public function __construct($arr = array())
 {
     parent::__construct($arr);
 }
Exemple #4
0
 /**
  * 
  * 
  * @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;
     }
 }
	</CustomerRet>';
// Create the customer
$Object = QuickBooks_Object::fromQBXML($qbxml);
// Print it out
print_r($Object);
// Does it work for qbXML ADD requests too?
$qbxml = '
	<CustomerAdd>
		<Name>20706 - Eastern XYZ University</Name>
		<CompanyName>Eastern XYZ University</CompanyName>
		<FirstName>Keith</FirstName>
		<LastName>Palmer</LastName>
		<BillAddress>
			<Addr1>Eastern XYZ University</Addr1>
			<Addr2>College of Engineering</Addr2>
			<Addr3>123 XYZ Road</Addr3>
			<City>Storrs-Mansfield</City>
			<State>CT</State>
			<PostalCode>06268</PostalCode>
			<Country>United States</Country>
		</BillAddress>
		<Phone>860-634-1602</Phone>
		<AltPhone>860-429-0021</AltPhone>
		<Fax>860-429-5183</Fax>
		<Email>keith@consolibyte.com</Email>
		<Contact>Keith Palmer</Contact>
	</CustomerAdd>';
// Create it...
$Object = QuickBooks_Object::fromQBXML($qbxml);
// Print it...
print_r($Object);
Exemple #6
0
 /**
  * Convert a qbXML string to a QuickBooks_Object_* object instance
  * 
  * @param string $qbxml
  * @param string $action_or_object
  * @return QuickBooks_Object
  */
 public static function fromQBXML($qbxml, $action_or_object = null)
 {
     $errnum = null;
     $errmsg = null;
     $Parser = new QuickBooks_XML_Parser($qbxml);
     if ($Doc = $Parser->parse($errnum, $errmsg)) {
         $XML = $Doc->getRoot();
         return QuickBooks_Object::fromXML($XML, $action_or_object);
     }
     return false;
 }
		<TimeModified>2009-10-11T14:26:12</TimeModified>
		<EditSequence>1234</EditSequence>
		<Name>7lb Box</Name>
		<IsActive>true</IsActive>
		<UnitOfMeasureType>Weight</UnitOfMeasureType>
		<BaseUnit>
			<Name>Pounds</Name>
			<Abbreviation>lbs</Abbreviation>
		</BaseUnit>
		<RelatedUnit>
			<Name>15lb Box</Name>
			<Abbreviation>15lbs</Abbreviation>
			<ConversionRatio>2</ConversionRatio>
		</RelatedUnit>
		<RelatedUnit>
			<Name>25lb Box</Name>
			<Abbreviation>25lbs</Abbreviation>
			<ConversionRatio>4</ConversionRatio>
		</RelatedUnit>
		<DefaultUnit>
			<UnitUsedFor>Sales</UnitUsedFor>
			<Unit>Pound</Unit>
		</DefaultUnit>
		<DefaultUnit>
			<UnitUsedFor>Purchase</UnitUsedFor>
			<Unit>2 Pounds</Unit>
		</DefaultUnit>
	</UnitOfMeasureSetRet>';
$UnitOfMeasureSet = QuickBooks_Object::fromQBXML($qbxml);
print_r($UnitOfMeasureSet);
print $UnitOfMeasureSet->asQBXML(QUICKBOOKS_ADD_UNITOFMEASURESET);
 /**
  * 
  * 
  * 
  */
 protected static function _objectFromXML($action, $XML)
 {
     return QuickBooks_Object::fromXML($XML, $action);
 }