<?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';
}
}
|