/** * Renders the Project Member view for the given project * * @param Project $project * @return The project members page view * @internal param */ public function view(Project $project) { $this->authorize('userIsMember', $project); $userid = Auth::user()->id; $files = File::forProject($project)->get(); if (count($files) == 0) { File::create(['project_id' => $project->id, 'projectname' => $project->title, 'filename' => 'Main.java', 'type' => 'File', 'description' => 'Entry point of ' . $project->title . '.', 'contents' => '/* Program starts here. */\\npublic class Main {\\n\\tpublic static void main(String[] args) {\\n\\t\\n\\t}\\n}', 'user_id' => Auth::user()->id, 'parent' => 0]); } $files = File::forProject($project)->get(); return view('project-members.view', ['project' => $project, 'files' => $files, 'userid' => $userid]); }
/** * Takes an incoming export request and returns a download of the * file associated with it from Firebase. * * @param Project $project * @param $fileName * @return null */ public function exportFile(Project $project, $fileName) { $file = File::forProject($project)->where('filename', $fileName)->first(); if (!$file) { return null; } $filePath = $this->getFirebaseFile($file, base_path('tmp'), $this->getFirebaseConnector()); return Response::download($filePath, $fileName); }
/** * Renders the file list view for the given project * * @param Project $project * @return mixed * @internal param string $projectname project name */ public function listFiles(Project $project) { $userid = Auth::user()->id; $files = File::forProject($project)->get(); return view('editor.list', ['project' => $project, 'files' => $files, 'userid' => $userid]); }