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',
19             'short' => 'm',
20             'default' => '',
21             'min' => 0,
22             'max' => 1,
23             
24         ),
25         'overwrite' => array(
26             'desc' => 'Files to Overwrite',
27             'default' => '',
28             'short' => 'o',
29             'min' => 0,
30             'max' => 999,
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)
56     {
57         HTML_FlexyFramework::run('Core/UpdateDatabase');
58         
59         die("running generator");
60         
61         require_once 'Pman/Core/Generator.php';
62         ini_set('pcre.backtrack_limit', 2000000);
63         ini_set('pcre.recursion_limit', 2000000);
64         $this->init();
65          
66         $lastarg = $this->cli  ? array_pop($_SERVER['argv']) : '';
67         if (preg_match('/RunGenerator/', $lastarg)) {
68             $lastarg  = '';
69         }
70         $x = new Pman_Core_Generator();
71        // $x->page = clone($this);
72         $x->start($this->cli, $args, $lastarg);
73         
74         // technically it would be good to trash the cached ini files here.. 
75         // however we can not really do that, as the ownships are off..
76         //we can however regen our own files..
77         HTML_FlexyFramework::get()->generateDataobjectsCache(true);
78         
79         die("done!");
80     }
81     
82 }