protected static function preprocessPropertyValues($theme, $snippetCode, $componentClass, $properties)
{
$snippet = SnippetManager::instance()->findByCodeOrComponent($theme, $snippetCode, $componentClass, true);
if (!$snippet) {
throw new ApplicationException(Lang::get('rainlab.pages::lang.snippet.not_found', ['code' => $snippetCode]));
}
$properties = array_change_key_case($properties);
$snippetProperties = $snippet->getProperties();
foreach ($snippetProperties as $propertyInfo) {
$propertyCode = $propertyInfo['property'];
$lowercaseCode = strtolower($propertyCode);
if (!array_key_exists($lowercaseCode, $properties)) {
if (array_key_exists('default', $propertyInfo)) {
$properties[$propertyCode] = $propertyInfo['default'];
}
} else {
$markupPropertyInfo = $properties[$lowercaseCode];
unset($properties[$lowercaseCode]);
$properties[$propertyCode] = $markupPropertyInfo;
}
}
return $properties;
}