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 }
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; ?> <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; ?> <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; ?> <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; }