Esempio n. 1
0
 public static function add($name)
 {
     // copy permissions from the other node.
     $rootNode = CategoryTreeNode::add();
     $treeID = parent::create($rootNode);
     $tree = self::getByID($treeID);
     $tree->setTopicTreeName($name);
     // by default, topic trees are viewable by all
     $guestGroupEntity = GroupPermissionAccessEntity::getOrCreate(UserGroup::getByID(GUEST_GROUP_ID));
     $pk = CategoryTreeNodePermissionKey::getByHandle('view_category_tree_node');
     if (is_object($pk)) {
         $pk->setPermissionObject($rootNode);
         $pa = PermissionAccess::create($pk);
         $pa->addListItem($guestGroupEntity);
         $pt = $pk->getPermissionAssignmentObject();
         $pt->assignPermissionAccess($pa);
     }
     return $tree;
 }
Esempio n. 2
0
 public function add_category_node()
 {
     $token = \Core::make('token');
     $error = \Core::make('error');
     $parent = $this->getNode();
     if (!$token->validate('add_category_node')) {
         $error->add($token->getErrorMessage());
     }
     $title = $_POST['treeNodeCategoryName'];
     if (!$title) {
         $error->add(t('Invalid title for category'));
     }
     if (!is_object($parent)) {
         $error->add(t('Invalid parent category'));
     }
     if (!$error->has()) {
         $category = Category::add($title, $parent);
         $r = $category->getTreeNodeJSON();
         return new JsonResponse($r);
     } else {
         return new JsonResponse($error);
     }
 }