/**
  * @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();
     }
 }
Ejemplo n.º 4
0
 /**
  * @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);
 }
Ejemplo n.º 6
0
/**
 * @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;
 }