LanguageCombinationConstraintValidator.php in Translation Management Tool 8
File
translators/tmgmt_local/skills/src/Plugin/Validation/Constraint/LanguageCombinationConstraintValidator.php
View source
<?php
namespace Drupal\tmgmt_language_combination\Plugin\Validation\Constraint;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
class LanguageCombinationConstraintValidator extends ConstraintValidator {
public function validate($value, Constraint $constraint) {
if ($value->language_from == $value->language_to) {
$this->context
->addViolation($constraint->noDifferentMessage);
}
foreach ($value
->getParent() as $combination) {
if ($combination->language_from == $value->language_from && $combination->language_to == $value->language_to) {
if ($value != $combination && $value
->getName() > $combination
->getName()) {
$this->context
->addViolation($constraint->uniqueMessage);
}
}
}
}
}