You are here

function hide_revision_field_user_profile_form_submit in Hide Revision Field 8

Same name and namespace in other branches
  1. 8.2 hide_revision_field.module \hide_revision_field_user_profile_form_submit()

Submit callback for the user profile form to save the settings.

1 string reference to 'hide_revision_field_user_profile_form_submit'
hide_revision_field_form_user_form_alter in ./hide_revision_field.module
Implements hook_form_FORM_ID_alter().

File

./hide_revision_field.module, line 165
hide_revision_field.module Manages hiding revision information fields on revisionable entities (ie Node or Media) edit/create forms.

Code

function hide_revision_field_user_profile_form_submit($form, FormStateInterface $form_state) {
  $user_id = $form_state
    ->getFormObject()
    ->getEntity()
    ->id();
  $entity_options = $form_state
    ->getValue('entity_options');
  if ($entity_options) {
    foreach ($entity_options as $type => $bundles) {
      foreach ($bundles as $bundle => $data) {
        $bundle = entity_load($type, $bundle);
        $settings = $bundle
          ->getThirdPartySetting('hide_revision_field', 'personalization', []);
        $settings[$user_id] = [
          'hide' => $data['hide'],
        ];
        $bundle
          ->setThirdPartySetting('hide_revision_field', "personalization", $settings);
        $bundle
          ->save();
      }
    }
  }
}