/** * * @param string $action view|download|base64 * <p><b>view: </b>presenta el archivo en el navegador</p> * <p><b>download: </b>descarga el archivo</p> * <p><b>base64: </b>envia el archivo en base64</p> * @param int $id * @param string $key MD5($id . MD5('lorapp')). Evita que al cambiar $id se muestre otro archivo * @return file */ public static function getAttachment($action, $id, $key = null) { $data = ''; if ($key == MD5($id . MD5('lorapp'))) { $file = Attachment::find($id); $name = $file->name; $mime = $file->mime; $size = $file->size; $encode = $file->encode; $data = $file->file; if ($encode == 'base64') { $data = base64_decode($file->file); } $upload_path = $file->upload_path; if ($upload_path) { $upload_path = $file_path = public_path() . DIRECTORY_SEPARATOR . $file->upload_path . DIRECTORY_SEPARATOR . $file->name; $data = file_get_contents($upload_path); } if ($action == 'view') { return Response::make($data, 200, array('Content-type' => $mime, 'Content-length' => $size)); } else { if ($action == 'download') { return Response::make($data, 200, array('Content-type' => $mime, 'Content-length' => $size, 'Content-Disposition' => 'attachment; filename=' . $name)); } else { if ($action == 'base64') { return 'data:' . $file->mime . ';base64,' . $data; } } } } else { if ($action == 'name') { $file = Attachment::where('name', '=', $id)->first(); $name = $file->name; $mime = $file->mime; $size = $file->size; $encode = $file->encode; $data = $file->file; if ($encode == 'base64') { $data = base64_decode($file->file); } $data = $file->file; return Response::make($data, 200, array('Content-type' => $mime, 'Content-length' => $size)); } else { return Response::make($data, 200, array('Content-type' => '', 'Content-length' => 0)); } } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($user_id) { $entry = User::findOrFail($user_id); $user = $entry['username']; $entry->delete(); $count = Logbook::where('user_id', '=', $user_id)->count(); $logbooks = Logbook::where('user_id', '=', $user_id)->update(array('user_id' => 0)); $tasks = Task::where('user_id', '=', $user_id)->update(array('user_id' => 0)); $attachments = Attachment::where('user_id', '=', $user_id)->update(array('user_id' => 0)); if ($count == 1) { return Redirect::to(route('settings.index'))->with('message', ['content' => 'Gebruiker met succes verwijderd! Let op, ' . $count . ' logboek van gebruiker ' . $user . ' is veranderd naar eigenaar Systeem!', 'class' => 'warning']); } else { if ($count > 1) { return Redirect::to(route('settings.index'))->with('message', ['content' => 'Gebruiker met succes verwijderd! Let op, ' . $count . ' logboeken van gebruiker ' . $user . ' zijn veranderd naar eigenaar Systeem!', 'class' => 'warning']); } } return Redirect::to(route('settings.index'))->with('message', ['content' => 'Gebruiker met succes verwijderd!', 'class' => 'success']); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function files($contract_guid) { $attachments = Attachment::where('mailbox_id', $contract_guid)->get(); $apiEntries = []; foreach ($attachments->toArray() as $attachment) { if (strrpos(basename($attachment['original_path']), '.')) { $extension = substr(basename($attachment['original_path']), strrpos(basename($attachment['original_path']), '.')); } else { $extension = ".extensionless"; } $local_url = 'https://' . Config::get('app.content_host') . '/dropbox/' . $attachment['file_sha'] . $extension; $remote_url = 'https://' . Config::get('app.dropbox_host') . '/context.io/download/' . $attachment['id']; $created_at = Carbon::createFromFormat('Y-m-d H:i:s', $attachment['created_at'])->toRFC2822String(); $updated_at = Carbon::createFromFormat('Y-m-d H:i:s', $attachment['updated_at'])->toRFC2822String(); $apiEntry = ['local_url' => $local_url, 'remote_url' => $remote_url, 'original_path' => $attachment['original_path'], 'mime_type' => $attachment['mime_type'], 'bytes' => $attachment['bytes'], 'service_created_at' => $attachment['service_created_at'], 'service_updated_at' => $attachment['service_updated_at'], 'client_created_at' => $attachment['client_created_at'], 'client_updated_at' => $attachment['client_updated_at'], 'created_at' => $created_at, 'updated_at' => $updated_at, 'file_sha' => $attachment['file_sha'], 'etag' => $attachment['etag']]; $apiEntries[] = $apiEntry; } return [$apiEntries]; }