PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.05.03
E2Pdf – Export Pdf Tool for WordPress v1.05.03
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 / model / e2pdf-element.php

e2pdf-element.php in E2Pdf – Export Pdf Tool for WordPress 1.05.03, at classes/model/e2pdf-element.php

148 lines 4.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 Template Model
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 Model_E2pdf_Element extends Model_E2pdf_Model {
17
18 private $element = array();
19 private $table;
20
21 function __construct() {
22 global $wpdb;
23 parent::__construct();
24 $this->table = $wpdb->prefix . 'e2pdf_elements';
25 }
26
27 public function get_table() {
28 return $this->table;
29 }
30
31 public function set($key, $value) {
32 $this->element[$key] = $value;
33 }
34
35 public function get($key) {
36 if (isset($this->element[$key])) {
37 $value = $this->element[$key];
38 return $value;
39 } else {
40 switch ($key) {
41 case 'top':
42 case 'left':
43 case 'width':
44 case 'height':
45 case 'page_id':
46 case 'template_id':
47 $value = 0;
48 break;
49
50 case 'properties':
51 case 'actions':
52 $value = array();
53 break;
54
55 default:
56 $value = '';
57 break;
58 }
59 return $value;
60 }
61 }
62
63 public function get_element() {
64 return $this->element;
65 }
66
67 public function before_save() {
68 $element = array(
69 'type' => $this->get('type'),
70 'page_id' => $this->get('page_id'),
71 'template_id' => $this->get('template_id'),
72 'element_id' => $this->get('element_id'),
73 'top' => $this->get('top'),
74 'left' => $this->get('left'),
75 'width' => $this->get('width'),
76 'height' => $this->get('height'),
77 'value' => $this->get('value'),
78 'properties' => serialize($this->get('properties')),
79 'actions' => serialize($this->get('actions')),
80 );
81 return $element;
82 }
83
84 public function save() {
85 global $wpdb;
86
87 $element = $this->before_save();
88
89 if ($this->get('element_id') && $this->get('page_id') && $this->get('template_id')) {
90 $wpdb->insert($this->get_table(), $element);
91 return $this->get('element_id');
92 }
93 }
94
95 public function load($element_id, $template_id) {
96 global $wpdb;
97 $element = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$this->get_table()}` WHERE element_id = %d AND template_id = %d", $element_id, $template_id), ARRAY_A);
98 if ($element) {
99 $this->element = $element;
100 $this->set('properties', unserialize($element['properties']));
101 $this->set('actions', unserialize($element['actions']));
102 return true;
103 }
104 return false;
105 }
106
107 public function get_last_element_id($template_id) {
108 global $wpdb;
109
110 $element = false;
111 if ($template_id) {
112 $element = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$this->get_table()}` WHERE template_id = %d ORDER BY element_id DESC", $template_id), ARRAY_A);
113 }
114
115 if ($element) {
116 return $element['element_id'];
117 } else {
118 return 0;
119 }
120 }
121
122 public function delete() {
123 global $wpdb;
124 if ($this->get('element_id') && $this->get('template_id')) {
125 $where = array(
126 'element_id' => $this->get('element_id'),
127 'template_id' => $this->get('template_id')
128 );
129 $wpdb->delete($this->get_table(), $where);
130 }
131 }
132
133 public function get_elements($page_id, $template_id) {
134 global $wpdb;
135 $elements = $wpdb->get_results($wpdb->prepare("SELECT * FROM `{$this->get_table()}` WHERE page_id = %d AND template_id = %d", $page_id, $template_id), ARRAY_A);
136 if ($elements) {
137 $elements_list = array();
138 foreach ($elements as $element_key => $element) {
139 $this->load($element['element_id'], $element['template_id']);
140 $elements_list[] = $this->get_element();
141 }
142 return $elements_list;
143 }
144 return array();
145 }
146
147 }
148