From 8ff1dee767508e80342715c8f3f3536105e89a96 Mon Sep 17 00:00:00 2001 From: Kekskurse Date: Wed, 25 Dec 2019 19:33:53 +0100 Subject: [PATCH] Icon --- app/Http/Controllers/API/AppController.php | 25 ++++++++++++++++++++++ routes/web.php | 1 + 2 files changed, 26 insertions(+) diff --git a/app/Http/Controllers/API/AppController.php b/app/Http/Controllers/API/AppController.php index dd8c726..2bc3d21 100644 --- a/app/Http/Controllers/API/AppController.php +++ b/app/Http/Controllers/API/AppController.php @@ -208,6 +208,31 @@ class AppController extends BaseController return $response->withData(["url" => $result['ObjectURL']]); } + public function getAppIcon($id) { + $app = \App\Models\App::query()->where("id", "=", $id)->firstOrFail(); + + if(!is_dir(storage_path("icon"))) { + mkdir(storage_path("icon")); + } + + $cacheFile = storage_path("icon/".$app->id.".png"); + + if(file_exists($cacheFile)) { + $icon = file_get_contents($cacheFile); + } else { + if(!empty($app->iconURL)) { + $icon = file_get_contents($app->iconURL); + file_put_contents($cacheFile, $icon); + } else { + $icon = file_get_contents(resource_path("images/app.png")); + } + } + + $r = getimagesizefromstring($icon); + + return response($icon) + ->header('Content-Type',$r["mime"]); + } diff --git a/routes/web.php b/routes/web.php index 05ffa5b..f30326d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -58,6 +58,7 @@ $router->group(['prefix' => 'api'], function () use ($router) { $router->post("/", ['uses' => 'API\AppController@createApp']); $router->get("/find", ['uses' => 'API\AppController@findApp']); $router->group(['prefix' => '{id}'], function () use ($router) { + $router->get("/icon", ["uses" => "API\AppController@getAppIcon"]); $router->get("/", ['uses' => 'API\AppController@appDetails']); $router->put("/", ['uses' => 'API\AppController@updateApp']); $router->get("/access", ["uses" => "API\oAuthController@getAccess"]);