Пример #1
0
 public function executeSearch()
 {
     $feed = new sfAtom1Feed();
     $feed->setTitle('Hoydaa Snippets');
     $feed->setLink('http://codesnippet.hoydaa.org');
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('Hoydaa Snippets');
     $querystring = $this->getRequestParameter('q');
     $query = new sfLuceneCriteria($this->getLuceneInstance());
     $query->addDescendingSortBy('createdat');
     $query->addSane($querystring);
     $pager = new sfLucenePager($this->getLuceneInstance()->friendlyFind($query));
     $num = $pager->getNbResults();
     if ($num > 0) {
         $pager->setMaxPerPage(10);
         $pager->setPage(1);
         foreach ($pager->getResults() as $result) {
             $item = new sfFeedItem();
             $item->setTitle($result->getTitle());
             $item->setLink('snippet/show?id=' . $result->getId());
             $item->setAuthorName($result->getContributor());
             $item->setPubDate(strtotime($result->getCreatedAt()));
             //$item->setAuthorEmail(($code->getSfGuardUser() ?
             //	$code->getSfGuardUser()->getProfile()->getEmail() : $code->getEmail()));
             $item->setUniqueId($result->getId());
             $item->setDescription($result->getSummary());
             $feed->addItem($item);
         }
     }
     $this->feed = $feed;
     $this->setTemplate('feed');
 }
}
try {
    $results = new sfLucenePager(range(0, 1000), $lucene);
    $t->pass('__construct() accepts an array');
} catch (Exception $e) {
    $t->fail('__construct() accepts an array');
}
$t->diag('testing basic pagination functions');
try {
    $results->setPage(2);
    $t->pass('->setPage() accepts a integer page');
} catch (Exception $e) {
    $t->fail('->setPage() accepts a integer page');
}
try {
    $results->setMaxPerPage(10);
    $t->pass('->setMaxPerPage() accepts an integer per page');
} catch (Exception $e) {
    $t->fail('->setMaxPerPage() accepts an integer per page');
}
$t->is($results->getPage(), 2, '->getPage() returns current page');
$t->is($results->getMaxPerPage(), 10, '->getMaxPerPage() returns the max per page');
$t->is($results->getNbResults(), 1001, '->getNbResults() returns the total number of results');
$t->ok($results->haveToPaginate(), '->haveToPaginate() returns correct value');
$results->setPage(0);
$t->is($results->getPage(), 1, '->setPage() to 0 sets the page to 1');
$results->setPage(100000);
$t->is($results->getPage(), 101, '->setPage() above to upper bound resets to last page');
$results->setPage(2);
$t->diag('testing ->getResults()');
$t->is_deeply($results->getResults()->toArray(), range(10, 20), '->getResults() returns the correct range');
Пример #3
0
$response = $lucene->find('dummy search');
try {
    $pager = new sfLucenePager(new sfLuceneResults($response, $lucene));
    $t->pass('__construct() accepts sfLuceneResults');
} catch (Exception $e) {
    $t->fail('__construct() accepts sfLuceneResults');
}
$t->diag('testing basic pagination functions');
try {
    $pager->setPage(2);
    $t->pass('->setPage() accepts a integer page');
} catch (Exception $e) {
    $t->fail('->setPage() accepts a integer page');
}
try {
    $pager->setMaxPerPage(10);
    $t->pass('->setMaxPerPage() accepts an integer per page');
} catch (Exception $e) {
    $t->fail('->setMaxPerPage() accepts an integer per page');
}
$t->is($pager->getPage(), 2, '->getPage() returns current page');
$t->is($pager->getMaxPerPage(), 10, '->getMaxPerPage() returns the max per page');
$t->is($pager->getNbResults(), 1001, '->getNbResults() returns the total number of results');
$t->ok($pager->haveToPaginate(), '->haveToPaginate() returns correct value');
$pager->setPage(0);
$t->is($pager->getPage(), 1, '->setPage() to 0 sets the page to 1');
$pager->setPage(100000);
$t->is($pager->getPage(), 101, '->setPage() above to upper bound resets to last page');
$pager->setPage(2);
$t->diag('testing ->getResults()');
$results = $pager->getResults()->toArray();