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 / model / e2pdf-page.php

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

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