public function publish($path, $level = -1) { $assetPath = $this->generatePath($path); if (isset($this->_published[$path])) { return $this->_published[$path]; } if (is_dir($this->getBasePath() . '/' . $assetPath) && ($this->fastCheck || FileHelper::md5Directory($this->getBasePath() . '/' . $assetPath) == FileHelper::md5Directory($path))) { return $this->getBaseUrl() . '/' . $assetPath; } else { if (!is_dir($this->getBasePath() . '/' . $assetPath)) { mkdir($this->getBasePath() . '/' . $assetPath, 0777, true); } FileHelper::copyDirectory($path, $this->getBasePath() . '/' . $assetPath, 0777, $level); $this->_published[$path] = $this->getBaseUrl() . '/' . $assetPath; return $this->_published[$path]; } }