/** * Render color picker * * @author Macbre * @param Array $colors A list of the colors to show, * a multidimensional array with 'class' or 'color' sub-elements, false results in a hr separator * <code> * array( * #CSS classes * array('class' => 'accent', property => 'border'), * array('class' => 'color1', property => 'background'), * #horizontal line * false, * #defined colors * array('color' => '2daccd') * ) * </code> */ public static function renderColorPicker($id, $message, $colors, $default = null, $renderLabel = true) { wfProfileIn(__METHOD__); $ret = ''; // render label if ($renderLabel) { $ret .= Xml::element('label', array('for' => $id), wfMsg($message)); } // render color picker box $ret .= Xml::openElement('span', array('id' => $id, 'class' => 'WikiaPhotoGalleryColorPicker'), ''); $options = array('id' => "{$id}_trigger"); if (!empty($default) && is_string($default) && strpos($default, '#') === 0) { $options['style'] = "background-color:{$default}"; $options['title'] = $default; } elseif (!empty($default) && is_array($default)) { $options['title'] = "{$default[0]}--{$default[1]}"; } $ret .= Xml::element('span', $options, ''); $ret .= Xml::closeElement('span'); // render color picker popup box $ret .= Xml::openElement('div', array('class' => 'WikiaPhotoGalleryColorPickerPopUp', 'id' => "{$id}_popup")); $ret .= Xml::element('label', array(), wfMsg('wikiaPhotoGallery-preview-colorpicker-title')); foreach ($colors as $row) { if ($row == 'hr') { $ret .= Xml::element('hr'); } else { $ret .= Xml::openElement('ul', array('style' => 'clear: both;')); foreach ($row as $entry) { $attribs = array(); if (isset($entry['class'])) { $attribs['class'] = $entry['class']; $attribs['title'] = ".{$entry['class']}"; $attribs['rel'] = $entry['property']; } else { if ($entry['color'] == 'transparent') { $attribs['class'] = "transparent-color"; } else { $attribs['style'] = "background-color: {$entry['color']}"; } $attribs['title'] = "{$entry['color']}"; } $ret .= Xml::openElement('li'); $ret .= Xml::Element('span', $attribs, ''); $ret .= Xml::closeElement('li'); } $ret .= Xml::closeElement('ul'); } } // hex code input field $ret .= Xml::element('hr'); $ret .= Xml::element('label', array('for' => "{$id}HexCode"), wfMsg('wikiaPhotoGallery-preview-colorpicker-hex')); $ret .= Xml::element('input', array('id' => "{$id}HexCode", 'type' => 'text')); // Ok button $ret .= Xml::element('button', array(), wfMsg('ok')); $ret .= Xml::closeElement('div'); wfProfileOut(__METHOD__); return $ret; }
function setProtectsiteForm() { global $wgOut, $wgProtectsiteDefaultTimeout, $wgProtectsiteLimit; $request = $this->mRequest->getValues(); $createaccount = array(0 => false, 1 => false, 2 => false); $createaccount[isset($request['createaccount']) ? $request['createaccount'] : 0] = true; $createpage = array(0 => false, 1 => false, 2 => false); $createpage[isset($request['createpage']) ? $request['createpage'] : 0] = true; $edit = array(0 => false, 1 => false, 2 => false); $edit[isset($request['edit']) ? $request['edit'] : 0] = true; $move = array(0 => false, 1 => false); $move[isset($request['move']) ? $request['move'] : 0] = true; $upload = array(0 => false, 1 => false); $upload[isset($request['upload']) ? $request['upload'] : 0] = true; /* Construct page data and add to output. */ $wgOut->addWikiMsg('protectsite-text-protect'); $timelimitText = ''; if (isset($wgProtectsiteLimit)) { $timelimitText = ' (' . wfMsg('protectsite-maxtimeout') . $wgProtectsiteLimit . ')'; if ($this->isMagicUser) { $timelimitText = "<s title='you are exempt from the limit'>" . $timelimitText . '</s>'; } } $noLogCheck = ''; if ($this->isMagicUser) { $noLogCheck = "<div><label>" . wfMsg('protectsite-hide-time-length') . "<input type='checkbox' name=\"nolog\" />" . "</label></div>\n"; } $wgOut->addHTML('<form name="Protectsite" action="' . $this->action . '" method="post">' . "\n" . $this->fieldset('title', $this->radiobox('createaccount', $createaccount) . $this->radiobox('createpage', $createpage) . $this->radiobox('edit', $edit) . $this->radiobox('move', $move) . $this->radiobox('upload', $upload) . $this->textbox('timeout', $wgProtectsiteDefaultTimeout, $timelimitText) . $this->textbox('comment', isset($request['comment']) ? $request['comment'] : '') . $noLogCheck . "\n<br />" . Xml::Element('input', array('type' => 'submit', 'name' => 'protect', 'value' => wfMsg($this->mName . '-protect')))) . '</form>'); }
$r->nodeType = Xml::$DocType; $r->setNodeValue($data); return $r; } static function createProlog($data) { $r = new Xml(); $r->nodeType = Xml::$Prolog; $r->setNodeValue($data); return $r; } static function createDocument() { $r = new Xml(); $r->nodeType = Xml::$Document; $r->_children = new _hx_array(array()); return $r; } function __toString() { return $this->toString(); } } Xml::$Element = "element"; Xml::$PCData = "pcdata"; Xml::$CData = "cdata"; Xml::$Comment = "comment"; Xml::$DocType = "doctype"; Xml::$Prolog = "prolog"; Xml::$Document = "document"; Xml::$xmlChecker = new EReg("\\s*(<\\?xml|<!DOCTYPE)", "mi");