PluginProbe
YayMail – WooCommerce Email Customizer / trunk
YayMail – WooCommerce Email Customizer vtrunk
4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 3.4.2 3.4.3 All 55 releases
yaymail / src / TemplatePatterns / PatternService.php

PatternService.php in YayMail – WooCommerce Email Customizer trunk, at src/TemplatePatterns/PatternService.php

61 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace YayMail\TemplatePatterns;
3
4 use YayMail\Abstracts\BasePattern;
5 use YayMail\Utils\SingletonTrait;
6
7 /**
8 * Class PatternService
9 */
10 class PatternService {
11
12 use SingletonTrait;
13
14 protected $patterns = [];
15
16 /**
17 * @param BasePattern $section_template_instance SectionTemplate object
18 */
19 public function register( BasePattern $pattern_instance ) {
20 if ( ! $pattern_instance instanceof BasePattern ) {
21 return;
22 }
23
24 $registered_patterns = array_map(
25 function( $item ) {
26 return $item->get_type();
27 },
28 $this->patterns
29 );
30
31 if ( in_array( $pattern_instance->get_type(), $registered_patterns, true ) ) {
32 return;
33 }
34
35 $this->patterns[] = $pattern_instance;
36
37 $registered_sections = SectionTemplateService::get_instance()->get_list();
38
39 foreach ( $registered_sections as $section ) {
40 if ( $section->get_type() === $pattern_instance->get_section() ) {
41
42 $section->add_pattern( $pattern_instance );
43 }
44 }
45
46 }
47
48 public function get_list() {
49 return $this->patterns;
50 }
51
52 public function get_list_data() {
53 return array_map(
54 function( BasePattern $item ) {
55 return $item->get_raw_data();
56 },
57 $this->patterns
58 );
59 }
60 }
61