API: Temporary fix for broken XML rendering; XML formatter apparently doesn't like...
authorRoan Kattouw <catrope@users.mediawiki.org>
Tue, 8 Jan 2008 21:42:00 +0000 (21:42 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Tue, 8 Jan 2008 21:42:00 +0000 (21:42 +0000)
includes/api/ApiQueryInfo.php

index 1450ad1..f98a4d0 100644 (file)
@@ -109,6 +109,7 @@ class ApiQueryInfo extends ApiQueryBase {
                        $this->addFields(array('pt_title', 'pt_namespace', 'pt_create_perm', 'pt_expiry'));
                        $this->addWhere($lb->constructSet('pt', $db));
                        $res = $this->select(__METHOD__);
+                       $prottitles = array();
                        while($row = $db->fetchObject($res)) {
                                $prottitles[$row->pt_namespace][$row->pt_title] = array(
                                        'type' => 'create',
@@ -200,7 +201,11 @@ class ApiQueryInfo extends ApiQueryBase {
                                if($tok_protect)
                                        $res['query']['pages'][$pageid]['protecttoken'] = $wgUser->editToken();
                                if($fld_protection)
-                                       $res['query']['pages'][$pageid]['protection'][] = $prottitles[$title->getNamespace()][$title->getDbKey()];
+                                       // FIXME: Fix XML formatter
+                                       if(isset($prottitles[$title->getNamespace()][$title->getDbKey()]))
+                                               $res['query']['pages'][$pageid]['protection'][] = $prottitles[$title->getNamespace()][$title->getDbKey()];
+                                       else
+                                               $res['query']['pages'][$pageid]['protection'] = array();
                                $result->setIndexedTagName($res['query']['pages'][$pageid]['protection'], 'pr');
                        }
                }