You are here

function MiniorangeSPInformation::mo_saml_upload_certificate in SAML SP 2.0 Single Sign On (SSO) - SAML Service Provider 8

File

src/Form/MiniorangeSPInformation.php, line 250
Contains \Drupal\miniorange_saml\Form\MiniorangeSPInformation.

Class

MiniorangeSPInformation

Namespace

Drupal\miniorange_saml\Form

Code

function mo_saml_upload_certificate(array &$form, FormStateInterface $form_state) {
  $form_values = $form_state
    ->getValues();
  $certificate = $_FILES['files']['tmp_name']['mo_saml_cert_file'];
  if (!empty($certificate)) {
    $file_name = $_FILES['files']['name']['mo_saml_cert_file'];
    list($name_without_extention, $extention) = explode('.', $file_name);
    if ($extention == 'crt' || $extention == 'cer' || $extention == 'cert') {
      $cert_content = Utilities::sanitize_certificate(file_get_contents($certificate));
      $idp_name = $form_values['miniorange_saml_idp_name'];
      $issuer = $form_values['miniorange_saml_idp_issuer'];
      $login_url = $form_values['miniorange_saml_idp_login_url'];
      \Drupal::configFactory()
        ->getEditable('miniorange_saml.settings')
        ->set('miniorange_saml_idp_name', $idp_name)
        ->save();
      \Drupal::configFactory()
        ->getEditable('miniorange_saml.settings')
        ->set('miniorange_saml_idp_issuer', str_replace(' ', '', $issuer))
        ->save();
      \Drupal::configFactory()
        ->getEditable('miniorange_saml.settings')
        ->set('miniorange_saml_idp_login_url', str_replace(' ', '', $login_url))
        ->save();
      \Drupal::configFactory()
        ->getEditable('miniorange_saml.settings')
        ->set('miniorange_saml_idp_x509_certificate', $cert_content)
        ->save();
      \Drupal::messenger()
        ->addMessage(t('x.509 Certificate Value successfully updated.'));
      return;
    }
    else {
      \Drupal::messenger()
        ->addMessage(t('<b style="color: red">File type is not compatible</b> <br> Please Select <b style="color: red">".crt"</b>  or <b style="color: red">".cert"</b> extended file to upload Configuration!'), 'error');
      return;
    }
  }
  else {
    \Drupal::messenger()
      ->addMessage(t('<b style="color: red">Please select file first to upload Configuration!</b>'), 'error');
    return;
  }
}