<?php 
/** 
 * Let's make sure we autoload all of the relevant templates 
 * 
 * @global array $lensLoad 
 * @global array $active 
 * @global \Twig_Loader_Filesystem $twigLoader 
 */ 
 
/** 
 * Autoload all of the universal gadgets 
 */ 
if (\file_exists(ROOT . '/config/gadgets.json')) { 
    $globalGadgets = \Airship\loadJSON(ROOT . '/config/gadgets.json'); 
} else { 
    \file_put_contents(ROOT . '/config/gadgets.json', '[]'); 
    $globalGadgets = []; 
} 
foreach ($globalGadgets as $i => $gadgetConfig) { 
    if (!$gadgetConfig['enabled']) { 
        continue; 
    } 
    $phar = \implode( 
        DIRECTORY_SEPARATOR, 
        [ 
            ROOT, 
            'Gadgets', 
            $gadgetConfig['supplier'], 
            $gadgetConfig['supplier'] . '.' . $gadgetConfig['name'] . '.phar' 
        ] 
    ); 
    $namespace = $gadgetConfig['namespace'] 
        ?? \preg_replace( 
            '/[^A-Za-z0-9\-_]/', 
            '_', 
            $gadgetConfig['supplier'] . '__' . $gadgetConfig['name'] 
        ); 
    $twigLoader->addPath('phar://' . $phar . '/View/', $namespace); 
    // phar:///path/to/foo.phar/autoload.php 
    if (\file_exists('phar://' . $phar . '/autoload.php')) { 
        include 'phar://' . $phar . '/autoload.php'; 
    } 
    // phar:///path/to/foo.phar/lens.php 
    if (\file_exists('phar://' . $phar . '/lens.php')) { 
        $lensLoad []= 'phar://' . $phar . '/lens.php'; 
    } 
} 
 
if (\file_exists(ROOT . '/Cabin/' . $active['name'] . '/config/gadgets.json')) { 
    $cabinsGadgets = \Airship\loadJSON( 
        ROOT . '/Cabin/' . $active['name'] . '/config/gadgets.json' 
    ); 
} else { 
    $cabinsGadgets = []; 
    \file_put_contents( 
        ROOT . '/Cabin/' . $active['name'] . '/config/gadgets.json', 
        '[]' 
    ); 
} 
foreach ($cabinsGadgets as $i => $gadgetConfig) { 
    if (!$gadgetConfig['enabled']) { 
        continue; 
    } 
    $phar = \implode( 
        DIRECTORY_SEPARATOR, 
        [ 
            ROOT, 
            'Cabin', 
            $active['name'], 
            'Gadgets', 
            $gadgetConfig['supplier'], 
            $gadgetConfig['supplier'] . '.' . $gadgetConfig['name'] . '.phar' 
        ] 
    ); 
    $namespace = (string) ( 
        $gadgetConfig['namespace'] 
            ?? \preg_replace( 
                '/[^A-Za-z0-9\-_]/', 
                '_', 
                $gadgetConfig['supplier'] . '__' . $gadgetConfig['name'] 
            ) 
        ); 
    $twigLoader->addPath('phar://' . $phar . '/View/', $namespace); 
    // phar:///path/to/foo.phar/autoload.php 
    if (\file_exists('phar://' . $phar . '/autoload.php')) { 
        include 'phar://' . $phar . '/autoload.php'; 
    } 
    // phar:///path/to/foo.phar/lens.php 
    if (\file_exists('phar://' . $phar . '/lens.php')) { 
        $lensLoad []= 'phar://' . $phar . '/lens.php'; 
    } 
} 
 
 |