From a47c54f4fd305545af6fc0c2e3c7ea78b8b76de2 Mon Sep 17 00:00:00 2001 From: nbm Date: Thu, 24 Nov 2005 16:18:28 +0000 Subject: [PATCH] Been moved into a folder action. --- presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadBL.php | 215 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadUI.inc | 203 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 files changed, 0 insertions(+), 418 deletions(-) delete mode 100644 presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadBL.php delete mode 100644 presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadUI.inc diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadBL.php deleted file mode 100644 index 9370b83..0000000 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadBL.php +++ /dev/null @@ -1,215 +0,0 @@ -fileSystemRoot/lib/database/datetime.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/BulkUploadManager.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTransaction.inc"); -require_once("$default->fileSystemRoot/lib/security/Permission.inc"); -require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc"); -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMetaData.inc"); -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableTableSqlQuery.inc"); -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); -require_once("$default->fileSystemRoot/presentation/Html.inc"); -require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); -require_once("bulkUploadUI.inc"); - -require_once(KT_LIB_DIR . '/foldermanagement/Folder.inc'); -require_once(KT_LIB_DIR . '/users/User.inc'); - -require_once(KT_LIB_DIR . '/import/bulkimport.inc.php'); -require_once(KT_LIB_DIR . '/import/zipimportstorage.inc.php'); - -$oPatternCustom = & new PatternCustom(); - -/* CHECK: system has required features to handle bulk upload */ -/* -if (!BulkUploadManager::isBulkUploadCapable()) { - // can't do bulk uploading - $sErrorMessage = _("This system is not capable of handling bulk uploads") . ".
\n" - . _("Please contact your system administrator") . "
\n" - . getCancelButton($fFolderID); - $main->setErrorMessage($sErrorMessage); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} -*/ - -$postExpected = KTUtil::arrayGet($_REQUEST, "postExpected"); -$postReceived = KTUtil::arrayGet($_REQUEST, "postReceived"); -if (!is_null($postExpected) && is_null($postReceived)) { - // A post was to be initiated by the client, but none was received. - // This means post_max_size was violated. - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); - $errorMessage = _("You tried to upload a file that is larger than the PHP post_max_size setting."); - $oPatternCustom->setHtml("" . $errorMessage . "
rootUrl/control.php?action=browse&fFolderID=$fFolderID\">"); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -/* CHECK: folder ID passed in */ -if (isset($fFolderID)) { - $oFolder = Folder::get($fFolderID); -} else { - // no folder id was set when coming to this page, - // so display an error message - $sErrorMessage = _("You haven't selected a folder to bulk upload to") . "."; - $main->setErrorMessage($sErrorMessage); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -/* CHECK: user has write perms for current folder */ -if (!Permission::userHasFolderWritePermission($oFolder)) { - // user does not have write permission for this folder - $sErrorMessage = getCancelButton($fFolderID) - . _("You do not have permission to add a document to this folder") . "."; - $main->setErrorMessage($sErrorMessage); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -/* CHECK: user selected a document type */ -if (!$fDocumentTypeID) { - // show document type chooser form - $oPatternCustom->setHtml(getChooseDocumentTypePage($fFolderID)); - $main->setFormAction($_SERVER["PHP_SELF"]); - $main->setErrorMessage($sErrorMessage); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -/* CHECK: user submitted a file for upload */ -if (!$fStore) { - // show upload/metatdata form - $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); - $main->setFormAction($_SERVER["PHP_SELF"] . "?postExpected=1&fFolderID=$fFolderID"); - $main->setFormEncType("multipart/form-data"); - $main->setHasRequiredFields(true); - $main->setErrorMessage($sErrorMessage); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -// make sure the user actually selected a file first -// and that something was uploaded -if (!((strlen($_FILES['fFile']['name']) > 0) && $_FILES['fFile']['size'] > 0)) { - // no uploaded file - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); - $message = _("You did not select a valid document to upload"); - - $errors = array( - 1 => _("The uploaded file is larger than the PHP upload_max_filesize setting"), - 2 => _("The uploaded file is larger than the MAX_FILE_SIZE directive that was specified in the HTML form"), - 3 => _("The uploaded file was not fully uploaded to KnowledgeTree"), - 4 => _("No file was selected to be uploaded to KnowledgeTree"), - 6 => _("An internal error occurred receiving the uploaded document"), - ); - $message = KTUtil::arrayGet($errors, $_FILES['fFile']['error'], $message); - - if (@ini_get("file_uploads") == false) { - $message = _("File uploads are disabled in your PHP configuration"); - } - - $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); - $main->setFormAction($_SERVER["PHP_SELF"]); - $main->setFormEncType("multipart/form-data"); - $main->setHasRequiredFields(true); - $main->setErrorMessage($message); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -// if changing this function, also change related error message -function isValidBulkUpload() { - return (strlen($_FILES['fFile']['name']) > 0) - && file_exists($_FILES['fFile']['tmp_name']) - && $_FILES['fFile']['size'] > 0 - && (!$_FILES['fFile']['error']) - && preg_match('/\.zip/i', $_FILES['fFile']['name']); -} - -/* CHECK: bulk upload is valid */ -if (!isValidBulkUpload()) { - $sErrorMessage = getInvalidBulkUploadErrorMsg() . getRetryUploadButton($fFolderID, $fDocumentTypeID); - $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); - $main->setFormAction($_SERVER["PHP_SELF"]); - $main->setFormEncType("multipart/form-data"); - $main->setHasRequiredFields(true); - $main->setErrorMessage($message); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - -$matches = array(); -$aFields = array(); -foreach ($_REQUEST as $k => $v) { - if (preg_match('/^emd(\d+)$/', $k, $matches)) { - $aFields[] = array(DocumentField::get($matches[1]), $v); - } -} -$aOptions = array( - 'metadata' => $aFields, -); - -$fs =& new KTZipImportStorage($_FILES['fFile']['tmp_name']); -$oUser =& User::get($_SESSION['userID']); -$bm =& new KTBulkImportManager($oFolder, $fs, $oUser, $aOptions); - -DBUtil::startTransaction(); -$res = $bm->import(); -if (PEAR::isError($res)) { - DBUtil::rollback(); - $_SESSION["KTErrorMessage"][] = _("Bulk import failed") . ": " . $res->getMessage(); -} else { - DBUtil::commit(); -} - -controllerRedirect("browse", 'fFolderID=' . $oFolder->getID()); - -?> diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadUI.inc deleted file mode 100644 index b3704fa..0000000 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/bulkUploadUI.inc +++ /dev/null @@ -1,203 +0,0 @@ -loadTemplate("ktcore/metadata/editable_metadata_fields"); - $aTemplateData = array( - 'caption' => _('Generic meta data'), - 'empty_message' => _("No Generic Meta Data"), - 'fields' => DocumentField::getList(array('is_generic = ?', array(true))), - ); - return $oTemplate->render($aTemplateData); -} - -/** - * Displays the type specific meta data fields form - */ -function getTypeSpecificMetaDataForm($iFolderID, $iDocumentTypeID) { - global $default; - /*ok*/ $sQuery = array("SELECT DF.id AS id " . - "FROM document_fields AS DF LEFT JOIN document_type_fields_link AS DTFL ON DTFL.field_id = DF.id " . - "WHERE DF.is_generic = ? " . - "AND DTFL.document_type_id = ?", array(false, $iDocumentTypeID)); - - $aIDs = DBUtil::getResultArray($sQuery); - - $aFields = array(); - foreach ($aIDs as $iID) { - $aFields[] =& call_user_func(array('DocumentField', 'get'), $iID); - } - $aTemplateData = array( - 'caption' => _('Type specific meta data'), - 'empty_message' => _("No Type Specific Meta Data"), - 'fields' => $aFields, - ); - $oTemplating = KTTemplating::getSingleton(); - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fields"); - return $oTemplate->render($aTemplateData); -} - -function getMetaDataForm($iFolderID, $iDocumentTypeID) { - $oGenericPattern = getGenericMetaDataForm(); - $oTypeSpecificPattern = getTypeSpecificMetaDataForm($iFolderID, $iDocumentTypeID); - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= ""; - $sToRender .= ""; - $sToRender .= "
" . _("Document Meta Data") . "
" . $oGenericPattern . "
" . $oTypeSpecificPattern . "
"; - - // validation starts - $sToRender .= "\n\n\n\n"; - - return $sToRender; -} - -function getDocumentType($iFolderID) { - global $default; - - $sWhereClause = "FDL.folder_id = $iFolderID"; - $oPatternListBox = & new PatternListBox("$default->document_types_table", "name", "id", "fDocumentTypeID",$sWhereClause); - $oPatternListBox->setIncludeDefaultValue(false); - $oPatternListBox->setFromClause("INNER JOIN $default->folder_doctypes_table AS FDL ON ST.id = FDL.document_type_id"); - $oPatternListBox->setEmptyErrorMessage(_("No document types defined") . "! " . _("Please contact an Administrator")); - - $sHeading = "Please select the document type:"; - - $sToRender = "
$sHeading
" . $oPatternListBox->render() . "
"; - - return $sToRender; -} - -function getChooseDocumentTypePage($iFolderID) { - global $default; - - $oFolder = Folder::get($iFolderID); - if (Permission::userHasFolderWritePermission($oFolder)) { - $sToRender .= getDocumentType($iFolderID); - $sActionButtons .= getCancelButton($iFolderID); - $sActionButtons .= ""; - - $sToRender .= "\n"; - $sToRender .= ""; - $sToRender .= "
$sActionButtons
"; - } - - // display subfolders, if any - $sToRender .= getSubfolderBrowser($iFolderID, $iDocumentTypeID); - - return $sToRender; -} - -// display subfolders, if any -function getSubfolderBrowser($iFolderID, $iDocumentTypeID) { - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\t\n"; - $sToRender .= "\n"; - $sToRender .= ""; - $sToRender .= "
" . renderFolderList($iFolderID, generateControllerUrl("bulkUpload", "fDocumentTypeID=$iDocumentTypeID", false)) . "\n"; - $sToRender .= "

\n"; - return $sToRender; -} - -function getPage($iFolderID, $iDocumentTypeID) { - global $default; - - $sToRender .= renderFolderPath($iFolderID, generateControllerUrl("bulkUpload", "fDocumentTypeID=$iDocumentTypeID", false), true); - - $sToRender .= ""; - $sToRender .= ""; - $sToRender .= ""; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "
" . _("Bulk Upload Zipfile") . ":
File:
(" . _("Note: file should be a ZIP file without subdirectories. Details entered below apply to ALL documents to be added.") . ")
\n"; - - $sToRender .= "
" . _("Document Type") . "
" . lookupName($default->document_types_table, $iDocumentTypeID) . "
"; - $sToRender .= getMetaDataForm($iFolderID, $iDocumentTypeID); - - // create "BACK" button (to go back to choose document type id) - $sToRender .= getBackButton($iFolderID); - // create "CANCEL" button (to go back to browsing) - $sToRender .= getCancelButton($iFolderID); - // create "SUBMIT" button (to actually do the upload) - $sToRender .= ""; - - // display subfolders, if any - $sToRender .= getSubfolderBrowser($iFolderID, $iDocumentTypeID); - - return $sToRender; -} - -function getInvalidBulkUploadErrorMsg() { - return _("You did not select a valid document to upload") . ".
\n" . - _("Bulk upload currently only supports .ZIP files without subdirectories") . ".
\n"; -} - -// image link ... BACK (try bulk upload again) -function getRetryUploadButton($iFolderID, $iDocumentTypeID) { - global $default; - $sQueryString = "fFolderID=$iFolderID"."&"."fDocumentTypeID=$iDocumentTypeID"; - return generateControllerLink("bulkUpload", $sQueryString, ""); -} - -// image link ... BACK (choose document type id again) -function getBackButton($iFolderID) { - global $default; - return generateControllerLink("bulkUpload", "fFolderID=$iFolderID", ""); -} - -// image link ... DONE, return to browsing -function getDoneButton($iFolderID) { - global $default; - return generateControllerLink("browse", "fFolderID=$iFolderID", ""); -} - -// image link ... return to browsing -function getCancelButton($iFolderID) { - global $default; - return generateControllerLink("browse", "fFolderID=$iFolderID", ""); -} - -?> -- libgit2 0.21.4