Example #1
0
 /**
  * Loads list of all SiteMatrix wikis
  *
  * @static
  * @access public
  * @param  Wiki &$wikiClass The Wiki class object
  * @return array List of all wikis
  * @throws AssertFailure
  * @throws DependencyError
  * @throws LoggedOut
  * @throws MWAPIError
  */
 public static function load(Wiki &$wikiClass)
 {
     if (!array_key_exists('SiteMatrix', $wikiClass->get_extensions())) {
         throw new DependencyError("SiteMatrix");
     }
     $SMres = $wikiClass->apiQuery(array('action' => 'sitematrix'));
     $wikis = $SMres['sitematrix'];
     //return $wikis;
     $retarray = array('raw' => $wikis, 'urls' => array(), 'langs' => array(), 'names' => array(), 'privates' => array());
     foreach ($wikis as $site) {
         if (is_array($site)) {
             if (isset($site['site'])) {
                 $retarray['langs'][] = $site['code'];
                 $retarray['names'][$site['code']] = $site['name'];
                 foreach ($site['site'] as $site2) {
                     $retarray['urls'][] = $site2['url'];
                     if (isset($site2['private'])) {
                         $retarray['privates'][] = $site2;
                     }
                 }
             } else {
                 foreach ($site as $site2) {
                     $sites2['urls'][] = $site2['url'];
                     if (isset($site2['private'])) {
                         $retarray['privates'][] = $site2;
                     }
                 }
             }
         }
     }
     return $retarray;
 }
Example #2
0
 /**
  * @param Wiki $wikiClass
  * @throws DependencyError
  */
 function __construct(Wiki &$wikiClass)
 {
     if (!array_key_exists('FlaggedRevs', $wikiClass->get_extensions())) {
         throw new DependencyError("FlaggedRevs", "http://www.mediawiki.org/wiki/Extension:FlaggedRevs");
     }
     $this->wiki = $wikiClass;
 }
Example #3
0
 /**
  * Construction method for the AbuseFilter class
  *
  * @access public
  * @param Wiki &$wikiClass The Wiki class object
  * @throws DependencyError
  */
 public function __construct(Wiki &$wikiClass)
 {
     $this->wiki = $wikiClass;
     if (!array_key_exists('Abuse Filter', $wikiClass->get_extensions())) {
         throw new DependencyError("AbuseFilter", "http://www.mediawiki.org/wiki/Extension:AbuseFilter");
     }
 }
Example #4
0
 public function __construct(Wiki &$wikiClass, $repo)
 {
     $this->wiki = $wikiClass;
     $this->repo = $repo;
     if (!array_key_exists('CodeReview', $wikiClass->get_extensions())) {
         throw new DependencyError("CodeReview", "http://www.mediawiki.org/wiki/Extension:CodeReview");
     }
 }
Example #5
0
 public static function load(Wiki &$wikiClass)
 {
     if (!array_key_exists('GlobalBlocking', $wikiClass->get_extensions())) {
         throw new DependencyError("GlobalBlocking", "http://www.mediawiki.org/wiki/Extension:GlobalBlocking");
     }
 }
Example #6
0
 /**
  * Construction method for the GlobalUserInfo class
  *
  * @access public
  * @param Wiki &$wikiClass The Wiki class object
  * @param mixed $pgUsername Username
  * @throws APIError
  * @throws AssertFailure
  * @throws DependencyError
  * @throws LoggedOut
  * @throws MWAPIError
  */
 function __construct(Wiki &$wikiClass, $pgUsername)
 {
     if (!array_key_exists('Central Auth', $wikiClass->get_extensions())) {
         throw new DependencyError("CentralAuth", "http://www.mediawiki.org/wiki/Extension:CentralAuth");
     }
     $this->username = ucfirst($pgUsername);
     $this->wiki = $wikiClass;
     $guiRes = $this->wiki->apiQuery(array('action' => 'query', 'meta' => 'globaluserinfo', 'guiuser' => ucfirst($pgUsername), 'guiprop' => 'groups|merged|unattached'), false, false);
     if (!isset($guiRes['query']['globaluserinfo'])) {
         $this->exists = false;
         if (isset($guiRes['error']) && $guiRes['error']['code'] != 'guinosuchuser') {
             throw new MWAPIError($guiRes['error']);
         } elseif (@$guiRes['error']['code'] != 'guinosuchuser') {
             throw new MWAPIError(array('code' => 'UnknownError', 'info' => 'Unknown API Error'));
         }
     } else {
         $this->groups = $guiRes['query']['globaluserinfo']['groups'];
         $this->merged = $guiRes['query']['globaluserinfo']['merged'];
         $this->merged = $guiRes['query']['globaluserinfo']['unattached'];
         $this->id = $guiRes['query']['globaluserinfo']['id'];
         $this->registration = $guiRes['query']['globaluserinfo']['registration'];
     }
 }