PluginProbe
Related Posts By PickPlugins / trunk
Related Posts By PickPlugins vtrunk
trunk 1.0 1.1 1.2 2.0.0 2.0.1 2.0.10 2.0.11 2.0.14 2.0.16 2.0.17 2.0.18 2.0.19 2.0.2 2.0.20 2.0.21 2.0.22 2.0.23 2.0.24 2.0.25 2.0.26 2.0.27 2.0.28 2.0.29 2.0.30 All 60 releases
related-post / includes / class-data-upgrade.php

class-data-upgrade.php in Related Posts By PickPlugins trunk, at includes/class-data-upgrade.php

248 lines 13.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (! defined('ABSPATH')) exit; // if direct access
3
4 class class_related_post_data_upgrade
5 {
6
7 public function __construct()
8 {
9
10 add_action('admin_notices', array($this, 'admin_notices_data_update'));
11 add_action('admin_menu', array($this, 'related_post_menu_data_upgrade'), 12);
12 }
13
14 public function admin_notices_data_update()
15 {
16
17 //delete_option('related_post_info');
18
19 $related_post_settings = get_option('related_post_settings');
20
21 $related_post_info = get_option('related_post_info');
22 $data_update_status = isset($related_post_info['data_update_status']) ? $related_post_info['data_update_status'] : '';
23
24 $admin_url = get_admin_url();
25
26 $url = wp_nonce_url($admin_url . 'admin.php?page=related_post_data_upgrade', 'related_post_data_upgrade', '_wpnonce');
27
28 ob_start();
29
30 if (!empty($related_post_settings) && !empty($data_update_status) && $data_update_status != 'success'):
31 ?>
32 <div class="update-nag">
33 <?php
34
35 echo sprintf(
36 wp_kses_post(
37 /* translators: plugin name */
38 __('Data update required for <b>%1$s &raquo; <a href="%2$s">Update</a></b>', 'related-post')
39 ),
40 esc_html(related_post_plugin_name),
41 esc_url($url)
42 );
43 ?>
44 </div>
45 <?php
46 endif;
47
48
49 $output = ob_get_clean();
50
51 echo wp_kses_post(
52 $output
53 );
54 }
55
56 public function related_post_menu_data_upgrade()
57 {
58 $related_post_info = get_option('related_post_info');
59 $data_update_status = isset($related_post_info['data_update_status']) ? $related_post_info['data_update_status'] : '';
60
61 if (!empty($related_post_settings) && $data_update_status != 'success'):
62 add_submenu_page('related_post_settings', __('Data upgrade', 'related-post'), __('Data upgrade', 'related-post'), 'manage_options', 'related_post_data_upgrade', array($this, 'data_update_process'));
63 endif;
64 }
65
66 public function data_update_process()
67 {
68
69 $nonce = isset($_GET['_wpnonce']) ? sanitize_text_field(wp_unslash($_GET['_wpnonce'])) : '';
70 $related_post_info = get_option('related_post_info');
71 ?>
72 <div class="wrap">
73 <h2><?php
74
75 echo esc_html(
76 sprintf(
77 /* translators: plugin name */
78 __('%s Data Upgrade', 'related-post'),
79 esc_html(related_post_plugin_name)
80 )
81 );
82
83 ?>
84 </h2>
85
86 <?php
87
88 if (wp_verify_nonce($nonce, 'related_post_data_upgrade') || current_user_can('manage_options')) {
89
90 $this->settings_update();
91
92 ?>
93
94 <p><?php esc_html_e("Data update done.", "related-post"); ?></p>
95
96 <?php
97
98 $related_post_info['data_update_status'] = 'success';
99 update_option('related_post_info', $related_post_info);
100 } else {
101 ?>
102 <p><?php esc_html_e("Sorry you don't have access to this page.", "related-post"); ?></p>
103 <?php
104
105 $related_post_info['data_update_status'] = 'pending';
106 }
107
108 ?>
109 </div>
110 <?php
111
112
113
114
115 }
116
117
118
119
120 public function settings_update()
121 {
122
123 //delete_option('related_post_settings');
124
125 $related_post_settings = get_option('related_post_settings');
126
127 $related_post_settings_new = array();
128
129 $display_auto = isset($related_post_settings['display_auto']) ? $related_post_settings['display_auto'] : 'yes';
130 $related_post_settings_new['display_auto'] = $display_auto;
131
132
133 $post_types = isset($related_post_settings['post_types']) ? $related_post_settings['post_types'] : array('post' => 'post');
134
135 $post_types_list = array();
136
137 if (!empty($post_types))
138 foreach ($post_types as $post_typeIndex => $post_type) {
139 $post_types_list[] = $post_typeIndex;
140 }
141 $related_post_settings_new['post_types'] = $post_types_list;
142
143 $orderby = isset($related_post_settings['orderby']) ? $related_post_settings['orderby'] : array('post__in');
144 $related_post_settings_new['orderby'] = $orderby;
145
146 $order = isset($related_post_settings['order']) ? $related_post_settings['order'] : 'DESC';
147 $related_post_settings_new['order'] = $order;
148
149 $max_post_count = isset($related_post_settings['max_post_count']) ? $related_post_settings['max_post_count'] : '4';
150 $related_post_settings_new['max_post_count'] = $max_post_count;
151
152 $headline_text = isset($related_post_settings['headline_text']) ? $related_post_settings['headline_text'] : __('Related Posts', 'related-post');
153 $related_post_settings_new['headline_text'] = $headline_text;
154
155 $layout_type = isset($related_post_settings['layout_type']) ? $related_post_settings['layout_type'] : 'grid';
156 $related_post_settings_new['layout_type'] = $layout_type;
157
158
159 $grid_item_width = isset($related_post_settings['grid_item_width']) ? $related_post_settings['grid_item_width'] : '45%';
160
161 $related_post_settings_new['item_width']['large'] = $grid_item_width;
162 $related_post_settings_new['item_width']['medium'] = '90%';
163 $related_post_settings_new['item_width']['small'] = '90%';
164
165 $grid_item_margin = isset($related_post_settings['grid_item_margin']) ? $related_post_settings['grid_item_margin'] : '10px';
166 $related_post_settings_new['grid_item_margin'] = $grid_item_margin;
167
168 $grid_item_padding = isset($related_post_settings['grid_item_padding']) ? $related_post_settings['grid_item_padding'] : '0px';
169 $related_post_settings_new['grid_item_padding'] = $grid_item_padding;
170
171 $grid_item_align = isset($related_post_settings['grid_item_align']) ? $related_post_settings['grid_item_align'] : 'left';
172 $related_post_settings_new['grid_item_align'] = $grid_item_align;
173
174
175 $slider = isset($related_post_settings['slider']) ? $related_post_settings['slider'] : array();
176
177 $related_post_settings_new['slider']['column_desktop'] = isset($slider['column_desktop']) ? $slider['column_desktop'] : '3';
178 $related_post_settings_new['slider']['column_tablet'] = isset($slider['column_tablet']) ? $slider['column_tablet'] : '2';
179 $related_post_settings_new['slider']['column_mobile'] = isset($slider['column_mobile']) ? $slider['column_mobile'] : '1';
180 $related_post_settings_new['slider']['slide_speed'] = isset($slider['slide_speed']) ? $slider['slide_speed'] : '1000';
181 $related_post_settings_new['slider']['pagination_speed'] = isset($slider['pagination_speed']) ? $slider['pagination_speed'] : '1200';
182 $related_post_settings_new['slider']['auto_play'] = isset($slider['auto_play']) ? $slider['auto_play'] : 'true';
183 $related_post_settings_new['slider']['rewind'] = isset($slider['rewind']) ? $slider['rewind'] : 'true';
184 $related_post_settings_new['slider']['loop'] = isset($slider['loop']) ? $slider['loop'] : 'true';
185 $related_post_settings_new['slider']['center'] = isset($slider['center']) ? $slider['center'] : 'false';
186 $related_post_settings_new['slider']['stop_on_hover'] = isset($slider['stop_on_hover']) ? $slider['stop_on_hover'] : 'true';
187 $related_post_settings_new['slider']['navigation'] = isset($slider['navigation']) ? $slider['navigation'] : 'true';
188 $related_post_settings_new['slider']['navigation_position'] = isset($slider['navigation_position']) ? $slider['navigation_position'] : '';
189 $related_post_settings_new['slider']['pagination'] = isset($slider['pagination']) ? $slider['pagination'] : 'true';
190 $related_post_settings_new['slider']['pagination_count'] = isset($slider['pagination_count']) ? $slider['pagination_count'] : 'false';
191 $related_post_settings_new['slider']['rtl'] = isset($slider['rtl']) ? $slider['rtl'] : 'false';
192
193 $enable_stats = isset($related_post_settings['enable_stats']) ? $related_post_settings['enable_stats'] : 'enable';
194 $related_post_settings_new['enable_stats'] = $enable_stats;
195
196
197 $layout_items = isset($related_post_settings['layout_items']) ? $related_post_settings['layout_items'] : array();
198
199 $related_post_settings_new['elements']['post_thumb']['hide'] = isset($layout_items['thumbnail']['options']['hide']) ? $layout_items['thumbnail']['options']['hide'] : 'no';
200 $related_post_settings_new['elements']['post_thumb']['thumb_size'] = isset($layout_items['thumbnail']['options']['thumb_size']) ? $layout_items['thumbnail']['options']['thumb_size'] : 'full';
201 $related_post_settings_new['elements']['post_thumb']['default_img'] = isset($layout_items['thumbnail']['options']['default_img']) ? $layout_items['thumbnail']['options']['default_img'] : '';
202 $related_post_settings_new['elements']['post_thumb']['max_height'] = isset($layout_items['thumbnail']['options']['max_height']) ? $layout_items['thumbnail']['options']['max_height'] : '200px';
203 $related_post_settings_new['elements']['post_thumb']['margin'] = isset($layout_items['thumbnail']['options']['margin']) ? $layout_items['thumbnail']['options']['margin'] : '0px';
204 $related_post_settings_new['elements']['post_thumb']['padding'] = isset($layout_items['thumbnail']['options']['padding']) ? $layout_items['thumbnail']['options']['padding'] : '5px';
205 $related_post_settings_new['elements']['post_thumb']['custom_css'] = isset($layout_items['thumbnail']['options']['custom_css']) ? $layout_items['thumbnail']['options']['custom_css'] : '';
206 $related_post_settings_new['elements']['post_thumb']['after_html'] = isset($layout_items['thumbnail']['options']['custom_css']) ? $layout_items['thumbnail']['options']['after_html'] : '';
207
208
209 $related_post_settings_new['elements']['post_title']['hide'] = isset($layout_items['title']['options']['hide']) ? $layout_items['title']['options']['hide'] : 'no';
210 $related_post_settings_new['elements']['post_title']['font_size'] = isset($layout_items['title']['options']['font_size']) ? $layout_items['title']['options']['font_size'] : '14px';
211 $related_post_settings_new['elements']['post_title']['font_color'] = isset($layout_items['title']['options']['font_color']) ? $layout_items['title']['options']['font_color'] : '#999999';
212 $related_post_settings_new['elements']['post_title']['line_height'] = isset($layout_items['title']['options']['line_height']) ? $layout_items['title']['options']['line_height'] : '';
213 $related_post_settings_new['elements']['post_title']['margin'] = isset($layout_items['title']['options']['margin']) ? $layout_items['title']['options']['margin'] : '0px';
214 $related_post_settings_new['elements']['post_title']['padding'] = isset($layout_items['title']['options']['padding']) ? $layout_items['title']['options']['padding'] : '5px';
215 $related_post_settings_new['elements']['post_title']['custom_css'] = isset($layout_items['title']['options']['custom_css']) ? $layout_items['title']['options']['custom_css'] : '';
216 $related_post_settings_new['elements']['post_title']['after_html'] = isset($layout_items['title']['options']['custom_css']) ? $layout_items['title']['options']['after_html'] : '';
217 $related_post_settings_new['elements']['post_title']['icon'] = '';
218 $related_post_settings_new['elements']['post_title']['icon_font_size'] = '';
219
220
221
222
223 $related_post_settings_new['elements']['post_excerpt']['hide'] = isset($layout_items['excerpt']['options']['hide']) ? $layout_items['excerpt']['options']['hide'] : 'no';
224 $related_post_settings_new['elements']['post_excerpt']['font_size'] = isset($layout_items['excerpt']['options']['font_size']) ? $layout_items['excerpt']['options']['font_size'] : '14px';
225 $related_post_settings_new['elements']['post_excerpt']['font_color'] = isset($layout_items['excerpt']['options']['font_color']) ? $layout_items['excerpt']['options']['font_color'] : '#999999';
226 $related_post_settings_new['elements']['post_excerpt']['line_height'] = isset($layout_items['excerpt']['options']['line_height']) ? $layout_items['excerpt']['options']['line_height'] : '';
227 $related_post_settings_new['elements']['post_excerpt']['word_count'] = isset($layout_items['excerpt']['options']['word_count']) ? $layout_items['excerpt']['options']['word_count'] : '20';
228 $related_post_settings_new['elements']['post_excerpt']['read_more_text'] = isset($layout_items['excerpt']['options']['read_more_text']) ? $layout_items['excerpt']['options']['read_more_text'] : 'Read more';
229 $related_post_settings_new['elements']['post_excerpt']['margin'] = isset($layout_items['excerpt']['options']['margin']) ? $layout_items['excerpt']['options']['margin'] : '0px';
230 $related_post_settings_new['elements']['post_excerpt']['padding'] = isset($layout_items['excerpt']['options']['padding']) ? $layout_items['excerpt']['options']['padding'] : '5px';
231 $related_post_settings_new['elements']['post_excerpt']['custom_css'] = isset($layout_items['excerpt']['options']['custom_css']) ? $layout_items['excerpt']['options']['custom_css'] : '';
232 $related_post_settings_new['elements']['post_excerpt']['after_html'] = isset($layout_items['excerpt']['options']['custom_css']) ? $layout_items['excerpt']['options']['after_html'] : '';
233
234
235 $related_post_settings_new['content_positions'] = array('after');
236 $related_post_settings_new['excerpt_positions'] = array('after');
237
238 $related_post_settings_new['paragraph_positions'] = '';
239
240
241
242
243 update_option('related_post_settings', $related_post_settings_new);
244 }
245 }
246
247 new class_related_post_data_upgrade();
248