diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentBL.php
new file mode 100644
index 0000000..792af6d
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentBL.php
@@ -0,0 +1,79 @@
+fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
+ require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");
+ require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");
+ require_once("$default->fileSystemRoot/lib/security/permission.inc");
+ require_once("$default->fileSystemRoot/lib/email/Email.inc");
+ require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentInstance.inc");
+ require_once("$default->fileSystemRoot/presentation/Html.inc");
+ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
+
+
+ //TODO REMOVE THIS LINE - FOR TESTING ONLY!!!!
+ if (!isset($fDocumentID)) {
+ $fDocumentID = 1;
+ }
+
+ if (isset($fForStore)) {
+ $oDependantDocument = & new DependantDocumentInstance($fDocumentTitle, $fUserID, $fTargetDocumentID, $fDocumentID);
+ if ($oDependantDocument->create()) {
+ $oUser = User::get($fUserID);
+ if ($oUser->getEmailNotification()) {
+ //notify the user by email if they wish to be notified by email
+ $oTemplateDocument = & Document::get($fTargetDocumentID);
+
+
+ $sBody = $oUser->getName() . ", a step in the document collaboration process requires you to create a new document. " .
+ generateLink("/control.php","action=dashboard","Log onto KnowledgeTree") . " and select the relevant link under the 'Dependant Documents' heading on your dashboard when you are ready upload it.";
+ //if we have a template document
+ if (!($oTemplateDocument === false)) {
+ $sBody .= "The document entitled " . generateLink("/control.php", "action=viewDocument&fDocumentID=" . $oTemplateDocument->getID(), $oTemplateDocument->getName()) . " " .
+ "can be used as a template";
+ }
+
+ $oEmail = & new Email();
+ $oEmail->send($oUser->getEmail(), "Dependant document creation required", $sBody);
+ }
+ //go back to the document page you were viewing
+ redirect($default->rootUrl . "/control.php?action=viewDocument&fDocumentID=$fDocumentID");
+ } else {
+ //dependant document creation failed - display an error message
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ $oDocument = Document::get($fDocumentID);
+
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(getAddPage($oDocument->getFolderID(), $fDocumentID, $fUnitID, $fUserID, $fDocumentTitle, $fTemplateDocument));
+ $main->setCentralPayload($oPatternCustom);
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fDocumentID=$fDocumentID&fForStore=1");
+ $main->setErrorMessage("An error occured whilst trying to create the dependant document");
+ $main->render();
+
+ }
+ } else {
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ //we're browsing, so just display the page
+ $oDocument = Document::get($fDocumentID);
+
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(getAddPage($oDocument->getFolderID(), $fDocumentID, $fUnitID, $fUserID, $fDocumentTitle, $fTemplateDocument));
+ $main->setCentralPayload($oPatternCustom);
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fDocumentID=$fDocumentID&fForStore=1");
+ $main->render();
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentUI.inc
new file mode 100644
index 0000000..34d0f60
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/createDependantDocumentUI.inc
@@ -0,0 +1,113 @@
+siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));
+ $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");
+ $sFolderPathLink = displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse");
+ return "
$sFolderPathLink
\n";
+}
+
+function getAddPage($iFolderID, $iDocumentID, $iUnitID, $iUserID, $sDocumentTitle, $sTemplateDocument) {
+ global $default;
+ $sToRender = renderHeading("Create a new dependant document");
+ $sToRender .= getFolderPath($iFolderID);
+ $sToRender .= "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
Document title
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
User's Unit
" . getUnitDropDown($iDocumentID, $iUnitID) . "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
User
" . getUserDropDown($iUnitID, $iUserID) . "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "
\n";
+
+ //had a slight problem with netscape 4.7x - it doesn't support disabled. So I had to use
+ //javascript to set the onFocus attribute to blur
+ $bAddNetscapeScript = false;
+ if (! (($default->phpSniff->property("browser") == "moz") && ($default->phpSniff->property("version") <= "4.79")) ) {
+ //for any other browser but netscape 4.7 do this
+ $sToRender .= "