function do_edit() { $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => _kt('Document Type Management')); $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('ktcore/documenttypes/edit'); $oDocumentType =& DocumentType::get($_REQUEST['fDocumentTypeId']); $aCurrentFieldsets =& KTFieldset::getForDocumentType($oDocumentType); $aCurrentFieldsetIds = array_map(array("KTUtil", "getId"), $aCurrentFieldsets); $aAvailableFieldsets =& KTFieldset::getNonGenericFieldsets(); $aAvailableFieldsetIds =& array_map(array("KTUtil", "getId"), $aAvailableFieldsets); $aAvailableFieldsetIds = array_diff($aAvailableFieldsetIds, $aCurrentFieldsetIds); $vocab = array(); foreach ($aAvailableFieldsetIds as $iFieldsetId) { $oFieldset = KTFieldset::get($iFieldsetId); $vocab[$oFieldset->getId()] = $oFieldset->getName(); } $aOptions = array(); $aOptions['vocab'] = $vocab; $aOptions['multi'] = true; $aOptions['size'] = 5; $availableTypesWidget =& new KTLookupWidget(_kt('Available Fieldsets'), _kt('Select the fieldsets which you wish to associate with this document type'), 'fieldsetid[]', null, $this->oPage, true, null, null, $aOptions); $this->aBreadcrumbs[] = array('name' => $oDocumentType->getName()); $this->oPage->setBreadcrumbDetails(_kt('edit')); $oTemplate->setData(array('context' => $this, 'oDocumentType' => $oDocumentType, 'sDocTypeName' => sanitizeForHTML($oDocumentType->getName()), 'aCurrentFieldsets' => $aCurrentFieldsets, 'bAnyFieldsets' => count($aAvailableFieldsets) > 0, 'bAvailableFieldsets' => count($vocab) > 0, 'availableWidget' => $availableTypesWidget)); return $oTemplate; }