コード例 #1
0
ファイル: OneX.php プロジェクト: mitchlayzell/PHRETS
 public function parse(Session $rets, ResponseInterface $response, $parameters)
 {
     $xml = $response->xml();
     $rs = new Results();
     $rs->setSession($rets)->setResource($parameters['SearchType'])->setClass($parameters['Class']);
     if ($this->getRestrictedIndicator($rets, $xml, $parameters)) {
         $rs->setRestrictedIndicator($this->getRestrictedIndicator($rets, $xml, $parameters));
     }
     $rs->setHeaders($this->getColumnNames($rets, $xml, $parameters));
     $rets->debug(count($rs->getHeaders()) . ' column headers/fields given');
     $this->parseRecords($rets, $xml, $parameters, $rs);
     if ($this->getTotalCount($rets, $xml, $parameters) !== null) {
         $rs->setTotalResultsCount($this->getTotalCount($rets, $xml, $parameters));
         $rets->debug($rs->getTotalResultsCount() . ' total results found');
     }
     $rets->debug($rs->getReturnedResultsCount() . ' results given');
     if ($this->foundMaxRows($rets, $xml, $parameters)) {
         // MAXROWS tag found.  the RETS server withheld records.
         // if the server supports Offset, more requests can be sent to page through results
         // until this tag isn't found anymore.
         $rs->setMaxRowsReached();
         $rets->debug('Maximum rows returned in response');
     }
     unset($xml);
     return $rs;
 }
コード例 #2
0
ファイル: ResultsTest.php プロジェクト: mitchlayzell/PHRETS
 /** @test **/
 public function it_tracks_headers()
 {
     $fields = ['A', 'B', 'C', 'D', 'E'];
     $rs = new Results();
     $rs->setHeaders($fields);
     $this->assertSame($fields, $rs->getHeaders());
 }
コード例 #3
0
ファイル: RecordTest.php プロジェクト: mitchlayzell/PHRETS
 /** @test **/
 public function it_accesses_parent_given_attributes()
 {
     $rs = new Results();
     $rs->setResource('Property');
     $rs->setClass('A');
     $rs->setHeaders(['LIST_1', 'LIST_2', 'LIST_3']);
     $r = new Record();
     $rs->addRecord($r);
     foreach ($rs as $r) {
         $this->assertSame('Property', $r->getResource());
         $this->assertSame('A', $r->getClass());
         $this->assertSame(['LIST_1', 'LIST_2', 'LIST_3'], $r->getFields());
     }
 }