public function execute() { $params = $this->extractRequestParams(); $token = $params['token']; $maxage = $params['maxtokenage']; $request = $this->getRequest(); $salts = ApiQueryTokens::getTokenTypeSalts(); $salt = $salts[$params['type']]; $res = array(); if ($this->getUser()->matchEditToken($token, $salt, $request, $maxage)) { $res['result'] = 'valid'; } elseif ($maxage !== null && $this->getUser()->matchEditToken($token, $salt, $request)) { $res['result'] = 'expired'; } else { $res['result'] = 'invalid'; } $ts = User::getEditTokenTimestamp($token); if ($ts !== null) { $mwts = new MWTimestamp(); $mwts->timestamp->setTimestamp($ts); $res['generated'] = $mwts->getTimestamp(TS_ISO_8601); } $this->getResult()->addValue(null, $this->getModuleName(), $res); }