public function answers($id, $author = null, $tag = null, $keyword = null) { $parent = Artefact::all()->find($id); $parent = BmoocJsonController::search($parent, $author, $tag, $keyword); $tree = $parent; $parent->children = BmoocJsonController::buildTree($parent->children, $parent->id, $author, $tag, $keyword); return response()->json($tree); }
public function getThumbnails(Request $request) { $user = Auth::user(); if (!$user || $user->role != "editor") { App::abort(401, 'Not authenticated'); } // get a list of all the local pdf's & images $artefacts = Artefact::where('artefact_type', '29')->orWhere('artefact_type', '33')->get(); // check which image sizes are available $basepath = base_path() . '/../uploads/thumbnails'; foreach ($artefacts as $artefact) { $sizes = array(); if (file_exists($basepath . '/../' . $artefact->url)) { array_push($sizes, 'original'); } if (file_exists($basepath . '/small/' . $artefact->url)) { array_push($sizes, 'small'); } if (file_exists($basepath . '/large/' . $artefact->url)) { array_push($sizes, 'large'); } $artefact->setAttribute('sizes', $sizes); } return view('admin/thumbnails', ['artefacts' => $artefacts]); }
public function getImageOriginal($id) { $a = Artefact::find($id); $path = base_path() . '/../uploads/' . $a->url; if (file_exists($path)) { $filetype = mime_content_type($path); $response = Response::make(File::get($path), 200); $response->header('Content-Type', $filetype); return $response; } else { if ($a->artefact_type == 31) { $url = str_replace('www.youtube.com/embed', 'img.youtube.com/vi', $a->url); $url .= '/0.jpg'; $response = Response::make(file_get_contents($url), 200); $response->header('Content-Type', 'image/jpeg'); return $response; } else { if ($a->artefact_type == 32) { $oembed_endpoint = 'http://vimeo.com/api/oembed'; $url = $oembed_endpoint . '.json?url=' . rawurlencode($a->url); $json = file_get_contents($url); $obj = json_decode($json); $response = Response::make(file_get_contents($obj->thumbnail_url), 200); $response->header('Content-Type', 'image/jpeg'); return $response; } } } abort(404, 'Image not found'); }