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);
 }