Everest Forms – Easy Contact Form and Form Builder - Version 1.5.3

Version Description

  • 26-07-2019 =
  • Fix - Entry search in trash listing page.
  • Fix - Bulk actions for entries list table.
Download this release

Release Info

Developer wpeverest
Plugin Icon 128x128 Everest Forms – Easy Contact Form and Form Builder
Version 1.5.3
Comparing to
See all releases

Code changes from version 1.5.2 to 1.5.3

everest-forms.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop contact form builder to easily create simple to complex forms for any purpose. Lightweight, Beautiful design, responsive and more.
6
- * Version: 1.5.2
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop contact form builder to easily create simple to complex forms for any purpose. Lightweight, Beautiful design, responsive and more.
6
+ * Version: 1.5.3
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
includes/admin/class-evf-admin-entries-table-list.php CHANGED
@@ -54,7 +54,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
54
 
55
  // Check that the user has created at least one form.
56
  if ( ! empty( $this->forms ) ) {
57
- $this->form_id = ! empty( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : apply_filters( 'everest_forms_entry_list_default_form_id', key( $this->forms ) );
58
  $this->form = EVF()->form->get( $this->form_id );
59
  $this->form_data = ! empty( $this->form->post_content ) ? evf_decode( $this->form->post_content ) : '';
60
  }
@@ -68,6 +68,25 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
68
  );
69
  }
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  /**
72
  * No items found text.
73
  */
@@ -98,7 +117,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
98
  protected function get_sortable_columns() {
99
  $sortable_columns = array();
100
 
101
- if ( isset( $_GET['form_id'] ) ) {
102
  $sortable_columns = array(
103
  'date' => array( 'date_created', false ),
104
  );
@@ -124,8 +143,8 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
124
  /**
125
  * Logic to determine which fields are displayed in the table columns.
126
  *
127
- * @param array $columns
128
- * @param int $display
129
  *
130
  * @return array
131
  */
@@ -167,8 +186,8 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
167
  /**
168
  * Show specific form fields.
169
  *
170
- * @param object $entry
171
- * @param string $column_name
172
  * @return string
173
  */
174
  public function column_form_field( $entry, $column_name ) {
@@ -218,8 +237,8 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
218
  /**
219
  * Renders the columns.
220
  *
221
- * @param object $entry
222
- * @param string $column_name
223
  * @return string
224
  */
225
  public function column_default( $entry, $column_name ) {
@@ -247,7 +266,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
247
  /**
248
  * Render the actions column.
249
  *
250
- * @param object $entry
251
  * @return string
252
  */
253
  public function column_actions( $entry ) {
@@ -367,7 +386,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
367
  * @return array
368
  */
369
  protected function get_bulk_actions() {
370
- if ( isset( $_GET['status'] ) && 'trash' == $_GET['status'] ) {
371
  return array(
372
  'untrash' => __( 'Restore', 'everest-forms' ),
373
  'delete' => __( 'Delete Permanently', 'everest-forms' ),
@@ -385,72 +404,90 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
385
  * @since 1.2.0
386
  */
387
  public function process_bulk_action() {
388
- $action = $this->current_action();
 
389
  $entry_ids = isset( $_REQUEST['entry'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['entry'] ) ) : array(); // WPCS: input var ok, CSRF ok.
390
  $count = 0;
391
 
392
- if ( $entry_ids ) {
393
  check_admin_referer( 'bulk-entries' );
394
- }
395
 
396
- switch ( $action ) {
397
- case 'trash':
398
- foreach ( $entry_ids as $entry_id ) {
399
- if ( EVF_Admin_Entries::update_status( $entry_id, 'trash' ) ) {
400
- $count ++;
 
 
 
 
 
 
 
 
 
 
 
 
401
  }
402
- }
403
 
404
- add_settings_error(
405
- 'bulk_action',
406
- 'bulk_action',
407
- /* translators: %d: number of entries */
408
- sprintf( _n( '%d entry moved to the Trash.', '%d entries moved to the Trash.', $count, 'everest-forms' ), $count ),
409
- 'updated'
410
- );
411
- break;
412
- case 'untrash':
413
- foreach ( $entry_ids as $entry_id ) {
414
- if ( EVF_Admin_Entries::update_status( $entry_id, 'publish' ) ) {
415
- $count ++;
 
416
  }
417
- }
418
 
419
- add_settings_error(
420
- 'bulk_action',
421
- 'bulk_action',
422
- /* translators: %d: number of entries */
423
- sprintf( _n( '%d entry restored from the Trash.', '%d entries restored from the Trash.', $count, 'everest-forms' ), $count ),
424
- 'updated'
425
- );
426
- break;
427
- case 'delete':
428
- foreach ( $entry_ids as $entry_id ) {
429
- if ( EVF_Admin_Entries::remove_entry( $entry_id ) ) {
430
- $count ++;
 
431
  }
432
- }
433
 
434
- add_settings_error(
435
- 'bulk_action',
436
- 'bulk_action',
437
- /* translators: %d: number of entries */
438
- sprintf( _n( '%d entry permanently deleted.', '%d entries permanently deleted.', $count, 'everest-forms' ), $count ),
439
- 'updated'
440
- );
441
- break;
 
 
 
 
 
 
 
 
442
  }
443
  }
444
 
445
  /**
446
  * Extra controls to be displayed between bulk actions and pagination.
447
  *
448
- * @param string $which
449
  */
450
  protected function extra_tablenav( $which ) {
451
  $num_entries = evf_get_count_entries_by_status( $this->form_id );
452
- $show_export = isset( $_GET['status'] ) && 'trash' === $_GET['status'] ? false : true;
453
-
454
  ?>
455
  <div class="alignleft actions">
456
  <?php
@@ -470,7 +507,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
470
  }
471
  }
472
 
473
- if ( $num_entries['trash'] && isset( $_GET['status'] ) && 'trash' === $_GET['status'] && current_user_can( 'manage_everest_forms' ) ) {
474
  submit_button( __( 'Empty Trash', 'everest-forms' ), 'apply', 'delete_all', false );
475
  }
476
  ?>
@@ -483,8 +520,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
483
  */
484
  public function forms_dropdown() {
485
  $forms = evf_get_all_forms( true );
486
- $form_id = isset( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : $this->form_id;
487
-
488
  ?>
489
  <label for="filter-by-form" class="screen-reader-text"><?php esc_html_e( 'Filter by form', 'everest-forms' ); ?></label>
490
  <select name="form_id" id="filter-by-form">
@@ -497,12 +533,8 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
497
 
498
  /**
499
  * Prepare table list items.
500
- *
501
- * @global wpdb $wpdb
502
  */
503
- public function prepare_items( $args = array() ) {
504
- global $wpdb;
505
-
506
  $per_page = $this->get_items_per_page( 'evf_entries_per_page' );
507
  $current_page = $this->get_pagenum();
508
 
@@ -519,6 +551,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
519
  $args['status'] = sanitize_key( wp_unslash( $_REQUEST['status'] ) ); // WPCS: input var okay, CSRF ok.
520
  }
521
 
 
522
  if ( ! empty( $_REQUEST['s'] ) ) { // WPCS: input var okay, CSRF ok.
523
  $args['search'] = sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ); // WPCS: input var okay, CSRF ok.
524
  }
54
 
55
  // Check that the user has created at least one form.
56
  if ( ! empty( $this->forms ) ) {
57
+ $this->form_id = ! empty( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : apply_filters( 'everest_forms_entry_list_default_form_id', key( $this->forms ) ); // phpcs:ignore WordPress.Security.NonceVerification
58
  $this->form = EVF()->form->get( $this->form_id );
59
  $this->form_data = ! empty( $this->form->post_content ) ? evf_decode( $this->form->post_content ) : '';
60
  }
68
  );
69
  }
70
 
71
+ /**
72
+ * Get the current action selected from the bulk actions dropdown.
73
+ *
74
+ * @since 1.5.3
75
+ *
76
+ * @return string|false The action name or False if no action was selected.
77
+ */
78
+ public function current_action() {
79
+ if ( isset( $_REQUEST['export_action'] ) && ! empty( $_REQUEST['export_action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
80
+ return false;
81
+ }
82
+
83
+ if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
84
+ return 'delete_all';
85
+ }
86
+
87
+ return parent::current_action();
88
+ }
89
+
90
  /**
91
  * No items found text.
92
  */
117
  protected function get_sortable_columns() {
118
  $sortable_columns = array();
119
 
120
+ if ( isset( $_GET['form_id'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
121
  $sortable_columns = array(
122
  'date' => array( 'date_created', false ),
123
  );
143
  /**
144
  * Logic to determine which fields are displayed in the table columns.
145
  *
146
+ * @param array $columns List of colums.
147
+ * @param int $display Numbers of columns to display.
148
  *
149
  * @return array
150
  */
186
  /**
187
  * Show specific form fields.
188
  *
189
+ * @param object $entry Entry object.
190
+ * @param string $column_name Column Name.
191
  * @return string
192
  */
193
  public function column_form_field( $entry, $column_name ) {
237
  /**
238
  * Renders the columns.
239
  *
240
+ * @param object $entry Entry object.
241
+ * @param string $column_name Column Name.
242
  * @return string
243
  */
244
  public function column_default( $entry, $column_name ) {
266
  /**
267
  * Render the actions column.
268
  *
269
+ * @param object $entry Entry object.
270
  * @return string
271
  */
272
  public function column_actions( $entry ) {
386
  * @return array
387
  */
388
  protected function get_bulk_actions() {
389
+ if ( isset( $_GET['status'] ) && 'trash' === $_GET['status'] ) { // phpcs:ignore WordPress.Security.NonceVerification
390
  return array(
391
  'untrash' => __( 'Restore', 'everest-forms' ),
392
  'delete' => __( 'Delete Permanently', 'everest-forms' ),
404
  * @since 1.2.0
405
  */
406
  public function process_bulk_action() {
407
+ $pagenum = $this->get_pagenum();
408
+ $doaction = $this->current_action();
409
  $entry_ids = isset( $_REQUEST['entry'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['entry'] ) ) : array(); // WPCS: input var ok, CSRF ok.
410
  $count = 0;
411
 
412
+ if ( $doaction ) {
413
  check_admin_referer( 'bulk-entries' );
 
414
 
415
+ $sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted' ), wp_get_referer() );
416
+ if ( ! $sendback ) {
417
+ $sendback = admin_url( 'admin.php?page=evf-entries' );
418
+ }
419
+ $sendback = add_query_arg( 'paged', $pagenum, $sendback );
420
+
421
+ if ( ! isset( $entry_ids ) ) {
422
+ wp_safe_redirect( $sendback );
423
+ exit;
424
+ }
425
+
426
+ switch ( $doaction ) {
427
+ case 'trash':
428
+ foreach ( $entry_ids as $entry_id ) {
429
+ if ( EVF_Admin_Entries::update_status( $entry_id, 'trash' ) ) {
430
+ $count ++;
431
+ }
432
  }
 
433
 
434
+ add_settings_error(
435
+ 'bulk_action',
436
+ 'bulk_action',
437
+ /* translators: %d: number of entries */
438
+ sprintf( _n( '%d entry moved to the Trash.', '%d entries moved to the Trash.', $count, 'everest-forms' ), $count ),
439
+ 'updated'
440
+ );
441
+ break;
442
+ case 'untrash':
443
+ foreach ( $entry_ids as $entry_id ) {
444
+ if ( EVF_Admin_Entries::update_status( $entry_id, 'publish' ) ) {
445
+ $count ++;
446
+ }
447
  }
 
448
 
449
+ add_settings_error(
450
+ 'bulk_action',
451
+ 'bulk_action',
452
+ /* translators: %d: number of entries */
453
+ sprintf( _n( '%d entry restored from the Trash.', '%d entries restored from the Trash.', $count, 'everest-forms' ), $count ),
454
+ 'updated'
455
+ );
456
+ break;
457
+ case 'delete':
458
+ foreach ( $entry_ids as $entry_id ) {
459
+ if ( EVF_Admin_Entries::remove_entry( $entry_id ) ) {
460
+ $count ++;
461
+ }
462
  }
 
463
 
464
+ add_settings_error(
465
+ 'bulk_action',
466
+ 'bulk_action',
467
+ /* translators: %d: number of entries */
468
+ sprintf( _n( '%d entry permanently deleted.', '%d entries permanently deleted.', $count, 'everest-forms' ), $count ),
469
+ 'updated'
470
+ );
471
+ break;
472
+ }
473
+ $sendback = remove_query_arg( array( 'action', 'action2' ), $sendback );
474
+
475
+ wp_safe_redirect( $sendback );
476
+ exit();
477
+ } elseif ( ! empty( $_REQUEST['_wp_http_referer'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { // WPCS: input var ok, CSRF ok.
478
+ wp_safe_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); // WPCS: input var ok, sanitization ok.
479
+ exit();
480
  }
481
  }
482
 
483
  /**
484
  * Extra controls to be displayed between bulk actions and pagination.
485
  *
486
+ * @param string $which The location of the extra table nav markup.
487
  */
488
  protected function extra_tablenav( $which ) {
489
  $num_entries = evf_get_count_entries_by_status( $this->form_id );
490
+ $show_export = isset( $_GET['status'] ) && 'trash' === $_GET['status'] ? false : true; // phpcs:ignore WordPress.Security.NonceVerification
 
491
  ?>
492
  <div class="alignleft actions">
493
  <?php
507
  }
508
  }
509
 
510
+ if ( $num_entries['trash'] && isset( $_GET['status'] ) && 'trash' === $_GET['status'] && current_user_can( 'manage_everest_forms' ) ) { // phpcs:ignore WordPress.Security.NonceVerification
511
  submit_button( __( 'Empty Trash', 'everest-forms' ), 'apply', 'delete_all', false );
512
  }
513
  ?>
520
  */
521
  public function forms_dropdown() {
522
  $forms = evf_get_all_forms( true );
523
+ $form_id = isset( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : $this->form_id; // phpcs:ignore WordPress.Security.NonceVerification
 
524
  ?>
525
  <label for="filter-by-form" class="screen-reader-text"><?php esc_html_e( 'Filter by form', 'everest-forms' ); ?></label>
526
  <select name="form_id" id="filter-by-form">
533
 
534
  /**
535
  * Prepare table list items.
 
 
536
  */
537
+ public function prepare_items() {
 
 
538
  $per_page = $this->get_items_per_page( 'evf_entries_per_page' );
539
  $current_page = $this->get_pagenum();
540
 
551
  $args['status'] = sanitize_key( wp_unslash( $_REQUEST['status'] ) ); // WPCS: input var okay, CSRF ok.
552
  }
553
 
554
+ // Handle the search query.
555
  if ( ! empty( $_REQUEST['s'] ) ) { // WPCS: input var okay, CSRF ok.
556
  $args['search'] = sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ); // WPCS: input var okay, CSRF ok.
557
  }
includes/admin/class-evf-admin-entries.php CHANGED
@@ -70,9 +70,12 @@ class EVF_Admin_Entries {
70
  <?php $entries_table_list->views(); ?>
71
  <form id="entries-list" method="get" data-form-id="<?php echo absint( $entries_table_list->form_id ); ?>" data-last-entry-id="<?php echo absint( end( $entry_ids ) ); ?>">
72
  <input type="hidden" name="page" value="evf-entries" />
73
- <?php if ( ! empty( $_REQUEST['form_id'] ) ) : // WPCS: input var ok, CSRF ok. ?>
74
  <input type="hidden" name="form_id" value="<?php echo absint( $_REQUEST['form_id'] ); ?>" />
75
  <?php endif; ?>
 
 
 
76
  <?php
77
  $entries_table_list->search_box( __( 'Search Entries', 'everest-forms' ), 'everest-forms' );
78
  $entries_table_list->display();
@@ -136,11 +139,6 @@ class EVF_Admin_Entries {
136
  if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { // WPCS: input var okay, CSRF ok.
137
  $this->empty_trash();
138
  }
139
-
140
- if ( ! empty( $_REQUEST['_wp_http_referer'] ) && isset( $_SERVER['REQUEST_URI'] ) ) { // WPCS: input var ok, CSRF ok.
141
- wp_safe_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ); // WPCS: input var ok, sanitization ok.
142
- exit();
143
- }
144
  }
145
  }
146
 
70
  <?php $entries_table_list->views(); ?>
71
  <form id="entries-list" method="get" data-form-id="<?php echo absint( $entries_table_list->form_id ); ?>" data-last-entry-id="<?php echo absint( end( $entry_ids ) ); ?>">
72
  <input type="hidden" name="page" value="evf-entries" />
73
+ <?php if ( ! empty( $_REQUEST['form_id'] ) ) : // phpcs:ignore WordPress.Security.NonceVerification ?>
74
  <input type="hidden" name="form_id" value="<?php echo absint( $_REQUEST['form_id'] ); ?>" />
75
  <?php endif; ?>
76
+ <?php if ( ! empty( $_REQUEST['status'] ) ) : // phpcs:ignore WordPress.Security.NonceVerification ?>
77
+ <input type="hidden" name="status" value="<?php echo sanitize_text_field( wp_unslash( $_REQUEST['status'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.NoNonceVerification, WordPress.Security.EscapeOutput ?>" />
78
+ <?php endif; ?>
79
  <?php
80
  $entries_table_list->search_box( __( 'Search Entries', 'everest-forms' ), 'everest-forms' );
81
  $entries_table_list->display();
139
  if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { // WPCS: input var okay, CSRF ok.
140
  $this->empty_trash();
141
  }
 
 
 
 
 
142
  }
143
  }
144
 
includes/admin/class-evf-admin-forms-table-list.php CHANGED
@@ -104,7 +104,7 @@ class EVF_Admin_Forms_Table_List extends WP_List_Table {
104
 
105
  // Title.
106
  $output = '<strong>';
107
- if ( 'trash' == $post_status ) {
108
  $output .= esc_html( $title );
109
  } else {
110
  $output .= '<a href="' . esc_url( $edit_link ) . '" class="row-title">' . esc_html( $title ) . '</a>';
@@ -118,12 +118,12 @@ class EVF_Admin_Forms_Table_List extends WP_List_Table {
118
  }
119
 
120
  if ( current_user_can( $post_type_object->cap->delete_post, $posts->ID ) ) {
121
- if ( 'trash' == $post_status ) {
122
  $actions['untrash'] = '<a aria-label="' . esc_attr__( 'Restore this item from the Trash', 'everest-forms' ) . '" href="' . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $posts->ID ) ), 'untrash-post_' . $posts->ID ) . '">' . esc_html__( 'Restore', 'everest-forms' ) . '</a>';
123
  } elseif ( EMPTY_TRASH_DAYS ) {
124
  $actions['trash'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Move this item to the Trash', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID ) . '">' . esc_html__( 'Trash', 'everest-forms' ) . '</a>';
125
  }
126
- if ( 'trash' == $post_status || ! EMPTY_TRASH_DAYS ) {
127
  $actions['delete'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Delete this item permanently', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID, '', true ) . '">' . esc_html__( 'Delete permanently', 'everest-forms' ) . '</a>';
128
  }
129
  }
@@ -246,57 +246,13 @@ class EVF_Admin_Forms_Table_List extends WP_List_Table {
246
 
247
  $entries = count( $wpdb->get_results( $wpdb->prepare( "SELECT form_id FROM {$wpdb->prefix}evf_entries WHERE `status` != 'trash' AND form_id = %d", $posts->ID ) ) ); // WPCS: cache ok, DB call ok.
248
 
249
- if ( isset( $_GET['status'] ) && 'trash' === $_GET['status'] ) {
250
  return '<strong>' . absint( $entries ) . '</strong>';
251
  } else {
252
  return '<a href="' . esc_url( admin_url( 'admin.php?page=evf-entries&amp;form_id=' . $posts->ID ) ) . '">' . absint( $entries ) . '</a>';
253
  }
254
  }
255
 
256
- /**
257
- * Get the status label for forms.
258
- *
259
- * @param string $status_name Status name.
260
- * @param int $amount Amount of forms.
261
- * @return array
262
- */
263
- private function get_status_label( $status_name, $status ) {
264
- switch ( $status_name ) {
265
- case 'publish':
266
- /* translators: %s: count */
267
- $label = array(
268
- 'singular' => __( 'Published <span class="count">(%s)</span>', 'everest-forms' ),
269
- 'plural' => __( 'Published <span class="count">(%s)</span>', 'everest-forms' ),
270
- 'context' => '',
271
- 'domain' => 'everest-forms',
272
- );
273
- break;
274
- case 'draft':
275
- /* translators: %s: count */
276
- $label = array(
277
- 'singular' => __( 'Draft <span class="count">(%s)</span>', 'everest-forms' ),
278
- 'plural' => __( 'Draft <span class="count">(%s)</span>', 'everest-forms' ),
279
- 'context' => '',
280
- 'domain' => 'everest-forms',
281
- );
282
- break;
283
- case 'pending':
284
- /* translators: %s: count */
285
- $label = array(
286
- 'singular' => __( 'Pending <span class="count">(%s)</span>', 'everest-forms' ),
287
- 'plural' => __( 'Pending <span class="count">(%s)</span>', 'everest-forms' ),
288
- 'context' => '',
289
- 'domain' => 'everest-forms',
290
- );
291
- break;
292
- default:
293
- $label = $status->label_count;
294
- break;
295
- }
296
-
297
- return $label;
298
- }
299
-
300
  /**
301
  * Table list views.
302
  *
@@ -305,50 +261,106 @@ class EVF_Admin_Forms_Table_List extends WP_List_Table {
305
  protected function get_views() {
306
  $status_links = array();
307
  $num_posts = wp_count_posts( 'everest_form', 'readable' );
308
- $class = '';
309
  $total_posts = array_sum( (array) $num_posts );
 
 
 
310
 
311
  // Subtract post types that are not included in the admin all list.
312
  $post_stati = get_post_stati( array( 'show_in_admin_all_list' => false ) );
313
  foreach ( $post_stati as $state ) {
314
- $total_posts -= isset( $num_posts->$state ) ? $num_posts->$state : 0;
 
 
 
 
315
  }
316
 
317
- $class = empty( $class ) && empty( $_REQUEST['status'] ) ? ' class="current"' : '';
318
- /* translators: %s: count */
319
- $status_links['all'] = "<a href='admin.php?page=evf-builder'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts', 'everest-forms' ), number_format_i18n( $total_posts ) ) . '</a>';
 
 
 
 
 
 
 
 
 
 
320
 
321
  foreach ( get_post_stati( array( 'show_in_admin_status_list' => true ), 'objects' ) as $status ) {
322
  $class = '';
323
  $status_name = $status->name;
324
 
325
- if ( ! in_array( $status_name, array( 'publish', 'draft', 'pending', 'trash', 'future', 'private', 'auto-draft' ) ) ) {
326
  continue;
327
  }
328
 
329
- if ( empty( $num_posts->$status_name ) ) {
330
- continue;
331
  }
332
 
333
- if ( isset( $_REQUEST['status'] ) && $status_name == $_REQUEST['status'] ) {
334
- $class = ' class="current"';
335
- }
 
336
 
337
- $label = $this->get_status_label( $status_name, $status );
 
 
 
338
 
339
- $status_links[ $status_name ] = "<a href='admin.php?page=evf-builder&amp;status=$status_name'$class>" . sprintf( translate_nooped_plural( $label, $num_posts->$status_name ), number_format_i18n( $num_posts->$status_name ) ) . '</a>';
340
  }
341
 
342
  return $status_links;
343
  }
344
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  /**
346
  * Get bulk actions.
347
  *
348
  * @return array
349
  */
350
  protected function get_bulk_actions() {
351
- if ( isset( $_GET['status'] ) && 'trash' == $_GET['status'] ) {
352
  return array(
353
  'untrash' => __( 'Restore', 'everest-forms' ),
354
  'delete' => __( 'Delete permanently', 'everest-forms' ),
@@ -426,17 +438,16 @@ class EVF_Admin_Forms_Table_List extends WP_List_Table {
426
  /**
427
  * Extra controls to be displayed between bulk actions and pagination.
428
  *
429
- * @param string $which
430
  */
431
  protected function extra_tablenav( $which ) {
432
  $num_posts = wp_count_posts( 'everest_form', 'readable' );
433
 
434
- if ( $num_posts->trash && isset( $_GET['status'] ) && 'trash' == $_GET['status'] && current_user_can( 'delete_posts' ) ) {
435
  echo '<div class="alignleft actions">';
436
  submit_button( __( 'Empty Trash', 'everest-forms' ), 'apply', 'delete_all', false );
437
  echo '</div>';
438
  }
439
-
440
  }
441
 
442
  /**
104
 
105
  // Title.
106
  $output = '<strong>';
107
+ if ( 'trash' === $post_status ) {
108
  $output .= esc_html( $title );
109
  } else {
110
  $output .= '<a href="' . esc_url( $edit_link ) . '" class="row-title">' . esc_html( $title ) . '</a>';
118
  }
119
 
120
  if ( current_user_can( $post_type_object->cap->delete_post, $posts->ID ) ) {
121
+ if ( 'trash' === $post_status ) {
122
  $actions['untrash'] = '<a aria-label="' . esc_attr__( 'Restore this item from the Trash', 'everest-forms' ) . '" href="' . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $posts->ID ) ), 'untrash-post_' . $posts->ID ) . '">' . esc_html__( 'Restore', 'everest-forms' ) . '</a>';
123
  } elseif ( EMPTY_TRASH_DAYS ) {
124
  $actions['trash'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Move this item to the Trash', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID ) . '">' . esc_html__( 'Trash', 'everest-forms' ) . '</a>';
125
  }
126
+ if ( 'trash' === $post_status || ! EMPTY_TRASH_DAYS ) {
127
  $actions['delete'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Delete this item permanently', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID, '', true ) . '">' . esc_html__( 'Delete permanently', 'everest-forms' ) . '</a>';
128
  }
129
  }
246
 
247
  $entries = count( $wpdb->get_results( $wpdb->prepare( "SELECT form_id FROM {$wpdb->prefix}evf_entries WHERE `status` != 'trash' AND form_id = %d", $posts->ID ) ) ); // WPCS: cache ok, DB call ok.
248
 
249
+ if ( isset( $_GET['status'] ) && 'trash' === $_GET['status'] ) { // phpcs:ignore WordPress.Security.NonceVerification
250
  return '<strong>' . absint( $entries ) . '</strong>';
251
  } else {
252
  return '<a href="' . esc_url( admin_url( 'admin.php?page=evf-entries&amp;form_id=' . $posts->ID ) ) . '">' . absint( $entries ) . '</a>';
253
  }
254
  }
255
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  /**
257
  * Table list views.
258
  *
261
  protected function get_views() {
262
  $status_links = array();
263
  $num_posts = wp_count_posts( 'everest_form', 'readable' );
 
264
  $total_posts = array_sum( (array) $num_posts );
265
+ $all_args = array( 'page' => 'evf-builder' );
266
+
267
+ $class = '';
268
 
269
  // Subtract post types that are not included in the admin all list.
270
  $post_stati = get_post_stati( array( 'show_in_admin_all_list' => false ) );
271
  foreach ( $post_stati as $state ) {
272
+ $total_posts -= $num_posts->$state;
273
+ }
274
+
275
+ if ( empty( $class ) && empty( $_REQUEST['status'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
276
+ $class = 'current';
277
  }
278
 
279
+ $all_inner_html = sprintf(
280
+ /* translators: %s: count */
281
+ _nx(
282
+ 'All <span class="count">(%s)</span>',
283
+ 'All <span class="count">(%s)</span>',
284
+ $total_posts,
285
+ 'posts',
286
+ 'everest-forms'
287
+ ),
288
+ number_format_i18n( $total_posts )
289
+ );
290
+
291
+ $status_links['all'] = $this->get_edit_link( $all_args, $all_inner_html, $class );
292
 
293
  foreach ( get_post_stati( array( 'show_in_admin_status_list' => true ), 'objects' ) as $status ) {
294
  $class = '';
295
  $status_name = $status->name;
296
 
297
+ if ( ! in_array( $status_name, array( 'publish', 'draft', 'pending', 'trash', 'future', 'private', 'auto-draft' ), true ) || empty( $num_posts->$status_name ) ) {
298
  continue;
299
  }
300
 
301
+ if ( isset( $_REQUEST['status'] ) && $status_name === $_REQUEST['status'] ) { // phpcs:ignore WordPress.Security.NonceVerification
302
+ $class = 'current';
303
  }
304
 
305
+ $status_args = array(
306
+ 'page' => 'evf-builder',
307
+ 'status' => $status_name,
308
+ );
309
 
310
+ $status_label = sprintf(
311
+ translate_nooped_plural( $status->label_count, $num_posts->$status_name ),
312
+ number_format_i18n( $num_posts->$status_name )
313
+ );
314
 
315
+ $status_links[ $status_name ] = $this->get_edit_link( $status_args, $status_label, $class );
316
  }
317
 
318
  return $status_links;
319
  }
320
 
321
+ /**
322
+ * Helper to create links to admin.php with params.
323
+ *
324
+ * @since 1.5.3
325
+ *
326
+ * @param string[] $args Associative array of URL parameters for the link.
327
+ * @param string $label Link text.
328
+ * @param string $class Optional. Class attribute. Default empty string.
329
+ * @return string The formatted link string.
330
+ */
331
+ protected function get_edit_link( $args, $label, $class = '' ) {
332
+ $url = add_query_arg( $args, 'admin.php' );
333
+
334
+ $class_html = '';
335
+ $aria_current = '';
336
+
337
+ if ( ! empty( $class ) ) {
338
+ $class_html = sprintf(
339
+ ' class="%s"',
340
+ esc_attr( $class )
341
+ );
342
+
343
+ if ( 'current' === $class ) {
344
+ $aria_current = ' aria-current="page"';
345
+ }
346
+ }
347
+
348
+ return sprintf(
349
+ '<a href="%s"%s%s>%s</a>',
350
+ esc_url( $url ),
351
+ $class_html,
352
+ $aria_current,
353
+ $label
354
+ );
355
+ }
356
+
357
  /**
358
  * Get bulk actions.
359
  *
360
  * @return array
361
  */
362
  protected function get_bulk_actions() {
363
+ if ( isset( $_GET['status'] ) && 'trash' === $_GET['status'] ) { // phpcs:ignore WordPress.Security.NonceVerification
364
  return array(
365
  'untrash' => __( 'Restore', 'everest-forms' ),
366
  'delete' => __( 'Delete permanently', 'everest-forms' ),
438
  /**
439
  * Extra controls to be displayed between bulk actions and pagination.
440
  *
441
+ * @param string $which The location of the extra table nav markup.
442
  */
443
  protected function extra_tablenav( $which ) {
444
  $num_posts = wp_count_posts( 'everest_form', 'readable' );
445
 
446
+ if ( $num_posts->trash && isset( $_GET['status'] ) && 'trash' === $_GET['status'] && current_user_can( 'delete_posts' ) ) { // phpcs:ignore WordPress.Security.NonceVerification
447
  echo '<div class="alignleft actions">';
448
  submit_button( __( 'Empty Trash', 'everest-forms' ), 'apply', 'delete_all', false );
449
  echo '</div>';
450
  }
 
451
  }
452
 
453
  /**
includes/admin/class-evf-admin-forms.php CHANGED
@@ -36,13 +36,13 @@ class EVF_Admin_Forms {
36
  public static function page_output() {
37
  global $current_tab;
38
 
39
- if ( isset( $_GET['form_id'] ) && $current_tab ) {
40
- $form = EVF()->form->get( absint( $_GET['form_id'] ) );
41
  $form_id = is_object( $form ) ? absint( $form->ID ) : absint( $_GET['form_id'] );
42
  $form_data = is_object( $form ) ? evf_decode( $form->post_content ) : false;
43
 
44
  include 'views/html-admin-page-builder.php';
45
- } elseif ( isset( $_GET['create-form'] ) ) {
46
  include 'views/html-admin-page-builder-setup.php';
47
  } else {
48
  self::table_list_output();
@@ -103,13 +103,15 @@ class EVF_Admin_Forms {
103
  check_admin_referer( 'bulk-forms' );
104
 
105
  $count = 0;
106
- $form_ids = get_posts( array(
107
- 'post_type' => 'everest_form',
108
- 'ignore_sticky_posts' => true,
109
- 'nopaging' => true,
110
- 'post_status' => 'trash',
111
- 'fields' => 'ids',
112
- ) );
 
 
113
 
114
  foreach ( $form_ids as $form_id ) {
115
  if ( wp_delete_post( $form_id, true ) ) {
@@ -131,7 +133,7 @@ class EVF_Admin_Forms {
131
  */
132
  private function duplicate_form() {
133
  if ( empty( $_REQUEST['form_id'] ) ) {
134
- wp_die( __( 'No form to duplicate has been supplied!', 'everest-forms' ) );
135
  }
136
 
137
  $form_id = isset( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : '';
@@ -141,7 +143,7 @@ class EVF_Admin_Forms {
141
  $duplicate_id = evf()->form->duplicate( $form_id );
142
 
143
  // Redirect to the edit screen for the new form page.
144
- wp_redirect( admin_url( 'admin.php?page=evf-builder&tab=fields&form_id=' . $duplicate_id ) );
145
  exit;
146
  }
147
 
@@ -150,7 +152,7 @@ class EVF_Admin_Forms {
150
  *
151
  * When form is deleted then it also deletes its entries meta.
152
  *
153
- * @param int $post_id
154
  */
155
  public function delete_entries( $postid ) {
156
  global $wpdb;
36
  public static function page_output() {
37
  global $current_tab;
38
 
39
+ if ( isset( $_GET['form_id'] ) && $current_tab ) { // phpcs:ignore WordPress.Security.NonceVerification
40
+ $form = EVF()->form->get( absint( $_GET['form_id'] ) ); // phpcs:ignore WordPress.Security.NonceVerification
41
  $form_id = is_object( $form ) ? absint( $form->ID ) : absint( $_GET['form_id'] );
42
  $form_data = is_object( $form ) ? evf_decode( $form->post_content ) : false;
43
 
44
  include 'views/html-admin-page-builder.php';
45
+ } elseif ( isset( $_GET['create-form'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
46
  include 'views/html-admin-page-builder-setup.php';
47
  } else {
48
  self::table_list_output();
103
  check_admin_referer( 'bulk-forms' );
104
 
105
  $count = 0;
106
+ $form_ids = get_posts(
107
+ array(
108
+ 'post_type' => 'everest_form',
109
+ 'ignore_sticky_posts' => true,
110
+ 'nopaging' => true,
111
+ 'post_status' => 'trash',
112
+ 'fields' => 'ids',
113
+ )
114
+ );
115
 
116
  foreach ( $form_ids as $form_id ) {
117
  if ( wp_delete_post( $form_id, true ) ) {
133
  */
134
  private function duplicate_form() {
135
  if ( empty( $_REQUEST['form_id'] ) ) {
136
+ wp_die( esc_html__( 'No form to duplicate has been supplied!', 'everest-forms' ) );
137
  }
138
 
139
  $form_id = isset( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : '';
143
  $duplicate_id = evf()->form->duplicate( $form_id );
144
 
145
  // Redirect to the edit screen for the new form page.
146
+ wp_safe_redirect( admin_url( 'admin.php?page=evf-builder&tab=fields&form_id=' . $duplicate_id ) );
147
  exit;
148
  }
149
 
152
  *
153
  * When form is deleted then it also deletes its entries meta.
154
  *
155
+ * @param int $postid Post ID.
156
  */
157
  public function delete_entries( $postid ) {
158
  global $wpdb;
includes/admin/class-evf-admin-menus.php CHANGED
@@ -67,10 +67,13 @@ class EVF_Admin_Menus {
67
  $redirect_url = admin_url( 'admin.php?page=evf-builder&create-form=1' );
68
 
69
  if ( isset( $_GET['tab'], $_GET['form_id'] ) ) {
70
- $redirect_url = add_query_arg( array(
71
- 'tab' => evf_clean( wp_unslash( $_GET['tab'] ) ),
72
- 'form_id' => absint( wp_unslash( $_GET['form_id'] ) ),
73
- ), admin_url( 'admin.php?page=evf-builder' ) );
 
 
 
74
  }
75
  } else {
76
  $redirect_url = str_replace( $_GET['page'], 'evf-builder', wp_unslash( $_SERVER['REQUEST_URI'] ) ); // WPCS: input var okay, CSRF ok.
@@ -110,10 +113,13 @@ class EVF_Admin_Menus {
110
  $forms_table_list = new EVF_Admin_Forms_Table_List();
111
 
112
  // Add screen option.
113
- add_screen_option( 'per_page', array(
114
- 'default' => 20,
115
- 'option' => 'evf_forms_per_page',
116
- ) );
 
 
 
117
  }
118
 
119
  do_action( 'everest_forms_builder_page_init' );
@@ -138,10 +144,13 @@ class EVF_Admin_Menus {
138
  $entries_table_list = new EVF_Admin_Entries_Table_List();
139
 
140
  // Add screen option.
141
- add_screen_option( 'per_page', array(
142
- 'default' => 20,
143
- 'option' => 'evf_entries_per_page',
144
- ) );
 
 
 
145
  }
146
 
147
  do_action( 'everest_forms_entries_page_init' );
67
  $redirect_url = admin_url( 'admin.php?page=evf-builder&create-form=1' );
68
 
69
  if ( isset( $_GET['tab'], $_GET['form_id'] ) ) {
70
+ $redirect_url = add_query_arg(
71
+ array(
72
+ 'tab' => evf_clean( wp_unslash( $_GET['tab'] ) ),
73
+ 'form_id' => absint( wp_unslash( $_GET['form_id'] ) ),
74
+ ),
75
+ admin_url( 'admin.php?page=evf-builder' )
76
+ );
77
  }
78
  } else {
79
  $redirect_url = str_replace( $_GET['page'], 'evf-builder', wp_unslash( $_SERVER['REQUEST_URI'] ) ); // WPCS: input var okay, CSRF ok.
113
  $forms_table_list = new EVF_Admin_Forms_Table_List();
114
 
115
  // Add screen option.
116
+ add_screen_option(
117
+ 'per_page',
118
+ array(
119
+ 'default' => 20,
120
+ 'option' => 'evf_forms_per_page',
121
+ )
122
+ );
123
  }
124
 
125
  do_action( 'everest_forms_builder_page_init' );
144
  $entries_table_list = new EVF_Admin_Entries_Table_List();
145
 
146
  // Add screen option.
147
+ add_screen_option(
148
+ 'per_page',
149
+ array(
150
+ 'default' => 20,
151
+ 'option' => 'evf_entries_per_page',
152
+ )
153
+ );
154
  }
155
 
156
  do_action( 'everest_forms_entries_page_init' );
includes/admin/settings/class-evf-settings-recaptcha.php CHANGED
@@ -38,7 +38,7 @@ class EVF_Settings_reCAPTCHA extends EVF_Settings_Page {
38
  'everest_forms_recaptcha_settings',
39
  array(
40
  array(
41
- 'title' => __( 'Google reCAPTCHA Integation', 'everest-forms' ),
42
  'type' => 'title',
43
  /* translators: %1$s - Google reCAPTCHA docs url */
44
  'desc' => sprintf( __( '<p>Google\'s reCAPTCHA is a free service that protects your website from spam and abuse while letting valid users pass through with ease.</p><p>reCAPTCHA uses an advanced risk analysis engine and adaptive challenges to keep automated software from engaging in abusive activities on your site.</p><p>Sites already using v2 reCAPTCHA will need to create new site keys before switching to the Invisible reCAPTCHA or v3 reCAPTCHA.</p><p><a href="%1$s" target="_blank">Read our documentation</a> for step-by-step instructions.</p>', 'everest-forms' ), 'https://docs.wpeverest.com/docs/everest-forms/tutorials/how-to-integrate-google-recaptcha/' ),
38
  'everest_forms_recaptcha_settings',
39
  array(
40
  array(
41
+ 'title' => __( 'Google reCAPTCHA Integration', 'everest-forms' ),
42
  'type' => 'title',
43
  /* translators: %1$s - Google reCAPTCHA docs url */
44
  'desc' => sprintf( __( '<p>Google\'s reCAPTCHA is a free service that protects your website from spam and abuse while letting valid users pass through with ease.</p><p>reCAPTCHA uses an advanced risk analysis engine and adaptive challenges to keep automated software from engaging in abusive activities on your site.</p><p>Sites already using v2 reCAPTCHA will need to create new site keys before switching to the Invisible reCAPTCHA or v3 reCAPTCHA.</p><p><a href="%1$s" target="_blank">Read our documentation</a> for step-by-step instructions.</p>', 'everest-forms' ), 'https://docs.wpeverest.com/docs/everest-forms/tutorials/how-to-integrate-google-recaptcha/' ),
includes/class-everest-forms.php CHANGED
@@ -21,7 +21,7 @@ final class EverestForms {
21
  *
22
  * @var string
23
  */
24
- public $version = '1.5.2';
25
 
26
  /**
27
  * The single instance of the class.
21
  *
22
  * @var string
23
  */
24
+ public $version = '1.5.3';
25
 
26
  /**
27
  * The single instance of the class.
languages/everest-forms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Everest Forms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Everest Forms 1.5.2\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
- "POT-Creation-Date: 2019-07-23 11:49:55+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -167,7 +167,7 @@ msgstr ""
167
  #: includes/abstracts/class-evf-form-fields.php:833
168
  #: includes/admin/builder/class-evf-builder-fields.php:267
169
  #: includes/admin/builder/class-evf-builder-settings.php:25
170
- #: includes/admin/class-evf-admin-menus.php:154
171
  #: includes/class-evf-install.php:608
172
  msgid "Settings"
173
  msgstr ""
@@ -671,125 +671,125 @@ msgid ""
671
  "go</a>?"
672
  msgstr ""
673
 
674
- #: includes/admin/class-evf-admin-entries-table-list.php:75
675
- #: includes/admin/class-evf-admin-entries.php:84
676
  msgid "Whoops, it appears you do not have any form entries yet."
677
  msgstr ""
678
 
679
- #: includes/admin/class-evf-admin-entries-table-list.php:87
680
  #: includes/export/class-evf-entry-csv-exporter.php:71
681
  msgid "Date Created"
682
  msgstr ""
683
 
684
- #: includes/admin/class-evf-admin-entries-table-list.php:88
685
  msgid "Actions"
686
  msgstr ""
687
 
688
- #: includes/admin/class-evf-admin-entries-table-list.php:139
689
- #: includes/admin/class-evf-admin-entries-table-list.php:150
690
  msgid "Field"
691
  msgstr ""
692
 
693
- #: includes/admin/class-evf-admin-entries-table-list.php:256
694
  #: includes/admin/views/html-admin-page-status-logs.php:33
695
  msgid "View"
696
  msgstr ""
697
 
698
- #: includes/admin/class-evf-admin-entries-table-list.php:258
699
  #. translators: %s: entry name
700
  msgid "Trash form entry"
701
  msgstr ""
702
 
703
- #: includes/admin/class-evf-admin-entries-table-list.php:269
704
  #: includes/admin/class-evf-admin-forms-table-list.php:124
705
  #: includes/evf-entry-functions.php:54
706
  msgid "Trash"
707
  msgstr ""
708
 
709
- #: includes/admin/class-evf-admin-entries-table-list.php:273
710
  msgid "Restore form entry from trash"
711
  msgstr ""
712
 
713
- #: includes/admin/class-evf-admin-entries-table-list.php:284
714
- #: includes/admin/class-evf-admin-entries-table-list.php:372
715
  #: includes/admin/class-evf-admin-forms-table-list.php:122
716
- #: includes/admin/class-evf-admin-forms-table-list.php:353
717
  msgid "Restore"
718
  msgstr ""
719
 
720
- #: includes/admin/class-evf-admin-entries-table-list.php:285
721
  msgid "Delete form entry permanently"
722
  msgstr ""
723
 
724
- #: includes/admin/class-evf-admin-entries-table-list.php:296
725
- #: includes/admin/class-evf-admin-entries-table-list.php:373
726
  msgid "Delete Permanently"
727
  msgstr ""
728
 
729
- #: includes/admin/class-evf-admin-entries-table-list.php:378
730
  msgid "Move to Trash"
731
  msgstr ""
732
 
733
- #: includes/admin/class-evf-admin-entries-table-list.php:408
734
  #. translators: %d: number of entries
735
  msgid "%d entry moved to the Trash."
736
  msgid_plural "%d entries moved to the Trash."
737
  msgstr[0] ""
738
  msgstr[1] ""
739
 
740
- #: includes/admin/class-evf-admin-entries-table-list.php:423
741
  #. translators: %d: number of entries
742
  msgid "%d entry restored from the Trash."
743
  msgid_plural "%d entries restored from the Trash."
744
  msgstr[0] ""
745
  msgstr[1] ""
746
 
747
- #: includes/admin/class-evf-admin-entries-table-list.php:438
748
- #: includes/admin/class-evf-admin-entries.php:263
749
  #. translators: %d: number of entries
750
  msgid "%d entry permanently deleted."
751
  msgid_plural "%d entries permanently deleted."
752
  msgstr[0] ""
753
  msgstr[1] ""
754
 
755
- #: includes/admin/class-evf-admin-entries-table-list.php:464
756
- #: includes/admin/class-evf-admin-entries.php:95
757
  msgid "Filter"
758
  msgstr ""
759
 
760
- #: includes/admin/class-evf-admin-entries-table-list.php:468
761
  msgid "Export CSV"
762
  msgstr ""
763
 
764
- #: includes/admin/class-evf-admin-entries-table-list.php:474
765
- #: includes/admin/class-evf-admin-forms-table-list.php:436
766
  msgid "Empty Trash"
767
  msgstr ""
768
 
769
- #: includes/admin/class-evf-admin-entries-table-list.php:489
770
  msgid "Filter by form"
771
  msgstr ""
772
 
773
  #: includes/admin/class-evf-admin-entries.php:63
774
  #: includes/admin/class-evf-admin-forms-table-list.php:53
775
  #: includes/admin/class-evf-admin-forms-table-list.php:117
776
- #: includes/admin/class-evf-admin-menus.php:126
777
  msgid "Entries"
778
  msgstr ""
779
 
780
- #: includes/admin/class-evf-admin-entries.php:77
781
  msgid "Search Entries"
782
  msgstr ""
783
 
784
- #: includes/admin/class-evf-admin-entries.php:100
785
  msgid "Learn more about entries"
786
  msgstr ""
787
 
788
- #: includes/admin/class-evf-admin-entries.php:101
789
  msgid "Create your first form!"
790
  msgstr ""
791
 
792
- #: includes/admin/class-evf-admin-entries.php:350
793
  #. translators: %d - New form entries count.
794
  msgid "%d new entry since you last checked."
795
  msgid_plural "%d new entries since you last checked."
@@ -836,7 +836,7 @@ msgid "Delete this item permanently"
836
  msgstr ""
837
 
838
  #: includes/admin/class-evf-admin-forms-table-list.php:127
839
- #: includes/admin/class-evf-admin-forms-table-list.php:354
840
  msgid "Delete permanently"
841
  msgstr ""
842
 
@@ -861,46 +861,28 @@ msgstr ""
861
  msgid "Y/m/d"
862
  msgstr ""
863
 
864
- #: includes/admin/class-evf-admin-forms-table-list.php:268
865
- #: includes/admin/class-evf-admin-forms-table-list.php:269
866
- #. translators: %s: count
867
- msgid "Published <span class=\"count\">(%s)</span>"
868
- msgstr ""
869
-
870
- #: includes/admin/class-evf-admin-forms-table-list.php:277
871
- #: includes/admin/class-evf-admin-forms-table-list.php:278
872
- #. translators: %s: count
873
- msgid "Draft <span class=\"count\">(%s)</span>"
874
- msgstr ""
875
-
876
- #: includes/admin/class-evf-admin-forms-table-list.php:286
877
- #: includes/admin/class-evf-admin-forms-table-list.php:287
878
- #. translators: %s: count
879
- msgid "Pending <span class=\"count\">(%s)</span>"
880
- msgstr ""
881
-
882
- #: includes/admin/class-evf-admin-forms-table-list.php:359
883
  #: includes/admin/views/html-admin-page-entries-view.php:179
884
  #: includes/admin/views/html-admin-page-entries-view.php:193
885
  msgid "Move to trash"
886
  msgstr ""
887
 
888
- #: includes/admin/class-evf-admin-forms-table-list.php:389
889
  #. translators: %d: number of forms
890
  msgid "%d form moved to the Trash."
891
  msgid_plural "%d forms moved to the Trash."
892
  msgstr[0] ""
893
  msgstr[1] ""
894
 
895
- #: includes/admin/class-evf-admin-forms-table-list.php:404
896
  #. translators: %d: number of forms
897
  msgid "%d form restored from the Trash."
898
  msgid_plural "%d forms restored from the Trash."
899
  msgstr[0] ""
900
  msgstr[1] ""
901
 
902
- #: includes/admin/class-evf-admin-forms-table-list.php:419
903
- #: includes/admin/class-evf-admin-forms.php:124
904
  #. translators: %d: number of forms
905
  msgid "%d form permanently deleted."
906
  msgid_plural "%d forms permanently deleted."
@@ -908,13 +890,13 @@ msgstr[0] ""
908
  msgstr[1] ""
909
 
910
  #: includes/admin/class-evf-admin-forms.php:62
911
- #: includes/admin/class-evf-admin-menus.php:88
912
  #: includes/class-evf-post-types.php:44
913
  msgid "All Forms"
914
  msgstr ""
915
 
916
  #: includes/admin/class-evf-admin-forms.php:63
917
- #: includes/admin/class-evf-admin-menus.php:90
918
  #: includes/class-evf-post-types.php:46
919
  msgid "Add New"
920
  msgstr ""
@@ -923,7 +905,7 @@ msgstr ""
923
  msgid "Search Forms"
924
  msgstr ""
925
 
926
- #: includes/admin/class-evf-admin-forms.php:134
927
  msgid "No form to duplicate has been supplied!"
928
  msgstr ""
929
 
@@ -931,37 +913,37 @@ msgstr ""
931
  msgid "Everest Forms"
932
  msgstr ""
933
 
934
- #: includes/admin/class-evf-admin-menus.php:88
935
  msgid "Everest Forms Builder"
936
  msgstr ""
937
 
938
- #: includes/admin/class-evf-admin-menus.php:90
939
  msgid "Everest Forms Setup"
940
  msgstr ""
941
 
942
- #: includes/admin/class-evf-admin-menus.php:126
943
  msgid "Everest Forms Entries"
944
  msgstr ""
945
 
946
- #: includes/admin/class-evf-admin-menus.php:154
947
  msgid "Everest Forms settings"
948
  msgstr ""
949
 
950
- #: includes/admin/class-evf-admin-menus.php:193
951
  msgid "Everest Forms status"
952
  msgstr ""
953
 
954
- #: includes/admin/class-evf-admin-menus.php:193
955
  #: includes/export/class-evf-entry-csv-exporter.php:70
956
  msgid "Status"
957
  msgstr ""
958
 
959
- #: includes/admin/class-evf-admin-menus.php:200
960
  #: includes/admin/views/html-admin-page-addons.php:15
961
  msgid "Everest Forms Add-ons"
962
  msgstr ""
963
 
964
- #: includes/admin/class-evf-admin-menus.php:200
965
  msgid "Add-ons"
966
  msgstr ""
967
 
@@ -1102,7 +1084,7 @@ msgid "reCAPTCHA"
1102
  msgstr ""
1103
 
1104
  #: includes/admin/settings/class-evf-settings-recaptcha.php:41
1105
- msgid "Google reCAPTCHA Integation"
1106
  msgstr ""
1107
 
1108
  #: includes/admin/settings/class-evf-settings-recaptcha.php:44
@@ -3443,7 +3425,7 @@ msgctxt "enhanced select"
3443
  msgid "Searching&hellip;"
3444
  msgstr ""
3445
 
3446
- #: includes/admin/class-evf-admin-entries-table-list.php:343
3447
  #. translators: %s: count
3448
  msgctxt "entries"
3449
  msgid "All <span class=\"count\">(%s)</span>"
@@ -3451,7 +3433,7 @@ msgid_plural "All <span class=\"count\">(%s)</span>"
3451
  msgstr[0] ""
3452
  msgstr[1] ""
3453
 
3454
- #: includes/admin/class-evf-admin-forms-table-list.php:319
3455
  #. translators: %s: count
3456
  msgctxt "posts"
3457
  msgid "All <span class=\"count\">(%s)</span>"
2
  # This file is distributed under the same license as the Everest Forms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Everest Forms 1.5.3\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
+ "POT-Creation-Date: 2019-07-26 11:21:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
167
  #: includes/abstracts/class-evf-form-fields.php:833
168
  #: includes/admin/builder/class-evf-builder-fields.php:267
169
  #: includes/admin/builder/class-evf-builder-settings.php:25
170
+ #: includes/admin/class-evf-admin-menus.php:163
171
  #: includes/class-evf-install.php:608
172
  msgid "Settings"
173
  msgstr ""
671
  "go</a>?"
672
  msgstr ""
673
 
674
+ #: includes/admin/class-evf-admin-entries-table-list.php:94
675
+ #: includes/admin/class-evf-admin-entries.php:87
676
  msgid "Whoops, it appears you do not have any form entries yet."
677
  msgstr ""
678
 
679
+ #: includes/admin/class-evf-admin-entries-table-list.php:106
680
  #: includes/export/class-evf-entry-csv-exporter.php:71
681
  msgid "Date Created"
682
  msgstr ""
683
 
684
+ #: includes/admin/class-evf-admin-entries-table-list.php:107
685
  msgid "Actions"
686
  msgstr ""
687
 
688
+ #: includes/admin/class-evf-admin-entries-table-list.php:158
689
+ #: includes/admin/class-evf-admin-entries-table-list.php:169
690
  msgid "Field"
691
  msgstr ""
692
 
693
+ #: includes/admin/class-evf-admin-entries-table-list.php:275
694
  #: includes/admin/views/html-admin-page-status-logs.php:33
695
  msgid "View"
696
  msgstr ""
697
 
698
+ #: includes/admin/class-evf-admin-entries-table-list.php:277
699
  #. translators: %s: entry name
700
  msgid "Trash form entry"
701
  msgstr ""
702
 
703
+ #: includes/admin/class-evf-admin-entries-table-list.php:288
704
  #: includes/admin/class-evf-admin-forms-table-list.php:124
705
  #: includes/evf-entry-functions.php:54
706
  msgid "Trash"
707
  msgstr ""
708
 
709
+ #: includes/admin/class-evf-admin-entries-table-list.php:292
710
  msgid "Restore form entry from trash"
711
  msgstr ""
712
 
713
+ #: includes/admin/class-evf-admin-entries-table-list.php:303
714
+ #: includes/admin/class-evf-admin-entries-table-list.php:391
715
  #: includes/admin/class-evf-admin-forms-table-list.php:122
716
+ #: includes/admin/class-evf-admin-forms-table-list.php:365
717
  msgid "Restore"
718
  msgstr ""
719
 
720
+ #: includes/admin/class-evf-admin-entries-table-list.php:304
721
  msgid "Delete form entry permanently"
722
  msgstr ""
723
 
724
+ #: includes/admin/class-evf-admin-entries-table-list.php:315
725
+ #: includes/admin/class-evf-admin-entries-table-list.php:392
726
  msgid "Delete Permanently"
727
  msgstr ""
728
 
729
+ #: includes/admin/class-evf-admin-entries-table-list.php:397
730
  msgid "Move to Trash"
731
  msgstr ""
732
 
733
+ #: includes/admin/class-evf-admin-entries-table-list.php:438
734
  #. translators: %d: number of entries
735
  msgid "%d entry moved to the Trash."
736
  msgid_plural "%d entries moved to the Trash."
737
  msgstr[0] ""
738
  msgstr[1] ""
739
 
740
+ #: includes/admin/class-evf-admin-entries-table-list.php:453
741
  #. translators: %d: number of entries
742
  msgid "%d entry restored from the Trash."
743
  msgid_plural "%d entries restored from the Trash."
744
  msgstr[0] ""
745
  msgstr[1] ""
746
 
747
+ #: includes/admin/class-evf-admin-entries-table-list.php:468
748
+ #: includes/admin/class-evf-admin-entries.php:261
749
  #. translators: %d: number of entries
750
  msgid "%d entry permanently deleted."
751
  msgid_plural "%d entries permanently deleted."
752
  msgstr[0] ""
753
  msgstr[1] ""
754
 
755
+ #: includes/admin/class-evf-admin-entries-table-list.php:501
756
+ #: includes/admin/class-evf-admin-entries.php:98
757
  msgid "Filter"
758
  msgstr ""
759
 
760
+ #: includes/admin/class-evf-admin-entries-table-list.php:505
761
  msgid "Export CSV"
762
  msgstr ""
763
 
764
+ #: includes/admin/class-evf-admin-entries-table-list.php:511
765
+ #: includes/admin/class-evf-admin-forms-table-list.php:448
766
  msgid "Empty Trash"
767
  msgstr ""
768
 
769
+ #: includes/admin/class-evf-admin-entries-table-list.php:525
770
  msgid "Filter by form"
771
  msgstr ""
772
 
773
  #: includes/admin/class-evf-admin-entries.php:63
774
  #: includes/admin/class-evf-admin-forms-table-list.php:53
775
  #: includes/admin/class-evf-admin-forms-table-list.php:117
776
+ #: includes/admin/class-evf-admin-menus.php:132
777
  msgid "Entries"
778
  msgstr ""
779
 
780
+ #: includes/admin/class-evf-admin-entries.php:80
781
  msgid "Search Entries"
782
  msgstr ""
783
 
784
+ #: includes/admin/class-evf-admin-entries.php:103
785
  msgid "Learn more about entries"
786
  msgstr ""
787
 
788
+ #: includes/admin/class-evf-admin-entries.php:104
789
  msgid "Create your first form!"
790
  msgstr ""
791
 
792
+ #: includes/admin/class-evf-admin-entries.php:348
793
  #. translators: %d - New form entries count.
794
  msgid "%d new entry since you last checked."
795
  msgid_plural "%d new entries since you last checked."
836
  msgstr ""
837
 
838
  #: includes/admin/class-evf-admin-forms-table-list.php:127
839
+ #: includes/admin/class-evf-admin-forms-table-list.php:366
840
  msgid "Delete permanently"
841
  msgstr ""
842
 
861
  msgid "Y/m/d"
862
  msgstr ""
863
 
864
+ #: includes/admin/class-evf-admin-forms-table-list.php:371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
865
  #: includes/admin/views/html-admin-page-entries-view.php:179
866
  #: includes/admin/views/html-admin-page-entries-view.php:193
867
  msgid "Move to trash"
868
  msgstr ""
869
 
870
+ #: includes/admin/class-evf-admin-forms-table-list.php:401
871
  #. translators: %d: number of forms
872
  msgid "%d form moved to the Trash."
873
  msgid_plural "%d forms moved to the Trash."
874
  msgstr[0] ""
875
  msgstr[1] ""
876
 
877
+ #: includes/admin/class-evf-admin-forms-table-list.php:416
878
  #. translators: %d: number of forms
879
  msgid "%d form restored from the Trash."
880
  msgid_plural "%d forms restored from the Trash."
881
  msgstr[0] ""
882
  msgstr[1] ""
883
 
884
+ #: includes/admin/class-evf-admin-forms-table-list.php:431
885
+ #: includes/admin/class-evf-admin-forms.php:126
886
  #. translators: %d: number of forms
887
  msgid "%d form permanently deleted."
888
  msgid_plural "%d forms permanently deleted."
890
  msgstr[1] ""
891
 
892
  #: includes/admin/class-evf-admin-forms.php:62
893
+ #: includes/admin/class-evf-admin-menus.php:91
894
  #: includes/class-evf-post-types.php:44
895
  msgid "All Forms"
896
  msgstr ""
897
 
898
  #: includes/admin/class-evf-admin-forms.php:63
899
+ #: includes/admin/class-evf-admin-menus.php:93
900
  #: includes/class-evf-post-types.php:46
901
  msgid "Add New"
902
  msgstr ""
905
  msgid "Search Forms"
906
  msgstr ""
907
 
908
+ #: includes/admin/class-evf-admin-forms.php:136
909
  msgid "No form to duplicate has been supplied!"
910
  msgstr ""
911
 
913
  msgid "Everest Forms"
914
  msgstr ""
915
 
916
+ #: includes/admin/class-evf-admin-menus.php:91
917
  msgid "Everest Forms Builder"
918
  msgstr ""
919
 
920
+ #: includes/admin/class-evf-admin-menus.php:93
921
  msgid "Everest Forms Setup"
922
  msgstr ""
923
 
924
+ #: includes/admin/class-evf-admin-menus.php:132
925
  msgid "Everest Forms Entries"
926
  msgstr ""
927
 
928
+ #: includes/admin/class-evf-admin-menus.php:163
929
  msgid "Everest Forms settings"
930
  msgstr ""
931
 
932
+ #: includes/admin/class-evf-admin-menus.php:202
933
  msgid "Everest Forms status"
934
  msgstr ""
935
 
936
+ #: includes/admin/class-evf-admin-menus.php:202
937
  #: includes/export/class-evf-entry-csv-exporter.php:70
938
  msgid "Status"
939
  msgstr ""
940
 
941
+ #: includes/admin/class-evf-admin-menus.php:209
942
  #: includes/admin/views/html-admin-page-addons.php:15
943
  msgid "Everest Forms Add-ons"
944
  msgstr ""
945
 
946
+ #: includes/admin/class-evf-admin-menus.php:209
947
  msgid "Add-ons"
948
  msgstr ""
949
 
1084
  msgstr ""
1085
 
1086
  #: includes/admin/settings/class-evf-settings-recaptcha.php:41
1087
+ msgid "Google reCAPTCHA Integration"
1088
  msgstr ""
1089
 
1090
  #: includes/admin/settings/class-evf-settings-recaptcha.php:44
3425
  msgid "Searching&hellip;"
3426
  msgstr ""
3427
 
3428
+ #: includes/admin/class-evf-admin-entries-table-list.php:362
3429
  #. translators: %s: count
3430
  msgctxt "entries"
3431
  msgid "All <span class=\"count\">(%s)</span>"
3433
  msgstr[0] ""
3434
  msgstr[1] ""
3435
 
3436
+ #: includes/admin/class-evf-admin-forms-table-list.php:281
3437
  #. translators: %s: count
3438
  msgctxt "posts"
3439
  msgid "All <span class=\"count\">(%s)</span>"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: contact form, form, form builder, contact, custom form
4
  Requires at least: 4.0
5
  Tested up to: 5.2
6
  Requires PHP: 5.4
7
- Stable tag: 1.5.2
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -133,6 +133,10 @@ Yes you can! Join in on our [GitHub repository](https://github.com/wpeverest/eve
133
 
134
  == Changelog ==
135
 
 
 
 
 
136
  = 1.5.2 - 23-07-2019 =
137
  * Fix - Prevent empty search term in forms query.
138
  * Fix - Entries list-table with status query bug.
4
  Requires at least: 4.0
5
  Tested up to: 5.2
6
  Requires PHP: 5.4
7
+ Stable tag: 1.5.3
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
133
 
134
  == Changelog ==
135
 
136
+ = 1.5.3 - 26-07-2019 =
137
+ * Fix - Entry search in trash listing page.
138
+ * Fix - Bulk actions for entries list table.
139
+
140
  = 1.5.2 - 23-07-2019 =
141
  * Fix - Prevent empty search term in forms query.
142
  * Fix - Entries list-table with status query bug.