#!/usr/bin/env php . * --------------------------------------------------------------------- */ // Extract command line arguments $options = []; if (isset($_SERVER['argv'])) { for ($i = 1; $i < count($_SERVER['argv']); $i++) { $chunks = explode('=', $_SERVER['argv'][$i], 2); $chunks[0] = preg_replace('/^--/', '', $chunks[0]); $options[$chunks[0]] = (isset($chunks[1]) ? $chunks[1] : true); } } // Handle specific dependencies update command that cannot be made upon symfony console if (isset($_SERVER['argv']) && ['dependencies', 'install'] === array_slice($_SERVER['argv'], 1, 2)) { $composer_command = 'composer install --ansi --no-interaction --no-suggest'; $npm_command = 'npm install'; if (array_key_exists('composer-options', $options) && is_string($options['composer-options'])) { $composer_command .= ' ' . $options['composer-options']; } chdir(dirname(__FILE__, 2)); $exit_code = 0; passthru($composer_command, $exit_code); if ($exit_code > 0) { exit($exit_code); } passthru($npm_command, $exit_code); if ($exit_code > 0) { exit($exit_code); } file_put_contents('.package.hash', sha1_file('package-lock.json')); passthru('npm run-script build', $exit_code); exit($exit_code); } // If "config-dir" option is used in command line, defines GLPI_CONFIG_DIR with its value if (array_key_exists('config-dir', $options)) { $config_dir = $options['config-dir']; if (false === $config_dir || !@is_dir($config_dir)) { die( sprintf( '--config-dir "%s" does not exists in "%s".' . "\n", $config_dir, getcwd() ) ); } define('GLPI_CONFIG_DIR', realpath($config_dir)); } // Init GLPI define('GLPI_ROOT', dirname(__DIR__)); include_once(GLPI_ROOT . '/inc/based_config.php'); include_once(GLPI_ROOT . '/inc/db.function.php'); @include_once(GLPI_CONFIG_DIR . '/config_db.php'); // Run console application use Glpi\Console\Application; $application = new Application(); $application->run();