コード例 #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
ファイル: RecordTest.php プロジェクト: mitchlayzell/PHRETS
 /** @test **/
 public function it_detects_restricted_values()
 {
     $rs = new Results();
     $rs->setRestrictedIndicator('RESTRICTED');
     $r = new Record();
     $r->set('name', 'value');
     $r->set('another', $rs->getRestrictedIndicator());
     $rs->addRecord($r);
     $this->assertFalse($r->isRestricted('name'));
     $this->assertTrue($r->isRestricted('another'));
 }
コード例 #3
0
ファイル: ResultsTest.php プロジェクト: mitchlayzell/PHRETS
 /** @test **/
 public function it_gives_a_list_excluding_restricted_values()
 {
     $rs = new Results();
     $rs->setRestrictedIndicator('****');
     $r = new Record();
     $r->set('id', 'extra');
     $r->set('name', 'test');
     $rs->addRecord($r);
     $r = new Record();
     $r->set('id', '****');
     $r->set('name', 'test');
     $rs->addRecord($r);
     $r = new Record();
     $r->set('id', 'bonus');
     $r->set('name', 'test');
     $rs->addRecord($r);
     $this->assertSame(['extra', 'bonus'], $rs->lists('id'));
 }