/** * Returns current templates tree (JSON) * * @param \Includes\DataStructure\Graph $node Node * * @return array */ public static function buildJsonTreeNode(\Includes\DataStructure\Graph $node) { $result = array(); $children = $node->getChildren(); if ($children) { /** @var \Includes\DataStructure\Graph $child */ foreach ($children as $child) { $data = $child->getData(); $label = $data->class ? sprintf('%s (%s)', $child->getKey(), $data->class) : $child->getKey(); $result[] = array('id' => sprintf('template_%s', $data->templateId), 'text' => $label, 'state' => array('disabled' => $data->isList), 'li_attr' => array('data-template-id' => $data->templateId, 'data-template-path' => $child->getKey()), 'children' => static::buildJsonTreeNode($child)); } } return $result; }