PluginProbe
Datafeedr API / 1.4.3
Datafeedr API v1.4.3
1.4.3 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 All 182 releases
datafeedr-api / classes / class-dfrapi-tools.php

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

122 lines 4.8 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
95 add_settings_section( 'test_connection', __( 'Test API Connection', 'datafeedr-api' ), array( &$this, 'section_test_connection_desc' ), $this->page );
96 add_settings_section( 'delete_transient_data', __( 'Delete Cached API Data', 'datafeedr-api' ), array( &$this, 'section_delete_transient_data_desc' ), $this->page );
97 }
98
99 function section_delete_transient_data_desc() { ?>
100 <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>
101 <p><a href="#" id="dfrapi_delete_cached_api_data" class="button"><?php _e("Delete Cached API Data", 'datafeedr-api'); ?></a></p>
102 <div id="dfrapi_delete_cached_api_data_result" style="padding: 10px; border: 1px solid silver; display: none; background: #FFF; color: green;"></div>
103 <hr />
104 <?php
105 }
106
107 function section_test_connection_desc() { ?>
108 <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>
109 <p><a href="#" id="dfrapi_test_api_connection" class="button"><?php _e("Test Connection", 'datafeedr-api'); ?></a></p>
110 <div id="dfrapi_test_api_connection_result" style="padding: 10px; border: 1px solid silver; display: none; background: #FFF;"></div>
111 <hr />
112 <?php
113 }
114
115 function validate( $input ) {
116 return $input;
117 }
118
119 } // class Dfrapi_Tools
120
121 } // class_exists check
122