/** * Generate the content of each table row (1 row = 1 banner) */ function formatRow($row) { // Begin banner row $htmlOut = Xml::openElement('tr'); if ($this->editable) { // Add box $htmlOut .= Xml::tags('td', array('valign' => 'top'), Xml::check('addTemplates[]', '', array('value' => $row->tmp_name))); // Weight select $htmlOut .= Xml::tags('td', array('valign' => 'top'), Xml::listDropDown("weight[{$row->tmp_id}]", CentralNotice::dropDownList(wfMsg('centralnotice-weight'), range(0, 100, 5)), '', '25', '', '')); } // Link and Preview $render = new SpecialBannerLoader(); $render->siteName = 'Wikipedia'; $render->language = $this->mRequest->getVal('wpUserLanguage'); try { $preview = $render->getHtmlNotice($row->tmp_name); } catch (SpecialBannerLoaderException $e) { $preview = wfMsg('centralnotice-nopreview'); } $htmlOut .= Xml::tags('td', array('valign' => 'top'), $this->getSkin()->makeLinkObj($this->viewPage, htmlspecialchars($row->tmp_name), 'template=' . urlencode($row->tmp_name)) . Xml::fieldset(wfMsg('centralnotice-preview'), $preview, array('class' => 'cn-bannerpreview'))); // End banner row $htmlOut .= Xml::closeElement('tr'); return $htmlOut; }
public function testDropDownList() { $text = 'Weight'; $values = range(0, 50, 10); $this->assertEquals("*Weight\n**0\n**10\n**20\n**30\n**40\n**50\n", CentralNotice::dropDownList($text, $values)); }
/** * Build a set of select lists. Used by dateSelector and timeSelector. * @param $prefix string to identify selector set, for example, 'start' or 'end' * @param $fields array of select lists to build */ public static function createSelector($prefix, $fields) { $out = ''; foreach ($fields as $data) { list($field, $label, $set, $current) = $data; $out .= Xml::listDropDown("{$prefix}[{$field}]", CentralNotice::dropDownList(wfMsg($label), $set), '', $current); } return $out; }
private function dateSelector($prefix, $year = 0, $month = 0, $day = 0) { $dateRanges = CentralNotice::getDateRanges(); $fields = array(array($prefix . "_month", "centralnotice-month", $dateRanges['months'], $month), array($prefix . "_day", "centralnotice-day", $dateRanges['days'], $day), array($prefix . "_year", "centralnotice-year", $dateRanges['years'], $year)); $out = ''; foreach ($fields as $data) { list($field, $label, $set, $current) = $data; $out .= Xml::listDropDown($field, CentralNotice::dropDownList(wfMsg($label), $set), '', $current); } return $out; }