/** * Checks if the passed node type is valid. * * @param NodeInterface $node * @param Constraint $constraint */ public function validate($node, Constraint $constraint) { if (!in_array($node->getType(), $this->nodeProvider->getActiveNodeTypes($node))) { $nodeTypeName = $node->getType(); if (null !== ($config = $this->nodeProvider->getNodeTypeConfig($node->getType()))) { $nodeTypeName = $config->getName(); } $this->context->addViolation($constraint->message, array('%node_type%' => $nodeTypeName)); } }
/** * Get node icon. * * @param NodeInterface $node * * @return null|string */ private function getIcon(NodeInterface $node) { if (null === $node->getParent()) { return $this->getRootNodeIcon(); } if ($node->getType() && null !== ($config = $this->nodeProvider->getNodeTypeConfig($node->getType()))) { return $config->getIconPath(); } return null; }
/** * Get node types. * * @param NodeInterface $node * * @return array */ private function getNodeTypes(NodeInterface $node) { $nodeTypes = array(); if (null !== $node->getParent()) { foreach ($this->nodeProvider->getActiveNodeTypes($node) as $nodeType) { $nodeTypes[$nodeType] = $this->getNodeTypeName($this->nodeProvider->getNodeTypeConfig($nodeType)); } } return $nodeTypes; }