title = __( 'Tools', 'advanced-dynamic-pricing-for-woocommerce' ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) ); } protected function is_assoc( $arr ) { return array_keys( $arr ) !== range( 0, count( $arr ) - 1 ); } public function action() { if ( isset( $_POST['wdp-import'] ) && ! empty( $_POST['wdp-import-data'] ) ) { $data = json_decode( $_POST['wdp-import-data'], true ); if ( empty( $data ) ) { $data = json_decode( str_replace( '\"', '"', $_POST['wdp-import-data'] ), 1 ); } $this->action_groups( $data ); wp_redirect( $_SERVER['HTTP_REFERER'] ); } } public function render() { $this->prepare_export_groups(); $groups = $this->groups; $this->render_template( WC_ADP_PLUGIN_PATH . 'views/tabs/tools.php', compact( 'groups' ) ); } protected function action_groups( $data ) { $this->action_options_group( $data ); } protected function action_options_group( $data ) { if ( $this->is_assoc( $data ) && $data ) { WDP_Helpers::set_settings( filter_var_array( $data, WDP_Helpers::get_validate_filters() ) ); return true; } return false; } protected function prepare_export_groups() { $this->prepare_options_group(); } protected function prepare_options_group(){ $options = WDP_Helpers::get_settings(); $options_group = array( 'label' => __( 'Options', 'advanced-dynamic-pricing-for-woocommerce' ), 'data' => $options, ); $this->groups['options'] = array( 'label' => __( 'Options', 'advanced-dynamic-pricing-for-woocommerce' ), 'items' => array( 'options' => $options_group ), ); } public function admin_enqueue_scripts() { $is_settings_page = isset( $_GET['page'] ) && $_GET['page'] == 'wdp_settings'; // Load backend assets conditionally if ( ! $is_settings_page ) { return; } wp_enqueue_script( 'wdp-tools', WC_ADP_PLUGIN_URL . '/assets/js/tools.js', array(), WC_ADP_VERSION, true ); } }