-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathapi_objDef.php
63 lines (56 loc) · 2.67 KB
/
api_objDef.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/**
* Copyright (c) 2013, Intacct OpenSource Initiative
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* OVERVIEW
* The general pattern for using this SDK is to first create an instance of api_session and call either
* connectCredentials or connectSessionId to start an active session with the Intacct Web Services gateway.
* You will then pass the api_session as an argument in the api_post class methods. intacctws-php handles all
* XML serialization and de-serialization and HTTPS transport.
*/
include_once "api_fieldDef.php";
/**
* Class api_objDef Intacct object definition
*/
class api_objDef {
public $Name;
public $SingularName;
public $PluralName;
public $Description;
public $Fields;
/**
* Constructor
*
* @param simpleXmlElement $simpleXml XML element containing the object definition
*/
public function __construct(simpleXmlElement $simpleXml)
{
//var_export($simpleXml);
$this->Name = (string)$simpleXml['Name'];
$this->SingularName = (string)$simpleXml->Attributes->SingularName;
$this->PluralName = (string)$simpleXml->Attributes->PluralName;
$this->Description = (string)$simpleXml->Attributes->Description;
$fields = $simpleXml->Fields;
$this->Fields = array();
foreach ($fields->Field as $field) {
$fieldDef = new api_fieldDef($field);
$this->Fields[$fieldDef->Name] = $fieldDef;
}
}
}