public function getUrl($size = false, $crop = true, $fitImageInCanvas = false) { // Check if the image exists or return a placeholder if (!file_exists(Yii::getAlias('@uploadsBasePath/img/') . $this->filePath)) { $img = new PlaceHolder(); return $img->getUrl($size); } $urlSize = $size ? '_' . $size : ''; $base = $this->getModule()->getCachePath(); $sub = $this->getSubDur(); $origin = $this->getPathToOrigin(); $filePath = $base . '/' . $sub . '/' . $this->urlAlias . $urlSize . '.' . pathinfo($origin, PATHINFO_EXTENSION); if (!file_exists($filePath)) { $this->createVersion($origin, $size, $crop, $fitImageInCanvas); if (!file_exists($filePath)) { throw new \Exception(Yii::t('app', 'The image does not exist')); } } $httpPath = \Yii::getAlias('@uploadsBaseUrl') . '/img/cache/' . $sub . '/' . $this->urlAlias . $urlSize . '.' . pathinfo($origin, PATHINFO_EXTENSION); return $httpPath; }