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;
 }
Пример #2
0
 /**
  *
  */
 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);
 }