public function generateSql() { $namespace = \Zule\Tools\Config::zc()->framework->application_namespace; $system = 'Zule'; $tables = $this->settings->getTables(); foreach ($tables as $table) { $s = new \Smarty(); $tableName = $table->getName(); // generate model $s->assign('model_name', $_POST["class_{$tableName}"]); $s->assign('namespace', $namespace); $s->assign('system', $system); $s->assign('class_name', $_POST["class_{$tableName}"]); $s->assign('extend_path', '\\Zule\\Models\\Model'); $s->assign('impl_date', date('Y-m-d H:i:s')); $s->assign('use_unsafe_setters', 0); $s->assign('table_name', $tableName); $columns = $table->getColumns(); $s->assign('columns', $columns); $s->assign('primary_key', $table->getPrimaryKey()); $gen = new Generator("../models/" . $_POST["class_{$tableName}"] . '.php'); $gen->generate($s, 'model_sql'); $gen = new Generator("../models/Data/" . $_POST["class_{$tableName}"] . '.php'); $gen->generate($s, 'gateway_sql'); } }
$l[0] = strtoupper($l[0]); $name = $f . $l; } return $name; } function lCamel($name) { while ($pos = strpos($name, '_')) { $f = substr($name, 0, $pos); $l = substr($name, $pos + 1); $l[0] = strtoupper($l[0]); $name = $f . $l; } return $name; } $namespace = \Zule\Tools\Config::zc()->framework->application_namespace; $system = 'Zule'; $db = \Zule\Tools\DB::zdb(); $dbTables = $db->listTables(); foreach ($_POST as $table => $useless) { if (in_array($table, $dbTables)) { echo "Generating model file for {$table}" . PHP_EOL; // $table is scheduled for generation $s = new \Smarty(); $model = $_POST["class_{$table}"]; $s->assign('model_name', $model); $s->assign('namespace', $namespace); $s->assign('system', $system); $s->assign('php_open', '<?php'); $columns = []; $camels = [];
<?php require_once '../tools/Loader.php'; $s = new Smarty(); $namespace = \Zule\Tools\Config::zc()->framework->application_namespace; $system = 'Zule'; $controller = $_POST['name']; $addActions = explode(',', $_POST['actions']); if (isset($_POST['make_index'])) { $acts = [\Zule\Tools\Config::zc()->framework->index_action]; } else { $acts = []; } $acts = array_merge($acts, $addActions); if (isset($_POST['make_views'])) { $s->assign('generateViews', 1); } else { $s->assign('generateViews', 0); } $s->assign('actions', $acts); $s->assign('actionString', '\'' . implode('\',\'', $acts) . '\''); $s->assign('open_php', '<?php'); $s->assign('namespace', $namespace); $s->assign('system', $system); $s->assign('controller', $controller); echo '<pre>'; echo 'Generating controller template...' . PHP_EOL; $string = $s->fetch('new_controller.tpl'); echo 'Controller template created' . PHP_EOL; $destFile = "../controllers/{$controller}.php"; $fh = fopen($destFile, 'x');