Ejemplo n.º 1
0
 /**
  * addFolderNode
  * @param integer $intRootId,
  * @param integer $intParentId
  * @param array $arrData
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 public function addFolderNode($intRootId, $intParentId, $arrData = array())
 {
     try {
         $intFolderId = null;
         $this->getFolderTable();
         $objNestedSet = new NestedSet($this->objFolderTable);
         $objNestedSet->setDBFParent('idParentFolder');
         $objNestedSet->setDBFRoot('idRootLevels');
         /**
          * if $intParentId > 0, has parent folder id
          */
         if ($intParentId != '' && $intParentId > 0) {
             $intFolderId = $objNestedSet->newLastChild($intParentId, $arrData);
         } else {
             $objLastRootFolderData = $this->loadLastRootFolder($intRootId);
             if (count($objLastRootFolderData) > 0) {
                 $objLastRootFolder = $objLastRootFolderData->current();
                 $intFolderId = $objNestedSet->newNextSibling($objLastRootFolder->id, $arrData);
             } else {
                 $intFolderId = $objNestedSet->newRootNodeWithExistingRootId($intRootId, $arrData);
             }
         }
         return $intFolderId;
     } catch (Exception $exc) {
         $this->core->logger->err($exc);
     }
 }