|
@@ -1,6 +1,6 @@ discard block |
|
|
block discarded – undo |
|
1
|
1
|
<?php |
|
2
|
2
|
|
|
3
|
|
-class FrmCSVExportHelper{ |
|
|
3
|
+class FrmCSVExportHelper { |
|
4
|
4
|
protected static $separator = ', '; |
|
5
|
5
|
protected static $column_separator = ','; |
|
6
|
6
|
protected static $line_break = 'return'; |
|
@@ -63,7 +63,7 @@ discard block |
|
|
block discarded – undo |
|
63
|
63
|
header( 'Content-Description: File Transfer' ); |
|
64
|
64
|
header( 'Content-Disposition: attachment; filename="' . esc_attr( $filename ) . '"' ); |
|
65
|
65
|
header( 'Content-Type: text/csv; charset=' . self::$charset, true ); |
|
66
|
|
- header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', mktime( date( 'H' ) + 2, date( 'i' ), date( 's' ), date( 'm' ), date( 'd' ), date('Y' ) ) ) . ' GMT' ); |
|
|
66
|
+ header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', mktime( date( 'H' ) + 2, date( 'i' ), date( 's' ), date( 'm' ), date( 'd' ), date( 'Y' ) ) ) . ' GMT' ); |
|
67
|
67
|
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); |
|
68
|
68
|
header( 'Cache-Control: no-cache, must-revalidate' ); |
|
69
|
69
|
header( 'Pragma: no-cache' ); |
|
@@ -90,21 +90,21 @@ discard block |
|
|
block discarded – undo |
|
90
|
90
|
foreach ( self::$fields as $col ) { |
|
91
|
91
|
$field_headings = array(); |
|
92
|
92
|
if ( isset( $col->field_options['separate_value'] ) && $col->field_options['separate_value'] && ! in_array( $col->type, array( 'user_id', 'file', 'data', 'date' ) ) ) { |
|
93
|
|
- $field_headings[ $col->id . '_label' ] = strip_tags( $col->name . ' ' . __( '(label)', 'formidable' ) ); |
|
|
93
|
+ $field_headings[$col->id . '_label'] = strip_tags( $col->name . ' ' . __( '(label)', 'formidable' ) ); |
|
94
|
94
|
} |
|
95
|
95
|
|
|
96
|
|
- $field_headings[ $col->id ] = strip_tags( $col->name ); |
|
|
96
|
+ $field_headings[$col->id] = strip_tags( $col->name ); |
|
97
|
97
|
$field_headings = apply_filters( 'frm_csv_field_columns', $field_headings, array( 'field' => $col ) ); |
|
98
|
98
|
$headings += $field_headings; |
|
99
|
99
|
} |
|
100
|
100
|
|
|
101
|
101
|
if ( self::$comment_count ) { |
|
102
|
|
- for ( $i = 0; $i < self::$comment_count; $i++ ) { |
|
103
|
|
- $headings[ 'comment' . $i ] = __( 'Comment', 'formidable' ); |
|
104
|
|
- $headings[ 'comment_user_id' . $i ] = __( 'Comment User', 'formidable' ); |
|
105
|
|
- $headings[ 'comment_created_at' . $i ] = __( 'Comment Date', 'formidable' ); |
|
|
102
|
+ for ( $i = 0; $i < self::$comment_count; $i ++ ) { |
|
|
103
|
+ $headings['comment' . $i] = __( 'Comment', 'formidable' ); |
|
|
104
|
+ $headings['comment_user_id' . $i] = __( 'Comment User', 'formidable' ); |
|
|
105
|
+ $headings['comment_created_at' . $i] = __( 'Comment Date', 'formidable' ); |
|
106
|
106
|
} |
|
107
|
|
- unset($i); |
|
|
107
|
+ unset( $i ); |
|
108
|
108
|
} |
|
109
|
109
|
|
|
110
|
110
|
$headings['created_at'] = __( 'Timestamp', 'formidable' ); |
|
@@ -151,30 +151,30 @@ discard block |
|
|
block discarded – undo |
|
151
|
151
|
continue; |
|
152
|
152
|
} |
|
153
|
153
|
|
|
154
|
|
- if ( ! isset( $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ] ) ) { |
|
155
|
|
- $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ] = array(); |
|
156
|
|
- } else if ( ! is_array( $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ] ) ) { |
|
|
154
|
+ if ( ! isset( $entries[self::$entry->parent_item_id]->metas[$meta_id] ) ) { |
|
|
155
|
+ $entries[self::$entry->parent_item_id]->metas[$meta_id] = array(); |
|
|
156
|
+ } else if ( ! is_array( $entries[self::$entry->parent_item_id]->metas[$meta_id] ) ) { |
|
157
|
157
|
// if the data is here, it should be an array but if this field has collected data |
|
158
|
158
|
// both while inside and outside of the repeating section, it's possible this is a string |
|
159
|
|
- $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ] = (array) $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ]; |
|
|
159
|
+ $entries[self::$entry->parent_item_id]->metas[$meta_id] = (array) $entries[self::$entry->parent_item_id]->metas[$meta_id]; |
|
160
|
160
|
} |
|
161
|
161
|
|
|
162
|
162
|
//add the repeated values |
|
163
|
|
- $entries[ self::$entry->parent_item_id ]->metas[ $meta_id ][] = $meta_value; |
|
|
163
|
+ $entries[self::$entry->parent_item_id]->metas[$meta_id][] = $meta_value; |
|
164
|
164
|
} |
|
165
|
|
- $entries[ self::$entry->parent_item_id ]->metas += self::$entry->metas; |
|
|
165
|
+ $entries[self::$entry->parent_item_id]->metas += self::$entry->metas; |
|
166
|
166
|
} |
|
167
|
167
|
|
|
168
|
168
|
// add the embedded form id |
|
169
|
|
- if ( ! isset( $entries[ self::$entry->parent_item_id ]->embedded_fields ) ) { |
|
170
|
|
- $entries[ self::$entry->parent_item_id ]->embedded_fields = array(); |
|
|
169
|
+ if ( ! isset( $entries[self::$entry->parent_item_id]->embedded_fields ) ) { |
|
|
170
|
+ $entries[self::$entry->parent_item_id]->embedded_fields = array(); |
|
171
|
171
|
} |
|
172
|
|
- $entries[ self::$entry->parent_item_id ]->embedded_fields[ self::$entry->id ] = self::$entry->form_id; |
|
|
172
|
+ $entries[self::$entry->parent_item_id]->embedded_fields[self::$entry->id] = self::$entry->form_id; |
|
173
|
173
|
} |
|
174
|
174
|
|
|
175
|
175
|
private static function add_field_values_to_csv( &$row ) { |
|
176
|
176
|
foreach ( self::$fields as $col ) { |
|
177
|
|
- $field_value = isset( self::$entry->metas[ $col->id ] ) ? self::$entry->metas[ $col->id ] : false; |
|
|
177
|
+ $field_value = isset( self::$entry->metas[$col->id] ) ? self::$entry->metas[$col->id] : false; |
|
178
|
178
|
|
|
179
|
179
|
$field_value = maybe_unserialize( $field_value ); |
|
180
|
180
|
self::add_array_values_to_columns( $row, compact( 'col', 'field_value' ) ); |
|
@@ -185,13 +185,13 @@ discard block |
|
|
block discarded – undo |
|
185
|
185
|
$sep_value = FrmEntriesHelper::display_value( $field_value, $col, array( |
|
186
|
186
|
'type' => $col->type, 'post_id' => self::$entry->post_id, 'show_icon' => false, |
|
187
|
187
|
'entry_id' => self::$entry->id, 'sep' => self::$separator, |
|
188
|
|
- 'embedded_field_id' => ( isset( self::$entry->embedded_fields ) && isset( self::$entry->embedded_fields[ self::$entry->id ] ) ) ? 'form' . self::$entry->embedded_fields[ self::$entry->id ] : 0, |
|
|
188
|
+ 'embedded_field_id' => ( isset( self::$entry->embedded_fields ) && isset( self::$entry->embedded_fields[self::$entry->id] ) ) ? 'form' . self::$entry->embedded_fields[self::$entry->id] : 0, |
|
189
|
189
|
) ); |
|
190
|
|
- $row[ $col->id . '_label' ] = $sep_value; |
|
|
190
|
+ $row[$col->id . '_label'] = $sep_value; |
|
191
|
191
|
unset( $sep_value ); |
|
192
|
192
|
} |
|
193
|
193
|
|
|
194
|
|
- $row[ $col->id ] = $field_value; |
|
|
194
|
+ $row[$col->id] = $field_value; |
|
195
|
195
|
|
|
196
|
196
|
unset( $col, $field_value ); |
|
197
|
197
|
} |
|
@@ -204,8 +204,8 @@ discard block |
|
|
block discarded – undo |
|
204
|
204
|
if ( is_array( $atts['field_value'] ) ) { |
|
205
|
205
|
foreach ( $atts['field_value'] as $key => $sub_value ) { |
|
206
|
206
|
$column_key = $atts['col']->id . '_' . $key; |
|
207
|
|
- if ( ! is_numeric( $key ) && isset( self::$headings[ $column_key ] ) ) { |
|
208
|
|
- $row[ $column_key ] = $sub_value; |
|
|
207
|
+ if ( ! is_numeric( $key ) && isset( self::$headings[$column_key] ) ) { |
|
|
208
|
+ $row[$column_key] = $sub_value; |
|
209
|
209
|
} |
|
210
|
210
|
} |
|
211
|
211
|
} |
|
@@ -227,9 +227,9 @@ discard block |
|
|
block discarded – undo |
|
227
|
227
|
$this_col = 0; |
|
228
|
228
|
|
|
229
|
229
|
foreach ( self::$headings as $k => $heading ) { |
|
230
|
|
- $this_col++; |
|
|
230
|
+ $this_col ++; |
|
231
|
231
|
|
|
232
|
|
- $row = isset( $rows[ $k ] ) ? $rows[ $k ] : ''; |
|
|
232
|
+ $row = isset( $rows[$k] ) ? $rows[$k] : ''; |
|
233
|
233
|
if ( is_array( $row ) ) { |
|
234
|
234
|
// implode the repeated field values |
|
235
|
235
|
$row = implode( self::$separator, FrmAppHelper::array_flatten( $row, 'reset' ) ); |