nouveau fichier : SRC/app/Http/Controllers/ImageController.php
modifié : SRC/app/Http/routes.php modifié : SRC/composer.json modifié : SRC/composer.lock modifié : SRC/config/app.php modifié : SRC/resources/views/backend/ref_listeoeuvres.blade.php
This commit is contained in:
56
SRC/app/Http/Controllers/ImageController.php
Normal file
56
SRC/app/Http/Controllers/ImageController.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Response;
|
||||
use Cache;
|
||||
use Image;
|
||||
|
||||
class ImageController extends Controller {
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function getImage($size,$url)
|
||||
{
|
||||
$size = htmlspecialchars($size);
|
||||
$url = htmlspecialchars($url);
|
||||
$key = $size.$url;
|
||||
if (Cache::has($key))
|
||||
{
|
||||
//On recupere notre image en cache
|
||||
$r = Cache::get($key);
|
||||
}
|
||||
else
|
||||
{
|
||||
// recup image sur le serveur
|
||||
$ch = curl_init();// set url
|
||||
curl_setopt($ch, CURLOPT_URL, "http://www.augustins.org/documents/10180/156407/".$url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
$content = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
|
||||
//redimensionnement
|
||||
$img = Image::make($content)->resize($size, $size, function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
});
|
||||
|
||||
$r = $img->response('jpg');
|
||||
|
||||
//Met en cache l'image avec son header pendant 2 semaine sur le serveur
|
||||
Cache::add($key, $r, 10080*2 );
|
||||
}
|
||||
return $r;
|
||||
}
|
||||
|
||||
}
|
@ -18,6 +18,9 @@ Route::get('changerref/{id}', 'HomeController@changerRef');
|
||||
Route::get('api/searchRef/{reg?}', 'APIController@refByName');
|
||||
Route::get('api/searchOeuvres', 'APIController@searchOeuvres');
|
||||
|
||||
//API FOR IMAGE RESIZE
|
||||
Route::get('/image/{size}/{url}', 'ImageController@getImage');
|
||||
|
||||
|
||||
// LOGIN RESET
|
||||
Route::get('password/reset/{token}', array(
|
||||
@ -69,4 +72,4 @@ Route::group(['middleware' => 'ifAdmin'], function ()
|
||||
Route::get('admin/updateUser/{id}', 'AdminController@updateUser');
|
||||
Route::get('admin/logAs/{id}', 'AdminController@logAs');
|
||||
Route::get('logout', 'LoginController@logout');
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user