Files
2026-07-02 15:54:39 -06:00

189 lines
7.6 KiB
PHP

<?php
namespace Gravity_Forms\Gravity_Forms\Config\Items;
use Gravity_Forms\Gravity_Forms\Config\GF_Config_Collection;
use Gravity_Forms\Gravity_Forms\Config\GF_Config;
use Gravity_Forms\Gravity_Forms\Config\GF_Configurator;
/**
* Config items for Admin I18N
*
* @since 2.6
*/
class GF_Config_Admin extends GF_Config {
protected $name = 'gform_admin_config';
protected $script_to_localize = 'gform_gravityforms_admin_vendors';
/**
* Whether we should enqueue this data.
*
* @since 2.6
*
* @return bool|mixed
*/
public function should_enqueue() {
return is_admin();
}
/**
* Config data.
*
* @return array[]
*/
public function data() {
$data = array(
'data' => array(
'is_block_editor' => \GFCommon::is_block_editor_page(),
'gf_page' => \GFForms::get_page(),
),
'i18n' => array(
'form_admin' => array(
'toggle_feed_inactive' => esc_html__( 'Inactive', 'gravityforms' ),
'toggle_feed_active' => esc_html__( 'Active', 'gravityforms' ),
),
'shortcode_ui' => array(
'edit_form' => esc_html__( 'Edit Form', 'gravityforms' ),
'insert_form' => esc_html__( 'Insert Form', 'gravityforms' ),
),
'dialog' => array(
'cancel' => esc_html__( 'Cancel', 'gravityforms' ),
'close' => esc_html__( 'Close', 'gravityforms' ),
'ok' => esc_html__( 'OK', 'gravityforms' ),
),
),
'bulk_actions' => $this->get_bulk_action_config(),
);
$data = $this->add_entry_list_data( $data );
return $data;
}
private function get_bulk_action_config() {
return array(
'nonce' => wp_create_nonce( 'gf_bulk_action' ),
'threshold' => \Gravity_Forms\Gravity_Forms\Bulk_Actions\Endpoints\GF_Bulk_Action_Endpoint_Start::get_background_threshold(),
'backgroundActions' => \Gravity_Forms\Gravity_Forms\Bulk_Actions\Endpoints\GF_Bulk_Action_Endpoint_Start::BACKGROUND_ACTIONS,
'pollInterval' => 1500,
'labels' => array(
'delete' => array(
'title' => esc_html__( 'Bulk Delete', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk delete...', 'gravityforms' ),
'progress' => esc_html__( 'Deleting Gravity Forms entries...', 'gravityforms' ),
'complete' => esc_html__( 'Completed deleting entries!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk delete.', 'gravityforms' ),
),
'trash' => array(
'title' => esc_html__( 'Bulk Trash', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk trash...', 'gravityforms' ),
'progress' => esc_html__( 'Trashing Gravity Forms entries...', 'gravityforms' ),
'complete' => esc_html__( 'Completed moving entries to trash!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk trash.', 'gravityforms' ),
),
'spam' => array(
'title' => esc_html__( 'Bulk Mark as Spam', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk spam marking...', 'gravityforms' ),
'progress' => esc_html__( 'Marking Gravity Forms entries as spam...', 'gravityforms' ),
'complete' => esc_html__( 'Completed marking entries as spam!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk spam.', 'gravityforms' ),
),
'restore' => array(
'title' => esc_html__( 'Bulk Restore', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk restore...', 'gravityforms' ),
'progress' => esc_html__( 'Restoring Gravity Forms entries...', 'gravityforms' ),
'complete' => esc_html__( 'Completed restoring entries!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk restore.', 'gravityforms' ),
),
'unspam' => array(
'title' => esc_html__( 'Bulk Unmark as Spam', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk unspam...', 'gravityforms' ),
'progress' => esc_html__( 'Restoring Gravity Forms entries from spam...', 'gravityforms' ),
'complete' => esc_html__( 'Completed unmarking entries as spam!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk unspam.', 'gravityforms' ),
),
'delete_entries' => array(
'title' => esc_html__( 'Bulk Delete Entries', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk entry deletion...', 'gravityforms' ),
'progress' => esc_html__( 'Deleting Gravity Forms entries...', 'gravityforms' ),
'complete' => esc_html__( 'Completed deleting entries!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk entry deletion.', 'gravityforms' ),
),
'mark_read' => array(
'title' => esc_html__( 'Bulk Mark as Read', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk mark as read...', 'gravityforms' ),
'progress' => esc_html__( 'Marking Gravity Forms entries as read...', 'gravityforms' ),
'complete' => esc_html__( 'Completed marking entries as read!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk mark as read.', 'gravityforms' ),
),
'mark_unread' => array(
'title' => esc_html__( 'Bulk Mark as Unread', 'gravityforms' ),
'starting' => esc_html__( 'Starting bulk mark as unread...', 'gravityforms' ),
'progress' => esc_html__( 'Marking Gravity Forms entries as unread...', 'gravityforms' ),
'complete' => esc_html__( 'Completed marking entries as unread!', 'gravityforms' ),
'error' => esc_html__( 'Error starting bulk mark as unread.', 'gravityforms' ),
),
),
'messages' => array(
'inProgress' => esc_html__( 'Bulk action in progress...', 'gravityforms' ),
'continueInBackground' => esc_html__( 'Continue in Background', 'gravityforms' ),
'cancel' => esc_html__( 'Cancel', 'gravityforms' ),
'cancelling' => esc_html__( 'Cancelling...', 'gravityforms' ),
'operationCancelled' => esc_html__( 'Operation cancelled.', 'gravityforms' ),
'viewDetails' => esc_html__( 'View Details', 'gravityforms' ),
'close' => esc_html__( 'Close', 'gravityforms' ),
'processedCount' => esc_html__( '%1$d of %2$d items processed.', 'gravityforms' ),
'goToPage' => esc_html__( 'Go to %s', 'gravityforms' ),
),
'pageLabels' => array(
'entry_list' => esc_html__( 'Entries', 'gravityforms' ),
'form_list' => esc_html__( 'Forms', 'gravityforms' ),
),
'entryActions' => \Gravity_Forms\Gravity_Forms\Bulk_Actions\Endpoints\GF_Bulk_Action_Endpoint_Start::BACKGROUND_ACTIONS_ENTRY,
'formActions' => \Gravity_Forms\Gravity_Forms\Bulk_Actions\Endpoints\GF_Bulk_Action_Endpoint_Start::BACKGROUND_ACTIONS_FORM,
);
}
private function add_entry_list_data( $data ) {
if ( \GFForms::get_page() !== 'entry_list' ) {
return $data;
}
$form_id = absint( rgget( 'id' ) );
if ( ! $form_id ) {
return $data;
}
$data['form_id'] = $form_id;
$filter = rgget( 'filter' );
$search = rgget( 's' );
$field_id = rgget( 'field_id' ) === 'entry_id' ? 'id' : rgget( 'field_id' );
$operator = rgget( 'operator' );
$search_criteria = array();
if ( $filter === 'trash' || $filter === 'spam' ) {
$search_criteria['status'] = $filter;
} elseif ( $filter === 'star' ) {
$search_criteria['field_filters'][] = array( 'key' => 'is_starred', 'value' => true );
} elseif ( $filter === 'unread' ) {
$search_criteria['field_filters'][] = array( 'key' => 'is_read', 'value' => false );
} else {
$search_criteria['status'] = 'active';
}
if ( $search && $field_id ) {
$search_criteria['field_filters'][] = array(
'key' => $field_id,
'value' => $search,
'operator' => $operator ? $operator : 'contains',
);
}
$data['search_criteria'] = $search_criteria;
return $data;
}
}