PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.49
E2Pdf – Export Pdf Tool for WordPress v1.32.49
1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 1.06.02 1.07.11 1.08.00 1.08.06 All 72 releases
← All changes | classes/controller/e2pdf-settings.php +299 -218 1.04.071.32.49 View file →
@@ -1,11 +1,10 @@
1 1 <?php
2 2
3 3 /**
4 4 * E2pdf Settings Controller
5 - *
6 5 * @copyright Copyright 2017 https://e2pdf.com
7 - * @license GPL v2
6 + * @license GPLv3
8 7 * @version 1
9 8 * @link https://e2pdf.com
10 9 * @since 0.00.01
11 10 */
@@ -18,226 +17,356 @@
18 17 /**
19 18 * @url admin.php?page=e2pdf-settings
20 19 */
21 20 public function index_action() {
22 - if ($this->post->get()) {
23 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
24 - $options = Model_E2pdf_Options::get_options(false, array('common_group'));
25 - foreach ($options as $group_key => $group) {
26 - foreach ($group['options'] as $option_key => $option_value) {
27 - if (array_key_exists($option_value['key'], $this->post->get())) {
28 - update_option($option_value['key'], $this->post->get($option_value['key']));
29 - }
21 + if ($this->post->get('_wpnonce')) {
22 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
23 + $reload = false;
24 + if (
25 + get_option('e2pdf_debug', '0') != $this->post->get('e2pdf_debug') ||
26 + get_option('e2pdf_recovery_mode_email', '') != $this->post->get('e2pdf_recovery_mode_email') ||
27 + ($this->post->get('e2pdf_debug') && get_option('e2pdf_memory_time', '0') != $this->post->get('e2pdf_debug'))
28 + ) {
29 + $reload = true;
30 30 }
31 - }
32 - $this->add_notification('update', __('Settings saved', 'e2pdf'));
33 - }
34 31
35 - $options = Model_E2pdf_Options::get_options(false, array('common_group'));
36 - $groups = $this->get_groups();
32 + $check_update = false;
33 + if (get_option('e2pdf_dev_update', '0') != $this->post->get('e2pdf_dev_update')) {
34 + $check_update = true;
35 + }
37 36
38 - $this->view('options', $options);
39 - $this->view('groups', $groups);
40 - }
37 + if ($this->post->get('e2pdf_api') && $this->post->get('e2pdf_api') != get_option('e2pdf_api', 'api.e2pdf.com')) {
38 + update_option('e2pdf_cached_fonts', array());
39 + }
41 40
42 - /**
43 - * @url admin.php?page=e2pdf-settings&action=fonts
44 - */
45 - public function fonts_action() {
41 + if (get_option('e2pdf_user_email', '') != $this->post->get('e2pdf_user_email')) {
42 + $model_e2pdf_api = new Model_E2pdf_Api();
43 + $model_e2pdf_api->set(
44 + array(
45 + 'action' => 'common/owner',
46 + 'data' => array(
47 + 'email' => trim($this->post->get('e2pdf_user_email')),
48 + ),
49 + )
50 + );
51 + $request = $model_e2pdf_api->request();
46 52
47 - $model_e2pdf_font = new Model_E2pdf_Font();
48 - $groups = $this->get_groups();
53 + if (isset($request['error'])) {
54 + if ($request['error'] === 'incorrect_email') {
55 + $request['error'] = sprintf(__('An account with that E-mail address was not found at E2Pdf.com. You can register at %s', 'e2pdf'), 'https://e2pdf.com/register');
56 + }
57 + $this->post->set('e2pdf_user_email', get_option('e2pdf_user_email', ''));
58 + $this->add_notification('error', $request['error']);
59 + }
60 + }
49 61
50 - if ($this->post->get()) {
51 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
62 + if (get_option('e2pdf_cache', '1') !== $this->post->get('e2pdf_cache')) {
63 + $this->helper->load('cache')->purge_objects_cache();
64 + }
52 65
53 - $allowed_ext = array(
54 - 'ttf'
55 - );
66 + if (get_option('e2pdf_cache_fonts', '1') !== $this->post->get('e2pdf_cache_fonts')) {
67 + $this->helper->load('cache')->purge_fonts_cache();
68 + }
56 69
57 - $font = $this->files->get('font');
70 + if (get_option('e2pdf_cache_pdfs', '0') !== $this->post->get('e2pdf_cache_pdfs')) {
71 + $this->helper->load('cache')->purge_pdfs_cache();
72 + }
58 73
59 - $name = $font['name'];
60 - $tmp = $font['tmp_name'];
74 + Model_E2pdf_Options::update_options('common_group', $this->post->get());
75 + $this->add_notification('update', __('Settings Saved', 'e2pdf'));
61 76
77 + if ($this->post->get('e2pdf_cache_pdfs')) {
78 + if (!wp_next_scheduled('e2pdf_cache_pdfs_cron')) {
79 + wp_schedule_event(time(), 'hourly', 'e2pdf_cache_pdfs_cron');
80 + }
81 + } else {
82 + wp_clear_scheduled_hook('e2pdf_cache_pdfs_cron');
83 + $this->helper->load('cache')->purge_pdfs_cache();
84 + }
62 85
63 - $filename = pathinfo($name, PATHINFO_FILENAME);
64 - $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION));
65 - $name = $filename . "." . $ext;
86 + if ($check_update) {
87 + delete_site_transient('update_plugins');
88 + }
89 + if ($reload) {
90 + $this->redirect($this->helper->get_url(array('page' => 'e2pdf-settings')));
91 + }
92 + } else {
93 + wp_die($this->message('wp_verify_nonce_error'));
94 + }
95 + }
66 96
67 - $fonts = $model_e2pdf_font->get_fonts();
97 + $this->view('options', Model_E2pdf_Options::get_options(false, array('common_group')));
98 + $this->view('groups', $this->get_groups());
99 + }
68 100
69 - $font_info = false;
70 - $exist = false;
71 -
72 - if (in_array($ext, $allowed_ext)) {
73 - $font_info = $model_e2pdf_font->get_font_info(false, 4, $tmp);
74 - if ($font_info) {
75 - $exist = array_search($font_info, $fonts);
101 + /**
102 + * @url admin.php?page=e2pdf-settings&action=maintenance
103 + */
104 + public function maintenance_action() {
105 + global $wpdb;
106 + if ($this->post->get('_wpnonce')) {
107 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
108 + if ($this->post->get('e2pdf_purge_objects_cache')) {
109 + $this->helper->load('cache')->purge_objects_cache();
110 + $this->redirect(
111 + $this->helper->get_url(
112 + [
113 + 'page' => 'e2pdf-settings',
114 + 'action' => 'maintenance',
115 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
116 + ]
117 + )
118 + );
119 + } elseif ($this->post->get('e2pdf_purge_fonts_cache')) {
120 + $this->helper->load('cache')->purge_fonts_cache();
121 + $this->redirect(
122 + $this->helper->get_url(
123 + [
124 + 'page' => 'e2pdf-settings',
125 + 'action' => 'maintenance',
126 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
127 + ]
128 + )
129 + );
130 + } elseif ($this->post->get('e2pdf_purge_pdfs_cache')) {
131 + $this->helper->load('cache')->purge_pdfs_cache();
132 + $this->redirect(
133 + $this->helper->get_url(
134 + [
135 + 'page' => 'e2pdf-settings',
136 + 'action' => 'maintenance',
137 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
138 + ]
139 + )
140 + );
141 + } elseif ($this->post->get('e2pdf_purge_cache')) {
142 + $this->helper->load('cache')->purge_cache();
143 + $this->redirect(
144 + $this->helper->get_url(
145 + [
146 + 'page' => 'e2pdf-settings',
147 + 'action' => 'maintenance',
148 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
149 + ]
150 + )
151 + );
152 + } elseif ($this->post->get('e2pdf_db_optimize')) {
153 + $db_prefix = $wpdb->prefix;
154 + $this->helper->load('db')->db_optimize($db_prefix);
155 + $this->redirect(
156 + $this->helper->get_url(
157 + [
158 + 'page' => 'e2pdf-settings',
159 + 'action' => 'maintenance',
160 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
161 + ]
162 + )
163 + );
164 + } elseif ($this->post->get('e2pdf_recovery_mode_limit')) {
165 + delete_option('recovery_mode_email_last_sent');
166 + $this->redirect(
167 + $this->helper->get_url(
168 + [
169 + 'page' => 'e2pdf-settings',
170 + 'action' => 'maintenance',
171 + 'notification' => $this->add_notification('update', __('Success', 'e2pdf')),
172 + ]
173 + )
174 + );
76 175 }
176 + } else {
177 + wp_die($this->message('wp_verify_nonce_error'));
77 178 }
78 -
79 - if (!$tmp) {
80 - $this->add_notification('error', __('Please choose font to upload', 'e2pdf'));
81 - } else if ($font['error']) {
82 - $this->add_notification('error', $font['error']);
83 - } elseif (!in_array($ext, $allowed_ext)) {
84 - $this->add_notification('error', __('Incorrect file extension', 'e2pdf'));
85 - } elseif (!$font_info) {
86 - $this->add_notification('error', __('Incompatible type', 'e2pdf'));
87 - } elseif (array_key_exists($name, $fonts)) {
88 - $this->add_notification('error', __('Font with this filename already exists', 'e2pdf'));
89 - } elseif ($exist) {
90 - $this->add_notification('error', __('Font with this name already exists', 'e2pdf'));
91 - } elseif (move_uploaded_file($font['tmp_name'], $this->helper->get('fonts_dir') . $name)) {
92 - $this->add_notification('update', __('Font uploaded successfully', 'e2pdf'));
93 - }
94 179 }
95 180
96 - $fonts = $model_e2pdf_font->get_fonts();
97 -
98 - $this->view('fonts', $fonts);
99 - $this->view('groups', $groups);
181 + $this->view('groups', $this->get_groups());
100 182 }
101 183
102 184 /**
103 - * @url admin.php?page=e2pdf-settings&action=adobesign
185 + * @url admin.php?page=e2pdf-settings&action=fonts
104 186 */
105 - public function adobesign_action() {
187 + public function fonts_action() {
188 + $model_e2pdf_font = new Model_E2pdf_Font();
189 + if ($this->post->get('_wpnonce')) {
106 190
107 - if ($this->post->get()) {
191 + if (!wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
192 + wp_die($this->message('wp_verify_nonce_error'));
193 + }
108 194
109 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
110 - $options = Model_E2pdf_Options::get_options(false, array('adobesign_group'));
111 -
112 - foreach ($options as $group_key => $group) {
113 - foreach ($group['options'] as $option_key => $option_value) {
114 - if (array_key_exists($option_value['key'], $this->post->get())) {
115 - update_option($option_value['key'], $this->post->get($option_value['key']));
195 + $file = $this->helper->load('files')->upload($this->files->get('font'), $model_e2pdf_font->get_allowed_extensions());
196 + if (isset($file['error'])) {
197 + $this->add_notification('error', $file['error']);
198 + } else {
199 + $font_name = false;
200 + $exist = false;
201 + $fonts = $model_e2pdf_font->get_fonts();
202 + $font_name = $model_e2pdf_font->get_font_info(false, 4, $file['tmp_name']);
203 + $name = pathinfo($file['name'], PATHINFO_FILENAME) . '.' . $file['ext'];
204 + if ($font_name) {
205 + $exist = array_search($font_name, $fonts);
206 + }
207 + if (!$font_name) {
208 + $this->add_notification('error', __('Invalid Type', 'e2pdf'));
209 + } elseif (array_key_exists($name, $fonts) || $exist) {
210 + $this->add_notification('error', __('A Font with this name already exists', 'e2pdf'));
211 + } else {
212 + if (!move_uploaded_file($file['tmp_name'], $this->helper->get('fonts_dir') . $name)) {
213 + $this->add_notification('error', __('Failed to move uploaded file', 'e2pdf'));
214 + } else {
215 + $this->add_notification('update', __('Font Uploaded', 'e2pdf'));
116 216 }
117 217 }
118 218 }
219 + }
119 220
120 - $model_e2pdf_adobesign = new Model_E2pdf_AdobeSign();
121 - $request = $model_e2pdf_adobesign->request_code();
221 + $fonts = $model_e2pdf_font->get_fonts();
122 222
123 - if (isset($request['error'])) {
124 - $this->add_notification('error', $request['error']);
125 - } elseif (isset($request['redirect'])) {
126 - $this->redirect($request['redirect']);
127 - } else {
128 - $this->add_notification('update', __('Settings saved', 'e2pdf'));
129 - }
130 - } elseif ($this->get->get('code') && $this->get->get('api_access_point')) {
131 - update_option('e2pdf_adobesign_code', $this->get->get('code'));
132 - update_option('e2pdf_adobesign_api_access_point', $this->get->get('api_access_point'));
223 + $this->view('fonts', $fonts);
224 + $this->view('allowed_extensions', $model_e2pdf_font->get_allowed_extensions());
225 + $this->view('cached_fonts', get_option('e2pdf_cached_fonts', array()));
226 + $this->view('groups', $this->get_groups());
227 + $this->view('upload_max_filesize', $this->helper->load('files')->get_upload_max_filesize());
228 + }
133 229
134 - $model_e2pdf_adobesign = new Model_E2pdf_AdobeSign();
135 - $request = $model_e2pdf_adobesign->request_refresh_token();
230 + /**
231 + * @url admin.php?page=e2pdf-settings&action=adobesign
232 + * Backward Compatibility
233 + */
234 + public function adobesign_action() {
235 + $redirect_url = [
236 + 'page' => 'e2pdf-integrations',
237 + 'action' => 'adobesign',
238 + ];
239 + if ($this->get->get('code') && get_option('e2pdf_adobesign_client_id', '') && get_option('e2pdf_adobesign_client_secret', '')) {
240 + $redirect_url['code'] = $this->get->get('code');
241 + $redirect_url['_wpnonce'] = wp_create_nonce('e2pdf_adobe');
242 + }
243 + $this->redirect(
244 + $this->helper->get_url(
245 + $redirect_url
246 + )
247 + );
248 + }
136 249
137 - if (isset($request['error'])) {
138 - $this->add_notification('error', $request['error']);
250 + /**
251 + * @url admin.php?page=e2pdf-settings&action=extension
252 + */
253 + public function extension_action() {
254 + $group_key = $this->get->get('group');
255 + if ($this->post->get('_wpnonce')) {
256 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
257 + Model_E2pdf_Options::update_options($group_key, $this->post->get());
258 + $this->add_notification('update', __('Settings Saved', 'e2pdf'));
139 259 } else {
140 - $this->add_notification('update', __('App authorized successfully', 'e2pdf'));
260 + wp_die($this->message('wp_verify_nonce_error'));
141 261 }
142 - $location = $this->helper->get_url(array('page' => 'e2pdf-settings', 'action' => 'adobesign'));
143 - $this->redirect($location);
144 - return;
145 262 }
146 263
147 - $options = Model_E2pdf_Options::get_options(false, array('adobesign_group'));
148 -
149 - $this->view('options', $options);
150 - $groups = $this->get_groups();
151 - $this->view('groups', $groups);
264 + $this->view('options', Model_E2pdf_Options::get_options(false, array($group_key)));
265 + $this->view('groups', $this->get_groups());
152 266 }
153 267
154 268 /**
155 - * @url admin.php?page=e2pdf-settings&action=docusign
269 + * @url admin.php?page=e2pdf-settings&action=extensions
156 270 */
157 - public function docusign_action() {
271 + public function extensions_action() {
158 272
159 - if ($this->post->get()) {
160 -
161 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
162 - $options = Model_E2pdf_Options::get_options(false, array('docusign_group'));
163 -
164 - foreach ($options as $group_key => $group) {
165 - foreach ($group['options'] as $option_key => $option_value) {
166 - if (array_key_exists($option_value['key'], $this->post->get())) {
167 - update_option($option_value['key'], $this->post->get($option_value['key']));
168 - }
273 + if ($this->post->get('_wpnonce')) {
274 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
275 + if (!$this->post->get('e2pdf_disabled_extensions')) {
276 + update_option('e2pdf_disabled_extensions', array());
277 + } else {
278 + update_option('e2pdf_disabled_extensions', array_filter($this->post->get('e2pdf_disabled_extensions')));
169 279 }
280 + $this->redirect(
281 + $this->helper->get_url(
282 + [
283 + 'page' => 'e2pdf-settings',
284 + 'action' => 'extensions',
285 + 'notification' => $this->add_notification('update', __('Settings Saved', 'e2pdf')),
286 + ]
287 + )
288 + );
289 + } else {
290 + wp_die($this->message('wp_verify_nonce_error'));
170 291 }
171 -
172 - $this->add_notification('update', __('Settings saved', 'e2pdf'));
173 292 }
174 -
175 - $options = Model_E2pdf_Options::get_options(false, array('docusign_group'));
176 -
177 - $this->view('options', $options);
178 - $groups = $this->get_groups();
179 - $this->view('groups', $groups);
293 + $this->view('options', Model_E2pdf_Options::get_options(false, array('extensions_group')));
294 + $this->view('groups', $this->get_groups());
180 295 }
181 296
182 - public function extension_action() {
183 -
184 - $group_key = $this->get->get('group');
185 -
186 - if ($this->post->get()) {
187 -
188 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
189 - $options = Model_E2pdf_Options::get_options(false, array($group_key));
190 -
191 - foreach ($options as $group_key => $group) {
192 - foreach ($group['options'] as $option_key => $option_value) {
193 - if (array_key_exists($option_value['key'], $this->post->get())) {
194 - update_option($option_value['key'], $this->post->get($option_value['key']));
297 + /**
298 + * @url admin.php?page=e2pdf-settings&action=permissions
299 + */
300 + public function permissions_action() {
301 + if ($this->post->get('_wpnonce')) {
302 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
303 + $permissions = $this->post->get('permissions');
304 + $roles = wp_roles()->roles;
305 + $caps = $this->helper->get_caps();
306 + foreach ($permissions as $permission_key => $permission) {
307 + $role = get_role($permission_key);
308 + if ($role) {
309 + foreach ($permission as $cap_key => $cap) {
310 + if (isset($caps[$cap_key])) {
311 + if ($cap) {
312 + $role->add_cap($cap_key);
313 + } else {
314 + $role->remove_cap($cap_key);
315 + }
316 + }
317 + }
195 318 }
196 319 }
320 + $this->add_notification('update', __('Settings Saved', 'e2pdf'));
321 + } else {
322 + wp_die($this->message('wp_verify_nonce_error'));
197 323 }
324 + }
198 325
199 - $this->add_notification('update', __('Settings saved', 'e2pdf'));
326 + $roles = wp_roles()->roles;
327 + foreach ($roles as $role_key => $role) {
328 + if (isset($role['capabilities']['manage_options']) && $role['capabilities']['manage_options']) {
329 + unset($roles[$role_key]);
330 + }
200 331 }
201 332
202 - $options = Model_E2pdf_Options::get_options(false, array($group_key));
203 - $groups = $this->get_groups();
204 -
205 - $this->view('options', $options);
206 - $this->view('groups', $groups);
333 + $this->view('groups', $this->get_groups());
334 + $this->view('roles', $roles);
335 + $this->view('caps', $this->helper->get_caps());
207 336 }
208 337
209 - public function extensions_action() {
210 -
211 - if ($this->post->get()) {
212 -
213 - $this->check_nonce($this->post->get('_nonce'), 'e2pdf_post');
214 -
215 - if (!$this->post->get('e2pdf_disabled_extensions')) {
216 - update_option('e2pdf_disabled_extensions', array());
338 + /**
339 + * @url admin.php?page=e2pdf-settings&action=extensions
340 + */
341 + public function translation_action() {
342 + if ($this->post->get('_wpnonce')) {
343 + if (wp_verify_nonce($this->post->get('_wpnonce'), 'e2pdf_settings')) {
344 + Model_E2pdf_Options::update_options('translation_group', $this->post->get());
345 + $this->add_notification('update', __('Settings Saved', 'e2pdf'));
217 346 } else {
218 - update_option('e2pdf_disabled_extensions', $this->post->get('e2pdf_disabled_extensions'));
347 + wp_die($this->message('wp_verify_nonce_error'));
219 348 }
220 -
221 - $this->add_notification('update', __('Settings saved', 'e2pdf'));
222 349 }
223 -
224 - $options = Model_E2pdf_Options::get_options(false, array('extensions_group'));
225 - $groups = $this->get_groups();
226 -
227 - $this->view('options', $options);
228 - $this->view('groups', $groups);
350 + $this->view('options', Model_E2pdf_Options::get_options(false, array('translation_group')));
351 + $this->view('groups', $this->get_groups());
229 352 }
230 353
231 354 /**
232 355 * Get options list
233 - *
234 356 * @return array() - Options list
235 357 */
236 358 public function get_groups() {
237 - $groups = Model_E2pdf_Options::get_options(false, array(
359 + $groups = Model_E2pdf_Options::get_options(
360 + false,
361 + array(
238 362 'static_group',
239 - ), true);
363 + 'adobesign_group',
364 + 'gdrive_group',
365 + 'zapier_group',
366 + ),
367 + true
368 + );
240 369
241 370 return $groups;
242 371 }
243 372
@@ -244,75 +373,27 @@
244 373 /**
245 374 * Remove font via ajax
246 375 * action: wp_ajax_e2pdf_delete_font
247 376 * function: e2pdf_delete_font
248 - *
249 377 * @return json
250 378 */
251 379 public function ajax_delete_font() {
252 -
253 - $this->check_nonce($this->get->get('_nonce'), 'e2pdf_ajax');
254 - $font = $this->post->get('data');
255 -
256 - $model_e2pdf_font = new Model_E2pdf_Font();
257 - $model_e2pdf_font->delete_font($font);
258 -
259 - $response = array(
260 - 'redirect' => $this->helper->get_url(array(
261 - 'page' => 'e2pdf-settings',
262 - 'action' => 'fonts'
263 - )
264 - )
265 - );
266 -
267 - $this->add_notification('update', __('Font removed successfully', 'e2pdf'));
268 - $this->json_response($response);
269 - }
270 -
271 - public function ajax_email() {
272 - $this->check_nonce($this->get->get('_nonce'), 'e2pdf_ajax');
273 -
274 - $data = $this->post->get('data');
275 - $email = isset($data['email']) ? trim($data['email']) : '';
276 - $email_code = isset($data['email_code']) ? trim($data['email_code']) : '';
277 -
278 -
279 - $model_e2pdf_api = new Model_E2pdf_Api();
280 - $model_e2pdf_api->set(array(
281 - 'action' => 'common/email',
282 - 'data' => array(
283 - 'email' => $email,
284 - 'email_code' => $email_code,
285 - 'email_confirm' => isset($data['email_code'])
286 - )
287 - ));
288 - $request = $model_e2pdf_api->request();
289 -
290 -
291 -
292 - if (isset($request['error'])) {
293 - if ($request['error'] === 'incorrect_email') {
294 - $response = array(
295 - 'error' => __('E-mail address incorrect', 'e2pdf')
296 - );
297 - } elseif ($request['error'] === 'incorrect_code') {
298 - $response = array(
299 - 'error' => __('Confirmation code incorrect', 'e2pdf')
300 - );
301 - } else {
302 - $response = array(
303 - 'error' => $request['error']
304 - );
305 - }
306 - } elseif (isset($request['success'])) {
380 + if (wp_verify_nonce($this->get->get('_wpnonce'), 'e2pdf_settings')) {
381 + $font = $this->post->get('data');
382 + $model_e2pdf_font = new Model_E2pdf_Font();
383 + $model_e2pdf_font->delete_font($font);
307 384 $response = array(
308 - 'content' => $request['success']
385 + 'redirect' => $this->helper->get_url(
386 + array(
387 + 'page' => 'e2pdf-settings',
388 + 'action' => 'fonts',
389 + 'notification' => $this->add_notification('update', __('Font Deleted', 'e2pdf')),
390 + )
391 + ),
309 392 );
310 - if ($request['success'] == 'subscribed') {
311 - update_option('e2pdf_email', $email);
312 - }
393 + } else {
394 + $response['error'] = $this->message('wp_verify_nonce_error');
313 395 }
314 396
315 397 $this->json_response($response);
316 398 }
317 -
318 399 }