Example #1
0
 /**
  * Runs the CLI process
  *
  * @param array $args CLI arguments
  *
  * @return mixed
  */
 public function run(array $args)
 {
     Index::info('Usage: `cradle package <vendor/package> <command>`  - Runs a package event');
     Index::info('Usage: `cradle <vendor/package> <command>`          - Runs a package event');
     Index::info('Usage: `cradle event <event name> <json|query>`     - Runs an event');
     Index::info('Usage: `cradle <event name> <json|query>`           - Runs an event');
 }
Example #2
0
 /**
  * Runs the CLI process
  *
  * @param array $args CLI arguments
  *
  * @return mixed
  */
 public function run(array $args)
 {
     Index::info('Help Menu');
     Index::info('- `eve generate <schema*> <namespace>`    Generates files based on schema');
     Index::info('- `eve database <schema*>`                Generates database table/s schema');
     Index::info('- `eve install`                           Generates default framework files');
     Index::info('- `eve job <name*> <data*>`               Executes a job');
     Index::info('- `eve queue <name*> <data*>`             Queues a job');
     die(0);
 }
Example #3
0
 /**
  * Runs the CLI Generate process
  *
  * @param array $args CLI arguments
  *
  * @return void
  */
 public function run($args)
 {
     $this->setup($args);
     //normalize the schema
     $this->fixSchema();
     Index::info('Creating database table.');
     $this->createTable();
     Index::success('`' . $this->schema['name'] . '` has been successfully created.');
     $this->createRelations();
     foreach ($this->schema['relations'] as $table => $many) {
         Index::success('`' . $this->schema['name'] . '_' . $table . '` has been successfully created.');
     }
     if (!isset($this->schema['fixture']) || !is_array($this->schema['fixture'])) {
         return;
     }
     Index::info('Fixtures found. Installing');
     $this->insertFixtures();
     Index::success('Fixtures has been successfully inserted.');
     die(0);
 }
Example #4
0
 /**
  * Copy the contents from to
  *
  * @return Eve\Framework\Cli\Generate
  */
 public function copy($source, $destination)
 {
     $contents = $this('file', $source)->getContent();
     $template = $this->engine->compile($contents);
     $code = $template($this->schema);
     $code = str_replace('\\\\', '\\', $code);
     $code = str_replace('\\}', '}', $code);
     $code = str_replace('\\{', '{', $code);
     $code = str_replace('{ ', '{', $code);
     $code = preg_replace('/\\n\\s*\\n\\s*\\n/', "\n\n", $code);
     Index::info('Installing to' . $destination);
     $this('file', $destination)->setContent($code);
     return $this;
 }
Example #5
0
 /**
  * Runs the CLI Install process
  *
  * @param array $args CLI arguments
  *
  * @return void
  */
 public function run($args)
 {
     $this->setup($args);
     Index::info('Downloading files..');
     $this('curl')->setUrl('https://github.com/Eve-PHP/Shade/archive/master.zip')->setFile($this->file)->setFollowLocation(true)->setSslVerifyPeer(false)->send();
     fclose($this->file);
     Index::info('Extracting files..');
     try {
         $zip = new \ZipArchive();
         $resource = $zip->open($this->cwd . '/tmp/framework.zip');
         if (!$resource) {
             throw new \Exception('Cannot extract data. Aborting.');
         }
         $zip->extractTo($this->cwd . '/tmp');
         $zip->close();
         Index::info('Copying files..');
         $root = $this->cwd . '/tmp/Shade-master';
         $files = $this('folder', $root)->getFiles(null, true);
         foreach ($files as $file) {
             $destination = str_replace('/tmp/Shade-master', '', $file->get());
             $folder = $this('file', $destination)->getFolder();
             if (!is_dir($folder)) {
                 mkdir($folder, 0777, true);
             }
             copy($file->get(), $destination);
         }
     } catch (\Exception $e) {
         Index::error($e->getMessage(), false);
     }
     Index::info('Cleaning up ..');
     $tmp = $this('folder', $this->cwd . '/tmp');
     $files = $tmp->getFiles(null, true);
     $folders = $tmp->getFolders(null, true);
     $folders = array_reverse($folders);
     foreach ($files as $file) {
         $file->remove();
     }
     foreach ($folders as $folder) {
         $folder->remove();
     }
     $tmp->remove();
     Index::info('Copying settings..');
     $this('file', $this->cwd . '/settings/databases.php')->setData($this->databases);
     copy($this->cwd . '/settings/sample.config.php', $this->cwd . '/settings/config.php');
     copy($this->cwd . '/settings/sample.test.php', $this->cwd . '/settings/test.php');
     Index::info('Creating database..');
     $this->install();
     Index::success('Database created.');
     Index::warning('Please set the configs in the settings folder');
     Index::system('Control Login is: admin@openovate.com / admin');
     Index::success('Framework installation complete!');
     die(0);
 }