PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
← All changes | includes/admin/tools/class-settings-data.php +120 -23 2.3.24.16.9 View file →
@@ -20,9 +20,20 @@
20 20 *
21 21 * @sine 1.8
22 22 */
23 23 class Give_Settings_Data extends Give_Settings_Page {
24 + /**
25 + * Migrations list table app container ID
26 + * @since 4.2.0 rename to GIVE_MIGRATIONS_TABLE_APP
27 + * @since 2.10.0
28 + */
29 + const GIVE_MIGRATIONS_TABLE_APP = 'give_migrations_table_app';
24 30
31 + /**
32 + * @since 4.2.0
33 + */
34 + const GIVE_ORPHANED_FORMS_TABLE_APP = 'give_orphaned_forms_app';
35 +
25 36 /**
26 37 * Flag to check if enable saving option for setting page or not
27 38 *
28 39 * @since 1.8.17
@@ -33,17 +44,31 @@
33 44 /**
34 45 * Constructor.
35 46 */
36 47 public function __construct() {
37 - $this->id = 'data';
38 - $this->label = esc_html__( 'Data', 'give' );
48 + $this->id = 'data';
49 + $this->label = esc_html__( 'Data', 'give' );
50 + $this->default_tab = 'database_updates';
39 51
40 52 parent::__construct();
41 53
42 54 // Do not use main form for this tab.
43 - if( give_get_current_setting_tab() === $this->id ) {
44 - add_action( "give-tools_open_form", '__return_empty_string' );
45 - add_action( "give-tools_close_form", '__return_empty_string' );
55 + if ( give_get_current_setting_tab() === $this->id ) {
56 + add_action( 'give-tools_open_form', '__return_empty_string' );
57 + add_action( 'give-tools_close_form', '__return_empty_string' );
58 + /**
59 + * Render migrations container
60 + * @since 2.10.0
61 + */
62 + add_action( 'give_admin_field_' . self::GIVE_MIGRATIONS_TABLE_APP, [$this, 'render_migrations_container'] );
63 + /**
64 + * Render orphaned forms container
65 + * @since 4.2.0
66 + */
67 + if ('enabled' === give_get_option('show_orphaned_forms_table', 'disabled')) {
68 + add_action( 'give_admin_field_' . self::GIVE_ORPHANED_FORMS_TABLE_APP, [$this, 'render_orphaned_forms_container'] );
69 + }
70 +
46 71 }
47 72 }
48 73
49 74 /**
@@ -52,27 +77,58 @@
52 77 * @since 1.8
53 78 * @return array
54 79 */
55 80 public function get_settings() {
56 - // Get settings.
57 - $settings = apply_filters( 'give_settings_data', array(
58 - array(
59 - 'id' => 'give_tools_tools',
60 - 'type' => 'title',
61 - 'table_html' => false
62 - ),
63 - array(
64 - 'id' => 'api',
65 - 'name' => esc_html__( 'Tools', 'give' ),
66 - 'type' => 'data',
67 - ),
68 - array(
69 - 'id' => 'give_tools_tools',
70 - 'type' => 'sectionend',
71 - 'table_html' => false
72 - )
73 - ));
81 + $settings = [];
82 + $current_section = give_get_current_setting_section();
74 83
84 + switch ( $current_section ) {
85 + case 'give_recount_stats':
86 + $settings = apply_filters(
87 + 'give_recount_stats_settings',
88 + [
89 + [
90 + 'id' => 'give_tools_tools',
91 + 'type' => 'title',
92 + 'table_html' => false,
93 + ],
94 + [
95 + 'id' => 'api',
96 + 'name' => esc_html__( 'Tools', 'give' ),
97 + 'type' => 'data',
98 + ],
99 + [
100 + 'id' => 'give_tools_tools',
101 + 'type' => 'sectionend',
102 + 'table_html' => false,
103 + ],
104 + ]
105 + );
106 +
107 + break;
108 +
109 + case 'database_updates':
110 + $settings = [
111 + [
112 + 'id' => self::GIVE_MIGRATIONS_TABLE_APP,
113 + 'type' => self::GIVE_MIGRATIONS_TABLE_APP,
114 + ],
115 + ];
116 +
117 + break;
118 +
119 +
120 + case 'orphaned_forms':
121 + $settings = [
122 + [
123 + 'id' => self::GIVE_ORPHANED_FORMS_TABLE_APP,
124 + 'type' => self::GIVE_ORPHANED_FORMS_TABLE_APP,
125 + ],
126 + ];
127 +
128 + break;
129 + }
130 +
75 131 /**
76 132 * Filter the settings.
77 133 *
78 134 * @since 1.8
@@ -82,8 +138,49 @@
82 138
83 139 // Output.
84 140 return $settings;
85 141 }
142 +
143 + /**
144 + * Get sections.
145 + *
146 + * @return array
147 + *
148 + * @since 2.10.0
149 + */
150 + public function get_sections() {
151 + $sections = [
152 + 'database_updates' => __( 'Database updates', 'give' ),
153 + 'give_recount_stats' => __( 'Recount stats', 'give' ),
154 + ];
155 +
156 + if ('enabled' === give_get_option('show_orphaned_forms_table', 'disabled')) {
157 + $sections['orphaned_forms'] = __( 'Orphaned donation forms', 'give' );
158 + }
159 +
160 + $sections = apply_filters( 'give_data_views', $sections );
161 +
162 + return apply_filters( 'give_get_sections_' . $this->id, $sections );
163 + }
164 +
165 + /**
166 + * Render Migrations list table app container
167 + *
168 + * @since 4.2.0 renamed to render_migrations_container
169 + * @since 2.10.0
170 + */
171 + public function render_migrations_container() {
172 + printf( '<div id="%s" style="padding-top: 20px"></div>', self::GIVE_MIGRATIONS_TABLE_APP );
173 + }
174 +
175 + /**
176 + * Render orphaned forms container
177 + *
178 + * @since 4.2.0
179 + */
180 + public function render_orphaned_forms_container() {
181 + printf( '<div id="%s" style="padding-top: 20px"></div>', self::GIVE_ORPHANED_FORMS_TABLE_APP );
182 + }
86 183 }
87 184
88 185 endif;
89 186