The XMLDBEditor is generating automatic PHP code for create_table

This commit is contained in:
stronk7
2006-09-06 19:49:13 +00:00
parent aed4e52713
commit 3ab430fbc5
@@ -156,11 +156,62 @@ class view_structure_php extends XMLDBAction {
$result = '';
/// Validate if we can do it
if (!$table = $structure->getTable($table)) {
return false;
}
if ($table->getAllErrors()) {
return false;
}
/// Add the standard PHP header
$result .= XMLDB_PHP_HEADER;
/// Add contents
$result .= XMLDB_LINEFEED;
$result .= ' /// Create table ' . $table->getName() . XMLDB_LINEFEED;
$result .= ' $table = new XMLDBTable(' . "'" . $table->getName() . "'" . ');' . XMLDB_LINEFEED;
$result .= XMLDB_LINEFEED;
$result .= ' /// Adding fields to table ' . $table->getName() . XMLDB_LINEFEED;
/// Iterate over each field
foreach ($table->getFields() as $field) {
/// The field header, with name
$result .= ' $table->addFieldInfo(' . "'" . $field->getName() . "', ";
/// The field PHP specs
$result .= $field->getPHP(false);
/// The end of the line
$result .= ');' . XMLDB_LINEFEED;
}
/// Iterate over each key
if ($keys = $table->getKeys()) {
$result .= XMLDB_LINEFEED;
$result .= ' /// Adding keys to table ' . $table->getName() . XMLDB_LINEFEED;
foreach ($keys as $key) {
/// The key header, with name
$result .= ' $table->addKeyInfo(' . "'" . $key->getName() . "', ";
/// The key PHP specs
$result .= $key->getPHP();
/// The end of the line
$result .= ');' . XMLDB_LINEFEED;
}
}
/// Iterate over each index
if ($indexes = $table->getIndexes()) {
$result .= XMLDB_LINEFEED;
$result .= ' /// Adding indexes to table ' . $table->getName() . XMLDB_LINEFEED;
foreach ($indexes as $index) {
/// The index header, with name
$result .= ' $table->addIndexInfo(' . "'" . $index->getName() . "', ";
/// The index PHP specs
$result .= $index->getPHP();
/// The end of the line
$result .= ');' . XMLDB_LINEFEED;
}
}
/// Launch the proper DDL
$result .= XMLDB_LINEFEED;
$result .= ' /// Launch create table for ' . $table->getName() . XMLDB_LINEFEED;
$result .= ' $status = $status && create_table($table);' . XMLDB_LINEFEED;
/// Add standard PHP footer
$result .= XMLDB_PHP_FOOTER;
@@ -180,6 +231,12 @@ class view_structure_php extends XMLDBAction {
$result = '';
/// Validate if we can do it
if (!$table = $structure->getTable($table)) {
return false;
}
if ($table->getAllErrors()) {
return false;
}
/// Add the standard PHP header
$result .= XMLDB_PHP_HEADER;
@@ -204,6 +261,12 @@ class view_structure_php extends XMLDBAction {
$result = '';
/// Validate if we can do it
if (!$table = $structure->getTable($table)) {
return false;
}
if ($table->getAllErrors()) {
return false;
}
/// Add the standard PHP header
$result .= XMLDB_PHP_HEADER;