/**
  * @return Zend_Form
  */
 public function getUploadForm()
 {
     static $form;
     if (null === $form) {
         $form = new Zend_Form();
         $form->setAttrib('enctype', 'multipart/form-data')->addElement('file', 'xml', array('label' => _('File'), 'required' => true, 'validators' => array('NotEmpty' => array())));
         $statusOptions = ['label' => 'Status for imported concepts'];
         if ($this->getTenant()['enableStatusesSystem']) {
             $statusOptions['multiOptions'] = OpenSKOS_Concept_Status::statusesToOptions();
         } else {
             $statusOptions['multiOptions'] = [OpenSKOS_Concept_Status::APPROVED];
             $statusOptions['disabled'] = true;
         }
         $form->addElement('select', 'status', $statusOptions);
         $form->addElement('checkbox', 'ignoreIncomingStatus', array('label' => 'Ignore incoming status'));
         $editorOptions = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOption('editor');
         $form->addElement('select', 'lang', array('label' => 'The default language to use if no "xml:lang" attribute is found', 'multiOptions' => $editorOptions['languages']));
         $form->addElement('checkbox', 'toBeChecked', array('label' => 'Sets the toBeCheked status of imported concepts'));
         $form->addElement('checkbox', 'purge', array('label' => 'Purge. Delete all concept schemes found in the file. (will also delete concepts inside them)'));
         $form->addElement('checkbox', 'delete-before-import', array('label' => _('Delete concepts in this collection before import')));
         $form->addElement('checkbox', 'onlyNewConcepts', array('label' => _('Import contains only new concepts. Do not update any concepts if they match by notation (or uri if useUriAsIdentifier is used).')));
         $form->addElement('checkbox', 'useUriAsIdentifier', array('label' => _('Use uri as identifier if concept notation does not exist in the importing concept.')));
         $form->addElement('submit', 'submit', array('label' => 'Submit'));
     }
     return $form;
 }
 /**
  * Build the statuses dropdown.
  */
 protected function buildStatuses()
 {
     if ($this->getEnableStatusesSystem()) {
         if ($this->_isProposalOnly) {
             $availableStatuses = [OpenSKOS_Concept_Status::CANDIDATE];
         } else {
             $availableStatuses = OpenSKOS_Concept_Status::getAvailableStatuses($this->getCurrentStatus());
         }
         // Fallback for expired status for beg
         //!TODO Can be removed when conversion ready
         if ($this->getCurrentStatus() == OpenSKOS_Concept_Status::_EXPIRED) {
             $availableStatuses[] = OpenSKOS_Concept_Status::OBSOLETE;
         }
         $this->addElement('select', 'status', array('label' => 'Status:', 'multiOptions' => OpenSKOS_Concept_Status::statusesToOptions($availableStatuses), 'value' => 'candidate', 'decorators' => array('ViewHelper', 'Label', array('HtmlTag', array('tag' => 'span', 'id' => 'concept-edit-status')))));
         if ($this->_isProposalOnly) {
             $this->getElement('status')->setValue(OpenSKOS_Concept_Status::CANDIDATE);
         }
         // Fallback for expired status for beg
         //!TODO Can be removed when conversion ready
         if ($this->getCurrentStatus() == OpenSKOS_Concept_Status::_EXPIRED) {
             $this->getElement('status')->setValue(OpenSKOS_Concept_Status::OBSOLETE);
         }
     } else {
         $this->addElement('hidden', 'status', array('decorators' => array('ViewHelper'), 'value' => OpenSKOS_Concept_Status::APPROVED));
     }
     $this->addElement('hidden', 'statusOtherConcept', array('decorators' => array('ViewHelper')));
     $this->addElement('hidden', 'statusOtherConceptLabelToFill', array('decorators' => array('ViewHelper')));
 }
 protected function buildStatus()
 {
     $this->addElement('select', 'status', array('label' => 'Status:', 'separator' => '', 'multiOptions' => OpenSKOS_Concept_Status::statusesToOptions(), 'decorators' => array('ViewHelper', 'Label')));
     return $this;
 }