private function filterOne($res) { wfProfileIn(__METHOD__); if ($res['type'] == 'log') { $this->filterLog($res); } else { if (empty($res['pageid'])) { $title = Title::newFromText($res['title']); } else { $title = Title::newFromID($res['pageid']); } if ($title && $title->exists()) { if ($title->isRedirect()) { if ($this->proxyType == self::WL) { $this->filterRedirect($res, $title); } } else { $res['rc_params'] = MyHome::unpackData($res['rc_params']); if (isset($res['rc_params']['rollback'])) { $this->invisibleRevisions[] = $res['rc_params']['revId']; } else { if (!in_array($res['revid'], $this->invisibleRevisions)) { $hidenewpages = !empty($this->parameters['flags']) && in_array('hidenewpages', $this->parameters['flags']); //do not show hidden categories (see RT#32015) if (isset($res['rc_params']['categoryInserts'])) { $res['rc_params']['categoryInserts'] = $this->filterHiddenCategories($res['rc_params']['categoryInserts']); } if ($res['type'] == 'new' && !$hidenewpages) { $this->filterNew($res, $title); } else { if ($res['type'] == 'edit') { $this->filterEdit($res, $title); } } } } } } } wfProfileOut(__METHOD__); }
function testUnpackData() { $in = MyHome::customDataPrefix . '{"foo":"bar"}'; $out = array('foo' => 'bar'); $this->assertEquals($out, MyHome::unpackData($in)); }