function emember_admin_functions_users_menu()
{
    global $wpdb;
    //$emember_config = Emember_Config::getInstance();
    if (isset($_POST['emember_bulk_user_subs_start_date_change_process'])) {
        $errorMsg = "";
        $level_id = $_POST["emember_bulk_user_subs_start_date_change_level"];
        $new_date = $_POST['emember_bulk_user_subs_start_date_change_date'];
        if ($level_id == 'please_select') {
            $errorMsg = 'Error! Please select a membership level first.';
        }
        if (empty($errorMsg)) {
            //No validation errors so go ahead
            $query = "SELECT * FROM " . WP_EMEMBER_MEMBERS_TABLE_NAME . " WHERE membership_level='{$level_id}'";
            $member_records = $wpdb->get_results($query);
            if ($member_records) {
                foreach ($member_records as $row) {
                    $member_id = $row->member_id;
                    $fields = array();
                    $fields['subscription_starts'] = $new_date;
                    $ret = dbAccess::update(WP_EMEMBER_MEMBERS_TABLE_NAME, ' member_id = ' . $member_id, $fields);
                    if ($ret === false) {
                        $errorMsg = 'Subscription start date change failed.';
                    }
                }
            }
        }
        $message = "";
        if (!empty($errorMsg)) {
            $message = $errorMsg;
        } else {
            $message = 'Subscription start date change operation successfully completed.';
        }
        echo '<div id="message" class="updated fade"><p><strong>';
        echo $message;
        echo '</strong></p></div>';
    }
    if (isset($_POST['emember_bulk_user_change_level_process'])) {
        $errorMsg = "";
        $from_level_id = $_POST["emember_bulk_user_change_level_from"];
        $to_level_id = $_POST['emember_bulk_user_change_level_to'];
        if ($from_level_id == 'please_select' || $to_level_id == 'please_select') {
            $errorMsg = 'Error! Please select a membership level first.';
        }
        if (empty($errorMsg)) {
            //No validation errors so go ahead
            $query = "SELECT * FROM " . WP_EMEMBER_MEMBERS_TABLE_NAME . " WHERE membership_level='{$from_level_id}'";
            $member_records = $wpdb->get_results($query);
            if ($member_records) {
                foreach ($member_records as $row) {
                    $member_id = $row->member_id;
                    emember_update_membership_level($member_id, $to_level_id);
                }
            }
        }
        $message = "";
        if (!empty($errorMsg)) {
            $message = $errorMsg;
        } else {
            $message = 'Membership level change operation successfully completed.';
        }
        echo '<div id="message" class="updated fade"><p><strong>';
        echo $message;
        echo '</strong></p></div>';
    }
    ?>

    <div class="postbox">
        <h3><label for="title">Bulk Update Subscription Start Date of Members</label></h3>
        <div class="inside">

            <p>The subscription start date of a member is set to the day he/she registers. You can manually set a specific subscription start date of all members who belong to a particular level using the following option.</p>
            <form method="post" action="<?php 
    echo $_SERVER["REQUEST_URI"];
    ?>
">

                <table width="100%" border="0" cellspacing="0" cellpadding="6">
                    <tr valign="top">
                        <td width="25%" align="left">
                            <strong>Membership Level: </strong>
                        </td><td align="left">
                            <select name="emember_bulk_user_subs_start_date_change_level">
                                <option value="please_select">Select Level</option>
                                <?php 
    $all_levels = dbAccess::findAll(WP_EMEMBER_MEMBERSHIP_LEVEL_TABLE, ' id != 1 ', ' id DESC ');
    foreach ($all_levels as $level) {
        ?>
                                    <option value="<?php 
        echo $level->id;
        ?>
"><?php 
        echo $level->alias;
        ?>
</option>
                                <?php 
    }
    ?>
                            </select>
                            <br /><i>Select the Membership level (the subscription start date of all members who are in this level will be updated).</i><br /><br />
                        </td></tr>

                    <tr valign="top"><td width="25%" align="left">
                            <strong>Subscription Start Date: </strong>
                        </td><td align="left">
                            <input name="emember_bulk_user_subs_start_date_change_date" id="emember_bulk_user_subs_start_date_change_date" type="text" size="20" value="<?php 
    echo date("Y-m-d");
    ?>
" />
                            <br /><i>Specify the subscription start date.</i><br /><br />
                        </td></tr>

                    <tr valign="top"><td width="25%" align="left">
                            <input type="submit" class="button" name="emember_bulk_user_subs_start_date_change_process" value="Bulk Change Subscription Start Date &raquo;" />
                        </td><td align="left"></td>
                    </tr>

                </table>
            </form>
        </div></div>

    <div class="postbox">
        <h3><label for="title">Bulk Update Membership Level of Members</label></h3>
        <div class="inside">

            <p>You can manually change the membership level of any member by editing the record from the members menu. You can use the following option to bulk update the membership level of users who belong to the level you select below.</p>
            <form method="post" action="<?php 
    echo $_SERVER["REQUEST_URI"];
    ?>
">

                <table width="100%" border="0" cellspacing="0" cellpadding="6">
                    <tr valign="top">
                        <td width="25%" align="left">
                            <strong>Membership Level: </strong>
                        </td><td align="left">
                            <select name="emember_bulk_user_change_level_from">
                                <option value="please_select">Select Current Level</option>
                                <?php 
    $all_levels = dbAccess::findAll(WP_EMEMBER_MEMBERSHIP_LEVEL_TABLE, ' id != 1 ', ' id DESC ');
    foreach ($all_levels as $level) {
        ?>
                                    <option value="<?php 
        echo $level->id;
        ?>
"><?php 
        echo $level->alias;
        ?>
</option>
                                <?php 
    }
    ?>
                            </select>
                            <br /><i>Select the current membership level (the membership level of all members who are in this level will be updated).</i><br /><br />
                        </td></tr>

                    <tr valign="top"><td width="25%" align="left">
                            <strong>Level to Change to: </strong>
                        </td><td align="left">
                            <select name="emember_bulk_user_change_level_to">
                                <option value="please_select">Select Target Level</option>
                                <?php 
    $all_levels = dbAccess::findAll(WP_EMEMBER_MEMBERSHIP_LEVEL_TABLE, ' id != 1 ', ' id DESC ');
    foreach ($all_levels as $level) {
        ?>
                                    <option value="<?php 
        echo $level->id;
        ?>
"><?php 
        echo $level->alias;
        ?>
</option>
                                <?php 
    }
    ?>
                            </select>

                            <br /><i>Select the new membership level</i><br /><br />
                        </td></tr>

                    <tr valign="top"><td width="25%" align="left">
                            <input type="submit" class="button" name="emember_bulk_user_change_level_process" value="Bulk Change Membership Level &raquo;" />
                        </td><td align="left"></td>
                    </tr>

                </table>
            </form>
        </div></div>

    <script type="text/javascript">
        jQuery(document).ready(function($) {
            $("#emember_bulk_user_subs_start_date_change_date").dateinput({'format': 'yyyy-mm-dd', selectors: true, yearRange: [-100, 100]});
        });
    </script>

    <?php 
}
Exemple #2
0
function wp_eMember_upgrade_membership_level_to_handler($atts)
{
    extract(shortcode_atts(array('level' => '', 'button_text' => 'Upgrade', 'redirect_to' => '', 'reset_start_date' => ''), $atts));
    if (empty($level)) {
        return '<div class="emember_error">Error! You must specify a membership level in the level parameter.</div>';
    }
    $emember_auth = Emember_Auth::getInstance();
    $user_id = $emember_auth->getUserInfo('member_id');
    if (!empty($user_id)) {
        $output = "";
        $output .= '<div class="eMember_level_upgrade_form">';
        if (isset($_POST['eMember_level_upgrade_submit']) && $_POST['emember_form_key_value'] == $level && emember_multi_submit_check()) {
            $member_id = $_POST['eMember_level_upgrade'];
            $target_membership_level = $level;
            emember_update_membership_level($member_id, $target_membership_level);
            if (isset($_POST['emember_reset_start_date']) && !empty($_POST['emember_reset_start_date'])) {
                //Update the subscription start date too
                emember_update_subsc_start_date($member_id);
            }
            $firstname = $emember_auth->getUserInfo('first_name');
            $lastname = $emember_auth->getUserInfo('last_name');
            $emailaddress = $emember_auth->getUserInfo('email');
            eMember_level_specific_autoresponder_signup($target_membership_level, $firstname, $lastname, $emailaddress);
            if (!empty($redirect_to)) {
                wp_emember_redirect_to_url($redirect_to);
            }
            $output .= '<p>' . EMEMBER_LEVEL_UPDATED . '</p>';
        } else {
            $output .= '<form name="eMember_level_upgrade_form" method="post" action="">';
            $output .= '<input type="hidden" name="eMember_level_upgrade" value="' . $user_id . '" />';
            $output .= '<input type="hidden" name="emember_form_time_value" value="' . strtotime("now") . '" />';
            $output .= '<input type="hidden" name="emember_form_key_value" value="' . $level . '" />';
            $output .= '<input type="hidden" name="emember_reset_start_date" value="' . $reset_start_date . '" />';
            $output .= '<input type="submit" name="eMember_level_upgrade_submit" class="eMember_level_upgrade_submit" value="' . $button_text . '" />';
            $output .= '</form>';
        }
        $output .= '</div>';
        return $output;
    } else {
        return '<p>' . EMEMBER_MUST_BE_LOGGED_IN_TO_UPDATE_LEVEL . '</p>';
    }
}
Exemple #3
0
        echo "Error!\n";
        echo "Email address entered is blocked.";
        eMember_log_debug("Blocked email address used. This request will fail.", false);
        exit;
    }
}
//Update the corresponding WP User object if needed
$resultset = dbAccess::find(WP_EMEMBER_MEMBERS_TABLE_NAME, ' member_id=' . $member_id);
$wp_user_id = username_exists($resultset->user_name);
if ($wp_user_id) {
    $wp_user_info = array();
    $wp_user_info['first_name'] = strip_tags(isset($_REQUEST['first_name']) ? $_REQUEST['first_name'] : "");
    $wp_user_info['last_name'] = strip_tags(isset($_REQUEST['last_name']) ? $_REQUEST['last_name'] : "");
    $wp_user_info['user_email'] = strip_tags(isset($_REQUEST['email']) ? $_REQUEST['email'] : "");
    $wp_user_info['ID'] = $wp_user_id;
    if (!empty($_REQUEST['password'])) {
        $wp_user_info['user_pass'] = $_REQUEST['password'];
    }
    wp_update_user($wp_user_info);
}
//Update the emember user profile with the provided data
if (count($fields) > 0) {
    $ret = dbAccess::update(WP_EMEMBER_MEMBERS_TABLE_NAME, ' member_id =' . $member_id, $fields);
}
//Update the membership level ID
if (!empty($membership_level_id)) {
    emember_update_membership_level($member_id, $membership_level_id);
}
eMember_log_debug("Member profile updated.", true);
echo "Success!\n";
echo "Member profile updated.\n";