| if (isset($request->GET['rev']) and preg_match('/^[0-9]+$/', $request->GET['rev'])) {␊ | 
| $oldrev = Pluf_Shortcuts_GetObjectOr404('IDF_WikiRevision',␊ | 
| $request->GET['rev']);␊ | 
| if ($oldrev->wikipage != $page->id) {␊ | 
| if ($oldrev->wikipage != $page->id or $oldrev->is_head == true) {␊ | 
| throw new Pluf_HTTP_Error404($request);␊ | 
| }␊ | 
| }␊ | 
|  | 
| }␊ | 
| ␊ | 
| /**␊ | 
| * Remove a revision of a page.␊ | 
| */␊ | 
| public $deleteRev_precond = array('IDF_Precondition::accessWiki',␊ | 
| 'IDF_Precondition::projectMemberOrOwner');␊ | 
| public function deleteRev($request, $match)␊ | 
| {␊ | 
| $prj = $request->project;␊ | 
| $oldrev = Pluf_Shortcuts_GetObjectOr404('IDF_WikiRevision', $match[2]);␊ | 
| $page = $oldrev->get_wikipage();␊ | 
| $prj->inOr404($page);␊ | 
| if ($oldrev->is_head == true) {␊ | 
| throw new Pluf_HTTP_Error404($request);␊ | 
| }␊ | 
| if ($request->method == 'POST') {␊ | 
| $oldrev->delete();␊ | 
| $request->user->setMessage(__('The old revision has been deleted.'));␊ | 
| $url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::view', ␊ | 
| array($prj->shortname, $page->title));␊ | 
| return new Pluf_HTTP_Response_Redirect($url);␊ | 
| }␊ | 
| ␊ | 
| $title = sprintf(__('Delete Old Revision of %s'), $page->title);␊ | 
| $revision = $page->get_current_revision();␊ | 
| $db = $page->getDbConnection();␊ | 
| $false = Pluf_DB_BooleanToDb(false, $db);␊ | 
| $revs = $page->get_revisions_list(array('order' => 'creation_dtime DESC',␊ | 
| 'filter' => 'is_head='.$false));␊ | 
| return Pluf_Shortcuts_RenderToResponse('idf/wiki/delete.html',␊ | 
| array(␊ | 
| 'page_title' => $title,␊ | 
| 'page' => $page,␊ | 
| 'oldrev' => $oldrev,␊ | 
| 'rev' => $revision,␊ | 
| 'revs' => $revs,␊ | 
| 'tags' => $page->get_tags_list(),␊ | 
| ),␊ | 
| $request);␊ | 
| }␊ | 
| ␊ | 
| /**␊ | 
| * View a documentation page.␊ | 
| */␊ | 
| public $update_precond = array('IDF_Precondition::accessWiki',␊ |