loadTemplate("ktcore/metadata_fields/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_fields/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", ""); } ?>