public function generate() { $files = new \Extool\Helpers\FilePackage(); $install_file = new \Extool\Helpers\File(); $uninstall_file = new \Extool\Helpers\File(); foreach ($this->rep->tables as $table) { $table->createDefaultKey(); $mysql = new \Extool\Helpers\MySQL($table); $install_file->appendContents($mysql->generateCreate() . "\n\n"); $uninstall_file->appendContents($mysql->generateDrop() . "\n"); } $files->addFile('admin/install.mysql.sql', $install_file); $files->addFile('admin/uninstall.mysql.sql', $uninstall_file); return $files; }
private function makeTableClasses() { $this->indexFolder('admin/tables'); foreach ($this->rep->tables as $table) { $table_name = $table->system_name; if ($table_name != $this->rep->system_name) { $table_name = $this->rep->system_name . '_' . $table_name; } $tableSnip = $this->snippets->getSnippet('table'); $tableSnip->assign('table_name', $table_name); $tableSnip->assign('table_uc_name', ucfirst($table_name)); $tableSnip->assign('table_key', $table->key); foreach ($table->fields as $field) { $field_snip = $this->snippets->getSnippet('table_field'); $field_snip->assign('field', strtolower($field['name'])); $tableSnip->add('variables', $field_snip); } $fileSnip = $this->snippets->getSnippet('code'); $fileSnip->assign('code', $tableSnip); $tableFile = new \Extool\Helpers\File(); $tableFile->setContents($fileSnip); $this->files->addFile("admin/tables/{$table_name}.php", $tableFile); } }