/** * Get a list of standard objects by passing structured filters, sorts, and fields arguments. * * @param string $object the object to list * @param Array $filter filters in a phpObj that will convert to get_list filters in phpToXml * @param Array $sorts sorts in a phpObj that will convert to get_list sort in phpToXml * @param Array $fields list of fields in a phpObj that will convert to get_list fields in phpToXml * @param api_session $session an api_session instance with a valid connection * @param string $dtdVersion DTD Version. Either "2.1" or "3.0". Defaults to "2.1" * * @return String the XML response from Intacct */ public static function get_list($object, $filter, $sorts, $fields, api_session $session, $dtdVersion = "2.1") { $get_list = array(); $get_list['@object'] = $object; if ($filter != null) { $get_list['filter'] = $filter; } if ($sorts != null) { $get_list['sorts'] = $sorts; } if ($fields != null) { $get_list['fields'] = $fields; } $func['function'][] = array('@controlid' => 'control1', 'get_list' => $get_list); $xml = api_util::phpToXml('content', array($func)); $res = api_post::post($xml, $session, $dtdVersion, true); $count = 0; $ret = api_post::processListResults($res, api_returnFormat::PHPOBJ); $toReturn = $ret[$object]; if (is_array($toReturn)) { $keys = array_keys($toReturn); if (!is_numeric($keys[0])) { $toReturn = array($toReturn); } } return $toReturn; }