Ejemplo n.º 1
0
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;
    }
}
Ejemplo n.º 2
0
        }
        $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]]) {
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
 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;
 }