/** * @param Image $img * @param CommandParams $params * * @return string * * @throws ExecutionFailedException */ private function returnImage(Image $img, CommandParams $params) { switch ($this->returnType) { case self::RETURN_TYPE_URL: case self::RETURN_TYPE_PATH: $tmpDir = $this->executionContext->ensureTempDirectory(); $tmpFile = $tmpDir . '/' . md5($params->getParams()) . '.png'; $img->encode('png')->save($tmpFile); if ($this->returnType === self::RETURN_TYPE_PATH) { return $tmpFile; } return '<img src="/_tmp/' . basename($tmpFile) . '">'; case self::RETURN_TYPE_DATA_URL: return '![Image](' . $img->encode('data-url')->getEncoded() . ')'; case self::RETURN_TYPE_DATA: return $img->encode('png')->getEncoded(); default: throw new ExecutionFailedException("Invalid return type '{$this->returnType}' detected."); } }
/** * @param string $article * * @return string */ private function getCacheFilePath($article) { $tmpDir = $this->executionContext->ensureTempDirectory(); $tmpFile = $tmpDir . '/summary-' . md5($article) . '.txt'; return $tmpFile; }