<?php

// 共通 bootstrap (定数 / autoload / .env / ACMS_BASE_URL 経由の DIR_OFFSET 補正 等) は
// php/bootstrap.php に集約されている。require_once ではなく require で closure を取り出す
// （bootstrap.php 側の注意書き参照）。
$bootstrap = require dirname(__FILE__) . '/bootstrap.php';
$bootstrap(dirname(__FILE__) . '/..');

function acmsStandAloneRun($exec)
{
    /**
     * Application
     */
    $config = appConfig();
    $acmsApplication = new Acms\Application();
    $acmsApplication->init($config['aliases'], $config['providers']);

    try {
        /**
         * 処理実行
         */
        $res = call_user_func($exec);
        $acmsApplication->checkException();

        /**
         * 終了コード
         */
        if (!$res) {
            exit(1);
        }
        exit(0);
    } catch (Exception $e) {
        AcmsLogger::error($e->getMessage());

        $date = date('Y-m-d H:i:s');
        $stderr = fopen('php://stderr', 'w');
        if ($stderr) {
            fwrite($stderr, "$date [Error] " . $e->getMessage() . "\n");
            fclose($stderr);
        }
        exit(1);
    }
}

function acmsStdMessage($message)
{
    $date = date('Y-m-d H:i:s');
    $stdout = fopen('php://stdout', 'w');
    if ($stdout) {
        fwrite($stdout, "$date $message\n");
        fclose($stdout);
    }
}
