function export_members_to_csv() { global $wpdb; if (isset($_POST['wp_emember_export'])) { $filename = "member_list_" . date("Y-m-d_H-i", time()); header('Content-Encoding: UTF-8'); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Description: File Transfer"); header('Content-Type: text/csv; charset=utf-8'); header("Content-disposition: attachment; filename=" . $filename . ".csv"); $output = apply_filters('emember_export_csv', ''); if (!empty($output)) { header("Content-Length: " . strlen($output)); echo ""; echo $output; exit; } ob_start(); $output_buffer = fopen("php://output", 'w'); $emember_config = Emember_Config::getInstance(); $wpememmeta = new WPEmemberMeta(); $member_meta_tbl = $wpememmeta->get_table('member_meta'); $customer_field_indices = array(); $member_table = $wpememmeta->get_table('member'); $ret_member_db = $wpdb->get_results("SELECT * FROM {$member_table} ORDER BY member_id DESC", OBJECT); $header = array("User name", "First Name", "Last Name", "Street", "City", "State", "ZIP", "Country", "Email", "Phone", "Membership Start", "Membership Expiry", "Member Since", "Membership Level", "Account State", "Last Accessed", "Last Accessed From IP", "Gender", "Referrer", "Reg Code", "Txn ID", "Subscr ID", "Company"); if ($emember_config->getValue('eMember_custom_field')) { $custom_fields = get_option('emember_custom_field_type'); $custom_names = $custom_fields['emember_field_name']; $custom_types = $custom_fields['emember_field_type']; $custom_extras = $custom_fields['emember_field_extra']; if (count($custom_names) > 0) { foreach ($custom_names as $i => $name) { $name = stripslashes($name); $customer_field_indices[$i] = emember_escape_custom_field($name); array_push($header, $name); } } } fputcsv($output_buffer, $header); $membership_levels = Emember_Level_Collection::get_instance(); $order = array('user_name', 'first_name', 'last_name', 'address_street', 'address_city', 'address_state', 'address_zipcode', 'country', 'email', 'phone', 'subscription_starts', 'expiry_date', 'member_since', 'alias', 'account_state', 'last_accessed', 'last_accessed_from_ip', 'gender', 'referrer', 'reg_code', 'txn_id', 'subscr_id', 'company_name'); foreach ($ret_member_db as $result) { $level = $membership_levels->get_levels($result->membership_level); $data = array(); foreach ($order as $key) { switch ($key) { case 'alias': $value = empty($level) || is_array($level) ? '' : escape_csv_value(stripslashes($level->get('alias'))); break; case 'expiry_date': $value = emember_get_expiry_by_member_id($result->member_id); $value = escape_csv_value(stripslashes($value)); break; default: $value = escape_csv_value(stripslashes($result->{$key})); break; } array_push($data, $value); } if ($emember_config->getValue('eMember_custom_field')) { $custom_values = $wpdb->get_col("select meta_value from " . $member_meta_tbl . ' WHERE user_id=' . $result->member_id . ' AND meta_key="custom_field"'); $custom_values = unserialize(isset($custom_values[0]) ? $custom_values[0] : ""); foreach ($customer_field_indices as $i => $n) { $v = isset($custom_values[$n]) ? $custom_values[$n] : ""; if ($custom_types[$i] == 'dropdown') { $m = explode(",", stripslashes($custom_extras[$i])); $e = array(); foreach ($m as $k) { $k = explode("=>", $k); $e[$k[0]] = $k[1]; } $v = isset($e[$v]) ? $e[$v] : ""; } $value = escape_csv_value(stripslashes($v)); array_push($data, $value); } } fputcsv($output_buffer, $data); } fclose($output_buffer); $output = ob_get_clean(); header("Content-Length: " . strlen($output)); echo ""; echo $output; exit; } }
} $order_values = array_values($custom_fields['emember_field_order']); sort($order_values); foreach ($order_values as $key => $value) { $revised_order[] = $inversed_order[$value]; } } else { $num_field = count($custom_fields['emember_field_name']); for ($i = 0; $i <= $num_field; $i++) { $revised_order[] = $i; } } if (!isset($custom_fields['emember_field_flag'])) { for ($i = 0; isset($revised_order[$i]) && isset($custom_fields['emember_field_name'][$revised_order[$i]]); $i++) { $emember_field_name = stripslashes($custom_fields['emember_field_name'][$revised_order[$i]]); $emember_field_name_index = emember_escape_custom_field($emember_field_name); ?> <tr> <td><label for="<?php echo $emember_field_name_index; ?> " class="eMember_label"><?php _e($emember_field_name, "wp_emember"); ?> : </label></td> <td> <?php $field_value = isset($edit_custom_fields[$emember_field_name_index]) ? $edit_custom_fields[$emember_field_name_index] : ""; $field_value = isset($_POST['emember_custom'][$emember_field_name_index]) ? $_POST['emember_custom'][$emember_field_name_index] : $field_value; $field_value = stripslashes($field_value); switch ($custom_fields['emember_field_type'][$revised_order[$i]]) {
function emember_dynamically_replace_member_details_in_message($member_id, $message_body, $additional_params = '') { global $wpdb; $emember_config = Emember_Config::getInstance(); $resultset = dbAccess::find(WP_EMEMBER_MEMBERS_TABLE_NAME, ' member_id=' . $member_id); $password = ""; $login_link = ""; if (!empty($additional_params)) { $password = $additional_params['password']; $login_link = $additional_params['login_link']; } $level_name = emember_get_membership_level_by_id($resultset->membership_level); $tags = array("{member_id}", "{user_name}", "{first_name}", "{last_name}", "{member_since}", "{membership_level}", "{more_membership_levels}", "{account_state}", "{email}", "{phone}", "{address_street}", "{address_city}", "{address_state}", "{address_zipcode}", "{home_page}", "{country}", "{gender}", "{referrer}", "{extra_info}", "{subscription_starts}", "{txn_id}", "{subscr_id}", "{company_name}", "{password}", "{login_link}", "{membership_level_name}"); $vals = array($member_id, $resultset->user_name, $resultset->first_name, $resultset->last_name, $resultset->member_since, $resultset->membership_level, $resultset->more_membership_levels, $resultset->account_state, $resultset->email, $resultset->phone, $resultset->address_street, $resultset->address_city, $resultset->address_state, $resultset->address_zipcode, $resultset->home_page, $resultset->country, $resultset->gender, $resultset->referrer, $resultset->extra_info, $resultset->subscription_starts, $resultset->txn_id, $resultset->subscr_id, $resultset->company_name, $password, $login_link, $level_name); if ($emember_config->getValue('eMember_custom_field')) { $wpememmeta = new WPEmemberMeta(); $member_meta_tbl = $wpememmeta->get_table('member_meta'); $custom_fields = get_option('emember_custom_field_type'); $custom_names = (array) $custom_fields['emember_field_name']; $custom_types = (array) $custom_fields['emember_field_type']; $custom_extras = (array) $custom_fields['emember_field_extra']; $custom_values = $wpdb->get_col("select meta_value from " . $member_meta_tbl . ' WHERE user_id=' . $member_id . ' AND meta_key="custom_field"'); $custom_values = unserialize(isset($custom_values[0]) ? $custom_values[0] : ""); if (empty($custom_values)) { $custom_values = array(); } foreach ($custom_names as $i => $name) { $name = stripslashes($name); $index = emember_escape_custom_field($name); $tags[] = "{" . $index . "}"; $v = isset($custom_values[$index]) ? $custom_values[$index] : ""; if ($custom_types[$i] == 'dropdown') { $m = explode(",", stripslashes($custom_extras[$i])); $e = array(); foreach ($m as $k) { $k = explode("=>", $k); $e[$k[0]] = $k[1]; } $v = isset($e[$v]) ? $e[$v] : ""; } $vals[] = stripslashes($v); } } $message_body = str_replace($tags, $vals, $message_body); return $message_body; }
public function getUserInfo($key, $default = "") { if (!$this->isLoggedIn) { return false; } if ($key === "user_membership_level_name") { //Membership level name return $this->permitted->primary_level->get('alias'); } if ($key === "user_additional_membership_level_names") { $names = array(); foreach ($this->permitted->secondary_levels as $level) { $names[] = $level->get('alias'); } return implode(',', $names); } if ($key === "profile_picture") { //member's profile pic embedded with class eMember_custom_profile_picture return $this->getProfilePictureEmbeded(); } if ($key === "profile_picture_src") { //member's profile picture raw image URL return $this->getProfilePictureSrc(); } if ($key === "member_expiry_date") { return emember_get_exipiry_date(); } if (isset($this->userInfo->{$key}) && !empty($this->userInfo->{$key})) { return $this->userInfo->{$key}; } $key = stripslashes($key); $key = emember_escape_custom_field($key); if (isset($this->customUserInfo[$key]) && !empty($this->customUserInfo[$key])) { return $this->customUserInfo[$key]; } return $default; }