<?php

App::uses('AppShell', 'Console/Command');

/**
 * Use:
 * $ cd {SITE_FOLDER}/app
 * $ ./Console/cake commands
 */
class CommandsShell extends AppShell {

    /**
     * Criação do arquivo lookup no padrao do bmcrm
     * Colors:
     *   black
     *   red
     *   green
     *   yellow
     *   blue
     *   magenta
     *   cyan
     *   white
     */
    public function main() {

        $this->stdout->styles('green', array('text' => 'green', 'blink' => true));
        $this->stdout->styles('magenta', array('text' => 'magenta', 'blink' => true));
        $this->stdout->styles('cyan', array('text' => 'cyan', 'blink' => true));

        $this->out('<cyan>Custom Commands</cyan>');
        $this->out('---------------------------------------------------------------');

        $this->out('$ <cyan>./Console/cake bake_add [model_database]</cyan>');
        $this->out('');
        $this->out('  Automatiza a criação do componente');
        $this->out('  ADD no padrão widget');
        $this->out('');

        $this->out('$ <cyan>./Console/cake bake_full [model_database]</cyan>');
        $this->out('');
        $this->out('  Automatiza a criação das classes');
        $this->out('  MVC completo + criação de lookup');
        $this->out('');

        $this->out('$ <cyan>./Console/cake bake_lookup [model_database]</cyan>');
        $this->out('');
        $this->out('  Automatiza a criação do componente LOOKUP');
        $this->out('  com carregamento de dados default iniciais');
        $this->out('');

        $this->out('$ <cyan>./Console/cake reset_acl</cyan>');
        $this->out('');
        $this->out('  Reseta a tabela AROS do plugin ACL ');
        $this->out('  recriando as permissões básicas');
        $this->out('');

        $this->out('$ <cyan>./Console/cake reset_chat</cyan>');
        $this->out('');
        $this->out('  Reseta o conteúdo do sistema CHAT');
        $this->out('  limpando as tabelas relacionadas');
        $this->out('');

        $this->out('$ <cyan>./Console/cake reset_sequence</cyan>');
        $this->out('');
        $this->out('  Reseta todas as sequences para o maior valor existente na tabela,');
        $this->out('  utilizado basicamente aṕos um importação massiva de dados');
        $this->out('');
    }
}
