document_types_table", "name", "id", "fDocumentTypeID",$sWhereClause); // #3548 removed default document type $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")); if ($iDocumentTypeID) { $oPatternListBox->setSelectedValue($iDocumentTypeID); $sHeading = _("Document Type"); } else { $sHeading = _("Please select the document type:"); } $sToRender = "
$sHeading
" . $oPatternListBox->render() . "
"; $sToRender .= "\n\n\n\n"; return $sToRender; } /** * Displays the file browse widget */ function getUploadDocument() { global $default; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "
" . _("Document to add") . ":
" . _("File") . "
" . _("Title") . "
\n"; return $sToRender; } /** * Displays the generic meta data fields form */ function getGenericMetaDataForm() { $oTemplating = KTTemplating::getSingleton(); $oTemplate = $oTemplating->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 getPage($iFolderID, $iDocumentTypeID, $iDependantDocumentID = null, $sMessage = "") { global $default; $sQueryString = "fFolderID=$iFolderID" . (isset($iDependantDocumentID) ? "&fDependantDocumentID=$iDependantDocumentID" : ""); if (isset($iDependantDocumentID)) { $sToRender .= renderHeading(_("Add Dependant Document")); } else { $sToRender .= renderHeading(_("Add Document")); } $sToRender .= renderFolderPath($iFolderID, generateControllerUrl("addDocument", $sQueryString, false), true); if ($sMessage) { $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\t\n"; $sToRender .= "\n"; $sToRender .= "
$sMessage
\n"; } if ($iDocumentTypeID) { $sToRender .= "
" . _("Document Type") . "
" . lookupName($default->document_types_table, $iDocumentTypeID) . "
"; $sToRender .= getUploadDocument(); $sToRender .= getMetaDataForm($iFolderID, $iDocumentTypeID); $sActionButtons = ""; $sToRender .= ""; $sToRender .= ""; $sActionButtons .= generateControllerLink("addDocument", $sQueryString , "") . generateControllerLink("browse", "fFolderID=$iFolderID", ""); $sToRender .= "\n"; $sToRender .= ""; $sToRender .= "
$sActionButtons
"; } else { // only allow document type choosing if the user has write permission $oFolder = Folder::get($iFolderID); if (Permission::userHasFolderWritePermission($oFolder)) { $sToRender .= getDocumentType($iFolderID, $iDocumentTypeID, $iDependantDocumentID); $sActionButtons .= generateControllerLink("browse", "fFolderID=$iFolderID", ""); $sActionButtons .= ""; $sToRender .= ""; $sToRender .= "\n"; $sToRender .= ""; $sToRender .= "
$sActionButtons
"; } // display folders for browsing $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\t\n"; $sToRender .= "\n"; $sToRender .= ""; $sToRender .= "
" . renderFolderList($iFolderID, generateControllerUrl("addDocument", $sQueryString, false)) . "\n"; $sToRender .= "

\n"; } return $sToRender; } function getStatusPage($iFolderID, $sMessage) { $sToRender .= renderHeading(_("Add Document")); $sToRender .= renderFolderPath($iFolderID, generateControllerUrl("addDocument", "fFolderID=$iFolderID", false), true); $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\t\n"; $sToRender .= "\n"; $sToRender .= "
$sMessage
\n"; return $sToRender; } ?>