global $current_user, $wp_roles;

$error = array();
if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'update-user') {

    if (!empty($_POST["check-one"])) {

        $pass = $_POST['old_pwd'];
        if (wp_check_password($pass, $current_user->user_pass, $current_user->ID)) {

            /* Update user password. */

            if (!empty($_POST['pass1']) && !empty($_POST['pass2'])) {
                if ($_POST['pass1'] == $_POST['pass2'])
                    wp_set_password(esc_attr($_POST['pass1']), $current_user->ID);
                //wp_update_user(array('ID' => $current_user->ID, 'user_pass' => esc_attr($_POST['pass1'])));
                else
                    $error[] = __('The passwords you entered do not match.  Your password was not updated.', 'profile');
            }
        }
        else {
            $error[] = __('The old password you entered is not correct.', 'profile');
        }
    }

    /* Update user information. */
    if (!empty($_POST['first-name']) || !empty($_POST['last-name']))
        wp_update_user(array('ID' => $current_user->ID, 'display_name' => $_POST['first-name'] . ' ' . $_POST['last-name']));
    if (!empty($_POST['email'])) {
        if (!is_email(esc_attr($_POST['email'])))
            $error[] = __('The Email you entered is not valid.  please try again.', 'profile');
        elseif (email_exists(esc_attr($_POST['email'])) != $current_user->id)
            $error[] = __('This email is already used by another user.  try a different one.', 'profile');
        else {
            wp_update_user(array('ID' => $current_user->ID, 'user_email' => esc_attr($_POST['email'])));
        }
    }

    if (!empty($_POST['first-name']))
        update_user_meta($current_user->ID, 'first_name', esc_attr($_POST['first-name']));
    if (!empty($_POST['last-name']))
        update_user_meta($current_user->ID, 'last_name', esc_attr($_POST['last-name']));
    if (!empty($_POST['description']))
        update_user_meta($current_user->ID, 'description', esc_attr($_POST['description']));

    if (count($error) == 0) {       
//action hook for plugins and extra fields saving
        do_action('edit_user_profile_update', $current_user->ID);
        wp_redirect(get_permalink());
        exit;
    }
}
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <div class="entry-content entry">
            <?php the_content(); ?>
            <?php if (!is_user_logged_in()) : ?>
                <p class="warning">
                    <?php _e('You must be logged in to edit your profile.', 'profile'); ?>
                </p><!-- .warning -->
            <?php else : ?>
                <?php if (count($error) > 0) echo '<p class="error">' . implode("<br />", $error) . '</p>'; ?>
                <form method="post" id="adduser" action="<?php the_permalink(); ?>">

                    <div class="col-md-6 col-sm-6 col-xs-12 pdl-none">
                        <div class="form-group">
                            <label>First Name</label>
                            <input class="form-control" name="first-name" type="text" id="first-name" value="<?php the_author_meta('first_name', $current_user->ID); ?>" />
                        </div>
                    </div>

                    <div class="col-md-6 col-sm-6 col-xs-12 pdl-none">
                        <div class="form-group">
                            <label>Last Name</label>
                            <input class="form-control" name="last-name" type="text" id="last-name" value="<?php the_author_meta('last_name', $current_user->ID); ?>" />
                        </div>
                    </div>

                    <div class="col-md-12 col-sm-12 col-xs-12 pdl-none">
                        <div class="form-group">
                            <label>Email</label>
                            <input class="form-control" name="email" type="text" id="email" value="<?php the_author_meta('user_email', $current_user->ID); ?>" />
                        </div>
                    </div>

                    <div class="clearfix"></div>
                    <div class="check-newsletter check-psw-section">
                        <label for="psw">
                            <input type="checkbox" name="check-one" id="psw" value="checkone" onchange="valueChanged()">
                            <i></i> <span>Change password</span>
                        </label>
                    </div>                    
                    <div id="test" style="display: none;">
                        <div class="col-md-4 col-sm-4 col-xs-12 pdl-none">
                            <div class="form-group">
                                <label>Old Password</label>
                                <input name="old_pwd" class="form-control" value="" type="password">
                            </div>
                        </div>
                        <div class="col-md-4 col-sm-4 col-xs-12 pdl-none">
                            <div class="form-group">
                                <label>New Password</label>
                                <input class="form-control" name="pass1" type="password" id="pass1" />
                            </div>
                        </div>
                        <div class="col-md-4 col-sm-4 col-xs-12 pdl-none">
                            <div class="form-group">
                                <label>Confirm Password</label>
                                <input class="form-control" name="pass2" type="password" id="pass2" />
                            </div>
                        </div>
                    </div>

                    <?php
                    //action hook for plugin and extra fields
                    do_action('edit_user_profile', $current_user);
                    ?>
                    <div class="col-md-12 col-sm-12 col-xs-12 pdl-none">
                        <?php echo $referer; ?>
                        <div class="user-services-postcode">
                            <input name="updateuser" type="submit" id="updateuser" class="submit-code" value="<?php _e('submit', 'profile'); ?>" />
                            <!--<input value="Submit" class="submit-code" type="submit">-->
                            <?php wp_nonce_field('update-user') ?>
                            <input name="action" type="hidden" id="action" value="update-user" />
                        </div>
                    </div>                    
                </form><!-- #adduser -->
            <?php endif; ?>
        </div><!-- .entry-content -->
    <?php endwhile; ?>
<?php else: ?>

    <p class="no-data">
        <?php _e('Sorry, no page matched your criteria.', 'profile'); ?>
    </p><!-- .no-data -->

<?php endif; ?>