PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.17
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.17
1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 1.10.1 1.10.0 1.9.17 1.9.15 1.9.16 1.9.14 All 163 releases
woocommerce-pos / includes / Services / Receipt_Renderer_Factory.php

Receipt_Renderer_Factory.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.17, at includes/Services/Receipt_Renderer_Factory.php

41 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Receipt renderer factory.
4 *
5 * @package WCPOS\WooCommercePOS\Services
6 */
7
8 namespace WCPOS\WooCommercePOS\Services;
9
10 use WCPOS\WooCommercePOS\Interfaces\Receipt_Renderer_Interface;
11 use WCPOS\WooCommercePOS\Templates\Renderers\Legacy_Php_Renderer;
12 use WCPOS\WooCommercePOS\Templates\Renderers\Logicless_Renderer;
13 use WCPOS\WooCommercePOS\Templates\Renderers\Thermal_Html_Renderer;
14
15 /**
16 * Receipt_Renderer_Factory class.
17 */
18 class Receipt_Renderer_Factory {
19 /**
20 * Create renderer by engine value.
21 *
22 * @param string $engine Template engine.
23 *
24 * @return Receipt_Renderer_Interface
25 */
26 public function create( string $engine ): Receipt_Renderer_Interface {
27 switch ( $engine ) {
28 case 'logicless':
29 return new Logicless_Renderer();
30 case 'thermal':
31 // Thermal content is stored raw (kses-exempt), so it must render
32 // through the thermal pipeline — never the PHP-executing legacy
33 // renderer, which would treat the content as executable PHP.
34 return new Thermal_Html_Renderer();
35 case 'legacy-php':
36 default:
37 return new Legacy_Php_Renderer();
38 }
39 }
40 }
41