/** * @param $type * @param $action * @param $title * @param $skin Skin|null If null, we want to use the wiki content language, since that will go to the IRC feed. * @param $params * @param $filterWikilinks bool * @return String */ public static function onHandleWikiSetLogEntry($type, $action, $title, $skin, $params, $filterWikilinks = false) { if ($skin) { $link = Linker::link($title, htmlspecialchars($params[0])); } else { $link = $params[0]; } switch ($action) { case 'newset': $args = array(WikiSet::formatType($params[1]), $params[2]); break; case 'setrename': $args = array($params[1]); break; case 'setnewtype': $args = array(WikiSet::formatType($params[1]), WikiSet::formatType($params[2])); break; case 'setchange': $args = array($params[1] ? $params[1] : wfMessage('rightsnone')->text(), $params[2] ? $params[2] : wfMessage('rightsnone')->text()); break; default: //'deleteset' $args = array(); } // Give grep a chance to find the usages: // centralauth-rightslog-entry-newset, centralauth-rightslog-entry-setrename, // centralauth-rightslog-entry-setnewtype, centralauth-rightslog-entry-setchange, // centralauth-rightslog-entry-deleteset $msg = wfMessage("centralauth-rightslog-entry-{$action}", $link)->params($args); if ($skin) { return $msg->text(); } else { return $msg->inContentLanguage()->text(); } }
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 $id string|int * @return String */ function getWikiSetName($id) { if ($id) { return WikiSet::newFromID($id)->getName(); } else { return $this->msg('centralauth-editgroup-noset')->inContentLanguage()->text(); } }
/** * @param $set * @return mixed */ function doDelete($set) { $set = WikiSet::newFromID($set); if (!$set) { $this->buildMainView('<strong class="error">' . wfMsgHtml('centralauth-editset-notfound', $set) . '</strong>'); return; } $reason = $this->getRequest()->getVal('wpReason'); $name = $set->getName(); $set->delete(); $title = SpecialPage::getTitleFor('WikiSets', $set->getID()); $log = new LogPage('gblrights'); $log->addEntry('deleteset', $title, $reason, array($name)); $this->buildMainView('<strong class="success">' . wfMsg('centralauth-editset-success-delete') . '</strong>'); }
/** * @param $row * @return bool|string */ protected function getUserGroups($row) { if (!$row->gug_numgroups) { return false; } $result = $this->mDb->select('global_user_groups', 'gug_group', array('gug_user' => $row->gu_id), __METHOD__); $globalgroups = array(); foreach ($result as $row2) { if (!isset($this->wikiSets[$row2->gug_group])) { // We don't need to get the sets of groups we already know about. $globalgroups[] = $row2->gug_group; } } if (count($globalgroups) != 0) { $wikiSetQuery = $this->mDb->select(array('global_group_restrictions', 'wikiset'), array('ggr_group', 'ws_id', 'ws_name', 'ws_type', 'ws_wikis'), array('ggr_set=ws_id', 'ggr_group' => $globalgroups), __METHOD__); foreach ($wikiSetQuery as $wikiSetRow) { $this->wikiSets[$wikiSetRow->ggr_group] = WikiSet::newFromRow($wikiSetRow); } } $rights = array(); foreach ($result as $row2) { if (isset($this->wikiSets[$row2->gug_group]) && !$this->wikiSets[$row2->gug_group]->inSet()) { $group = User::makeGroupLinkWiki($row2->gug_group, User::getGroupMember($row2->gug_group)); $rights[] = Html::element('span', array('class' => 'groupnotappliedhere'), $group); } else { $rights[] = User::makeGroupLinkWiki($row2->gug_group, User::getGroupMember($row2->gug_group)); } } return $this->getLanguage()->listToText($rights); }
/** * @param $type * @param $action * @param $title * @param $skin Skin * @param $params * @param $filterWikilinks bool * @return String */ function efHandleWikiSetLogEntry($type, $action, $title, $skin, $params, $filterWikilinks = false) { $link = Linker::makeLinkObj($title, htmlspecialchars($params[0])); switch ($action) { case 'newset': $args = array(WikiSet::formatType($params[1]), $params[2]); break; case 'setrename': $args = array($params[1]); break; case 'setnewtype': $args = array(WikiSet::formatType($params[1]), WikiSet::formatType($params[2])); break; case 'setchange': $args = array($params[1] ? $params[1] : wfMsg('rightsnone'), $params[2] ? $params[2] : wfMsg('rightsnone')); break; default: //'deleteset' $args = array(); } return wfMsgReal("centralauth-rightslog-entry-{$action}", array_merge(array($link), $args), true, !$skin); }
function getWikiSetName($id) { if ($id) { return WikiSet::newFromID($id)->getName(); } else { return wfMsgForContent('centralauth-editgroup-noset'); } }
/** * @return array */ function getGlobalRights() { $this->loadGroups(); $rights = array(); $sets = array(); foreach ($this->mRights as $right) { if ($right['set']) { $set = isset($sets[$right['set']]) ? $sets[$right['set']] : WikiSet::newFromID($right['set']); if ($set->inSet()) { $rights[] = $right['right']; } } else { $rights[] = $right['right']; } } return $rights; }