$xlate['allownull'] = $column['Null'] == 'NO' ? false : true; $xlate['defaultvalue'] = $column['Default']; $columns[] = $xlate; } $rsIndexes = Typeframe::Database()->execute('SHOW INDEX IN ' . $tableName); $indexes = array(); foreach ($rsIndexes as $index) { $name = strtolower($index['Key_name']); if (!isset($indexes[$name])) { $indexes[$name] = array(); $indexes[$name]['name'] = $name; $indexes[$name]['unique'] = $index['Non_unique'] == 0 ? true : false; $indexes[$name]['columns'] = array(); } $indexes[$name]['columns'][] = array('name' => $index['Column_name']); } $classMill = new Pagemill(); $classMill->setVariable('class', $className); $classMill->setVariable('table', $shortName); $classMill->setVariable('prefix', $prefix); $classMill->setVariable('columns', $columns); $classMill->setVariable('indexes', array_values($indexes)); //$source = html_entity_decode($classMill->writeFile(dirname(__FILE__) . '/model.tmpl')); $source = $classMill->writeFile(dirname(__FILE__) . '/model.tmpl', true); //$source = html_entity_decode($stream->peek(), ENT_QUOTES | ENT_XML1); $source = str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $source); echo "Writing {$className}.php for {$tableName}...\n"; $fh = fopen(TYPEF_SOURCE_DIR . '/classes/BaseModel/' . $className . '.php', 'w'); fwrite($fh, $source . "\n"); fclose($fh); }
<?php /** * Export config names and values to PHP scripts. * This command will create source/scripts/define.d/[package name].php for each * package. */ $dir = scandir(TYPEF_SOURCE_DIR . '/registry'); foreach ($dir as $file) { if (substr($file, 0, 1) !== '.' && is_file(TYPEF_SOURCE_DIR . '/registry/' . $file)) { $defines = array(); $xml = simplexml_load_file(TYPEF_SOURCE_DIR . '/registry/' . $file); $configs = $xml->xpath('//config'); foreach ($configs as $config) { $items = $config->xpath('item'); foreach ($items as $item) { if ($item['name']) { $defines[] = array('name' => (string) $item['name'], 'caption' => (string) $item['caption'], 'default' => (string) $item['default']); } } } $package = substr($file, 0, -8); echo "Writing {$package}.php...\n"; $pm = new Pagemill(); $pm->setVariable('defines', $defines); $source = $pm->writeFile(TYPEF_SOURCE_DIR . '/cli/tfadmin/define.tpl', true); $source = str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $source); file_put_contents(TYPEF_SOURCE_DIR . '/scripts/define.d/' . $package . '.php', $source); } }
} /* $modelnick = "Test Model"; $fields = array(); $fields['id'] = array('required' => 'false', 'type' => 'hidden'); $fields['name'] = array('required' => 'false', 'type' => 'text'); $fields['value'] = array('required' => 'false', 'type' => 'textarea'); $fields['idate'] = array('required' => 'false', 'type' => 'calendar'); */ $pm = new Pagemill(); $pm->setVariable('fields', $fields); $pm->setVariable('model', $modelname); $pm->setVariable('primarykey', $primarykey); $pm->setVariable('applicationname', $applicationname); $pm->setVariable('modelnick', $modelnick); if (!is_dir(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/")) { mkdir(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/"); } if (!is_dir(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/")) { mkdir(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/"); } file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/add.php", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/add.tpl', true))); file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/edit.php", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/edit.tpl', true))); file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/delete.php", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/delete.tpl', true))); file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/index.php", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/index.tpl', true))); file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/add.html", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/add.html', true))); file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/update.inc.html", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/update.inc.html', true))); file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/index.html", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/index.html', true))); file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/edit.html", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/edit.html', true))); file_put_contents(TYPEF_SOURCE_DIR . "/registry/{$applicationname}.reg.xml", str_replace(array('<', '>', '"', '''), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/registry/registry.xml', true))); Typeframe::Registry()->purgeRegistryCache();