public function execute()
 {
     $params = $this->extractRequestParams();
     $prop = array_flip((array) $params['prop']);
     $from = isset($params['from']) ? $params['from'] : null;
     $APIResult = $this->getResult();
     $data = array();
     /**
      * @var $wikiSet WikiSet
      */
     foreach (WikiSet::getAllWikiSets($from, $params['limit'], $params['orderbyname']) as $wikiSet) {
         $entry = array();
         $entry['id'] = $wikiSet->getId();
         $entry['name'] = $wikiSet->getName();
         if (isset($prop['type'])) {
             $entry['type'] = $wikiSet->getType();
         }
         if (isset($prop['wikisincluded'])) {
             $entry['wikisincluded'] = $wikiSet->getWikis();
             if (count($entry['wikisincluded'])) {
                 $APIResult->setIndexedTagName($entry['wikisincluded'], 'wiki');
             }
         }
         if (isset($prop['wikisnotincluded'])) {
             $entry['wikisnotincluded'] = array_diff(CentralAuthUser::getWikiList(), $wikiSet->getWikis());
             if (count($entry['wikisnotincluded'])) {
                 $APIResult->setIndexedTagName($entry['wikisnotincluded'], 'wiki');
             }
         }
         $data[] = $entry;
     }
     $APIResult->setIndexedTagName($data, 'wikiset');
     $APIResult->addValue('query', $this->getModuleName(), $data);
 }
 /**
  * @param string $msg
  */
 function buildMainView($msg = '')
 {
     // Give grep a chance to find the usages: centralauth-editset-legend-rw, centralauth-editset-legend-ro
     $msgPostfix = $this->mCanEdit ? 'rw' : 'ro';
     $legend = $this->msg("centralauth-editset-legend-{$msgPostfix}")->text();
     $this->getOutput()->addHTML("<fieldset><legend>{$legend}</legend>");
     if ($msg) {
         $this->getOutput()->addHTML($msg);
     }
     // Give grep a chance to find the usages: centralauth-editset-intro-rw, centralauth-editset-intro-ro
     $this->getOutput()->addWikiMsg("centralauth-editset-intro-{$msgPostfix}");
     $this->getOutput()->addHTML('<ul>');
     // Give grep a chance to find the usages: centralauth-editset-item-rw, centralauth-editset-item-ro
     $sets = WikiSet::getAllWikiSets();
     /**
      * @var $set WikiSet
      */
     foreach ($sets as $set) {
         $text = $this->msg("centralauth-editset-item-{$msgPostfix}", $set->getName(), $set->getID())->parse();
         $this->getOutput()->addHTML("<li>{$text}</li>");
     }
     if ($this->mCanEdit) {
         $target = SpecialPage::getTitleFor('WikiSets', '0');
         $newlink = Linker::link($target, $this->msg('centralauth-editset-new')->escaped());
         $this->getOutput()->addHTML("<li>{$newlink}</li>");
     }
     $this->getOutput()->addHTML('</ul></fieldset>');
 }
示例#3
0
 /**
  * @param string $msg
  */
 function buildMainView($msg = '')
 {
     $msgPostfix = $this->mCanEdit ? 'rw' : 'ro';
     $legend = wfMsg("centralauth-editset-legend-{$msgPostfix}");
     $this->getOutput()->addHTML("<fieldset><legend>{$legend}</legend>");
     if ($msg) {
         $this->getOutput()->addHTML($msg);
     }
     $this->getOutput()->addWikiMsg("centralauth-editset-intro-{$msgPostfix}");
     $this->getOutput()->addHTML('<ul>');
     $sets = WikiSet::getAllWikiSets();
     foreach ($sets as $set) {
         $text = wfMsgExt("centralauth-editset-item-{$msgPostfix}", array('parseinline'), $set->getName(), $set->getID());
         $this->getOutput()->addHTML("<li>{$text}</li>");
     }
     if ($this->mCanEdit) {
         $target = SpecialPage::getTitleFor('WikiSets', '0');
         $newlink = Linker::makeLinkObj($target, wfMsgHtml('centralauth-editset-new'));
         $this->getOutput()->addHTML("<li>{$newlink}</li>");
     }
     $this->getOutput()->addHTML('</ul></fieldset>');
 }
 /**
  * @param $group
  * @return string
  */
 function buildWikiSetSelector($group)
 {
     $sets = WikiSet::getAllWikiSets();
     $default = WikiSet::getWikiSetForGroup($group);
     if (!$this->userCanEdit($this->getUser())) {
         $set = WikiSet::newFromID($default);
         if ($set) {
             return Linker::link(SpecialPage::getTitleFor('WikiSets', $set->getId()), htmlspecialchars($set->getName()));
         } else {
             return $this->msg('centralauth-editgroup-nowikiset');
         }
     }
     $select = new XmlSelect('set', 'wikiset', $default);
     $select->addOption($this->msg('centralauth-editgroup-noset')->text(), '0');
     /**
      * @var $set WikiSet
      */
     foreach ($sets as $set) {
         $select->addOption($set->getName(), $set->getID());
     }
     $editlink = $this->msg('centralauth-editgroup-editsets')->parse();
     return $select->getHTML() . "&#160;{$editlink}";
 }
 /**
  * @param $group
  * @return string
  */
 function buildWikiSetSelector($group)
 {
     $sets = WikiSet::getAllWikiSets();
     $default = WikiSet::getWikiSetForGroup($group);
     if (!$this->userCanEdit($this->getUser())) {
         return htmlspecialchars($default);
     }
     $select = new XmlSelect('set', 'wikiset', $default);
     $select->addOption(wfMsg('centralauth-editgroup-noset'), '0');
     foreach ($sets as $set) {
         $select->addOption($set->getName(), $set->getID());
     }
     $editlink = wfMsgExt("centralauth-editgroup-editsets", array("parseinline"));
     return $select->getHTML() . "&#160;{$editlink}";
 }