protected function add(TreeNode $node, Node $parent) { $type = NodeType::getByHandle($node->getType()); $class = $type->getTreeNodeTypeClass(); $new = call_user_func_array(array($class, 'add'), array($node->getTitle(), $parent)); foreach ($node->getChildren() as $child) { $this->add($child, $new); } }
/** * Creates everything necessary to store files in folders. */ public function create() { $type = NodeType::getByHandle('file'); if (!is_object($type)) { NodeType::add('file'); } $type = NodeType::getByHandle('file_folder'); if (!is_object($type)) { NodeType::add('file_folder'); } $type = NodeType::getByHandle('search_preset'); if (!is_object($type)) { NodeType::add('search_preset'); } $type = TreeType::getByHandle('file_manager'); if (!is_object($type)) { TreeType::add('file_manager'); } $manager = FileManager::get(); if (!is_object($manager)) { $manager = FileManager::add(); } return $manager; }
public function importChildren(\SimpleXMLElement $sx) { $xnodes = $sx->children(); foreach ($xnodes as $xn) { $type = NodeType::getByHandle($xn->getName()); $class = $type->getTreeNodeTypeClass(); $node = call_user_func_array(array($class, 'importNode'), array($xn, $this)); call_user_func_array(array($node, 'importChildren'), array($xn)); } }
public static function add($parent = false) { $db = Loader::db(); $treeNodeParentID = 0; $treeID = 0; $treeNodeDisplayOrder = false; $inheritPermissionsFromTreeNodeID = 0; if (is_object($parent)) { $treeNodeParentID = $parent->getTreeNodeID(); $treeID = $parent->getTreeID(); $inheritPermissionsFromTreeNodeID = $parent->getTreeNodePermissionsNodeID(); $treeNodeDisplayOrder = $db->GetOne('select count(treeNodeDisplayOrder) from TreeNodes where treeNodeParentID = ?', array($treeNodeParentID)); } if (!$treeNodeDisplayOrder) { $treeNodeDisplayOrder = 0; } $treeNodeTypeHandle = Loader::helper('text')->uncamelcase(strrchr(get_called_class(), '\\')); $type = TreeNodeType::getByHandle($treeNodeTypeHandle); $db->Execute('insert into TreeNodes (treeNodeTypeID, treeNodeParentID, treeNodeDisplayOrder, inheritPermissionsFromTreeNodeID, treeID) values (?, ?, ?, ?, ?)', array($type->getTreeNodeTypeID(), $treeNodeParentID, $treeNodeDisplayOrder, $inheritPermissionsFromTreeNodeID, $treeID)); $id = $db->Insert_ID(); $node = self::getByID($id); if (!$inheritPermissionsFromTreeNodeID) { $node->setTreeNodePermissionsToOverride(); } return $node; }
protected function addTreeNodeTypes() { $this->output(t('Adding tree node types...')); $this->connection->Execute('update TreeNodeTypes set treeNodeTypeHandle = ? where treeNodeTypeHandle = ?', array('category', 'topic_category')); $this->connection->Execute('update PermissionKeys set pkHandle = ? where pkHandle = ?', array('view_category_tree_node', 'view_topic_category_tree_node')); $this->connection->Execute('update PermissionKeyCategories set pkCategoryHandle = ? where pkCategoryHandle = ?', array('category_tree_node', 'topic_category_tree_node')); $results = NodeType::getByHandle('express_entry_results'); if (!is_object($results)) { NodeType::add('express_entry_results'); } $category = NodeType::getByHandle('express_entry_category'); if (!is_object($category)) { NodeType::add('express_entry_category'); } $results = TreeType::getByHandle('express_entry_results'); if (!is_object($results)) { TreeType::add('express_entry_results'); $tree = ExpressEntryResults::add(); $node = $tree->getRootTreeNodeObject(); // Add forms node beneath it. \Concrete\Core\Tree\Node\Type\ExpressEntryCategory::add(ExpressFormBlockController::FORM_RESULTS_CATEGORY_NAME, $node); } }
public static function getNodeByName($name) { $db = Database::connection(); $treeNodeTypeHandle = uncamelcase(strrchr(get_called_class(), '\\')); $type = TreeNodeType::getByHandle($treeNodeTypeHandle); $treeNodeID = $db->fetchColumn('select treeNodeID from TreeNodes where treeNodeName = ? and treeNodeTypeID = ?', [$name, $type->getTreeNodeTypeID()]); if ($treeNodeID) { return static::getByID($treeNodeID); } }