Example #1
0
<?php

declare (strict_types=1);
use Airship\Engine\{Gears, Hail, Keyggdrasil, State};
/**
 * Keyggdrasil updater -- either throw this in a cronjob or let it get
 * triggered every time a page loads after enough time has elapsed
 *
 * @global State $state
 * @global Hail $hail
 */
\ignore_user_abort(true);
\set_time_limit(0);
require_once \dirname(__DIR__) . '/bootstrap.php';
if (\is_readable(ROOT . '/config/databases.json')) {
    /**
     * Initialize the channel updater service
     */
    $channels = \Airship\loadJSON(ROOT . '/config/channels.json');
    $database = \Airship\get_database();
    $state->logger->info('Keyggdrasil started');
    $keyUpdater = Gears::get('TreeUpdater', $hail, $database, $channels);
    if (IDE_HACKS) {
        $keyUpdater = new Keyggdrasil($hail, $database, $channels);
    }
    $keyUpdater->doUpdate();
    $state->logger->info('Keyggdrasil concluded');
} else {
    // We can't update keys without a place to persist the changes
}
Example #2
0
 /**
  * Get a supplier
  *
  * @param string $name
  * @param bool $flush
  * @return Supplier
  * @throws NoSupplier
  */
 public function getSupplier(string $name, bool $flush = false) : Supplier
 {
     return $this->parent->getSupplier($name, $flush);
 }