public function filterLocalizedFields(Object\AbstractObject $object, $objectData)
{
if (!$object instanceof Object\Concrete) {
return $objectData;
}
$user = Tool\Admin::getCurrentUser();
if ($user->getAdmin()) {
return $objectData;
}
$fieldDefinitions = $object->getClass()->getFieldDefinitions();
if ($fieldDefinitions) {
$languageAllowedView = Object\Service::getLanguagePermissions($object, $user, "lView");
$languageAllowedEdit = Object\Service::getLanguagePermissions($object, $user, "lEdit");
foreach ($fieldDefinitions as $key => $fd) {
if ($fd->getFieldtype() == "localizedfields") {
foreach ($objectData["data"][$key]["data"] as $language => $languageData) {
if (!is_null($languageAllowedView) && !$languageAllowedView[$language]) {
unset($objectData["data"][$key]["data"][$language]);
}
}
}
}
$this->setLayoutPermission($objectData["layout"], $languageAllowedView, $languageAllowedEdit);
}
return $objectData;
}