private function _createTransformFilestring($transform)
{
$r = '';
foreach ($transform as $k => $v) {
if ($k == 'effects' || $k == 'preEffects') {
$effectString = '';
foreach ($v as $eff => $param) {
$effectString .= '_' . $eff . '-' . (is_array($param) ? implode("-", $param) : $param);
}
$r .= '_' . (isset(ImagerService::$transformKeyTranslate[$k]) ? ImagerService::$transformKeyTranslate[$k] : $k) . $effectString;
} else {
if ($k == 'watermark') {
$watermarkString = '';
foreach ($v as $eff => $param) {
$watermarkString .= $eff . '-' . (is_array($param) ? implode("-", $param) : $param);
}
$r .= '_' . (isset(ImagerService::$transformKeyTranslate[$k]) ? ImagerService::$transformKeyTranslate[$k] : $k) . '_' . substr(md5($watermarkString), 0, 10);
} elseif ($k == 'webpImagickOptions') {
$optString = '';
foreach ($v as $optK => $optV) {
$optString .= $optK . '-' . $optV . '-';
}
$r .= '_' . (isset(ImagerService::$transformKeyTranslate[$k]) ? ImagerService::$transformKeyTranslate[$k] : $k) . '_' . substr($optString, 0, strlen($optString) - 1);
} else {
$r .= '_' . (isset(ImagerService::$transformKeyTranslate[$k]) ? ImagerService::$transformKeyTranslate[$k] : $k) . (is_array($v) ? implode("-", $v) : $v);
}
}
}
return str_replace(array('#', '(', ')'), '', str_replace(array(' ', '.'), '-', $r));
}