/**
  * @see SpecialModifyEntity::getFormElements()
  *
  * @param Entity $entity
  *
  * @return string
  */
 protected function getFormElements(Entity $entity = null)
 {
     if ($this->page === null) {
         $this->page = $this->site === null ? '' : $this->getSiteLink($entity, $this->site);
     }
     if (empty($this->badges)) {
         $this->badges = $this->site === null ? array() : $this->getBadges($entity, $this->site);
     }
     $pageinput = Html::element('br') . Html::label($this->msg('wikibase-setsitelink-label')->text(), 'wb-setsitelink-page', array('class' => 'wb-label')) . Html::input('page', $this->getRequest()->getVal('page') ?: $this->page, 'text', array('class' => 'wb-input', 'id' => 'wb-setsitelink-page'));
     if (!empty($this->badgeItems)) {
         $pageinput .= Html::element('br') . Html::label($this->msg('wikibase-setsitelink-badges')->text(), 'wb-setsitelink-badges', array('class' => 'wb-label')) . $this->getHtmlForBadges();
     }
     $site = $this->siteStore->getSite($this->site);
     if ($entity !== null && $this->site !== null && $site !== null) {
         // show the detailed form which also allows users to remove site links
         return Html::rawElement('p', array(), $this->msg('wikibase-setsitelink-introfull', $this->getEntityTitle($entity->getId())->getPrefixedText(), '[' . $site->getPageUrl('') . ' ' . $this->site . ']')->parse()) . Html::input('site', $this->site, 'hidden') . Html::input('id', $this->entityRevision->getEntity()->getId()->getSerialization(), 'hidden') . Html::input('remove', 'remove', 'hidden') . $pageinput;
     } else {
         $intro = $this->msg('wikibase-setsitelink-intro')->text();
         if (!empty($this->badgeItems)) {
             $intro .= $this->msg('word-separator')->text() . $this->msg('wikibase-setsitelink-intro-badges')->text();
         }
         return Html::element('p', array(), $intro) . parent::getFormElements($entity) . Html::element('br') . Html::label($this->msg('wikibase-setsitelink-site')->text(), 'wb-setsitelink-site', array('class' => 'wb-label')) . Html::input('site', $this->getRequest()->getVal('site') ?: $this->site, 'text', array('class' => 'wb-input', 'id' => 'wb-setsitelink-site')) . $pageinput;
     }
 }
 /**
  * @see SpecialModifyEntity::getFormElements()
  *
  * @param EntityDocument|null $entity
  *
  * @return string HTML
  */
 protected function getFormElements(EntityDocument $entity = null)
 {
     if ($this->languageCode === null) {
         $this->languageCode = $this->getLanguage()->getCode();
     }
     $this->setValueIfNull($entity);
     $valueinput = Html::input('value', $this->getRequest()->getVal('value') ? $this->getRequest()->getVal('value') : $this->value, 'text', array('class' => 'wb-input', 'id' => 'wb-modifyterm-value'));
     $languageName = Language::fetchLanguageName($this->languageCode, $this->getLanguage()->getCode());
     if ($entity !== null && $this->languageCode !== null && $languageName !== '') {
         return Html::rawElement('p', array(), $this->msg('wikibase-' . strtolower($this->getName()) . '-introfull', $this->getEntityTitle($entity->getId())->getPrefixedText(), $languageName)->parse()) . Html::input('language', $this->languageCode, 'hidden') . Html::input('id', $entity->getId()->getSerialization(), 'hidden') . Html::input('remove', 'remove', 'hidden') . $valueinput;
     } else {
         return Html::rawElement('p', array(), $this->msg('wikibase-' . strtolower($this->getName()) . '-intro')->parse()) . parent::getFormElements($entity) . Html::element('br') . Html::label($this->msg('wikibase-modifyterm-language')->text(), 'wb-modifyterm-language', array('class' => 'wb-label')) . Html::input('language', $this->languageCode, 'text', array('class' => 'wb-input', 'id' => 'wb-modifyterm-language')) . Html::element('br') . Html::label($this->msg('wikibase-' . strtolower($this->getName()) . '-label')->text(), 'wb-modifyterm-value', array('class' => 'wb-label')) . $valueinput . Html::element('br');
     }
 }
 /**
  * @see SpecialModifyEntity::getFormElements
  *
  * @param Entity $entity
  *
  * @return string HTML
  */
 protected function getFormElements(Entity $entity = null)
 {
     if ($entity !== null && $this->languageCode !== null) {
         $languageName = Language::fetchLanguageName($this->languageCode, $this->getLanguage()->getCode());
         $intro = $this->msg('wikibase-setlabeldescriptionaliases-introfull', $this->getEntityTitle($entity->getId())->getPrefixedText(), $languageName);
         $html = Html::hidden('id', $entity->getId()->getSerialization()) . Html::hidden('language', $this->languageCode) . $this->getLabeledInputField('label', $this->label) . Html::element('br') . $this->getLabeledInputField('description', $this->description) . Html::element('br') . $this->getLabeledInputField('aliases', implode('|', $this->aliases));
     } else {
         $intro = $this->msg('wikibase-setlabeldescriptionaliases-intro');
         $fieldId = 'wikibase-setlabeldescriptionaliases-language';
         $languageCode = $this->languageCode ?: $this->getLanguage()->getCode();
         $html = parent::getFormElements($entity) . Html::element('br') . Html::label($this->msg('wikibase-modifyterm-language')->text(), $fieldId, array('class' => 'wb-label')) . Html::input('language', $languageCode, 'text', array('class' => 'wb-input', 'id' => $fieldId));
     }
     return Html::rawElement('p', array(), $intro->parse()) . $html . Html::element('br');
 }