You are here

function user_badges_userweight_form_submit in User Badges 7.4

Same name and namespace in other branches
  1. 6.2 user_badges.module \user_badges_userweight_form_submit()
  2. 6 user_badges.module \user_badges_userweight_form_submit()
  3. 7 user_badges.module \user_badges_userweight_form_submit()
  4. 7.2 user_badges.module \user_badges_userweight_form_submit()
  5. 7.3 user_badges.module \user_badges_userweight_form_submit()

Submit function for userweights.

File

./user_badges.module, line 549
Hooks and other stuff related to user badge.

Code

function user_badges_userweight_form_submit($form, &$form_state) {
  $values = $form_state['values'];
  $uid = $values['uid'];
  $record = array(
    'uid' => $uid,
  );
  $primary_keys = array(
    'uid',
    'bid',
  );
  $table_name = 'user_badges_assignment';

  // Reorder values array.
  asort($values);
  $ewrapper = entity_metadata_wrapper('user', $uid);
  $user_badges = $ewrapper->user_badge_badges
    ->value();
  $ordered_user_badges = array();
  foreach ($values as $key => $value) {
    if (is_numeric($key)) {
      $record['bid'] = $key;
      $record['weight'] = $value;
      $result = drupal_write_record($table_name, $record, $primary_keys);
      foreach ($user_badges as $user_badge) {
        if ($user_badge->bid == $key) {
          $ordered_user_badges[] = $key;
          break;
        }
      }
    }
  }
  $ewrapper->user_badge_badges
    ->set($ordered_user_badges);
  $ewrapper
    ->save();
}