/** * Shows the revision history for a particular record, still functional if the record is deleted. * * @param $pid * @param $fid * @param $rid * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|string */ public function show($pid, $fid, $rid) { if (!FormController::validProjForm($pid, $fid)) { return redirect('projects/' . $pid . '/forms'); } $owner = Revision::where('rid', '=', $rid)->first()->owner; if (!\Auth::user()->admin && !\Auth::user()->isFormAdmin(FormController::getForm($fid)) && \Auth::user()->id != $owner) { flash()->overlay('You do not have permission to view that page.', 'Whoops.'); return redirect('projects/' . $pid . '/forms/' . $fid); } $form = FormController::getForm($fid); $revisions = DB::table('revisions')->where('rid', '=', $rid)->orderBy('created_at', 'desc')->take(50)->get(); $pid = $form->pid; $records = array(); $temp = array_values(array_unique(Revision::lists('rid'))); for ($i = 0; $i < count($temp); $i++) { $records[$temp[$i]] = $pid . '-' . $form->fid . '-' . $temp[$i]; } $message = $pid . '-' . $fid . '-' . $rid; return view('revisions.index', compact('revisions', 'records', 'form', 'message', 'rid'))->render(); }