private function processDir($relativePath = '') { if (!$this->zendSourceDir) { throw new Exception('Undefined source dir'); } echo "\nProcess dir: {$relativePath} "; $zendSourceFolder = Lms_FileSystem::getFolder($this->zendSourceDir . '/' . $relativePath); Lms_FileSystem::createFolder($this->zendOutputDir . '/' . $relativePath); $subFolders = $zendSourceFolder->getFolders(); while (Lms_Enumerator::FAIL !== ($subFolder = $subFolders->getEach())) { $folderPath = $relativePath . '/' . $subFolder->getName(); $this->processDir($folderPath); } $files = $zendSourceFolder->getFiles(); while (Lms_Enumerator::FAIL !== ($file = $files->getEach())) { $filePath = $relativePath . '/' . $file->getName(); $this->processFile($filePath); } echo "\n/Process dir: {$relativePath} "; }
public static function downloadImage($url, $saveTo) { if (!self::$httpClient) { self::$httpClient = new Zend_Http_Client(); } $headers = array(); $headers['Accept'] = '*/*'; $headers['Accept-Language'] = 'ru'; $headers['Accept-Encoding'] = 'gzip, deflate'; $headers['Referer'] = dirname($url); $response = self::$httpClient->setUri($url)->setHeaders($headers)->request(Zend_Http_Client::GET); $imageContent = $response->getBody(); Lms_FileSystem::createFolder(dirname($saveTo), 0777, true); file_put_contents($saveTo, $imageContent); }
private function getCompiledItem() { $compress = Lms_Application::getConfig('optimize', 'js_compress'); $filename = md5(serialize($this->_cache)); $path = self::$cacheDir . $filename . ($compress ? '_compressed' : '') . '.js'; if (!file_exists($path)) { Lms_Debug::debug("Combine javascripts to {$path}..."); Lms_FileSystem::createFolder(dirname($path), 0777, true); $jsContent = ''; foreach ($this->_cache as $js) { if (is_array($js)) { $jsContent .= file_get_contents($js['filepath']) . "\n\n"; Lms_Debug::debug($js['filepath'] . ' ... OK'); } else { $jsContent .= $js . "\n\n"; Lms_Debug::debug('Inline JavaScript ... OK'); } } if ($compress) { $jsContent = JSMin::minify($jsContent); } file_put_contents($path, $jsContent); } $url = str_replace($_SERVER['DOCUMENT_ROOT'], '', $path); $item = $this->createData('text/javascript', array('src' => $url)); return $item; }
private function getCompiledItem() { $compress = Lms_Application::getConfig('optimize', 'css_compress'); $filename = md5(serialize($this->_cache)); $path = self::$cacheDir . $filename . ($compress ? '_compressed' : '') . '.css'; if (!file_exists($path)) { Lms_Debug::debug("Combine css to {$path}..."); Lms_FileSystem::createFolder(dirname($path), 0777, true); $cssContent = ''; foreach ($this->_cache as $css) { $content = file_get_contents($css['filepath']); if ($compress) { $cssContent .= Minify_CSS::minify($content, array('prependRelativePath' => dirname($path), 'currentDir' => dirname($css['filepath']), 'symlinks' => Lms_Application::getConfig('symlinks'))); } else { $cssContent .= Minify_CSS_UriRewriter::rewrite($content, dirname($css['filepath']), $_SERVER['DOCUMENT_ROOT'], Lms_Application::getConfig('symlinks')); } $cssContent .= "\n\n"; Lms_Debug::debug($css['filepath'] . ' ... OK'); } file_put_contents($path, $cssContent); } $url = str_replace($_SERVER['DOCUMENT_ROOT'], '', $path); $item = $this->createDataStylesheet(array('href' => $url)); return $item; }