MediaWiki master
ApiCreateTempUserTrait.php
Go to the documentation of this file.
1<?php
2
3namespace MediaWiki\Api;
4
8
25 protected function getTempUserRedirectUrl(
26 array $params,
27 UserIdentity $savedTempUser
28 ): string {
29 $returnToQuery = $params['returntoquery'];
30 $returnToAnchor = $params['returntoanchor'];
31 if ( str_starts_with( $returnToQuery, '?' ) ) {
32 // Remove leading '?' if provided (both ways work, but this is more common elsewhere)
33 $returnToQuery = substr( $returnToQuery, 1 );
34 }
35 if ( $returnToAnchor !== '' && !str_starts_with( $returnToAnchor, '#' ) ) {
36 // Add leading '#' if missing (it's required)
37 $returnToAnchor = '#' . $returnToAnchor;
38 }
39 $redirectUrl = '';
40 $this->getHookRunner()->onTempUserCreatedRedirect(
41 $this->getRequest()->getSession(),
42 $savedTempUser,
43 $params['returnto'] ?: '',
44 $returnToQuery,
45 $returnToAnchor,
46 $redirectUrl
47 );
48 return $redirectUrl;
49 }
50
54 protected function getCreateTempUserParams(): array {
55 return [
56 'returnto' => [
57 ParamValidator::PARAM_TYPE => 'title',
58 ApiBase::PARAM_HELP_MSG => 'apihelp-edit-param-returnto',
59 ],
60 'returntoquery' => [
61 ParamValidator::PARAM_TYPE => 'string',
62 ParamValidator::PARAM_DEFAULT => '',
63 ApiBase::PARAM_HELP_MSG => 'apihelp-edit-param-returntoquery',
64 ],
65 'returntoanchor' => [
66 ParamValidator::PARAM_TYPE => 'string',
67 ParamValidator::PARAM_DEFAULT => '',
68 ApiBase::PARAM_HELP_MSG => 'apihelp-edit-param-returntoanchor',
69 ],
70 ];
71 }
72
73 // region Methods required from ApiBase
82 abstract protected function getHookRunner();
83
88 abstract public function getRequest();
89
91 // endregion -- end of methods required from ApiBase
92}
93
95class_alias( ApiCreateTempUserTrait::class, 'ApiCreateTempUserTrait' );
array $params
The job parameters.
const PARAM_HELP_MSG
(string|array|Message) Specify an alternative i18n documentation message for this parameter.
Definition ApiBase.php:184
The WebRequest class encapsulates getting at data passed in the URL or via a POSTed form,...
Service for formatting and validating API parameters.
trait ApiCreateTempUserTrait
Methods needed by APIs that create a temporary user.
Interface for objects representing user identity.