PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.08.06
E2Pdf – Export Pdf Tool for WordPress v1.08.06
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.08.06, at classes/model/e2pdf-page.php

130 lines 3.7 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 if ($this->get('page_id') && $this->get('template_id')) {
77 $wpdb->insert($this->get_table(), $page);
78 return $this->get('page_id');
79 }
80 }
81
82 public function load($page_id, $template_id) {
83 global $wpdb;
84 $page = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$this->get_table()}` WHERE page_id = %d AND template_id = %d", $page_id, $template_id), ARRAY_A);
85 if ($page) {
86 $this->page = $page;
87 $this->set('properties', unserialize($page['properties']));
88 $this->set('actions', unserialize($page['actions']));
89 $model_e2pdf_element = new Model_E2pdf_Element();
90 $this->set('elements', $model_e2pdf_element->get_elements($this->get('page_id'), $this->get('template_id')));
91 return true;
92 }
93 return false;
94 }
95
96 public function delete() {
97 global $wpdb;
98 if ($this->get('page_id') && $this->get('template_id')) {
99 $where = array(
100 'page_id' => $this->get('page_id'),
101 'template_id' => $this->get('template_id')
102 );
103 $wpdb->delete($this->get_table(), $where);
104
105 foreach ($this->get('elements') as $element) {
106 $model_e2pdf_element = new Model_E2pdf_Element();
107 $model_e2pdf_element->load($element['element_id'], $element['template_id']);
108 $model_e2pdf_element->delete();
109 }
110 }
111 }
112
113 public function get_pages($template_id) {
114 global $wpdb;
115 $pages = $wpdb->get_results($wpdb->prepare("SELECT * FROM `{$this->get_table()}` WHERE template_id = %d ORDER BY page_id ASC", $template_id), ARRAY_A);
116 if ($pages) {
117 $pages_list = array();
118 $pages_list[] = array();
119 foreach ($pages as $page_key => $page) {
120 $this->load($page['page_id'], $page['template_id']);
121 $pages_list[] = $this->get_page();
122 }
123 unset($pages_list[0]);
124 return $pages_list;
125 }
126 return array();
127 }
128
129 }
130