getHeader(); $scripts = $header->getScripts(); $scripts->addFile('tbl_relation.js'); $scripts->addFile('indexes.js'); /** * Gets tables informations */ require_once 'libraries/tbl_info.inc.php'; $options_array = array( 'CASCADE' => 'CASCADE', 'SET_NULL' => 'SET NULL', 'NO_ACTION' => 'NO ACTION', 'RESTRICT' => 'RESTRICT', ); /** * Gets the relation settings */ $cfgRelation = PMA_getRelationsParam(); /** * Updates */ if ($cfgRelation['relwork']) { $existrel = PMA_getForeigners($db, $table, '', 'internal'); } if (PMA_Util::isForeignKeySupported($tbl_storage_engine)) { $existrel_foreign = PMA_getForeigners($db, $table, '', 'foreign'); } if ($cfgRelation['displaywork']) { $disp = PMA_getDisplayField($db, $table); } else { $disp = ''; } // will be used in the logic for internal relations and foreign keys: $multi_edit_columns_name = isset($_REQUEST['fields_name']) ? $_REQUEST['fields_name'] : null; $html_output = ''; // u p d a t e s f o r I n t e r n a l r e l a t i o n s if (isset($_POST['destination_db']) && $cfgRelation['relwork']) { $html_output .= PMA_handleUpdatesForInternalRelations( $_POST['destination_db'], $multi_edit_columns_name, $_POST['destination_table'], $_POST['destination_column'], $cfgRelation, $db, $table, isset($existrel) ? $existrel : null ); } // end if (updates for internal relations) $multi_edit_columns_name = isset($_REQUEST['foreign_key_fields_name']) ? $_REQUEST['foreign_key_fields_name'] : null; // u p d a t e s f o r f o r e i g n k e y s // (for now, one index name only; we keep the definitions if the // foreign db is not the same) if (isset($_POST['destination_foreign_db'])) { $html_output .= PMA_handleUpdatesForForeignKeys( $_POST['destination_foreign_db'], $multi_edit_columns_name, $_POST['destination_foreign_table'], $_POST['destination_foreign_column'], $options_array, $table, isset($existrel_foreign) ? $existrel_foreign['foreign_keys_data'] : null ); } // end if isset($destination_foreign) // U p d a t e s f o r d i s p l a y f i e l d if ($cfgRelation['displaywork'] && isset($_POST['display_field'])) { $html_output .= PMA_handleUpdateForDisplayField( $disp, $_POST['display_field'], $db, $table, $cfgRelation ); } // end if // If we did an update, refresh our data if (isset($_POST['destination_db']) && $cfgRelation['relwork']) { $existrel = PMA_getForeigners($db, $table, '', 'internal'); } if (isset($_POST['destination_foreign_db']) && PMA_Util::isForeignKeySupported($tbl_storage_engine) ) { $existrel_foreign = PMA_getForeigners($db, $table, '', 'foreign'); } if ($cfgRelation['displaywork']) { $disp = PMA_getDisplayField($db, $table); } // display secondary level tabs if necessary $engine = PMA_Table::sGetStatusInfo($db, $table, 'ENGINE'); $response->addHTML(PMA_getStructureSecondaryTabs($engine)); $response->addHTML('