$form_id ) { $line_values = array(); foreach($array_keys as $array_key ) { $val = isset( $array[ $array_key ][ $line ] ) ? $array[ $array_key ][ $line ] : ''; $line_values[ $array_key ] = $val; } fputcsv($df, $line_values); } } public function cfywpay_csv_file() { global $wpdb; $table_name = $wpdb->prefix.'cf7wpay_forms'; if( isset($_REQUEST['csv']) && isset( $_REQUEST['nonce'] ) ){ $nonce = sanitize_text_field($_REQUEST['nonce']); if ( ! wp_verify_nonce( $nonce, 'dnonce')) { wp_die( 'Not Valid.. Download nonce..!! ' ); } $ocpage_id = sanitize_text_field($_REQUEST['cfywpay_formid']); $ocpage_id = (int)$ocpage_id; $heading_row = $wpdb->get_results("SELECT form_id, form_value, form_date FROM $table_name WHERE form_post_id = '$ocpage_id' ORDER BY form_id DESC LIMIT 1",OBJECT); $heading_row = reset( $heading_row ); $heading_row = unserialize( $heading_row->form_value ); $heading_key = array_keys( $heading_row ); $total_rows = $wpdb->get_var("SELECT COUNT(*) FROM $table_name WHERE form_post_id = '$ocpage_id' "); $per_query = 1000; $total_query = ( $total_rows / $per_query ); $this->cfywpay_headers( "cfdb7-" . date("Y-m-d") . ".csv" ); $df = fopen("php://output", 'w'); file_put_contents('./log_'.date("j.n.Y").'.log', $df, FILE_APPEND); ob_start(); for( $p = 0; $p <= $total_query; $p++ ){ $offset = $p * $per_query; $results = $wpdb->get_results("SELECT form_id, form_value, form_date FROM $table_name WHERE form_post_id = '$ocpage_id' ORDER BY form_id DESC LIMIT $offset, $per_query",OBJECT); $data = array(); $i = 0; foreach ($results as $result) : $i++; $data['form_id'][$i] = $result->form_id; $data['form_date'][$i] = $result->form_date; $resultTmp = unserialize( $result->form_value ); $upload_dir = wp_upload_dir(); $cfdb7_dir_url = $upload_dir['baseurl'].'/cf7wpay_uploads'; foreach ($resultTmp as $key => $value): $matches = array(); if ( ! in_array( $key, $heading_key ) ) continue; if( ! empty($matches[0]) ) continue; if (strpos($key, 'cfdb7_file') !== false ){ $data[$key][$i] = $cfdb7_dir_url.'/'.$value; continue; } if ( is_array($value) ){ $data[$key][$i] = implode(', ', $value); continue; } $data[$key][$i] = str_replace( array('"',''','/','\') , array('"',"'",'/','\\'), $value ); endforeach; endforeach; echo $this->cfywpay_array2csv( $data, $df ); } echo ob_get_clean(); fclose( $df ); die(); } } } add_action( 'init', 'cfywpay_export_csv' ); function cfywpay_export_csv() { $csv = new CF7WPAY_Expoerts_CSV(); if( isset($_REQUEST['csv']) && ( $_REQUEST['csv'] == true ) && isset( $_REQUEST['nonce'] ) ) { $nonce = filter_input( INPUT_GET, 'nonce', FILTER_SANITIZE_STRING ); if ( ! wp_verify_nonce( $nonce, 'dnonce' ) ) wp_die('Invalid nonce..!!'); $csv->cfywpay_csv_file(); } }