| Index: trunk/phase3/includes/api/ApiQueryInfo.php |
| — | — | @@ -116,7 +116,8 @@ |
| 117 | 117 | $res = $this->select(__METHOD__); |
| 118 | 118 | $prottitles = array(); |
| 119 | 119 | while($row = $db->fetchObject($res)) { |
| 120 | | - $prottitles[$row->pt_namespace][$row->pt_title] = array( |
| | 120 | + // Argh, pt_title is case-insensitive |
| | 121 | + $prottitles[$row->pt_namespace][strtolower($row->pt_title)] = array( |
| 121 | 122 | 'type' => 'create', |
| 122 | 123 | 'level' => $row->pt_create_perm, |
| 123 | 124 | 'expiry' => Block::decodeExpiry($row->pt_expiry, TS_ISO_8601) |
| — | — | @@ -249,8 +250,8 @@ |
| 250 | 251 | { |
| 251 | 252 | // Apparently the XML formatting code doesn't like array(null) |
| 252 | 253 | // This is painful to fix, so we'll just work around it |
| 253 | | - if(isset($prottitles[$title->getNamespace()][$title->getDBkey()])) |
| 254 | | - $res['query']['pages'][$pageid]['protection'][] = $prottitles[$title->getNamespace()][$title->getDBkey()]; |
| | 254 | + if(isset($prottitles[$title->getNamespace()][strtolower($title->getDBkey())])) |
| | 255 | + $res['query']['pages'][$pageid]['protection'][] = $prottitles[$title->getNamespace()][strtolower($title->getDBkey())]; |
| 255 | 256 | else |
| 256 | 257 | $res['query']['pages'][$pageid]['protection'] = array(); |
| 257 | 258 | $result->setIndexedTagName($res['query']['pages'][$pageid]['protection'], 'pr'); |
| Index: trunk/phase3/RELEASE-NOTES |
| — | — | @@ -238,6 +238,7 @@ |
| 239 | 239 | * (bug 13544) Added oldid parameter to action=parse to allow for parsing of old revisions |
| 240 | 240 | * (bug 13718) Return the proper continue parameter for cmsort=timestamp |
| 241 | 241 | * action=login now returns the correct waiting time in the details property |
| | 242 | +* (bug 13768) inprop=protection now honors case-insensitivity for protected titles |
| 242 | 243 | |
| 243 | 244 | === Languages updated in 1.13 === |
| 244 | 245 | |