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

105 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * E2pdf 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 $extension = new Model_E2pdf_Extension();
39 $extension->load($template->get('extension'));
40 $extension->set('item', $template->get('item'));
41 $extension->set('dataset', $uid_params['dataset']);
42
43 if (isset($uid_params['flatten'])) {
44 $template->set('flatten', $uid_params['flatten']);
45 }
46
47 if (isset($uid_params['format'])) {
48 $template->set('format', $uid_params['format']);
49 }
50
51 if (isset($uid_params['password'])) {
52 $template->set('password', $extension->render($uid_params['password']));
53 }
54
55 if (isset($uid_params['name'])) {
56 $template->set('name', $uid_params['name']);
57 }
58
59 if ($extension->verify()) {
60 $template->fill($uid_params['dataset'], $uid);
61
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 $name = $extension->render($template->get_filename());
90 $file = $request['file'];
91 $this->download_response('pdf', $file, $name, $disposition);
92 }
93 }
94 }
95 }
96
97 if (!$download) {
98 $wp_query->set_404();
99 status_header(404);
100 nocache_headers();
101 }
102 }
103
104 }
105