function execute() { $this->out->setPageTitle($this->app->runFunction('wfMsg', 'spellchecker-info')); // get information about enchant $dict = new SpellCheckerDictionary(); // show list of all supported lanuages $languages = $dict->getLanguages(); $rows = array(); foreach ($languages as $lang) { $rows[] = array($lang); } $this->out->addHtml(Xml::buildTable($rows, array('class' => 'wikitable'), array($this->app->runFunction('wfMsg', 'spellchecker-info-languages', count($languages))))); // list providers $providers = $dict->getProviders(); $rows = array(); foreach ($providers as $provider => $dictionaries) { sort($dictionaries); $count = count($dictionaries); $rows[] = array($provider, implode(', ', $dictionaries) . " ({$count})"); } $this->out->addHtml(Xml::buildTable($rows, array('class' => 'wikitable'), array($this->app->runFunction('wfMsg', 'spellchecker-info-provider'), $this->app->runFunction('wfMsg', 'spellchecker-info-dictionaries')))); // spell checking demo $this->out->addHtml(Xml::element('hr')); $this->spellCheckingForm($languages); }
private function displayStats() { global $wgOut; if (empty($this->mGroup)) { $wgOut->addHTML(wfMsg('transstats-select-group')); return true; } if (empty($this->mLanglist)) { $data['total'] = MessageGroupStatistics::forGroup($this->mGroup); } else { foreach ($this->mLanglist as $lang) { $data['total'][$lang] = MessageGroupStatistics::forItem($this->mGroup, $lang); } } if (empty($data)) { $wgOut->addHTML(wfMsg('transstats-error')); return true; } $displayData = array(); foreach ($data['total'] as $type => $row) { $processed = $this->processRow($row, $type); if ($processed) { $displayData[$type] = $processed; } } $headers = array(wfMsg('transstats-language'), wfMsg('transstats-translated'), wfMsg('transstats-percentage')); $attribs = array('class' => 'wikitable'); $table = Xml::buildTable($displayData, $attribs, $headers); $this->renderHeader(); $wgOut->addHTML($table); $this->renderFooter(); return true; }
function efImageReviewDisplayStatus($imagePage, &$html) { global $wgCityId, $wgExternalDatawareDB, $wgUser; if (!$wgUser->isAllowed('imagereviewstats')) { return true; } $html .= Xml::element('h2', array(), wfMsg('imagereview-imagepage-header')); $reviews = array(); $headers = array('Reviewer', 'State', 'Time'); $where = array('wiki_id' => $wgCityId, 'page_id' => $imagePage->getId()); $dbr = wfGetDB(DB_SLAVE, array(), $wgExternalDatawareDB); $res = $dbr->select('image_review_stats', '*', $where); if ($dbr->numRows($res) == 0) { //check if image is in the queue at all! $imgCurState = $dbr->selectField('image_review', 'state', $where); if (false === $imgCurState) { // oh oh, image is not in queue at all $html .= wfMsg('imagereview-imagepage-not-in-queue'); } else { // image is in the queue but not reviewed yet $html .= wfMsg('imagereview-state-0'); } } else { // go through the list and display review states while ($row = $dbr->fetchObject($res)) { $data = array(); $data[] = User::newFromId($row->reviewer_id)->getName(); $data[] = wfMsg('imagereview-state-' . $row->review_state); $data[] = $row->review_end . ' (UTC)'; $reviews[] = $data; } $html .= Xml::buildTable($reviews, array('class' => 'wikitable filehistory sortable', 'style' => 'width: 60%'), $headers); } return true; }
private function displayStats() { global $wgOut; if (empty($this->mGroup)) { $wgOut->addHTML(wfMsg('transstats-select-group')); return true; } $data['total'] = MessageGroupStatistics::forGroup($this->mGroup); // need to get child groups for this meta group if (!empty($this->mBreakdown)) { $data[] = MessageGroupStatistics::forGroup($this->mBreakdown); } if (empty($data)) { $wgOut->addHTML(wfMsg('transstats-error')); return true; } foreach ($data['total'] as $type => &$row) { $this->processRow($row, $type); } $headers = array(wfMsg('transstats-language'), wfMsg('transstats-translated'), wfMsg('transstats-untranslated')); $attribs = array('class' => 'wikitable'); $table = Xml::buildTable($data['total'], $attribs, $headers); $this->renderHeader(); $wgOut->addHTML($table); $this->renderFooter(); return true; }
function efImageReviewDisplayStatus(ImagePage $imagePage, &$html) { global $wgCityId, $wgExternalDatawareDB, $wgUser; if (!$wgUser->isAllowed('imagereviewstats')) { return true; } if (!$imagePage->getTitle()->exists()) { return true; } $html .= Xml::element('h2', array(), wfMsg('imagereview-imagepage-header')); $reviews = array(); $headers = array(wfMessage('imagereview-imagepage-table-header-reviewer')->text(), wfMessage('imagereview-imagepage-table-header-state')->text(), wfMessage('imagereview-imagepage-table-header-time')->text()); $where = array('wiki_id' => $wgCityId, 'page_id' => $imagePage->getId()); $dbr = wfGetDB(DB_SLAVE, array(), $wgExternalDatawareDB); $res = $dbr->select('image_review_stats', '*', $where); if ($dbr->numRows($res) == 0) { //check if image is in the queue at all! $imgCurState = $dbr->selectField('image_review', 'state', $where); if (false === $imgCurState) { /** * If the file is a local one and is older than 1 hour - send it to ImageReview * since it's probably been restored, and is not just a fresh file. */ $lastTouched = new DateTime($imagePage->getRevisionFetched()->getTimestamp()); $now = new DateTime(); $file = $imagePage->getDisplayedFile(); if ($file instanceof WikiaLocalFile && $lastTouched < $now->modify('-1 hour')) { $scribeEventProducer = new ScribeEventProducer('edit'); $user = User::newFromName($file->getUser()); if ($scribeEventProducer->buildEditPackage($imagePage, $user, null, null, $file)) { $logParams = ['cityId' => $wgCityId, 'pageId' => $imagePage->getID(), 'pageTitle' => $imagePage->getTitle()->getText(), 'uploadUser' => $user->getName()]; \Wikia\Logger\WikiaLogger::instance()->info('ImageReviewLog', ['message' => 'Image moved back to queue', 'params' => $logParams]); $scribeEventProducer->sendLog(); } } // oh oh, image is not in queue at all $html .= wfMsg('imagereview-imagepage-not-in-queue'); } else { // image is in the queue but not reviewed yet $html .= wfMsg('imagereview-state-0'); } } else { // go through the list and display review states while ($row = $dbr->fetchObject($res)) { $data = array(); $data[] = User::newFromId($row->reviewer_id)->getName(); $data[] = wfMsg('imagereview-state-' . $row->review_state); $data[] = $row->review_end . ' (UTC)'; $reviews[] = $data; } $html .= Xml::buildTable($reviews, array('class' => 'wikitable filehistory sortable', 'style' => 'width: 60%'), $headers); } return true; }
/** * Get all Interwiki Links - the heart of the function * @param $prefix string Prefix to search for in list * @return string HTML */ private function getInterwikis($prefix = null) { global $wgScript; $dbr = wfGetDB(DB_SLAVE); $conds = array(); if (!is_null($prefix)) { $conds[] = "iw_prefix " . $dbr->buildLike($prefix, $dbr->anyString()); } $results = $dbr->select('interwiki', array('iw_prefix', 'iw_url'), $conds); $form = Xml::openElement('form', array('action' => $wgScript, 'method' => 'get', 'id' => 'interwikilist-search')) . Html::Hidden('title', $this->mTitle->getPrefixedText()) . Xml::inputLabel(wfMsg('interwikilist-prefix'), 'iwsearch', 'interwikilist-prefix', false, $prefix) . Xml::submitButton(wfMsg('search')) . Xml::closeElement('form'); $text = Xml::fieldSet(wfMsg('interwikilist-filter'), $form); $interwikiList = array(); foreach ($results as $row) { $interwikiList["mw-iwlist-" . $row->iw_prefix] = array($row->iw_prefix, $row->iw_url); } $dbr->freeResult($results); $text .= Xml::buildTable($interwikiList, array('id' => 'sv-software'), array(wfMsg('interwikilist-linkname'), wfMsg('interwikilist-target'))); return $text; }
function showHints() { global $wgOut; $wgOut->addHTML(Xml::element('p', null, wfMsg('masseditregex-hint-intro'))); $wgOut->addHTML(Xml::buildTable(array(array('/$/', 'abc', wfMsg('masseditregex-hint-toappend')), array('/$/', '\\n[[Category:New]]', wfMsg('masseditregex-hint-toappend')), array('{{OldTemplate}}', '', wfMsg('masseditregex-hint-remove')), array('\\[\\[Category:[^]]+\\]\\]', '', wfMsg('masseditregex-hint-removecat'))), array('class' => 'wikitable'), array(wfMsg('masseditregex-hint-headmatch'), wfMsg('masseditregex-hint-headreplace'), wfMsg('masseditregex-hint-headeffect')))); // Xml::buildTable }
/** * Display response message to user with submitted user-supplied data * * @param $data Array: array of posted data from form * @param $responseMsg String: message supplied by fnPayflowDisplayResults function */ function fnPayflowDisplayApprovedResults($data, $responseMsg) { global $wgOut; $thankyoupage = $this->adapter->getGlobal('ThankYouPage'); if ($thankyoupage) { $wgOut->redirect($thankyoupage); } else { // display response message $wgOut->addHTML('<h3 class="response_message">' . $responseMsg . '</h3>'); // translate country code into text $countries = GatewayForm::getCountries(); $rows = array('title' => array(wfMsg('donate_interface-post-transaction')), 'amount' => array(wfMsg('donate_interface-donor-amount'), $data['amount']), 'email' => array(wfMsg('donate_interface-donor-email'), $data['email']), 'name' => array(wfMsg('donate_interface-donor-name'), $data['fname'], $data['mname'], $data['lname']), 'address' => array(wfMsg('donate_interface-donor-address'), $data['street'], $data['city'], $data['state'], $data['zip'], $countries[$data['country']])); // if we want to show the response $wgOut->addHTML(Xml::buildTable($rows, array('class' => 'submitted-response'))); } }
private function blockWikia($wikiId) { $oWiki = WikiFactory::getWikiById($wikiId); if (!is_object($oWiki)) { return false; } // process block data for display $data = array('wiki_id' => $oWiki->city_id, 'sitename' => WikiFactory::getVarValueByName("wgSitename", $oWiki->city_id), 'url' => WikiFactory::getVarValueByName("wgServer", $oWiki->city_id), 'last_timestamp' => $this->wg->Lang->timeanddate($oWiki->city_last_timestamp)); // we have a valid id, change title to use it $this->wg->Out->setPageTitle(wfMsg('phalanx-stats-title') . ': ' . $data['url']); $headers = array(wfMsg('phalanx-stats-table-wiki-id'), wfMsg('phalanx-stats-table-wiki-name'), wfMsg('phalanx-stats-table-wiki-url'), wfMsg('phalanx-stats-table-wiki-last-edited')); $tableAttribs = array('border' => 1, 'class' => 'wikitable', 'style' => "font-family:monospace;"); $table = Xml::buildTable(array($data), $tableAttribs, $headers); $this->setVal('table', $table); $pager = new PhalanxStatsWikiaPager($wikiId); $this->setVal('statsPager', $pager->getNavigationBar() . $pager->getBody() . $pager->getNavigationBar()); }
private function block_wikia($par) { global $wgOut, $wgLang, $wgUser, $wgRequest; $oWiki = WikiFactory::getWikiById($par); if (!is_object($oWiki)) { return false; } $url = WikiFactory::getVarValueByName("wgServer", $oWiki->city_id); $sitename = WikiFactory::getVarValueByName("wgSitename", $oWiki->city_id); #we have a valid id, change title to use it $wgOut->setPageTitle(wfMsg('phalanx-stats-title') . ': ' . $url); // process block data for display $data['wiki_id'] = $oWiki->city_id; $data['sitename'] = $sitename; $data['url'] = $url; $data['last_timestamp'] = $wgLang->timeanddate($oWiki->city_last_timestamp); $html = ''; $headers = array(wfMsg('phalanx-stats-table-wiki-id'), wfMsg('phalanx-stats-table-wiki-name'), wfMsg('phalanx-stats-table-wiki-url'), wfMsg('phalanx-stats-table-wiki-last-edited')); $tableAttribs = array('border' => 1, 'class' => 'wikitable', 'style' => "font-family:monospace;"); #use magic to build it $table = Xml::buildTable(array($data), $tableAttribs, $headers); $html .= $table . "<br />\n"; $wgOut->addHTML($html); $pager = new PhalanxWikiStatsPager($par); $html = ''; $html .= $pager->getNavigationBar(); $html .= $pager->getBody(); $html .= $pager->getNavigationBar(); $wgOut->addHTML($html); }
function table($opts) { global $wgOut; $data = $this->getData($opts); $legend = array_shift($data); array_unshift($legend, 'Date'); foreach ($data[0] as $date => &$row) { array_unshift($row, $date); } $wgOut->addHTML(Xml::buildTable($data[0], array('class' => 'wikitable'), $legend)); }
Year"> <?php for ($i = 2012; $i <= $currentYear; ++$i) { echo Xml::option($i, $i, $i == ${$prefix . "Year"}); } ?> </select> </fieldset> <?php } ?> <?php echo Xml::submitButton('Show stats'); ?> <?php echo Xml::submitButton('Download as CSV', array('formaction' => 'csvstats', 'class' => 'secondary')); ?> </form> <h2>Summary</h2> <?php echo Xml::buildTable(array($summary), array('class' => 'wikitable'), $summaryHeaders); ?> <h2>Breakdown by user</h2> <?php echo Xml::buildTable($data, array('class' => 'wikitable sortable'), $headers);