Pubwich::applyTheme PHP Method

applyTheme() private static method

Apply box and items templates
private static applyTheme ( ) : void
return void
    private static function applyTheme()
    {
        if (function_exists('boxTemplate')) {
            $boxTemplate = call_user_func('boxTemplate');
        } else {
            throw new PubwichError(Pubwich::_('You must define a boxTemplate function in your theme\'s functions.php file.'));
        }
        foreach (self::$classes as $class) {
            $functions = array();
            $parent = get_parent_class($class);
            $classname = get_class($class);
            $variable = $class->getVariable();
            if (!$class->getBoxTemplate()->hasTemplate() && $boxTemplate) {
                $class->setBoxTemplate($boxTemplate);
            }
            if ($parent != 'Service') {
                $functions = array($parent, $parent . '_' . $classname, $parent . '_' . $classname . '_' . $variable);
            } else {
                $functions = array($classname, $classname . '_' . $variable);
            }
            foreach ($functions as $f) {
                $box_f = $f . '_boxTemplate';
                $item_f = $f . '_itemTemplate';
                if (function_exists($box_f)) {
                    $class->setBoxTemplate(call_user_func($box_f));
                }
                if (function_exists($item_f)) {
                    $class->setItemTemplate(call_user_func($item_f));
                }
            }
        }
    }