コード例 #1
0
ファイル: base.php プロジェクト: Klemart3D/COPS
 public static function executeQuery($query, $columns, $filter, $params, $n, $database = NULL, $numberPerPage = NULL)
 {
     $totalResult = -1;
     if (useNormAndUp()) {
         $query = preg_replace("/upper/", "normAndUp", $query);
         $columns = preg_replace("/upper/", "normAndUp", $columns);
     }
     if (is_null($numberPerPage)) {
         $numberPerPage = getCurrentOption("max_item_per_page");
     }
     if ($numberPerPage != -1 && $n != -1) {
         // First check total number of results
         $result = self::getDb($database)->prepare(str_format($query, "count(*)", $filter));
         $result->execute($params);
         $totalResult = $result->fetchColumn();
         // Next modify the query and params
         $query .= " limit ?, ?";
         array_push($params, ($n - 1) * $numberPerPage, $numberPerPage);
     }
     $result = self::getDb($database)->prepare(str_format($query, $columns, $filter));
     $result->execute($params);
     return array($totalResult, $result);
 }
コード例 #2
0
ファイル: pageTest.php プロジェクト: BreizhCat/cops
 /**
  * @dataProvider providerNormalizedSearch
  */
 public function testPageSearch_WithNormalizedSearch_Book($query, $count, $content)
 {
     global $config;
     $page = Base::PAGE_OPENSEARCH_QUERY;
     $qid = NULL;
     $n = "1";
     $config['cops_normalized_search'] = "1";
     Base::clearDb();
     if (!useNormAndUp()) {
         $this->markTestIncomplete();
     }
     $currentPage = Page::getPage($page, $qid, $query, $n);
     $currentPage->InitializeContent();
     $this->assertEquals("Search result for *{$query}*", $currentPage->title);
     $this->assertCount($count, $currentPage->entryArray);
     if ($count > 0) {
         $this->assertEquals($content, $currentPage->entryArray[0]->content);
     }
     $this->assertFalse($currentPage->ContainsBook());
     $config['cops_normalized_search'] = "0";
     Base::clearDb();
 }