/** * update the uploaded image with an optimized kraked file * @param File $file * @param Array $tmpFile * @TODO need to remake cropped images */ public function onAfterLoad($file, $tmpFile) { $siteConfig = SiteConfig::current_site_config(); if (!$siteConfig->DisableKraken && $file->appCategory() === 'image') { $krakenService = new KrakenService(); $data = $krakenService->optimizeImage($file->getFullPath()); //check if optimization was success if ($data['success']) { //attempt to download the kraked file $krakedFile = $krakenService->getOptimizedImage($data['kraked_url']); //update the uploaded file file_put_contents($file->getFullPath(), $krakedFile); $file->Kraked = true; $file->write(); } } }
/** * Calls the original writeTo function and then optimizes the image * @param String $filename */ public function writeTo($filename) { parent::writeTo($filename); $siteConfig = SiteConfig::current_site_config(); if (!$siteConfig->DisableKraken) { $krakenService = new KrakenService(); $data = $krakenService->optimizeImage($filename); //check if optimization was success if ($data['success'] && $data['saved_bytes'] >= 0) { //attempt to download the kraked file $krakedFile = $krakenService->getOptimizedImage($data['kraked_url']); //update the file if ($krakedFile) { file_put_contents($filename, $krakedFile); } } } }
/** * optimize formatted images * @param Image $image */ public function optimizeFormattedImages(Image $image) { $krakenService = new KrakenService(); $resizedImages = $image->getResizedImages(); $resizedImageCount = 0; if ($resizedImages) { foreach ($resizedImages as $resizedImage) { $data = $krakenService->optimizeImage($resizedImage['FileName']); //check if optimization was success if ($data['success'] && $data['saved_bytes'] >= 0) { //attempt to download the kraked file $krakedFile = $krakenService->getOptimizedImage($data['kraked_url']); //update the file if ($krakedFile) { file_put_contents($resizedImage['FileName'], $krakedFile); $resizedImageCount++; } } } } return $resizedImageCount; }