public function getImage($image_id, $image_name)
 {
     if ($img = VIImage::getImage($image_id, 'with-logo')) {
         $request = Request::instance();
         $response = Response::make($img['image'], 200, ['Content-Type' => 'image/jpeg']);
         $time = date('r', $img['time']);
         $expires = date('r', strtotime('+1 year', $img['time']));
         $response->setLastModified(new DateTime($time));
         $response->setExpires(new DateTime($expires));
         $response->setPublic();
         if ($response->isNotModified($request)) {
             return $response;
         } else {
             $response->prepare($request);
             return $response;
         }
     }
     //$file = $this->filesystem->read($image_name);
     /*        $image = new Imagick();
             $image->pingImageBlob($file);
             $mimeType = $image->getImageMimeType();
     
             $response = Response::make($file, 200);
             $response->header('Content-Type', $mimeType);
             return $response;
     */
 }
Example #2
0
        $app = app();
        $controller = $app->make($controller);
        return $controller->callAction($method, $params);
    })->where(['controller' => '[^/]+', 'action' => '[^/]+', 'args' => '[^?$]+']);
});
#===========================================#
#               FRONTEND                    #
#===========================================#
Route::get('/', ['as' => 'home', 'uses' => 'HomeController@index']);
/*
 * -------------------------------------------
 *  Imagelink Routes
 *  ------------------------------------------
 */
Route::get('/pic/{type}/{slug}-{id}.jpg', function ($type, $slug, $id) {
    if ($img = VIImage::getImage($id, $type)) {
        $request = Request::instance();
        $response = Response::make($img['image'], 200, ['Content-Type' => 'image/jpeg']);
        $time = date('r', $img['time']);
        $expires = date('r', strtotime('+1 year', $img['time']));
        $response->setLastModified(new DateTime($time));
        $response->setExpires(new DateTime($expires));
        $response->setPublic();
        if ($response->isNotModified($request)) {
            return $response;
        } else {
            $response->prepare($request);
            return $response;
        }
    }
    return App::abort(404);