static function wildcardToRegexp( $wildcard, $separatorCharacter = false ) { return eZImageHandler::wildcardToRegexp( $wildcard, $separatorCharacter ); }
function outputMIMEType(&$manager, $currentMimeData, $wantedMimeData, $supportedFormatsOriginal, $aliasName = false) { if (is_array($this->conversionRules())) { $conversionRules = array_merge($manager->conversionRules(), $this->conversionRules()); } else { $conversionRules = $manager->conversionRules(); } $mimeData = false; $mimeType = false; if (!$this->isInputMIMETypeSupported($currentMimeData)) { return false; } if ($wantedMimeData) { $conversionRules = array_merge(array(array('from' => $currentMimeData['name'], 'to' => $wantedMimeData['name'])), $conversionRules); } $supportedFormats = array(); foreach ($supportedFormatsOriginal as $supportedFormat) { if ($this->isOutputMIMETypeSupported($supportedFormat)) { $supportedFormats[] = $supportedFormat; $conversionRules[] = array('from' => $supportedFormat, 'to' => $supportedFormat); } } if ($wantedMimeData and in_array($wantedMimeData['name'], $supportedFormats)) { $mimeType = $wantedMimeData['name']; } else { if (is_array($conversionRules)) { foreach ($conversionRules as $rule) { if (!$this->isOutputMIMETypeSupported($rule['to']) or !in_array($rule['to'], $supportedFormats)) { continue; } $matchRule = false; if (strpos($rule['from'], '*') !== false) { $matchString = eZImageHandler::wildcardToRegexp($rule['from']); if (preg_match("#^" . $matchString . "\$#", $currentMimeData['name'])) { $matchRule = $rule; } } else { if ($rule['from'] == $currentMimeData['name']) { $matchRule = $rule; } } if ($matchRule) { if ($mimeType) { if ($wantedMimeData and $matchRule['to'] == $wantedMimeData['name']) { $mimeType = $matchRule['to']; } } else { $mimeType = $matchRule['to']; } } } } } if ($mimeType) { $mimeData = eZMimeType::findByName($mimeType); $this->rewriteURL($currentMimeData, $mimeData, $this->outputRewriteType(), $aliasName); } return $mimeData; }