\Charcoal\Admin\Action\AccountResetPasswordAction

Reset Password Action

This action is used to process a user's new password given a valid password reset token generared by \Charcoal\Admin\Action\Account\LostPasswordAction.

Required Parameters

  • token
  • username
  • password1
  • password2
  • g-recaptcha-response

HTTP Status Codes

  • 200 — Successful; Password has been changed
  • 400 — Client error; Invalid request data
  • 500 — Server error; Password could not be changed

Summary

Methods
Properties
Constants
__construct()
setDependencies()
init()
siteName()
authRequired()
isAuthenticated()
getAuthenticatedUser()
results()
adminUrl()
setBaseUrl()
baseUrl()
hasFeedbacks()
numFeedbacks()
feedbacks()
addFeedback()
clearFeedback()
run()
No public properties found
No constants found
setModelFactory()
modelFactory()
setSiteName()
validateCaptcha()
resolveFeedbackLevel()
$adminConfig
$appConfig
$feedbacks
N/A
loadUser()
validateToken()
deleteToken()
$siteName
$modelFactory
N/A

Properties

$adminConfig

$adminConfig : \Charcoal\Admin\Config

Store a reference to the admin configuration.

Type

\Charcoal\Admin\Config

$appConfig

$appConfig : \Charcoal\App\Config

Store a reference to the application configuration.

Type

\Charcoal\App\Config

$feedbacks

$feedbacks : array

Collection of feedback.

Type

array

$siteName

$siteName : \Charcoal\Translator\Translation|string|null

The name of the project.

Type

\Charcoal\Translator\Translation|string|null

$modelFactory

$modelFactory : \Charcoal\Factory\FactoryInterface

Store the model factory.

Type

\Charcoal\Factory\FactoryInterface

Methods

__construct()

__construct(array  $data = null) 

Parameters

array $data

Optional.

setDependencies()

setDependencies(\Pimple\Container  $container) : void

Dependencies

Parameters

\Pimple\Container $container

DI Container.

init()

init(\Psr\Http\Message\RequestInterface  $request) : boolean

Template's init method is called automatically from `charcoal-app`'s Template Route.

For admin templates, initializations is:

  • to start a session, if necessary
  • to authenticate
  • to initialize the template data with $_GET

Parameters

\Psr\Http\Message\RequestInterface $request

The request to initialize.

Returns

boolean

siteName()

siteName() : \Charcoal\Translator\Translation|string|null

Retrieve the name of the project.

Returns

\Charcoal\Translator\Translation|string|null

authRequired()

authRequired() : boolean

Authentication is required by default.

Reimplement and change to false in templates that do not require authentication.

Returns

boolean

isAuthenticated()

isAuthenticated() : boolean

Determine if the current user is authenticated.

Returns

boolean

getAuthenticatedUser()

getAuthenticatedUser() : \Charcoal\User\UserInterface|null

Retrieve the currently authenticated user.

Returns

\Charcoal\User\UserInterface|null

results()

results() : array

Default response stub.

Returns

array

adminUrl()

adminUrl() : \Charcoal\Admin\UriInterface|string

Retrieve the base URI of the administration area.

Returns

\Charcoal\Admin\UriInterface|string

setBaseUrl()

setBaseUrl(\Charcoal\Admin\UriInterface|string  $uri) : self

Set the base URI of the application.

Parameters

\Charcoal\Admin\UriInterface|string $uri

The base URI.

Returns

self

baseUrl()

baseUrl() : \Charcoal\Admin\UriInterface|string

Retrieve the base URI of the application.

Returns

\Charcoal\Admin\UriInterface|string

hasFeedbacks()

hasFeedbacks() : boolean

Determine if there's feedback.

Returns

boolean

numFeedbacks()

numFeedbacks() : integer

Count feedback.

Returns

integer

feedbacks()

feedbacks(string|null  $level = null) : array

Retrieve the feedback collection.

Optionally retrieve only the feedback for the given level.

Parameters

string|null $level

Optional level to filter collection.

Throws

\InvalidArgumentException

If the feedback level is invalid.

Returns

array

addFeedback()

addFeedback(string  $level, mixed  $message) : \Charcoal\Admin\Ui\FeedbackContainerTrait

Add feedback.

Parameters

string $level

The feedback level.

mixed $message

The feedback message.

Returns

\Charcoal\Admin\Ui\FeedbackContainerTrait

Chainable

run()

run(\Psr\Http\Message\RequestInterface  $request, \Psr\Http\Message\ResponseInterface  $response) : \Psr\Http\Message\ResponseInterface

Note that the lost-password action should never change status code and always return 200.

Parameters

\Psr\Http\Message\RequestInterface $request

A PSR-7 compatible Request instance.

\Psr\Http\Message\ResponseInterface $response

A PSR-7 compatible Response instance.

Returns

\Psr\Http\Message\ResponseInterface

setModelFactory()

setModelFactory(\Charcoal\Factory\FactoryInterface  $factory) : \Charcoal\Admin\AdminScript

Parameters

\Charcoal\Factory\FactoryInterface $factory

The factory used to create models.

Returns

\Charcoal\Admin\AdminScript

Chainable

modelFactory()

modelFactory() : \Charcoal\Factory\FactoryInterface

Returns

\Charcoal\Factory\FactoryInterface —

The model factory.

setSiteName()

setSiteName(string  $name) : \Charcoal\Admin\AdminAction

Set the name of the project.

Parameters

string $name

Name of the project.

Returns

\Charcoal\Admin\AdminAction

Chainable

validateCaptcha()

validateCaptcha(string  $response) : boolean

Parameters

string $response

The captcha value (response) to validate.

Throws

\RuntimeException

If Google reCAPTCHA is not configured.

Returns

boolean

resolveFeedbackLevel()

resolveFeedbackLevel(string  $level) : string

Resolve the given feedback level.

Parameters

string $level

The feedback level.

Returns

string —

The level.

loadUser()

loadUser(string  $username) : \Charcoal\Admin\User|false

Parameters

string $username

Username or email.

Returns

\Charcoal\Admin\User|false

validateToken()

validateToken(string  $token, string  $username) : boolean

Validate the given password reset token.

To be valid, a token should:

  • exist in the database
  • not be expired
  • match the given user

Parameters

string $token

The token to validate.

string $username

The user that should match the token.

Returns

boolean

deleteToken()

deleteToken(string  $token) : void

Delete the given password reset token.

Parameters

string $token

The token to delete.