#!/usr/bin/env php
<?php
/**
 * Yii console bootstrap file.
 *
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

use humhub\helpers\DatabaseHelper;

defined('YII_DEBUG') or define('YII_DEBUG', true);

// fcgi doesn't have STDIN and STDOUT defined by default
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));

require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');

$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/humhub/config/common.php'),
    require(__DIR__ . '/humhub/config/console.php'),
    (is_readable(__DIR__ . '/config/dynamic.php')) ? require(__DIR__ . '/config/dynamic.php') : [],
    require(__DIR__ . '/config/common.php'),
    require(__DIR__ . '/config/console.php')
);

try {
    $exitCode = (new humhub\components\console\Application($config))->run();
    exit($exitCode);
} catch (\Throwable $ex) {
    if (null === DatabaseHelper::handleConnectionErrors($ex)) {
        throw $ex;
    }
}
