/** * Change the property on the given node. * * @param NodeData $node * @return NodeData */ public function execute(NodeData $node) { $node = $this->nodeFactory->createFromNodeData($node, $this->contextFactory->create(array('workspaceName' => $node->getWorkspace()->getName(), 'invisibleContentShown' => true, 'inaccessibleContentShown' => true))); if (!$node) { return; } $column0 = $node->getPrimaryChildNode(); if (!$column0) { return; } foreach ($column0->getChildNodes() as $childNode) { $node = $childNode->copyAfter($node, NodePaths::generateRandomNodeName()); } return $node; }
/** * Get the name of this node template. * * If a name has been set using setName(), it is returned. If not, but the * template has a (non-empty) title property, this property is used to * generate a valid name. As a last resort a random name is returned (in * the form "name-XXXXX"). * * @return string * @api */ public function getName() { if ($this->name !== null) { return $this->name; } return NodePaths::generateRandomNodeName(); }
/** * Generate possible node name. When an idealNodeName is given then this is put into a valid format for a node name, * otherwise a random node name in the form "node-alphanumeric" is generated. * * @param string $idealNodeName * @return string */ protected function generatePossibleNodeName($idealNodeName = null) { if ($idealNodeName !== null) { $possibleNodeName = \TYPO3\TYPO3CR\Utility::renderValidNodeName($idealNodeName); } else { $possibleNodeName = NodePaths::generateRandomNodeName(); } return $possibleNodeName; }