diff --git a/controllers/class.AddSubFolder.php b/controllers/class.AddSubFolder.php index 539dcec12..68a5d7c0d 100644 --- a/controllers/class.AddSubFolder.php +++ b/controllers/class.AddSubFolder.php @@ -33,7 +33,7 @@ class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common { if(false === $this->callHook('preAddSubFolder')) { if(empty($this->errormsg)) $this->errormsg = 'hook_preAddSubFolder_failed'; - return null; + return false; } $name = $this->getParam('name'); @@ -61,8 +61,8 @@ class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common { $notificationgroups = $this->getParam('notificationgroups'); $notificationusers = $this->getParam('notificationusers'); - $result = $this->callHook('addSubFolder'); - if($result === null) { + $subFolder = $this->callHook('addSubFolder'); + if($subFolder === null) { $subFolder = $folder->addSubFolder($name, $comment, $user, $sequence, $attributes); if (!is_object($subFolder)) { $this->errormsg = "error_occured"; @@ -77,13 +77,27 @@ class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common { if($subFolder->getGroupAccessMode($notgroup) >= M_READ) $res = $subFolder->addNotify($notgroup->getID(), false); } - - if(!$this->callHook('postAddSubFolder', $subFolder)) { - } - $result = $subFolder; + } elseif($subFolder === false) { + if(empty($this->errormsg)) + $this->errormsg = 'hook_addFolder_failed'; + return false; } - return $result; + if($fulltextservice && ($index = $fulltextservice->Indexer()) && $document) { + $idoc = $fulltextservice->IndexedDocument($subFolder); + if(false !== $this->callHook('preIndexFolder', $document, $idoc)) { + $index->addDocument($idoc); + $index->commit(); + } + } + + if(false === $this->callHook('postAddSubFolder', $subFolder)) { + if(empty($this->errormsg)) + $this->errormsg = 'hook_postAddSubFoder_failed'; + return false; + } + + return $subFolder; } /* }}} */ }