/var/www/html_fr/wp-content/plugins/yaymail/src/TemplatePatterns/SectionTemplatesLoader.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

namespace YayMail\TemplatePatterns;

use 
YayMail\TemplatePatterns\SectionTemplateService;
use 
YayMail\Utils\SingletonTrait;

/**
 * @method static SectionTemplatesLoader get_instance()
 */
class SectionTemplatesLoader {

    use 
SingletonTrait;

    
/**
     * @var SectionTemplateService
     */
    
public $service;

    private function 
__construct() {

        
$this->service SectionTemplateService::get_instance();

        
$dir = new \DirectoryIteratorYAYMAIL_PLUGIN_PATH '/src/TemplatePatterns/SectionTemplates' );
        foreach ( 
$dir as $fileinfo ) {
            if ( ! 
$fileinfo->isDot() ) {
                
$file_name  $fileinfo->getFilename();
                
$class_name basename$file_name'.php' );
                
$class      'YayMail\\TemplatePatterns\\SectionTemplates\\' $class_name;
                if ( 
__CLASS__ === $class ) {
                    continue;
                }
                if ( 
class_exists$class ) ) {
                    
$this->service->register$class::get_instance() );
                }
            }
        }

        
do_action'yaymail_register_template_sections'$this->service );
    }
}