function csv_file_readdata($file, $obj) { $file = $obj->getUploadDirectory() . '/' . $file; require_once WP_CONST_ULTIMATE_CSV_IMP_DIRECTORY . 'includes/Importer.php'; $csv = new ImporterLib(); $csv->delim($file); foreach ($csv->data as $hkey => $hval) { foreach ($hval as $hk => $hv) { $this->headers[] = $hk; } break; } return $csv->data; }
/** * */ public function WPImpExportUsers($request) { global $wpdb; $export_delimiter = ','; $exporttype = $request['export']; $wpcsvsettings = get_option('wpcsvprosettings'); if (isset($wpcsvsettings['export_delimiter'])) { $export_delimiter = $wpcsvsettings['export_delimiter']; } if ($_POST['export_filename']) { $csv_file_name = $_POST['export_filename'] . '.csv'; } else { $csv_file_name = 'exportas_' . date("Y") . '-' . date("m") . '-' . date("d") . '.csv'; } $uId = ''; $header_query1 = "SELECT *FROM {$wpdb->users}"; $header_query2 = "SELECT user_id, meta_key, meta_value FROM {$wpdb->users} wp JOIN {$wpdb->usermeta} wpm ON wpm.user_id = wp.ID where meta_key NOT IN ('_edit_lock','_edit_last')"; $result_header_query1 = $wpdb->get_results($header_query1); $result_header_query2 = $wpdb->get_results($header_query2); /* print('<pre>'); print_r($result_header_query1); print_r($result_header_query2);die; */ foreach ($result_header_query1 as $rhq1_key) { foreach ($rhq1_key as $rhq1_headkey => $rhq1_headval) { if (!in_array($rhq1_headkey, $Header)) { $Header[] = $rhq1_headkey; } } } foreach ($result_header_query2 as $rhq2_headkey) { if (!in_array($rhq2_headkey->meta_key, $Header)) { if ($rhq2_headkey->meta_key == 'mp_shipping_info') { $mp_ship_header = unserialize($rhq2_headkey->meta_value); foreach ($mp_ship_header as $mp_ship_key => $mp_value) { $Header[] = "msi: " . $mp_ship_key; } } if ($rhq2_headkey->meta_key == 'mp_billing_info') { $mp_ship_header = unserialize($rhq2_headkey->meta_value); foreach ($mp_ship_header as $mp_ship_key => $mp_value) { $Header[] = "mbi: " . $mp_ship_key; } } if ($rhq2_headkey->meta_key != '_eshop_product' && $rhq2_headkey->meta_key != '_wp_attached_file' && $rhq2_headkey->meta_key != 'mp_shipping_info' && $rhq2_headkey->meta_key != 'mp_billing_info') { $Header[] = $rhq2_headkey->meta_key; } } } #echo '<pre>'; print_r($Header); die('dsd'); $get_user_ids = "select DISTINCT ID from {$wpdb->users} u join {$wpdb->usermeta} um on um.user_id = u.ID"; $result = $wpdb->get_col($get_user_ids); $fieldsCount = count($result); if ($result) { foreach ($result as $userID) { $uId = $uId . ',' . $userID; $query1 = "SELECT *FROM {$wpdb->users} where ID in ({$userID});"; $result_query1 = $wpdb->get_results($query1); if (!empty($result_query1)) { foreach ($result_query1 as $users) { foreach ($users as $user_key => $user_value) { $UserData[$userID][$user_key] = $user_value; } } } // echo '<pre>'; print_r($UserData); die ('dfdf'); $query2 = "SELECT user_id, meta_key, meta_value FROM {$wpdb->users} wp JOIN {$wpdb->usermeta} wpm ON wpm.user_id = wp.ID where ID={$userID}"; $possible_values = array('s:', 'a:', ':{'); $result_query2 = $wpdb->get_results($query2); if (!empty($result_query2)) { foreach ($result_query2 as $usermeta) { // echo '<pre>'; print_r($usermeta); foreach ($possible_values as $posval) { if (strpos($usermeta->meta_value, $posval)) { if ($usermeta->meta_key == 'mp_shipping_info' || $usermeta->meta_key == 'mp_billing_info') { $typesFserialized = 1; } } else { $typesFserialized = 0; } } if ($typesFserialized == 1) { if ($usermeta->meta_key == 'mp_shipping_info') { $UserID = $usermeta->user_id; $mp_ship_data = unserialize($usermeta->meta_value); foreach ($mp_ship_data as $mp_ship_key => $mp_ship_value) { $mp_ship_tempkey = "msi: " . $mp_ship_key; $UserData[$UserID][$mp_ship_tempkey] = $mp_ship_value; } } if ($usermeta->meta_key == 'mp_billing_info') { $UserID = $usermeta->user_id; $mp_ship_data = unserialize($usermeta->meta_value); foreach ($mp_ship_data as $mp_ship_key => $mp_ship_value) { $mp_ship_tempkey = "mbi: " . $mp_ship_key; $UserData[$UserID][$mp_ship_tempkey] = $mp_ship_value; } } if ($usermeta->meta_key != 'wp_capabilities' && $usermeta->meta_key != 'mp_shipping_info' && $usermeta->meta_key != 'mp_billing_info') { $UserData[$userID][$usermeta->meta_key] = $usermeta->meta_value; } else { if ($usermeta->meta_key == 'wp_capabilities') { $getUserRole = unserialize($usermeta->meta_value); // echo '<pre>'; print_r($getUserRole); die('ddf'); foreach ($getUserRole as $urKey => $urVal) { $getUserRole = get_role($urKey); } $rolelevel = 0; $isfound = array(); foreach ($getUserRole->capabilities as $roleKey => $roleVal) { $isfound = explode('level_', $roleKey); if (is_array($isfound) && count($isfound) == 2) { $rolelevel = $rolelevel + 1; } } $rolelevel = $rolelevel - 1; #$UserData[$userID][$usermeta->meta_key] = $rolelevel; } } } else { foreach ($possible_values as $posval) { if (strpos($usermeta->meta_value, $posval)) { $UserData[$userID][$usermeta->meta_key] = null; } else { $ifSerialized = 0; $UserData[$userID][$usermeta->meta_key] = $usermeta->meta_value; } } } } #echo '<pre>'; print_r($UserData); die('dd'); } } } $UserHeader = array(); foreach ($Header as $header_key) { foreach ($UserData as $UD_key => $UD_val) { if (array_key_exists($header_key, $UD_val)) { $CSVContent[$UD_key][$header_key] = $UD_val[$header_key]; if (!in_array($header_key, $UserHeader)) { $UserHeader[] = $header_key; } } else { $CSVContent[$UD_key][$header_key] = null; } } } $csv = new ImporterLib(); $csv->wmyuyn_3($csv_file_name, $CSVContent, $UserHeader, $export_delimiter); }