Commit 2fa93318 authored by Binny Thomas's avatar Binny Thomas Committed by Binny Thomas
Browse files

Issue #3312052 by binnythomas: Port User presave function to Drupal 9

parent aeb7fbd7
Loading
Loading
Loading
Loading
+20 −15
Original line number Diff line number Diff line
@@ -37,9 +37,9 @@ function uber_affiliate_theme() {
}

/**
 * Implements hook_user_presave().
 * Implements hook_ENTITY_TYPE_presave() for user entities.
 */
function uber_affiliate_user_presave(&$edit, $account, $category) {
function uber_affiliate_user_presave(UserInterface $account) {
  $edit['data']['affiliate_optin'] = isset($edit['affiliate_optin']) ? $edit['affiliate_optin'] : 0;
  $edit['data']['affiliate_homepage'] = isset($edit['affiliate_homepage']) ? $edit['affiliate_homepage'] : FALSE;
}
@@ -99,16 +99,17 @@ function uber_affiliate_user_view(array &$build, UserInterface $account, EntityV
 }
}



/**
 * Implements hook_form_FORM_ID_alter().
 */
function uber_affiliate_form_user_profile_form_alter(&$form, FormStateInterface $form_state, $form_id) {
function uber_affiliate_form_user_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  $user = \Drupal::currentUser();
  if ($user->hasPermission('administer affiliate settings') || $user->hasPermission('administer own affiliate settings') || $user->hasPermission('opt in or out as an affiliate')) {
    if ($form['#user_category'] == 'account') {
      $account = $form['#user'];
      $form['#validate'][] = 'affiliate_user_profile_form_validate';
      $form['#submit'][] = 'affiliate_user_profile_form_submit';
    if (isset($form['account'])) {
      $form['#validate'][] = 'uber_affiliate_user_form_validate';
      $form['actions']['submit']['#submit'][] = 'uber_affiliate_user_form_submit';
      $form['affiliate'] = array(
        '#type' => 'fieldset',
        '#title' => t('Affiliate settings'),
@@ -118,14 +119,14 @@ function uber_affiliate_form_user_profile_form_alter(&$form, FormStateInterface
      $form['affiliate']['affiliate_optin'] = array(
        '#type' => 'checkbox',
        '#title' => t('Affiliate opt-in'),
        '#default_value' => !empty($account->data['affiliate_optin']) ? $account->data['affiliate_optin'] : FALSE,
        '#default_value' => !empty($form_state->getValue('affiliate_optin')) ? $form_state->getValue('affiliate_optin') : FALSE,
        '#description' => t('Opt in to affiliate services?'),
      );
      if ($user->hasPermission('administer own affiliate settings') || $user->hasPermission('administer affiliate settings')) {
        $form['affiliate']['affiliate_homepage'] = array(
          '#type' => 'textfield',
          '#title' => t('Home page'),
          '#default_value' => !empty($account->data['affiliate_homepage']) ? $account->data['affiliate_homepage'] : FALSE,
          '#default_value' => !empty($form_state->getValue('affiliate_homepage')) ?$form_state->getValue('affiliate_homepage') : FALSE,
          '#description' => t('Provide the URL of the website associated with this account. Format: http://www.example.com'),
        );
      }
@@ -145,8 +146,10 @@ function uber_affiliate_cron() {
/**
 * Form validation function for roku_form_user_profile_form_alter().
 */
function uber_affiliate_user_profile_form_validate($form,  FormStateInterface $form_state) {
  if (isset($form_state['values']['affiliate_optin']) && empty($form_state['values']['affiliate_optin']) && isset($form_state['values']['affiliate_homepage']) && !empty($form_state['values']['affiliate_homepage'])) {
function uber_affiliate_user_form_validate($form,  FormStateInterface $form_state) {
  $affiliate_optin = $form_state->getValue('affiliate_optin');
  $affiliate_homepage = $form_state->getValue('affiliate_homepage');
   if (isset($affiliate_optin) && empty($affiliate_optin) && isset($affiliate_homepage) && !empty($affiliate_homepage)) {
    $form_state->setErrorByName('affiliate_optin', t('You must opt in as an affiliate before you can save your affiliate home page.'));
  }
}
@@ -154,10 +157,12 @@ function uber_affiliate_user_profile_form_validate($form, FormStateInterface $f
/**
 * Form submission function for affiliate_form_user_profile_form_alter().
 */
function uber_affiliate_user_profile_form_submit($form, FormStateInterface $form_state) {
  $uid = $form_state['values']['uid'];
  if (isset($form_state['values']['affiliate_optin'])) {
    $edit_affiliate = (int) $form_state['values']['affiliate_optin'];
function uber_affiliate_user_form_submit($form, FormStateInterface $form_state) {
  $uid = $form_state->getValue('uid');
  $affiliate_optin = $form_state->getValue('affiliate_optin');
  $affiliate_homepage = $form_state->getValue('affiliate_homepage');
  if (isset($affiliate_optin)) {
    $edit_affiliate = (int) $affiliate_optin;
    $fetch_affiliate = affiliate_load_affiliate($uid);
    $affiliate_uid = isset($fetch_affiliate->uid) ? $fetch_affiliate->uid : 0;
    if ($edit_affiliate < 1) {