示例#1
0
文件: Wiki.php 项目: burbuja/indefero
 public function search($request, $match)
 {
     $prj = $request->project;
     if (!isset($request->REQUEST['q']) or trim($request->REQUEST['q']) == '') {
         $url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::index', array($prj->shortname));
         return new Pluf_HTTP_Response_Redirect($url);
     }
     $q = $request->REQUEST['q'];
     $title = sprintf(__('Documentation Search - %s'), $q);
     $pages = new Pluf_Search_ResultSet(IDF_Search::mySearch($q, $prj, 'IDF_WikiPage'));
     if (count($pages) > 100) {
         $pages->results = array_slice($pages->results, 0, 100);
     }
     $pag = new Pluf_Paginator();
     $pag->items = $pages;
     $pag->class = 'recent-issues';
     $pag->item_extra_props = array('project_m' => $prj, 'shortname' => $prj->shortname, 'current_user' => $request->user);
     $pag->summary = __('This table shows the pages found.');
     $pag->action = array('IDF_Views_Wiki::search', array($prj->shortname), array('q' => $q));
     $pag->edit_action = array('IDF_Views_Wiki::view', 'shortname', 'title');
     $pag->extra_classes = array('right', '', 'a-c');
     $list_display = array('title' => __('Page Title'), array('summary', 'IDF_Views_Wiki_SummaryAndLabels', __('Summary')), array('modif_dtime', 'Pluf_Paginator_DateYMD', __('Updated')));
     $pag->configure($list_display);
     $pag->items_per_page = 100;
     $pag->no_results_text = __('No pages were found.');
     $pag->setFromRequest($request);
     $params = array('page_title' => $title, 'pages' => $pag, 'q' => $q);
     return Pluf_Shortcuts_RenderToResponse('idf/wiki/search.html', $params, $request);
 }
示例#2
0
文件: Issue.php 项目: Br3nda/indefero
 public function search($request, $match)
 {
     $prj = $request->project;
     if (!isset($request->REQUEST['q']) or trim($request->REQUEST['q']) == '') {
         $url = Pluf_HTTP_URL_urlForView('IDF_Views_Issue::index', array($prj->shortname));
         return new Pluf_HTTP_Response_Redirect($url);
     }
     $q = $request->REQUEST['q'];
     $title = sprintf(__('Search Issues - %s'), $q);
     $issues = new Pluf_Search_ResultSet(IDF_Search::mySearch($q, $prj, 'IDF_Issue'));
     if (count($issues) > 100) {
         // no more than 100 results as we do not care
         $issues->results = array_slice($issues->results, 0, 100);
     }
     $pag = new Pluf_Paginator();
     $pag->items = $issues;
     $pag->class = 'recent-issues';
     $pag->item_extra_props = array('project_m' => $prj, 'shortname' => $prj->shortname, 'current_user' => $request->user);
     $pag->summary = __('This table shows the found issues.');
     $pag->action = array('IDF_Views_Issue::search', array($prj->shortname), array('q' => $q));
     $pag->extra_classes = array('a-c', '', 'a-c', '');
     $list_display = array('id' => __('Id'), array('summary', 'IDF_Views_Issue_SummaryAndLabels', __('Summary')), array('status', 'IDF_Views_Issue_ShowStatus', __('Status')), array('modif_dtime', 'Pluf_Paginator_DateAgo', __('Last Updated')));
     $pag->configure($list_display);
     $pag->items_per_page = 100;
     $pag->no_results_text = __('No issues were found.');
     $pag->setFromRequest($request);
     $params = array('page_title' => $title, 'issues' => $pag, 'q' => $q);
     return Pluf_Shortcuts_RenderToResponse('idf/issues/search.html', $params, $request);
 }