/**
  * return a string stating the api status
  * @return String
  */
 public function getAPIStatusString()
 {
     $kraken = new KrakenService();
     if ($kraken->getAPIStatus()) {
         return _t('Kraken.API_OKAY', '_Your credentials are valid');
     } else {
         return _t('Kraken.API_PROBLEM', '_There is a problem with your credentials');
     }
 }
 /**
  * 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;
 }