PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.03.07
E2Pdf – Export Pdf Tool for WordPress v1.03.07
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
e2pdf / classes / controller / frontend / e2pdf-download.php

e2pdf-download.php in E2Pdf – Export Pdf Tool for WordPress 1.03.07, at classes/controller/frontend/e2pdf-download.php

111 lines 3.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * E2pdf Frontend Download Controller
5 *
6 * @copyright Copyright 2017 https://e2pdf.com
7 * @license GPL v2
8 * @version 1
9 * @link https://e2pdf.com
10 * @since 0.00.01
11 */
12 if (!defined('ABSPATH')) {
13 die('Access denied.');
14 }
15
16 class Controller_Frontend_E2pdf_Download extends Helper_E2pdf_View {
17
18 /**
19 * Frontend download action
20 *
21 * @url page=e2pdf-download&uid=$uid
22 */
23 public function index_action() {
24 global $wp_query;
25
26 $download = false;
27 $uid = $this->get->get('uid');
28
29 $entry = new Model_E2pdf_Entry();
30
31 if ($entry->load_by_uid($uid)) {
32
33 $uid_params = $entry->get('entry');
34
35 $template = new Model_E2pdf_Template();
36 if (isset($uid_params['template_id']) && isset($uid_params['dataset']) && $template->load($uid_params['template_id'])) {
37
38 $template->extension()->set('dataset', $uid_params['dataset']);
39
40 if (isset($uid_params['flatten'])) {
41 $template->set('flatten', $uid_params['flatten']);
42 }
43
44 if (isset($uid_params['format'])) {
45 $template->set('format', $uid_params['format']);
46 }
47
48 if (isset($uid_params['password'])) {
49 $template->set('password', $uid_params['password']);
50 } else {
51 $template->set('password', $template->extension()->render($template->get('password'), 'value'));
52 }
53
54 if (isset($uid_params['name'])) {
55 $template->set('name', $uid_params['name']);
56 } else {
57 $template->set('name', $template->extension()->render($template->get('name'), 'value'));
58 }
59
60 if ($template->extension()->verify()) {
61 $template->fill($uid_params['dataset'], $uid);
62 $request = $template->render();
63
64 $disposition = 'attachment';
65 if (isset($uid_params['inline'])) {
66 if ($uid_params['inline']) {
67 $disposition = 'inline';
68 }
69 } else {
70 if ($template->get('inline')) {
71 $disposition = 'inline';
72 }
73 }
74
75 if (isset($request['error'])) {
76 wp_die($request['error']);
77 } elseif ($request['file'] === '') {
78 wp_die(__('Something went wrong!', 'e2pdf'));
79 } else {
80
81 /*
82 * Pdf count increase
83 * @since 0.01.33
84 */
85 $entry->set('pdf_num', $entry->get('pdf_num') + 1);
86 $entry->save();
87
88 $download = true;
89
90 if ($template->get('name')) {
91 $name = $template->get('name');
92 } else {
93 $name = $template->extension()->render($template->get_filename(), 'value');
94 }
95
96 $file = $request['file'];
97 $this->download_response('pdf', $file, $name, $disposition);
98 }
99 }
100 }
101 }
102
103 if (!$download) {
104 $wp_query->set_404();
105 status_header(404);
106 nocache_headers();
107 }
108 }
109
110 }
111