X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/da2c20b14bc2802eaf94e07a13ac79aab4cbfa71..6bc3a323095049fba5ac8bb2b1a2cef1e82b8df5:/Twig/Filter/JPackFilter.php diff --git a/Twig/Filter/JPackFilter.php b/Twig/Filter/JPackFilter.php deleted file mode 100644 index 43aeb86..0000000 --- a/Twig/Filter/JPackFilter.php +++ /dev/null @@ -1,105 +0,0 @@ -hasParameter('rapsys_pack.jpackfilter')) { - if ($parameters = $containerInterface->getParameter('rapsys_pack.jpackfilter')) { - foreach($parameters as $k => $v) { - if (isset($this->$k)) { - $this->$k = $v; - } - } - } - } - - //Set fileName - $this->fileName = $fileName; - - //Set line - $this->line = $line; - - //Deal with compress - if (!empty($this->compress)) { - //Append clean parameter - if ($this->compress == 'clean') { - $this->bin .= ' --clean'; - //Append shrink parameter - } elseif ($this->compress == 'shrink') { - $this->bin .= ' --shrink'; - //Append obfuscate parameter - } elseif ($this->compress == 'obfuscate') { - $this->bin .= ' --obfuscate'; - //Unknown compress type - #XXX: default compression is best - } elseif ($this->compress !== 'best') { - //Throw an error on unknown compress - throw new \Twig_Error(sprintf('Got unexpected compress for %s: %s', $this->bin, $this->compress), $this->line, $this->fileName); - } - } - } - - public function process($content) { - //Create descriptors - $descriptorSpec = array( - 0 => array('pipe', 'r'), - 1 => array('pipe', 'w'), - 2 => array('pipe', 'w') - ); - - //Open process - if (is_resource($proc = proc_open($this->bin, $descriptorSpec, $pipes))) { - //Set stderr as non blocking - stream_set_blocking($pipes[2], 0); - - //Send content to stdin - fwrite($pipes[0], $content); - - //Close stdin - fclose($pipes[0]); - - //Read content from stdout - if ($stdout = stream_get_contents($pipes[1])) { - $content = $stdout; - } - - //Close stdout - fclose($pipes[1]); - - //Read content from stderr - if (($stderr = stream_get_contents($pipes[2]))) { - throw new \Twig_Error(sprintf('Got unexpected strerr for %s: %s', $this->bin, $stderr), $this->line, $this->fileName); - } - - //Close stderr - fclose($pipes[2]); - - //Close process - if (($ret = proc_close($proc))) { - throw new \Twig_Error(sprintf('Got unexpected non zero return code %s: %d', $this->bin, $ret), $this->line, $this->fileName); - } - } - - //Return content - return $content; - } -}