PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.51
E2Pdf – Export Pdf Tool for WordPress v1.32.51
1.32.51 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 All 73 releases
← All changes | classes/model/e2pdf-extension.php +40 -4 1.32.171.32.51 View file →
@@ -140,11 +140,16 @@
140 140
141 141 // render
142 142 public function render($value, $field = [], $convert_shortcodes = true, $raw = false) {
143 143 if ($this->extension() && method_exists($this->extension(), 'render')) {
144 - $this->pre_render();
144 + $filter = has_filter('e2pdf_pdf_render_filter');
145 + if (!$filter) {
146 + $this->pre_render();
147 + }
145 148 $content = $this->extension()->render($value, $field, $convert_shortcodes, $raw);
146 - $this->after_render();
149 + if (!$filter) {
150 + $this->after_render();
151 + }
147 152 $type = isset($field['type']) ? $field['type'] : false;
148 153 if ($type == 'e2pdf-image' || $type == 'e2pdf-signature' || $type == 'e2pdf-qrcode' || $type == 'e2pdf-barcode' || $type == 'e2pdf-graph') {
149 154 return $content;
150 155 } else {
@@ -156,11 +161,16 @@
156 161
157 162 // datasets
158 163 public function datasets($item = false, $name = false) {
159 164 if ($this->extension() && method_exists($this->extension(), 'datasets')) {
160 - $this->pre_render();
165 + $filter = has_filter('e2pdf_pdf_render_filter');
166 + if (!$filter) {
167 + $this->pre_render();
168 + }
161 169 $content = $this->extension()->datasets($item, $name);
162 - $this->after_render();
170 + if (!$filter) {
171 + $this->after_render();
172 + }
163 173 return $content;
164 174 }
165 175 return false;
166 176 }
@@ -165,8 +175,9 @@
165 175 return false;
166 176 }
167 177
168 178 public function pre_render() {
179 + add_filter('e2pdf_pdf_render_filter', [$this->helper, '__return_true'], 999);
169 180 add_filter('e2pdf_pdf_render', [$this->helper, '__return_true'], 999);
170 181 if (class_exists('ACF')) {
171 182 if (apply_filters('e2pdf_acf_enable_shortcodes', true)) {
172 183 add_filter('acf/settings/enable_shortcode', [$this->helper, '__return_true'], 999);
@@ -179,8 +190,10 @@
179 190 }
180 191 if (!apply_filters('e2pdf_prevent_access_to_fields_on_non_public_posts', true)) {
181 192 add_filter('acf/shortcode/prevent_access_to_fields_on_non_public_posts', [$this->helper, '__return_false'], 999);
182 193 }
194 + add_filter('acf/load_value', [$this, 'filter_acf_load_value'], 999);
195 + add_filter('do_shortcode_tag', [$this, 'filter_do_shortcode_tag_acf'], 999, 2);
183 196 }
184 197 add_filter('jet-engine/listings/data/default-object', [$this, 'filter_jet_listings_data_default_object'], 999);
185 198 }
186 199
@@ -198,10 +211,13 @@
198 211 }
199 212 if (!apply_filters('e2pdf_prevent_access_to_fields_on_non_public_posts', true)) {
200 213 remove_filter('acf/shortcode/prevent_access_to_fields_on_non_public_posts', [$this->helper, '__return_false'], 999);
201 214 }
215 + remove_filter('acf/load_value', [$this, 'filter_acf_load_value'], 999);
216 + remove_filter('do_shortcode_tag', [$this, 'filter_do_shortcode_tag_acf'], 999);
202 217 }
203 218 remove_filter('e2pdf_pdf_render', [$this->helper, '__return_true'], 999);
219 + remove_filter('e2pdf_pdf_render_filter', [$this->helper, '__return_true'], 999);
204 220 }
205 221
206 222 // convert shortcodes
207 223 public function convert_shortcodes($value, $to = false, $html = false) {
@@ -391,8 +407,28 @@
391 407 if (isset($field['allow_in_bindings']) && !$field['allow_in_bindings']) {
392 408 $field['allow_in_bindings'] = 1;
393 409 }
394 410 return $field;
411 + }
412 +
413 + // filter acf load value
414 + public function filter_acf_load_value($output) {
415 + if (is_array($output)) {
416 + foreach ($output as $key => $value) {
417 + if (is_string($value)) {
418 + $output[$key] = $this->helper->load('translator')->translate($value, 'partial');
419 + }
420 + }
421 + }
422 + return $output;
423 + }
424 +
425 + // filter do shortcode tag acf
426 + public function filter_do_shortcode_tag_acf($output, $tag) {
427 + if ($tag === 'acf') {
428 + return $this->helper->load('translator')->translate($output, 'partial');
429 + }
430 + return $output;
395 431 }
396 432
397 433 // filter jet engine default object
398 434 public function filter_jet_listings_data_default_object($default_object) {