#!/usr/bin/env php
<?php
date_default_timezone_set('Asia/Shanghai');
ini_set("memory_limit", "4G");

$app = (new PhalconPlus\Bootstrap(dirname(__DIR__)))->app();
$version = Phalcon\Version::getPart(
    Phalcon\Version::VERSION_MAJOR
);
$app->di()->setShared('cli', function(){
    return new League\CLImate\CLImate();
});

$phpOS = strtolower(PHP_OS);

if(substr($phpOS, 0, 3) == "win") {
    $this->cli->backgroundRed("对不起，Phalcon+命令行工具暂不支持Windows操作系统，请谅解！");
    exit(111);
}

$arguments = array();
foreach($argv as $k => $arg) {
    if($k == 1) {
        if(strpos($arg, ":") == false) {
            $arguments['task'] = $arg;
        } else {
            [$task, $action] = explode(":", $arg);
            $arguments['task'] = $task;
            $arguments['action'] = \Phalcon\Text::camelize($action, "-");
        }
    } elseif($k == 2) {
        if(!isset($arguments['action'])) {
            $arguments['action'] = \Phalcon\Text::camelize($arg, "-");
        } else {
            $arguments['params'][] = $arg;    
        }
    } elseif($k >= 3) {
        $arguments['params'][] = $arg;
    }
}

$app->handle($arguments);