/**
  * @param $model
  * @param $type
  * @param $id
  * @param $fileName
  * @param $ext
  *
  * @throws \CHttpException
  */
 public function actionResize($model, $type, $id, $fileName, $ext)
 {
     $file = FPM::getOriginalFilePath($id, $fileName, $ext);
     if (file_exists($file)) {
         $meta = FPM::transfer()->getMetaData($id);
         if (!(is_array($meta) && $fileName === $meta['real_name'])) {
             throw new CHttpException(404, 'File not found');
         }
         $config = isset(FPM::m()->imageSections[$model]) && isset(FPM::m()->imageSections[$model][$type]) ? FPM::m()->imageSections[$model][$type] : null;
         if (!$config) {
             throw new CHttpException(400, 'Incorrect request');
         }
         $thumbFile = FPM::getCachedImagePath($id, $model, $type, $id . '-' . $meta['real_name'] . '.' . $meta['extension']);
         FPM::createCacheDir($id, $model, $type);
         /** @var $ih \fileProcessor\extensions\imageHandler\drivers\MDriverAbstract|\fileProcessor\extensions\imageHandler\MImageHandler */
         $ih = Yii::createComponent(FPM::m()->getImageHandler());
         $ih->init();
         $ih->load($file);
         if (isset($config['do'])) {
             switch ($config['do']) {
                 case 'adaptiveResize':
                     $ih->adaptiveThumb($config['width'], $config['height']);
                     break;
                 case 'resize':
                     $ih->resize($config['width'], $config['height']);
                     break;
                 case 'copy':
                     // do nothing, create copy of the file
                     break;
                 case 'resizeCanvas':
                     $ih->resizeCanvas($config['width'], $config['height']);
                     break;
                 case 'rhombusResizeCanvas':
                     $ih->resizeCanvas(floor($config['width'] / 2), floor($config['height'] / 2))->resizeCanvas($config['width'], $config['height']);
                     break;
                 default:
                     throw new CHttpException(400, 'Incorrect action');
                     break;
             }
         } else {
             $ih->adaptiveThumb($config['width'], $config['height']);
         }
         $ih->save($thumbFile, false, $config['quality']);
         $ih->show(false, $config['quality']);
     } else {
         throw new CHttpException(404, 'File not found');
     }
     Yii::app()->end();
 }
 /**
  * Delete cached images.
  *
  * @param integer $id image id
  *
  * @internal param bool|string $ext
  *
  * @return void
  */
 public function delete($id)
 {
     $metaData = FPM::transfer()->getMetaData($id);
     if (!in_array($metaData['extension'], array('png', 'jpeg', 'jpg', 'gif'), true)) {
         return;
     }
     $config = FPM::m()->imageSections;
     foreach ($config as $modelKey => $model) {
         foreach ($model as $typeKey => $type) {
             $fileName = FPM::getCachedImagePath($id, $modelKey, $typeKey, $metaData['real_name']);
             if (is_file($fileName)) {
                 unlink($fileName);
             }
         }
     }
 }