$request);␊ |
}␊ |
␊ |
public $search_precond = array('IDF_Precondition::accessWiki',);␊ |
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');␊ |
$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);␊ |
␊ |
}␊ |
␊ |
␊ |
/**␊ |
* Create a new documentation page.␊ |
*/␊ |