PluginProbe
Datafeedr API / 1.4.0
Datafeedr API v1.4.0
1.4.2 1.0.125 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.3 1.0.30 1.0.31 1.0.32 1.0.33 All 181 releases
datafeedr-api / classes / class-dfrapi-tools.php

class-dfrapi-tools.php in Datafeedr API 1.4.0, at classes/class-dfrapi-tools.php

123 lines 4.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
5 if ( ! class_exists( 'Dfrapi_Tools' ) ) {
6
7 /**
8 * Configuration page.
9 */
10 class Dfrapi_Tools {
11
12 private $page = 'dfrapi-tools';
13 private $key;
14
15 public function __construct() {
16 $this->key = 'dfrapi_tools';
17 add_action( 'admin_init', array( &$this, 'register_settings' ) );
18 add_action( 'admin_menu', array( $this, 'admin_menu' ), 40 );
19 add_action( 'admin_notices', array( $this, 'admin_notice' ) );
20 }
21
22 function admin_menu() {
23 add_submenu_page(
24 'dfrapi',
25 __( 'Tools &#8212; Datafeedr API', 'datafeedr-api' ),
26 __( 'Tools', 'datafeedr-api' ),
27 'manage_options',
28 $this->key,
29 array( $this, 'output' )
30 );
31 }
32
33 function admin_notice() {
34 if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true && isset( $_GET['page'] ) && $this->key == $_GET['page'] ) {
35 dfrapi_admin_notice( __( 'Updated!', 'datafeedr-api' ), 'success' );
36 }
37 }
38
39 function output() {
40 echo '<div class="wrap" id="' . $this->key . '">';
41 echo '<h2>' . dfrapi_setting_pages( $this->page ) . ' &#8212; Datafeedr API</h2>';
42 ?>
43
44 <script>
45 jQuery(function($) {
46
47 $('#dfrapi_delete_cached_api_data').on('click',function(e) {
48 $("#dfrapi_delete_cached_api_data_result").hide();
49 $("#dfrapi_delete_cached_api_data").text('<?php _e("Deleting...", 'datafeedr-api'); ?>').addClass('button-disabled');
50 $.ajax({
51 type: "POST",
52 url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
53 data: {
54 action: "dfrapi_delete_cached_api_data",
55 dfrapi_security: "<?php echo wp_create_nonce( 'dfrapi_ajax_nonce' ); ?>"
56 }
57 }).done(function(html) {
58 $("#dfrapi_delete_cached_api_data").text('<?php _e("Delete Cached API Data", 'datafeedr-api'); ?>').removeClass('button-disabled');
59 $("#dfrapi_delete_cached_api_data_result").show().html(html);
60
61 });
62 e.preventDefault();
63 }); // $('#dfrapi_delete_cached_api_data').on('click',function(e) {
64
65 $('#dfrapi_test_api_connection').on('click',function(e) {
66 $("#dfrapi_test_api_connection_result").hide();
67 $("#dfrapi_test_api_connection").text('<?php _e("Testing...", 'datafeedr-api'); ?>').addClass('button-disabled');
68 $.ajax({
69 type: "POST",
70 url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
71 data: {
72 action: "dfrapi_test_api_connection",
73 dfrapi_security: "<?php echo wp_create_nonce( 'dfrapi_ajax_nonce' ); ?>"
74 }
75 }).done(function(html) {
76 $("#dfrapi_test_api_connection").text('<?php _e("Test Connection", 'datafeedr-api'); ?>').removeClass('button-disabled');
77 $("#dfrapi_test_api_connection_result").show().html(html);
78
79 });
80 e.preventDefault();
81 }); // $('#dfrapi_delete_cached_api_data').on('click',function(e) {
82
83 }); // jQuery(function($) {
84 </script>
85
86 <?php
87
88 settings_fields( $this->page );
89 do_settings_sections( $this->page);
90 echo '</div>';
91 }
92
93 function register_settings() {
94 register_setting( $this->page, $this->key, array( $this, 'validate' ) );
95
96 add_settings_section( 'test_connection', __( 'Test API Connection', 'datafeedr-api' ), array( &$this, 'section_test_connection_desc' ), $this->page );
97 add_settings_section( 'delete_transient_data', __( 'Delete Cached API Data', 'datafeedr-api' ), array( &$this, 'section_delete_transient_data_desc' ), $this->page );
98 }
99
100 function section_delete_transient_data_desc() { ?>
101 <p><?php _e( 'Deleting cached data will not affect your store, however, it will require multiple API requests in order to re-build the data. Typically, you only delete cached data when Datafeedr Support instructs you to do so.', 'datafeedr-api' ); ?></p>
102 <p><a href="#" id="dfrapi_delete_cached_api_data" class="button"><?php _e("Delete Cached API Data", 'datafeedr-api'); ?></a></p>
103 <div id="dfrapi_delete_cached_api_data_result" style="padding: 10px; border: 1px solid silver; display: none; background: #FFF; color: green;"></div>
104 <hr />
105 <?php
106 }
107
108 function section_test_connection_desc() { ?>
109 <p><?php _e( 'Test your web server\'s connection to the Datafeedr API servers. This will not count against your overall API request count.', 'datafeedr-api' ); ?></p>
110 <p><a href="#" id="dfrapi_test_api_connection" class="button"><?php _e("Test Connection", 'datafeedr-api'); ?></a></p>
111 <div id="dfrapi_test_api_connection_result" style="padding: 10px; border: 1px solid silver; display: none; background: #FFF;"></div>
112 <hr />
113 <?php
114 }
115
116 function validate( $input ) {
117 return $input;
118 }
119
120 } // class Dfrapi_Tools
121
122 } // class_exists check
123