RunGenerator.php
[Pman.Core] / RunGenerator.php
1 <?php
2
3 /**
4  * 
5  * this is technically a cli wrapper for the generator..
6  * 
7  * we will test it on the web initially..
8  * 
9  * 
10  */
11 require_once 'Pman.php';
12 class Pman_Core_RunGenerator extends Pman
13 {     
14     static $cli_desc = "Generate DataObjects (runs updatedatabase first)";
15    
16     static $cli_opts = array(
17         'module' => array(
18             'desc' => 'Module (if new tables are found, they will be put in the modules database directory',
19             'short' => 'm',
20             'default' => '',
21             'min' => 1,
22             'max' => 1,
23             
24         ),
25         'overwrite' => array(
26             'desc' => 'Files to Overwrite',
27             'default' => '',
28             'short' => 'o',
29             'min' => 1,
30             'max' => -1,
31             
32         )
33         
34     );
35     
36     var $cli = false;
37     function getAuth() {
38         
39         
40         $ff = HTML_FlexyFramework::get();
41         if (!empty($ff->cli)) {
42             $this->cli = true;
43             return true;
44         }
45         
46         parent::getAuth(); // load company!
47         $au = $this->getAuthUser();
48         if (!$au || $au->company()->comptype != 'OWNER') {
49             $this->jerr("Not authenticated", array('authFailure' => true));
50         }
51         $this->authUser = $au;
52         return true;
53     }
54      
55     function get($args, $opts)
56     {
57         //print_r($opts);exit;
58         
59         HTML_FlexyFramework::run('Core/UpdateDatabase');
60         
61          
62         
63         require_once 'Pman/Core/Generator.php';
64         ini_set('pcre.backtrack_limit', 2000000);
65         ini_set('pcre.recursion_limit', 2000000);
66         $this->init();
67         
68         $x = new Pman_Core_Generator();
69        // $x->page = clone($this);
70        
71         
72         $modules = $opts['module'];
73         // overwrite can be multiple
74         $overwrite = is_string($opts['overwrite']) ? array($opts['overwrite']) : $opts['overwrite'];
75
76         $x->start($this->cli, $modules, $overwrite);
77         
78         // technically it would be good to trash the cached ini files here.. 
79         // however we can not really do that, as the ownships are off..
80         //we can however regen our own files..
81         HTML_FlexyFramework::get()->generateDataobjectsCache(true);
82         
83         die("done!");
84     }
85     
86 }