/** * Create and output HTML including the complete factbox, based on the extracted * parameters in the execute comment. * * @return string A HTML string with the factbox */ private function doGenerateHtml() { global $wgContLang; $html = "\n"; $leftside = !$wgContLang->isRTL(); // For right to left languages, all is mirrored $modules = array(); if ($this->subject->isValid()) { $semanticData = new SemanticData($this->subject->getDataItem()); $html .= $this->displayHead(); if ($this->showoutgoing) { $semanticData = $this->store->getSemanticData($this->subject->getDataItem()); $html .= $this->displayData($semanticData, $leftside); $html .= $this->displayCenter(); } if ($this->showincoming) { list($indata, $more) = $this->getInData(); if (!$this->getOption('showInverse')) { $leftside = !$leftside; } $html .= $this->displayData($indata, $leftside, true); $html .= $this->displayBottom($more); } $this->articletext = $this->subject->getWikiValue(); \Hooks::run('SMW::Browse::AfterDataLookupComplete', array($this->store, $semanticData, &$html, &$this->extraModules)); } if ($this->getOption('printable') !== 'yes') { $html .= $this->queryForm($this->articletext); } $html .= Html::element('div', array('class' => 'smwb-modules', 'data-modules' => json_encode($this->extraModules))); return $html; }