/** * Main execution function * @param $par Parameters passed to the page */ function execute($par) { global $wgOut, $wgUser; wfLoadExtensionMessages('Gadgets'); $skin = $wgUser->getSkin(); $this->setHeaders(); $wgOut->setPagetitle(wfMsg("gadgets-title")); $wgOut->addWikiText(wfMsg("gadgets-pagetext")); $gadgets = wfLoadGadgetsStructured(); if (!$gadgets) { return; } $listOpen = false; $msgOpt = array('parseinline', 'parsemag'); foreach ($gadgets as $section => $entries) { if ($section !== false && $section !== '') { $t = Title::makeTitleSafe(NS_MEDIAWIKI, "Gadget-section-{$section}"); $lnk = $t ? $skin->makeLinkObj($t, wfMsgHTML("edit")) : htmlspecialchars($section); $ttext = wfMsgExt("gadget-section-{$section}", $msgOpt); if ($listOpen) { $wgOut->addHTML('</ul>'); $listOpen = false; } $wgOut->addHTML("\n<h2>{$ttext} [{$lnk}]</h2>\n"); } foreach ($entries as $gname => $code) { $t = Title::makeTitleSafe(NS_MEDIAWIKI, "Gadget-{$gname}"); if (!$t) { continue; } $lnk = $skin->makeLinkObj($t, wfMsgHTML("edit")); $ttext = wfMsgExt("gadget-{$gname}", $msgOpt); if (!$listOpen) { $listOpen = true; $wgOut->addHTML('<ul>'); } $wgOut->addHTML("<li>"); $wgOut->addHTML("{$ttext} [{$lnk}]<br/>"); $wgOut->addHTML(wfMsgHTML("gadgets-uses") . ": "); $first = true; foreach ($code as $codePage) { $t = Title::makeTitleSafe(NS_MEDIAWIKI, "Gadget-{$codePage}"); if (!$t) { continue; } if ($first) { $first = false; } else { $wgOut->addHTML(", "); } $lnk = $skin->makeLinkObj($t, htmlspecialchars($t->getText())); $wgOut->addHTML($lnk); } $wgOut->addHtml("</li>"); } } if ($listOpen) { $wgOut->addHTML('</ul>'); } }
function wfGadgetsRenderPreferencesForm(&$prefs, &$out) { $gadgets = wfLoadGadgetsStructured(); if (!$gadgets) { return true; } wfLoadExtensionMessages('Gadgets'); $out->addHtml("\n<fieldset>\n<legend>" . wfMsgHtml('gadgets-prefs') . "</legend>\n"); $out->addHtml("<p>" . wfMsgWikiHtml('gadgets-prefstext') . "</p>\n"); $msgOpt = array('parseinline', 'parsemag'); foreach ($gadgets as $section => $entries) { if ($section !== false && $section !== '') { $ttext = wfMsgExt("gadget-section-{$section}", $msgOpt); $out->addHtml("\n<h2>" . $ttext . "</h2>\n"); } foreach ($entries as $gname => $code) { $tname = "gadget-{$gname}"; $ttext = wfMsgExt($tname, $msgOpt); $checked = @$prefs->mToggles[$tname] == 1 ? ' checked="checked"' : ''; $disabled = ''; # NOTE: No label for checkmarks as this causes the checks to toggle # when clicking a link in the describing text. $out->addHtml("<div class='toggle'><input type='checkbox' value='1' " . "id=\"{$tname}\" name=\"wpOp{$tname}\"{$checked}{$disabled} />" . " <span class='toggletext'>{$ttext}</span></div>\n"); } } $out->addHtml("</fieldset>\n\n"); return true; }