/** * Helper method to add common parameters and code. * * @param AbstractImageFilter $filter The filter to execute method on. * @param string $op The filter-specific command line options * @param $ignoreSourceFile If true source file is not added to exec cmdParams * @return string The filter's target file */ public static function executeFilter(AbstractImageFilter $filter, $op, $ignoreSourceFile = false) { if ($filter->outputAlpha != null) { if ($filter->outputAlpha == true) { $op .= " -alpha On"; } else { $op .= " -alpha Off"; } } if (null !== $filter->interlace) { $op .= " -interlace {$filter->interlace}"; } $op .= " -quality {$filter->outputQuality}"; $inFile = escapeshellarg($filter->sourceFile); $outFile = escapeshellarg($filter->targetFile); if ($ignoreSourceFile) { $cmdParams = "{$op} {$outFile}"; } else { $cmdParams = "{$inFile} {$op} {$outFile}"; } $filter->exec($cmdParams); return $filter->targetFile; }