<?php // Get the cli arguments list($arguments, $assoc_args) = ETSIS_CLI::parse_args(array_slice($GLOBALS['argv'], 1)); // Global parameter : --quiet/--silent define('ETSIS_CLI_QUIET', isset($assoc_args['quiet']) || isset($assoc_args['silent'])); // Global parameter : --require if (isset($assoc_args['require'])) { if (file_exists($assoc_args['require'])) { require $assoc_args['require']; unset($assoc_args['require']); } else { ETSIS_CLI::error(sprintf('File "%s" not found', $assoc_args['require'])); } } // Global parameter : --path if (!empty($assoc_args['path'])) { define('ETSIS_ROOT', rtrim($assoc_args['path'], '/')); unset($assoc_args['path']); } else { // Assume ETSIS root is current directory define('ETSIS_ROOT', $_SERVER['PWD']); } ETSIS_CLI::run_command($arguments, $assoc_args);
public static function get_numeric_arg($args, $index, $name) { if (!isset($args[$index])) { ETSIS_CLI::error("{$name} required"); } if (!is_numeric($args[$index])) { ETSIS_CLI::error("{$name} must be numeric"); } return $args[$index]; }
/** * List all the tables in eduTrac SIS database. * * ## EXAMPLES * * $ ./etsis db tables * Success: Database table list complete. */ public function tables() { try { $this->pdo = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->pdo->query('SET CHARACTER SET utf8'); } catch (PDOException $e) { ETSIS_CLI::error(sprintf('"%s"', $e->getMessage())); } $opt = $this->pdo->query("SHOW TABLES"); foreach ($opt as $r) { ETSIS_CLI::line(' %GTable:%n ' . $r['Tables_in_' . DB_NAME]); } $this->pdo = null; ETSIS_CLI::success('Database table list complete.'); }