public function execute() { $params = $this->extractRequestParams(); $token = $params['token']; $maxage = $params['maxtokenage']; $salts = ApiQueryTokens::getTokenTypeSalts(); $res = array(); $tokenObj = ApiQueryTokens::getToken($this->getUser(), $this->getRequest()->getSession(), $salts[$params['type']]); if ($tokenObj->match($token, $maxage)) { $res['result'] = 'valid'; } elseif ($maxage !== null && $tokenObj->match($token)) { $res['result'] = 'expired'; } else { $res['result'] = 'invalid'; } $ts = MediaWiki\Session\Token::getTimestamp($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); }
/** * Get the embedded timestamp from a token. * @deprecated since 1.27, use \\MediaWiki\\Session\\Token::getTimestamp instead. * @param string $val Input token * @return int|null */ public static function getEditTokenTimestamp($val) { wfDeprecated(__METHOD__, '1.27'); return MediaWiki\Session\Token::getTimestamp($val); }