/**
  * Save the Admin User Edit screen payment token fields, if any
  *
  * @see SV_WC_Payment_Gateway_Plugin::maybe_add_user_profile_tokenization_fields()
  * @param SV_WC_Payment_Gateway $gateway the gateway instance
  * @param int $user_id identifies the user to save the settings for
  */
 protected function save_user_profile_tokenization_fields($gateway, $user_id)
 {
     foreach (array_keys($gateway->get_environments()) as $environment_id) {
         // deleting any payment tokens?
         $payment_tokens_deleted_name = 'wc_' . $gateway->get_id() . '_payment_tokens_deleted_' . $environment_id;
         $delete_payment_tokens = SV_WC_Helper::get_post($payment_tokens_deleted_name) ? explode(',', trim(SV_WC_Helper::get_post($payment_tokens_deleted_name), ',')) : array();
         // see whether we're deleting any
         foreach ($delete_payment_tokens as $token) {
             $gateway->remove_payment_token($user_id, $token, $environment_id);
         }
         // adding a new payment token?
         $payment_token_name = 'wc_' . $gateway->get_id() . '_payment_token_' . $environment_id;
         if (SV_WC_Helper::get_post($payment_token_name)) {
             $exp_date = explode('/', SV_WC_Helper::get_post('wc_' . $gateway->get_id() . '_payment_token_exp_date_' . $environment_id));
             // add the new payment token, making it active if this is the first card
             $gateway->add_payment_token($user_id, $gateway->build_payment_token(SV_WC_Helper::get_post($payment_token_name), array('type' => $gateway->is_credit_card_gateway() ? 'credit_card' : 'check', 'card_type' => SV_WC_Helper::get_post('wc_' . $gateway->get_id() . '_payment_token_type_' . $environment_id), 'last_four' => SV_WC_Helper::get_post('wc_' . $gateway->get_id() . '_payment_token_last_four_' . $environment_id), 'exp_month' => count($exp_date) > 1 ? sprintf('%02s', $exp_date[0]) : null, 'exp_year' => count($exp_date) > 1 ? $exp_date[1] : null)));
         }
     }
 }