function start($cli=false, $mods='', $overwrite='')
{
-
+ $ff = HTML_Flexyframework::get();
$this->scanModules();
//echo '<PRE>'; print_r($this->modtables); exit;
$proj = 'pman'; //ucfirst(basename($options['database']));
// we are going to generate all of the code into a temporay foldler..
- $options['rootDir'] = ini_get('session.save_path').'/temp_'. $proj;
+ $user = posix_getpwuid(posix_getuid());
+
+ $options['rootDir'] = ini_get('session.save_path').'/temp_'. $proj.'_'. $user['name'];
$options['cli'] = $cli;
$options['mods'] = empty($mods) ? array() : explode('/',$mods);
- $ff = HTML_FlexyFramework::get();
// now for each of the directories copy/show diffs..
echo $cli ? '' : '<PRE>';
$flist = explode(',', $overwrite);
- foreach($ff->page->modtables as $m=>$ar) {
+ foreach($this->modtables as $m=>$ar) {
if ($options['database'] != $standard_database) {
$options['database'] = $standard_database ;
{
$options = &PEAR::getStaticProperty('DB_DataObject','options');
- $ff = HTML_FlexyFramework::get();
+ $ff = HTML_Flexyframework::get();
$url = parse_url($options['database']);
// hide stuff for web..
require_once 'System.php';
$cat = System::which('cat');
$mysql = System::which('mysql');
-
- foreach($ff->page->modsql as $m => $fl)
+ //print_r($ff);
+ //print_r($options['mods'] );
+ foreach($this->modsql as $m => $fl)
{
if ($cli && isset($options['database_'. $m])) {
$url =parse_url($options['database_'.$m]);
(!empty($url['pass']) ? ' -p' . escapeshellarg($url['pass']) : '') .
' ' . basename($url['path']);
-
+ echo $mysql_cmd . "\n" ;
if (!empty($options['mods'] ) && !in_array($m, $options['mods'] )) {
continue;
}
+
foreach($fl as $f) {
$fn = $ff->page->rootDir. "/Pman/$m/DataObjects/$f";
$cmd = $cat . ' ' . escapeshellarg($fn) . " | $mysql_cmd -f ";
function scanModules()
{
- $ff = HTML_FlexyFramework::get();
+
$options = &PEAR::getStaticProperty('DB_DataObject','options');
if (isset($options['modtables'])) {
- $ff->page->modtables = $options['modtables'];
- $ff->page->modmap = $options['modmap'];
- $ff->page->modsql = $options['modsql'];
+ $this->modtables = $options['modtables'];
+ $this->modmap = $options['modmap'];
+ $this->modsql = $options['modsql'];
return;
}
-
+ $ff = HTML_Flexyframework::get();
$top = $ff->page->rootDir .'/Pman';
- $ff->page->modtables = array();
- $ff->page->modmap = array();
- $ff->page->modmapsql = array();
+ $this->modtables = array();
+ $this->modmap = array();
+ $this->modmapsql = array();
+
foreach(scandir($top) as $m) {
if (!strlen($m) ||
) {
continue;
}
- $ff->page->modtables[$m] = array();
- $ff->page->modsql[$m] = array();
+ $this->modtables[$m] = array();
+ $this->modsql[$m] = array();
foreach(scandir($top .'/'.$m.'/DataObjects') as $f) {
if (!strlen($f) || $m[0] == '.') {
continue;
}
if (preg_match('/\.sql$/', $f)) {
- $ff->page->modsql[$m][] = $f;
+ $this->modsql[$m][] = $f;
}
if (preg_match('/\.php$/', $f)) {
$tn = strtolower(preg_replace('/\.php$/', '', $f));
- $ff->page->modtables[$m][] = $tn;
- $ff->page->modmap[$tn] = $m;
+ $this->modtables[$m][] = $tn;
+ $this->modmap[$tn] = $m;
continue;
}
}
}
- $options['modtables'] = $ff->page->modtables;
- $options['modmap'] = $ff->page->modmap;
- $options['modsql'] = $ff->page->modsql;
+ $options['modtables'] = $this->modtables;
+ $options['modmap'] = $this->modmap;
+ $options['modsql'] = $this->modsql;
+ // print_r($options);
}
/**
$this->debug("-- NO TABLES -- \n");
return;
}
- if (!isset($ff->page->modmap)) {
+ if (!isset($this->modmap)) {
$this->scanModules();
}
$options = &PEAR::getStaticProperty('DB_DataObject','options');
+ $builder_options = PEAR::getStaticProperty('Pman_Builder','options');
+ $ignore = empty($builder_options['skip_tables']) ? array() : $builder_options['skip_tables'];
+
$mods = $options['mods'];
$inis = array();
$this->_newConfig = '';
foreach($this->tables as $this->table) {
$tn = strtolower($this->table);
- //print_r($ff->page->modmap);//[$tn]);//
- if (!isset($ff->page->modmap[$tn])) {
- die("No existing DataObject file found for table {$this->table} \n".
- "- create an empty file in the related Module/DataObjects directory
- eg.
- touch Pman/????/DataObjects/".ucfirst($this->table).".php
- \n");
+ //print_r($this->modmap);//[$tn]);//
+
+
+
+ if (!isset($this->modmap[$tn])) {
+
+ if (in_array($this->table, $ignore)) {
+ continue;
+ }
+
+
+ die("No existing DataObject file found for table {$this->table}
+
+- either add it to Pman_Builder[skip_tables] or\n
+- create an empty file in the related Module/DataObjects directory
+eg.
+touch Pman/????/DataObjects/".ucfirst($this->table).".php
+
+");
}
- $mod = $ff->page->modmap[$tn];
+ $mod = $this->modmap[$tn];
$inis[$mod] = isset($inis[$mod]) ? $inis[$mod] : '';
function generateClasses()
{
- // print_R($ff->page->modmap);
+ // print_R($this->modmap);
// die("generateClasses");
$options = &PEAR::getStaticProperty('DB_DataObject','options');
- $ff = HTML_FlexyFramework::get();
+
+ $ff = HTML_Flexyframework::get();
$rd = $options['rootDir'];
$mods = $options['mods'];
foreach($this->tables as $this->table) {
$this->table = trim($this->table);
$tn = strtolower($this->table);
- $mod = $ff->page->modmap[$tn];
+ $mod = $this->modmap[$tn];
if (!empty($mods) && !in_array($mod, $mods)) {
continue;
// function generateClasses() { }
var $jsHeader = "//<script type=\"text/javascript\">\n";
-
+ /**
+ *
+ * generate the reader tables..
+ * I'm not sure if this is needed any more, as our desktop builder
+ * generates that data anyway.
+ *
+ */
function generateRoo()
{
-
+
$options = &PEAR::getStaticProperty('DB_DataObject','options');
- $ff = HTML_FlexyFramework::get();
$mods = $options['mods'];
$this->rootDir = $options['rootDir'];
$this->overwrite = true;
$ds = ucfirst($this->_database);
// we always write these files....
- foreach($ff->page->modtables as $m=>$ts) {
+ foreach($this->modtables as $m=>$ts) {
if (!empty($mods) && !in_array($m, $mods)) {
continue;
}
function _generateReaders($m)
{
-
- $udb = ucfirst($this->_database);
+ $ff = HTML_FlexyFramework::get();
+
$ret = $this->jsHeader;
$j = new Pman_Builder_Generator_JSON();
$j->indent = 0;
foreach($this->tables as $this->table) {
- if ($ff->page->modmap[strtolower($this->table)] != $m) {
+ if ($this->modmap[strtolower($this->table)] != $m) {
continue;
}
}
}
$this->readersArgs[$this->table]['xtype'] = 'JsonReader';
- $ret.="\n$udb.Readers.$utable = ";
+ $ret.="\n{$ff->project}.Readers.$utable = ";
$x = $j->encodeUnsafe($this->readersArgs[$this->table]);
$ret .= trim(substr($x, 0, -1)) . ",\n"; // strip of trailing ;};
$ret .= $j->tab . "fields : [\n". $j->tab.$j->tab;
'id' => 'id', // primary key!!?
);
- $d = $this->tableToData($this->_definitions[$table]);
+ $d = $this->tableToData($table, $this->_definitions[$table]);
$this->tablekeys[$this->table] = $d['tablekey'];
// store the globals
$this->def['order'][$table] = $d['order'];
$this->def['readers'][$table]= $d['readers'];
- $this->def['colmodels'][$table] = $d['colmodes'];
+ $this->def['colmodels'][$table] = $d['colmodels'];
$this->def['forms'][$table] = $d['forms'];
$this->readersArgs[$table] = $d['args'];
}
-
+
+
+
function parseConfig()
{
- $ff = HTML_FlexyFramework::get();
+ $options = &PEAR::getStaticProperty('DB_DataObject','options');
- //print_r($ff);
+ if (isset($options['modtables'])) {
+ $this->modtables = $options['modtables'];
+ $this->modmap = $options['modmap'];
+ $this->modsql = $options['modsql'];
+ }
- $dirs = array($ff->page->rootDir.'/Pman/DataObjects'); // not used anymore!
- foreach($ff->page->modtables as $m=>$ts) {
+ $ff = HTML_Flexyframework::get();
+ $dirs = array($ff->page->rootDir.'/Pman/DataObjects'); // not used anymore!
+ foreach($this->modtables as $m=>$ts) {
$dirs[] = $ff->page->rootDir.'/Pman/'.$m.'/DataObjects';
}
$ini = array('database__render' => array());
$ini['database__render'] = array_merge($ini['database__render'] , $r);
}
//echo '<PRE>';print_R($ini);//exit;
-
+
+
if (!isset($ini['database__render'])) {
die("database__render not available in links files.");
return;
function mergeConfig($table, $conf, $render)
{
$this->mapcols[$table] = array();
+ $options = &PEAR::getStaticProperty('DB_DataObject','options');
+ if (isset($options['modtables'])) {
+ $this->modtables = $options['modtables'];
+ $this->modmap = $options['modmap'];
+ $this->modsql = $options['modsql'];
+ }
+
foreach($conf as $ocol=>$info) {
// format col => showval..
// reader:
//- just add an extra line..
if (!isset($this->def['readers'][$tab][$rshow])){
-
echo "WARNING in links.ini TABLE $tab does not have renderer $rshow <BR>\n";
- print_r($this->def['readers']);exit;
continue;
}