예제 #1
0
 /**
  * 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();
 }