You are here

public function PhotosAccessPasswordForm::validateForm in Album Photos 8.5

Same name and namespace in other branches
  1. 8.4 photos_access/src/Form/PhotosAccessPasswordForm.php \Drupal\photos_access\Form\PhotosAccessPasswordForm::validateForm()
  2. 6.0.x photos_access/src/Form/PhotosAccessPasswordForm.php \Drupal\photos_access\Form\PhotosAccessPasswordForm::validateForm()

Form validation handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides FormBase::validateForm

File

photos_access/src/Form/PhotosAccessPasswordForm.php, line 78

Class

PhotosAccessPasswordForm
Defines a form to upload photos to this site.

Namespace

Drupal\photos_access\Form

Code

public function validateForm(array &$form, FormStateInterface $form_state) {
  $node = $this->connection
    ->query("SELECT pass, nid FROM {photos_access_album} WHERE nid = :nid AND pass = :pass", [
    ':nid' => $form_state
      ->getValue('nid'),
    ':pass' => md5($form_state
      ->getValue('pass')),
  ])
    ->fetchObject();
  if (isset($node->pass)) {
    $_SESSION[$node->nid . '_' . session_id()] = $node->pass;

    // Redirect.
    $redirect_url = Url::fromUri('base:node/' . $node->nid)
      ->toString();
    return new RedirectResponse($redirect_url);
  }
  else {
    $form_state
      ->setErrorByName('pass', $this
      ->t('Password required'));
  }
}