Esempio n. 1
0
 public function actionGenerateImage()
 {
     $this->validateToken();
     $device = N2Request::getVar('device');
     $this->validateVariable($device == 'tablet' || $device == 'mobile', 'device');
     $image = N2Request::getVar('image');
     $this->validateVariable(!empty($image), 'image');
     N2Loader::import('libraries.image.image');
     $scale = array('tablet' => 0.5, 'mobile' => 0.3);
     $newImage = N2Image::scaleImage('image', $image, $scale[$device], true);
     $this->response->respond(array('image' => N2ImageHelper::fixed($newImage)));
 }
 protected static function optimizeImage($image, $data, $slider)
 {
     $lazyLoad = $slider->features->lazyLoad;
     $imagePath = N2ImageHelper::fixed($image, true);
     if ($imagePath[0] == '/' && $imagePath[1] != '/' && $lazyLoad->layerImageSizeBase64 && $lazyLoad->layerImageSizeBase64Size && filesize($imagePath) < $lazyLoad->layerImageSizeBase64Size) {
         return array('src' => N2Image::base64($imagePath, $image));
     }
     if (!$lazyLoad->layerImageOptimize || !$data->get('image-optimize', 1)) {
         return array('src' => N2ImageHelper::fixed($image));
     }
     $tablet = N2Image::scaleImage('image', $image, $lazyLoad->layerImageTablet);
     $mobile = N2Image::scaleImage('image', $image, $lazyLoad->layerImageMobile);
     if ($image == $tablet && $image == $mobile) {
         return array('src' => N2ImageHelper::fixed($image));
     }
     return array('src' => N2Image::base64Transparent(), 'data-desktop' => N2ImageHelper::fixed($image), 'data-tablet' => N2ImageHelper::fixed($tablet), 'data-mobile' => N2ImageHelper::fixed($mobile), 'data-device' => '1');
 }