Example #1
0
function wp_eMember_add_wp_members()
{
    global $wpdb;
    $wp_member_count = $wpdb->get_row("SELECT count(*) as count FROM {$wpdb->users} ORDER BY ID");
    $all_levels = dbAccess::findAll(WP_EMEMBER_MEMBERSHIP_LEVEL_TABLE, ' id != 1 ', ' id DESC ');
    if (empty($all_levels)) {
        echo '<div id="message" style= "color:red;" class="updated fade"><p>Before Adding  Any  Wordpress Member, <br/>You Need To Create At Least One Membership Level.</p></div>';
        return;
    }
    $emember_config = Emember_Config::getInstance();
    if (isset($_POST['add_to_wp']) && isset($_POST['wp_add_wp_member_to_emember'])) {
        //$result = (array)get_users('blog_id='.$GLOBALS['blog_id']);
        $query = "SELECT ID,user_login FROM {$wpdb->users}";
        $result = $wpdb->get_results($query, ARRAY_A);
        $wp_user_data = array();
        $wp_user_data['membership_level'] = $_POST['wp_users_membership_level'];
        $wp_user_data['account_state'] = $_POST['wp_users_account_state'];
        $wp_user_data['subscription_starts'] = $_POST['wp_users_subscription_starts'];
        $wp_user_data['preserve_wp_role'] = $_POST['wp_users_preserve_wp_role'];
        foreach ($result as $row) {
            $wp_user_data['ID'] = $row['ID'];
            $updated = __wp_eMember_add($wp_user_data);
            if ($updated === false) {
                $_SESSION['flash_message'] = '<div id="message" style= "color:red;" class="updated fade"><p>' . __('Failed to update "' . $row['user_login'] . '"', 'wp_eMember') . __('Member Info.', 'wp_eMember') . '</p></div>';
                break;
            }
        }
        $_SESSION['flash_message'] = '<div id="message" class="updated fade"><p>' . __('Member Info ', 'wp_eMember') . __('updated.', 'wp_eMember') . '</p></div>';
        echo '<script type="text/javascript">window.location = "admin.php?page=wp_eMember_manage";</script>';
        return;
    } else {
        if (isset($_POST['submit'])) {
            $updated = false;
            foreach ($_POST['selected_wp_users'] as $row) {
                if (isset($row['ID'])) {
                    $updated = __wp_eMember_add($row);
                }
            }
            if ($updated === false) {
                $_SESSION['flash_message'] = '<div id="message" style= "color:red;" class="updated fade"><p>' . __('Failed to update ', 'wp_eMember') . __('Member Info.', 'wp_eMember') . '</p></div>';
            } else {
                $_SESSION['flash_message'] = '<div id="message" class="updated fade"><p>' . __('Member Info ', 'wp_eMember') . __('updated.', 'wp_eMember') . '</p></div>';
                echo '<script type="text/javascript">window.location = "admin.php?page=wp_eMember_manage";</script>';
                return;
            }
        }
    }
    ?>
        <div class="wrap">
            <p><strong><i>You can either import all of your WordPress users to eMember in one go or selectively import users from this interface.</i></strong></p>
            <form method="post" action="">
                <table class="widefat" >
                    <thead>
                        <tr>
                            <th scope="col" colspan="3">Import All Users to eMember</th>
                            <th scope="col">Membership Level</th>
                            <th scope="col">Subscription Starts From</th>
                            <th scope="col">Account State</th>
                            <th scope="col">Preserve Role</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr valign="top">
                            <td class="check-column" colspan="3" scope="row">
                                <input type="checkbox" value="1" name="wp_add_wp_member_to_emember">
                            </td>
                            <td>
                                <select name="wp_users_membership_level">
                                    <?php 
    foreach ($all_levels as $l) {
        ?>
                                        <option value="<?php 
        echo $l->id;
        ?>
"><?php 
        echo stripslashes($l->alias);
        ?>
</option>
                                    <?php 
    }
    ?>
                                </select>
                            </td>
                            <td>
                                <input type="date" value="<?php 
    echo date('Y-m-d');
    ?>
" name="wp_users_subscription_starts" id="wp_users_subscription_starts" >
                            </td>
                            <td>
                                <select name="wp_users_account_state">
                                    <option value="active">Active</option>
                                    <option value="inactive">Inactive</option>
                                    <option value="blocked">Blocked</option>
                                </select>
                            </td>
                            <td>
                                <input type="checkbox" value="1" checked="checked" name="wp_users_preserve_wp_role">
                            </td>
                        </tr>
                    </tbody>
                </table>
                <p class="submit">
                    <input name="add_to_wp" type="submit" value="Submit" />
                </p>
            </form>
            <hr>
            <form action="javascript:void(0);" id="emember_user_search">
                <p class="search-box">
                    <label for="post-search-input" class="screen-reader-text">Search Users:</label>
                    <input type="text" value="" name="term" title="Search term " id="post-search-term" size="30" />
                    <input type="submit" class="button" value="Search Users"/>
                </p>
            </form>
            <div id="emember_Pagination" class="emember_pagination"></div>
            <form method="post">
                <table class="widefat" id="wp_member_list">
                    <thead>
                        <tr>
                            <th scope="col">#</th>
                            <th scope="col">User Name</th>
                            <th scope="col">Email</th>
                            <th scope="col">Membership Level</th>
                            <th scope="col">Subscription Starts From</th>
                            <th scope="col">Account State</th>
                            <th scope="col">Preserve Role</th>
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
                <p class="submit">
                    <input name="submit" type="submit" value="Submit" />
                </p>
            </form>
            <script type="text/javascript">
                /* <![CDATA[ */
                var $j = jQuery.noConflict();
                function drawContent(count, params) {
                    var counter = 0;
                    var itms_per_pg = parseInt(<?php 
    $items_per_page = $emember_config->getValue('eMember_rows_per_page');
    $items_per_page = trim($items_per_page);
    echo !empty($items_per_page) && is_numeric($items_per_page) ? $items_per_page : 30;
    ?>
);
                    var $tbody = $j('#wp_member_list tbody');
                    $j("#emember_Pagination").pagination(count, {
                        callback: function(i, container) {
                            var preloader = '<?php 
    echo emember_preloader(7);
    ?>
';
                            $tbody.html(preloader);
                            var paramss = {};
                            if (params)
                                paramss = {
                                    action: "wp_user_list_ajax",
                                    event: "wp_user_list_ajax",
                                    start: i * itms_per_pg,
                                    limit: itms_per_pg,
                                    t: params.t
                                };
                            else
                                paramss = {
                                    action: "wp_user_list_ajax",
                                    event: "wp_user_list_ajax",
                                    start: i * itms_per_pg,
                                    limit: itms_per_pg
                                };
                            var maxIndex = Math.min((i + 1) * itms_per_pg, count);
                            var target_url = '<?php 
    echo admin_url("admin-ajax.php");
    ?>
';
                            $j.get(target_url,
                                    paramss,
                                    function(data) {
                                        data = $j(data);
                                        $tbody.html(data.filter('tbody').html());
                                        window.eval(data.filter('script').html());
                                    },
                                    'html'
                                    );
                        },
                        num_edge_entries: 2,
                        num_display_entries: 10,
                        items_per_page: itms_per_pg
                    });
                }
                $j(document).ready(function() {
                    $j("#wp_users_subscription_starts").dateinput({'format': 'yyyy-mm-dd', selectors: true, yearRange: [-100, 100]});
                    var count = <?php 
    echo $wp_member_count->count;
    ?>
;
                    $j('input[title!=""]').hint();
                    drawContent(count);
                    $j('#emember_user_search').submit(function(e) {
                        e.prevenDefault;
                        var term = $j('#post-search-term').val();
                        var q = "t=" + term;
                        var params = {action: "emember_wp_user_count_ajax",
                            event: "emember_wp_user_count_ajax",
                            t: term
                        };

                        if (term != "") {
                            var target_url = '<?php 
    echo admin_url("admin-ajax.php");
    ?>
';
                            $j.get(target_url, params,
                                    function(data) {
                                        drawContent(data.count, {t: term});
                                    },
                                    'json'
                                    );
                        }
                        return false;
                    });
                    /*****************/
                });
                /*]]>*/
            </script>
        </div>
        <?php 
}
Example #2
0
function print_eMember_public_user_list($no_email = '')
{
    $_SESSION['emember_no_email_shortcode'] = $no_email;
    $emember_config = Emember_Config::getInstance();
    $p = $emember_config->getValue('eMember_enable_public_profile');
    if (!$p) {
        return 'Public profile Listing is disabled';
    }
    $member_table = WP_EMEMBER_MEMBERS_TABLE_NAME;
    $membership_table = WP_EMEMBER_MEMBERSHIP_LEVEL_TABLE;
    $table_name = " {$member_table} LEFT JOIN {$membership_table} ON " . " ({$member_table}.membership_level = {$membership_table}.id)";
    global $wpdb;
    $emember_user_count = $wpdb->get_row("SELECT COUNT(*) as count FROM" . $table_name . ' ORDER BY member_id');
    ob_start();
    ?>
    <br/><br/><br/><div id="emember_Pagination" class="emember_pagination"></div>
    <form action="javascript:void(0);" id="emember_user_search">
        <p>
            <input type="text" value="" name="term" title="<?php 
    echo EMEMBER_SEARCH_TERM;
    ?>
" id="post-search-term"/>
            <input type="submit"  value="<?php 
    echo EMEMBER_SEARCH;
    ?>
"/>
        </p>
    </form>
    <table id="member_list" class="widefat">
        <thead>
            <tr>
                <th scope="col"><?php 
    echo EMEMBER_USERNAME;
    ?>
&nbsp;
                    <img sort="user_name" order="asc" class="wp-emember-sort-order" src="<?php 
    echo WP_EMEMBER_URL;
    ?>
/images/sort-asc-icon.gif" title="Sort by username"/>
                </th>
                <th scope="col"><?php 
    echo EMEMBER_FIRST_NAME;
    ?>
</th>
                <th scope="col"><?php 
    echo EMEMBER_LAST_NAME;
    ?>
&nbsp;
                    <img sort="last_name" order="asc" class="wp-emember-sort-order" src="<?php 
    echo WP_EMEMBER_URL;
    ?>
/images/sort-asc-icon.gif" title="Sort by last name"/>
                </th>
                <?php 
    if (!$no_email) {
        ?>
                    <th scope="col"><?php 
        echo EMEMBER_EMAIL;
        ?>
&nbsp;
                        <img sort="email" order="asc" class="wp-emember-sort-order" src="<?php 
        echo WP_EMEMBER_URL;
        ?>
/images/sort-asc-icon.gif" title="Sort by email"/>
                    </th>
                <?php 
    }
    ?>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
    <div class="emember_apple_overlay" id="emember_post_preview_overlay">
        <!-- the external content is loaded inside this tag -->
        <div class="emember_contentWrap"></div>
    </div>
    <script type="text/javascript">
        /*<![CDATA[ */
        function drawContent(count, params) {
            var counter = 0;
            if (params == undefined)
                params = {};
            var itms_per_pg = parseInt(<?php 
    $items_per_page = $emember_config->getValue('eMember_rows_per_page');
    $items_per_page = trim($items_per_page);
    echo !empty($items_per_page) && is_numeric($items_per_page) ? $items_per_page : 30;
    ?>
);
            var $tbody = jQuery('#member_list tbody');
            jQuery("#emember_Pagination").pagination(count, {
                callback: function(i, container) {
                    $tbody.html('<?php 
    echo emember_preloader(3);
    ?>
');
                    params['event'] = "emember_public_user_list_ajax";
                    params['action'] = "emember_public_user_list_ajax";
                    params['start'] = i * itms_per_pg;
                    params['limit'] = itms_per_pg;
                    var maxIndex = Math.min((i + 1) * itms_per_pg, count);
                    var target_url = '<?php 
    echo admin_url("admin-ajax.php");
    ?>
';
                    jQuery.get(target_url,
                            params,
                            function(data) {
                                $tbody.html('');
                                data = jQuery(data);
                                $tbody.html(data.filter('tbody').html());
                                window.eval(data.filter('script').html());
                            },
                            'html'
                            );
                },
                prev_text: '<?php 
    echo EMEMBER_PREV;
    ?>
',
                next_text: '<?php 
    echo EMEMBER_NEXT;
    ?>
',
                num_edge_entries: 2,
                num_display_entries: 10,
                items_per_page: itms_per_pg
            });
        }

        jQuery(document).ready(function() {
            jQuery('input[title!=""]').hint();
            var count = <?php 
    echo $emember_user_count->count;
    ?>
;
            drawContent(count);
            var asc_img = '<?php 
    echo WP_EMEMBER_URL;
    ?>
' + '/images/sort-asc-icon.gif';
            var desc_img = '<?php 
    echo WP_EMEMBER_URL;
    ?>
' + '/images/sort-desc-icon.gif';
            jQuery('.wp-emember-sort-order').click(function() {
                var target_url = '<?php 
    echo admin_url("admin-ajax.php");
    ?>
';
                var $this = jQuery(this);
                var order = $this.attr('order');
                var sort = $this.attr('sort');
                var term = jQuery('#post-search-term').val();
                var params = {ord: order, sort: sort};
                if (term != jQuery('#post-search-term').attr('title'))
                    params['t'] = term;
                var paramss = params;
                paramss['event'] = "emember_user_count_ajax";
                paramss['action'] = "emember_user_count_ajax";

                jQuery.get(target_url, paramss,
                        function(data) {
                            drawContent(data.count, params);
                            if (order == "asc") {
                                $this.attr('order', 'desc');
                                $this.attr('src', desc_img);
                            }
                            else {
                                $this.attr('order', 'asc');
                                $this.attr('src', asc_img);
                            }
                        },
                        'json'
                        );
            });
            jQuery('#emember_user_search').submit(function(e) {
                e.prevenDefault;
                var term = jQuery('#post-search-term').val();
                var q = "t=" + term;
                if (term != jQuery('#post-search-term').attr('title'))
                {
                    var target_url = '<?php 
    echo admin_url("admin-ajax.php");
    ?>
';
                    jQuery.get(target_url,
                            {event: "emember_user_count_ajax", action: "emember_user_count_ajax", t: term},
                    function(data) {
                        drawContent(data.count, {t: term});
                    },
                            'json'
                            );
                }
                return false;
            });
        });
        /*]]>*/
    </script>
    <?php 
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
}