private function getHtml($webRequest, $isEmptyRequest) { if ($isEmptyRequest) { return HtmlContentBuilder::getPageSearchQuickForm(); } if (!$this->subjectDV->isValid()) { foreach ($this->subjectDV->getErrors() as $error) { $error = Message::decode($error); } $html = Html::rawElement('div', array('class' => 'smw-callout smw-callout-error'), Message::get(array('smw-browse-invalid-subject', $error), Message::ESCAPED)); return $html . HtmlContentBuilder::getPageSearchQuickForm(); } $htmlContentBuilder = $this->newHtmlContentBuilder($webRequest); if ($webRequest->getVal('output') === 'legacy' || !$htmlContentBuilder->getOption('byApi')) { return $htmlContentBuilder->getHtml(); } $options = array('dir' => $htmlContentBuilder->getOption('dir'), 'offset' => $htmlContentBuilder->getOption('offset'), 'printable' => $htmlContentBuilder->getOption('printable'), 'showInverse' => $htmlContentBuilder->getOption('showInverse'), 'showAll' => $htmlContentBuilder->getOption('showAll')); // Ajax/API is doing the data fetch $html = Html::rawElement('div', array('class' => 'smwb-container', 'data-subject' => $this->subjectDV->getDataItem()->getHash(), 'data-options' => json_encode($options)), Html::rawElement('div', array('class' => 'smwb-status'), Html::rawElement('noscript', array(), Html::rawElement('div', array('class' => 'smw-callout smw-callout-error'), Message::get('smw-browse-js-disabled', Message::PARSE)))) . Html::rawElement('div', array('class' => 'smwb-content is-disabled'), Html::rawElement('span', array('class' => 'smw-overlay-spinner large inline')) . $htmlContentBuilder->getEmptyHtml())); return $html; }
/** * Turns encoded array of messages or text elements into a flattened array * with msg keys and arguments being transformed into a string representation. * * @since 2.5 * * @param array $messages * @param integer|null $type * @param integer|null $language * * @return array */ public static function normalizeMessages(array $messages, $type = null, $language = null) { $normalizeMessages = array(); if ($type === null) { $type = Message::TEXT; } if ($language === null) { $language = Message::USER_LANGUAGE; } foreach ($messages as $message) { if (is_array($message)) { foreach (self::normalizeMessages($message) as $msg) { if (is_string($msg)) { $normalizeMessages[md5($msg)] = $msg; } else { $normalizeMessages[] = $msg; } } continue; } $exists = false; if (is_string($message) && ($decodedMessage = Message::decode($message, $type, $language)) !== false) { $message = $decodedMessage; $exists = true; } if (!$exists && is_string($message) && wfMessage($message)->exists()) { $message = Message::get($message, $type, $language); } if (is_string($message)) { $normalizeMessages[md5($message)] = $message; } else { $normalizeMessages[] = $message; } } return array_values($normalizeMessages); }
private function constructErrorText($linker = null) { if (!$this->isValid() || $this->getDataItem() === array()) { return ''; } $string = $this->getDataItem()->getString(); $type = $linker !== null ? Message::PARSE : Message::TEXT; if (($message = Message::decode($string, $type, $this->getOptionBy(self::OPT_USER_LANGUAGE))) !== false) { return $message; } return $string; }
public function testDecode() { $this->assertEquals(false, Message::decode('Foo')); $this->assertEquals('Foo', Message::decode('[2,"Foo"]')); }