Initial commit
This commit is contained in:
79
#pma/templates/table/relation/internal_relational_row.phtml
Normal file
79
#pma/templates/table/relation/internal_relational_row.phtml
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
use PMA\libraries\Table;
|
||||
|
||||
$myfield = $save_row[$i]['Field'];
|
||||
// Use an md5 as array index to avoid having special characters
|
||||
// in the name attribute (see bug #1746964 )
|
||||
$myfield_md5 = md5($myfield);
|
||||
$myfield_html = htmlspecialchars($myfield);
|
||||
|
||||
$foreign_table = false;
|
||||
$foreign_column = false;
|
||||
|
||||
// database dropdown
|
||||
if (isset($existrel[$myfield])) {
|
||||
$foreign_db = $existrel[$myfield]['foreign_db'];
|
||||
} else {
|
||||
$foreign_db = $db;
|
||||
}
|
||||
|
||||
// table dropdown
|
||||
$tables = array();
|
||||
if ($foreign_db) {
|
||||
if (isset($existrel[$myfield])) {
|
||||
$foreign_table = $existrel[$myfield]['foreign_table'];
|
||||
}
|
||||
$tables_rs = $GLOBALS['dbi']->query(
|
||||
'SHOW TABLES FROM ' . PMA\libraries\Util::backquote($foreign_db),
|
||||
null,
|
||||
PMA\libraries\DatabaseInterface::QUERY_STORE
|
||||
);
|
||||
while ($row = $GLOBALS['dbi']->fetchRow($tables_rs)) {
|
||||
$tables[] = $row[0];
|
||||
}
|
||||
}
|
||||
|
||||
// column dropdown
|
||||
$columns = array();
|
||||
if ($foreign_db && $foreign_table) {
|
||||
if (isset($existrel[$myfield])) {
|
||||
$foreign_column = $existrel[$myfield]['foreign_field'];
|
||||
}
|
||||
$table_obj = new Table($foreign_table, $foreign_db);
|
||||
$columns = $table_obj->getUniqueColumns(false, false);
|
||||
}
|
||||
?>
|
||||
<tr class="<?= ($odd_row ? 'odd' : 'even'); ?>">
|
||||
<td class="vmiddle">
|
||||
<strong><?= $myfield_html; ?></strong>
|
||||
<input type="hidden" name="fields_name[<?= $myfield_md5; ?>]"
|
||||
value="<?= $myfield_html; ?>"/>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?= PMA\libraries\Template::get('table/relation/relational_dropdown')->render(
|
||||
array(
|
||||
'name' => 'destination_db[' . $myfield_md5 . ']',
|
||||
'title' => __('Database'),
|
||||
'values' => $GLOBALS['dblist']->databases,
|
||||
'foreign' => $foreign_db
|
||||
)
|
||||
); ?>
|
||||
<?= PMA\libraries\Template::get('table/relation/relational_dropdown')->render(
|
||||
array(
|
||||
'name' => 'destination_table[' . $myfield_md5 . ']',
|
||||
'title' => __('Table'),
|
||||
'values' => $tables,
|
||||
'foreign' => $foreign_table
|
||||
)
|
||||
); ?>
|
||||
<?= PMA\libraries\Template::get('table/relation/relational_dropdown')->render(
|
||||
array(
|
||||
'name' => 'destination_column[' . $myfield_md5 . ']',
|
||||
'title' => __('Column'),
|
||||
'values' => $columns,
|
||||
'foreign' => $foreign_column
|
||||
)
|
||||
); ?>
|
||||
</td>
|
||||
</tr>
|
Reference in New Issue
Block a user