X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=RunGenerator.php;h=3a4516a69ed668e66d3fbc22d846fd9ec8a6b5e7;hp=e35e728cdb8ce0d62da8028430a6f67371356f37;hb=HEAD;hpb=f5a29fdea5bb744f3e5f6416aea207ea11281408 diff --git a/RunGenerator.php b/RunGenerator.php index e35e728c..39112559 100644 --- a/RunGenerator.php +++ b/RunGenerator.php @@ -11,22 +11,33 @@ require_once 'Pman.php'; class Pman_Core_RunGenerator extends Pman { - static $cli_desc = "Update SQL or Generate DataObjects"; - + static $cli_desc = "Generate DataObjects (runs updatedatabase first) + does not change files, just shows you want would happen"; + + static $cli_opts = array( 'module' => array( - 'desc' => 'Module', + 'desc' => 'Module (if new tables are found, they will be put in the modules database directory', 'short' => 'm', + 'default' => '', 'min' => 1, 'max' => 1, ), 'overwrite' => array( - 'desc' => 'Files to Overwrite', + 'desc' => 'Files to Overwrite (use _all_ to create everything)', 'default' => '', 'short' => 'o', - 'min' => 0, - 'max' => 999, + 'min' => 1, + 'max' => -1, + + ), + 'noupdate' => array( + 'desc' => 'Do not update the database using sql', + 'default' => '', + 'short' => 'n', + 'min' => 1, + 'max' => -1, ) @@ -45,26 +56,36 @@ class Pman_Core_RunGenerator extends Pman parent::getAuth(); // load company! $au = $this->getAuthUser(); if (!$au || $au->company()->comptype != 'OWNER') { - $this->jerr("Not authenticated", array('authFailure' => true)); + $this->jerror("LOGIN-NOAUTH", "Not authenticated", array('authFailure' => true)); } $this->authUser = $au; return true; } - function get($args) + function get($args, $opts=array()) { + //print_r($opts);exit; + if (empty($opts['noupdate'])) { + HTML_FlexyFramework::run('Core/UpdateDatabase'); + } + + + + require_once 'Pman/Core/Generator.php'; ini_set('pcre.backtrack_limit', 2000000); ini_set('pcre.recursion_limit', 2000000); $this->init(); - - $lastarg = $this->cli ? array_pop($_SERVER['argv']) : ''; - if (preg_match('/RunGenerator/', $lastarg)) { - $lastarg = ''; - } + $x = new Pman_Core_Generator(); // $x->page = clone($this); - $x->start($this->cli, $args, $lastarg); + + + $modules = $opts['module']; + // overwrite can be multiple + $overwrite = is_string($opts['overwrite']) ? array($opts['overwrite']) : $opts['overwrite']; + + $x->start($this->cli, $modules, $overwrite); // technically it would be good to trash the cached ini files here.. // however we can not really do that, as the ownships are off..