Advertisement
Guest User

Untitled

a guest
Feb 1st, 2017
530
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.57 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Drupal\form_multi_submit\Form;
  4.  
  5. use Drupal\Core\Form\FormBase;
  6. use Drupal\Core\Form\FormStateInterface;
  7. use Drupal\user\Entity\User;
  8.  
  9. class MultiSubmitForm extends FormBase {
  10.  
  11.   public function getFormId() {
  12.     return 'MultiSubmitForm';
  13.   }
  14.  
  15.   public function buildForm(array $form, FormStateInterface $form_state) {
  16.  
  17.     // Get all users from database
  18.     $ids = \Drupal::entityQuery('user')
  19.       ->condition('status', 1)
  20.       ->execute();
  21.     $users = User::loadMultiple($ids);
  22.  
  23.     // Set form table header
  24.     $form['users'] = array (
  25.       '#type' => 'table',
  26.       '#header' => array('ID', 'Remove'),
  27.     );
  28.  
  29.  
  30.     // Loop through all users
  31.     foreach ($users as $user) {
  32.  
  33.       // Show user ID
  34.       $form['users'][$user->id()]['id'] = array(
  35.         '#type' => 'label',
  36.         '#title' => $user->id(),
  37.       );
  38.  
  39.       // Show button for each user
  40.       $form['users'][$user->id()]['removememberbutton']['dummyNode'] = array(
  41.         '#type' => 'submit',
  42.         '#value' => 'Check',
  43.         '#submit' => array([$this, 'removeMember']),
  44.       );
  45.     }
  46.  
  47.     return $form;
  48.   }
  49.  
  50.  
  51.   // Submit handler
  52.   public function removeMember(array &$form, FormStateInterface $form_state) {
  53.     $userid = $form_state->getTriggeringElement()['#array_parents'][1];
  54.     drupal_set_message($userid, 'status');
  55.   }
  56.  
  57.   public function validateForm(array &$form, FormStateInterface $form_state) {
  58.     // Nothing to do here.
  59.   }
  60.  
  61.   public function submitForm(array &$form, FormStateInterface $form_state) {
  62.     // Nothing to do here.
  63.   }
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement