/home/vianto5/duettowers.mx/wp-content/plugins/wpforms/src/Pro/Admin/Entries/Export
Edit: /home/vianto5/duettowers.mx/wp-content/plugins/wpforms/src/Pro/Admin/Entries/Export/Admin.php (18238B)
export = $export;
$this->hooks();
}
/**
* Register hooks.
*
* @since 1.5.5
*/
public function hooks() {
add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
add_action( 'wpforms_admin_tools_export_top', [ $this, 'display_entries_export_form' ] );
}
/**
* Output HTML of the Entries export form.
*
* @since 1.5.5
*/
public function display_entries_export_form() {
wp_enqueue_style( 'wpforms-flatpickr' );
wp_enqueue_script( 'wpforms-flatpickr' );
wp_enqueue_script( 'wpforms-tools-entries-export' );
?>
obj( 'addons' )->get_addon( 'entry-automation' ) ) {
return;
}
$dismissed_notices = get_user_meta( get_current_user_id(), 'wpforms_admin_notices', true );
if ( ! empty( $dismissed_notices['wpforms-tools-entries-export-notice'] ) ) {
return;
}
$this->enqueue_script();
$notice = sprintf(
wp_kses( /* translators: %1$s - link to the WPForms.com doc article. */
__( 'If you need to export entries on a regular basis, you can now automate this process.
Learn More', 'wpforms' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/entry-automation-addon/', 'Tools - Export', 'Learn More - Entry Automation Documentation' ) )
);
printf(
'
',
$notice, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
esc_html__( 'Dismiss this notice.', 'wpforms' )
);
}
/**
* Enqueue scripts.
*
* @since 1.9.6.1
*/
private function enqueue_script(): void {
$min = wpforms_get_min_suffix();
wp_enqueue_script(
'wpforms-admin-notices',
WPFORMS_PLUGIN_URL . "assets/js/admin/notices{$min}.js",
[ 'jquery' ],
WPFORMS_VERSION,
true
);
wp_localize_script(
'wpforms-admin-notices',
'wpforms_admin_notices',
[
'ajax_url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'wpforms-admin' ),
]
);
}
/**
* Forms field block HTML.
*
* @since 1.5.5
*/
public function display_form_selection_block() {
// Retrieve available forms.
$forms = wpforms()->obj( 'form' )->get(
'',
[
'orderby' => 'title',
'cap' => 'view_entries_form_single',
]
);
$form_id = $this->export->data['get_args']['form_id'];
if ( ! empty( $forms ) ) {
?>
' . esc_html__( 'You need to have at least one form before you can use entries export.', 'wpforms' ) . '';
}
}
/**
* Display search statuses block HTML.
*
* @since 1.8.5
*/
private function display_search_statuses_block() {
$form_id = $this->export->data['get_args']['form_id'];
$statuses = [];
if ( $form_id ) {
$statuses = $this->get_available_form_entry_statuses( $form_id );
}
$classes = [
'wp-clearfix',
count( $statuses ) > 1 ? '' : 'wpforms-hidden', // Hide if only one status is available.
];
?>
export->data['form_data'];
$fields = $this->export->data['get_args']['fields'];
$form_fields = isset( $form_data['fields'] ) ? $form_data['fields'] : [];
$payment_fields = isset( $form_data['payment_fields'] ) ? $form_data['payment_fields'] : [];
$form_data_fields = $is_payment_fields ? $payment_fields : $form_fields;
if ( empty( $form_data_fields ) ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
printf( '
%s', $this->export->errors['form_empty'] );
return;
}
$this->display_select_all_toggle();
$i = 0;
foreach ( $form_data_fields as $id => $field ) {
if ( in_array( $field['type'], $this->export->configuration['disallowed_fields'], true ) ) {
continue;
}
$name = ! empty( $field['label'] )
? trim( wp_strip_all_tags( $field['label'] ) )
: sprintf( /* translators: %d - field ID. */
esc_html__( 'Field #%d', 'wpforms' ),
(int) $id
);
printf(
'
',
esc_attr( $i . '-' . $id ),
(int) $id,
esc_attr( $this->get_checked_property( $id, $fields ) ),
esc_html( $name )
);
++$i;
}
}
/**
* Additional information block HTML.
*
* @since 1.5.5
*/
public function display_additional_info_block() {
$additional_info = $this->export->data['get_args']['additional_info'];
$additional_info_fields = $this->export->additional_info_fields;
$this->display_select_all_toggle( false );
$i = 0;
foreach ( $additional_info_fields as $slug => $label ) {
if (
$slug === 'pginfo'
&& ! ( class_exists( 'WPForms_Paypal_Standard' ) || class_exists( '\WPFormsStripe\Loader' ) || class_exists( '\WPFormsAuthorizeNet\Loader' ) || class_exists( '\WPFormsSquare\Plugin' ) || class_exists( '\WPFormsPaypalCommerce\Plugin' ) )
) {
continue;
}
printf(
'
',
(int) $i,
esc_attr( $slug ),
esc_attr( $this->get_checked_property( $slug, $additional_info, '' ) ),
esc_html( $label )
);
$i ++;
}
}
/**
* Export options block.
*
* @since 1.6.5
*/
private function display_export_options_block() {
$export_option = $this->export->data['get_args']['export_options'];
$export_options = $this->export->export_options_fields;
if ( empty( $export_options ) ) {
return;
}
echo '
';
}
/**
* Search block HTML.
*
* @since 1.5.5
*/
public function display_search_block() {
$search = $this->export->data['get_args']['search'];
$form_data = $this->export->data['form_data'];
$advanced_options = Helpers::get_search_fields_advanced_options();
$form_fields = $form_data['fields'] ?? [];
$payment_fields = $form_data['payment_fields'] ?? [];
?>
export->get_localized_data()
);
}
/**
* Get checked property according to value and array of values.
* Only for checkboxes.
*
* @since 1.5.5
*
* @param string $val Value.
* @param array $arr Array of values.
* @param string $default Either ' checked' OR ''.
*
* @return string
*/
public function get_checked_property( $val, $arr, $default = ' checked' ) {
$checked = $default !== ' checked' ? '' : $default;
if ( empty( $arr ) || ! is_array( $arr ) ) {
return $checked;
}
$checked = ' checked';
if ( ! in_array( $val, $arr, true ) ) {
$checked = '';
}
return $checked;
}
/**
* Display "Select All" checkbox toggle for a list of options.
*
* @since 1.7.6
*
* @param bool $checked Whether to check the box. Defaults to checked.
*/
private function display_select_all_toggle( $checked = true ) {
printf(
'
',
esc_attr( $checked ? ' checked' : '' ),
esc_html__( 'Select All', 'wpforms' )
);
}
}