/** * Initializes the combine and minify-processes * * @param string $pDir * @param string $pFileName * @param string $pFileMinName */ private function writeWholeFile($pDir, $pFileName, $pFileMinName) { //we get all Files we want to combine $lFiles = FilesystemHelper::retrieveFilesInDir($pDir, array('.svn', 'include', 'tiny_mce', 'widget', 'engineroom'), array($pFileName, $pFileMinName), '.css'); //we combine the Files to one file named by given filename and save it in the include-folder $this->combineFiles($lFiles, $pFileName); //we minify the combined file and save it in the include-folder by given fileminname $lCssMin = Minify_CSS_Compressor::process(file_get_contents(dirname(__FILE__) . '/../../web/css/include/' . $pFileName)); $lCssMinFile = fopen(dirname(__FILE__) . '/../../web/css/include/' . $pFileMinName, 'w+'); $lDone = fwrite($lCssMinFile, $lCssMin); fclose($lCssMinFile); echo "build css-File: " . $pFileMinName; echo "\n\r"; }
/** * Minifies a given File(whole filepath) to a new filed named by fileminname * * @param string $pFile * @param string $pFileMinName */ private function minifyFiles($pDirname, $pWriteMode = "a+", $pFileExtension = "min.js") { //take all combined files from the include-folder $lFiles = FilesystemHelper::retrieveFilesInDir($pDirname, array('.svn'), array(), '.js'); foreach ($lFiles as $lFile) { //minify each single combined file $lJsMin = JSMin::minify(file_get_contents($lFile)); //build the filename with path $lFileName = $pDirname . str_replace('.js', '', basename($lFile)) . '.' . $pFileExtension; //build a new minify-file named by given fileminname and open it $lMinFile = fopen($lFileName, $pWriteMode); //write the minified content to the new minify-file $lDone = fwrite($lMinFile, $lJsMin); //and close the new minify-file fclose($lMinFile); echo "Minified: " . $lFileName; echo "\n\r"; } }