/**
  * Renders the HTML for the admin section within WikiAdmin
  * @return string HTML output to be displayed
  */
 public function getForm()
 {
     if (wfReadOnly()) {
         throw new ReadOnlyError();
     }
     global $wgScriptPath;
     RequestContext::getMain()->getOutput()->addModules('ext.bluespice.extendedsearch.admin');
     $sForm = '';
     if (SearchService::getInstance()->ping(2) === false) {
         RequestContext::getMain()->getOutput()->addHTML('<br /><div style="color:#F00; font-size:20px;">' . wfMessage('bs-extendedsearch-server-not-available')->escaped() . '</div><br />');
         return false;
     }
     if (!ExtendedSearchBase::isCurlActivated()) {
         RequestContext::getMain()->getOutput()->addHTML('<br /><div style="color:#F00; font-size:20px;">' . wfMessage('bs-extendedsearch-curl-not-active')->escaped() . '</div><br />');
         return false;
     }
     if ($this->checkLockExistence() === false) {
         $aSearchAdminButtons = array('create' => array('href' => '#', 'onclick' => 'bs.util.toggleMessage( bs.util.getAjaxDispatcherUrl( \'ExtendedSearchAdmin::getProgressBar\', [\'createForm\'] ), \'' . addslashes(wfMessage('bs-extendedsearch-create-index')->plain()) . '\', 400, 300);setTimeout(\'bsExtendedSearchStartCreate()\', 1000);', 'label' => wfMessage('bs-extendedsearch-create-index')->escaped(), 'image' => "{$wgScriptPath}/extensions/BlueSpiceExtensions/ExtendedSearch/resources/images/bs-searchindex-rebuild.png"), 'delete' => array('href' => '#', 'onclick' => 'bs.util.toggleMessage( bs.util.getAjaxDispatcherUrl( \'ExtendedSearchAdmin::getProgressBar\', [\'delete\'] ), \'' . addslashes(wfMessage('bs-extendedsearch-delete-index')->plain()) . '\', 400, 300);', 'label' => wfMessage('bs-extendedsearch-delete-index')->escaped(), 'image' => "{$wgScriptPath}/extensions/BlueSpiceExtensions/ExtendedSearch/resources/images/bs-searchindex-delete.png"), 'overwrite' => array('href' => '#', 'onclick' => 'bs.util.toggleMessage( bs.util.getAjaxDispatcherUrl( \'ExtendedSearchAdmin::getProgressBar\', [\'createForm\'] ), \'' . addslashes(wfMessage('bs-extendedsearch-overwrite-index')->plain()) . '\', 400, 300);setTimeout(\'bsExtendedSearchStartCreate()\', 1000);', 'label' => wfMessage('bs-extendedsearch-overwrite-index')->escaped(), 'image' => "{$wgScriptPath}/extensions/BlueSpiceExtensions/ExtendedSearch/resources/images/bs-searchindex-optimization.png"));
     } else {
         $aSearchAdminButtons = array('deleteLock' => array('href' => '#', 'onclick' => 'bsExtendedSearchConfirm( \'' . wfMessage('bs-extendedsearch-warning')->escaped() . '\', \'' . wfMessage('bs-extendedsearch-lockfiletext')->escaped() . '\')', 'label' => wfMessage('bs-extendedsearch-delete-lock')->escaped(), 'image' => "{$wgScriptPath}/extensions/BlueSpiceExtensions/ExtendedSearch/resources/images/bs-searchindex-delete.png"));
         $sForm .= '<h3><font color=\'red\'>' . wfMessage('bs-extendedsearch-indexinginprogress')->escaped() . '</font></h3><br />';
     }
     wfRunHooks('BSExtendedSearchAdminButtons', array($this, &$aSearchAdminButtons));
     foreach ($aSearchAdminButtons as $key => $params) {
         $sForm .= '<div class="bs-admincontrolbtn">';
         $sForm .= '<a href="' . $params['href'] . '"';
         if ($params['onclick']) {
             $sForm .= ' onclick="' . $params['onclick'] . '"';
         }
         $sForm .= '>';
         $sForm .= '<img src="' . $params['image'] . '" alt="' . $params['label'] . '" title="' . $params['label'] . '">';
         $sForm .= '<div class="bs-admin-label">';
         $sForm .= $params['label'];
         $sForm .= '</div>';
         $sForm .= '</a>';
         $sForm .= '</div>';
     }
     return $sForm;
 }