/** * Test for PMA_getHtmlForReferentialIntegrityCheck * * @return void */ public function testGetHtmlForReferentialIntegrityCheck() { $this->assertRegExp('/.*Check referential integrity.*href="sql.php(.|[\\n])*/m', PMA_getHtmlForReferentialIntegrityCheck(array(array('foreign_db' => 'db1', 'foreign_table' => "foreign1", 'foreign_field' => "foreign2")), array("param1" => 'a', "param2" => 'b'))); }
if (!(isset($db_is_system_schema) && $db_is_system_schema)) { $this_sql_query = 'DROP TABLE ' . PMA\libraries\Util::backquote($GLOBALS['table']); $drop_table_url_params = array_merge($url_params, array('sql_query' => $this_sql_query, 'goto' => 'db_operations.php', 'reload' => '1', 'purge' => '1', 'message_to_show' => sprintf($tbl_is_view ? __('View %s has been dropped.') : __('Table %s has been dropped.'), htmlspecialchars($table)), 'table' => $GLOBALS['table'])); } $response->addHTML(PMA_getHtmlForDeleteDataOrTable($truncate_table_url_params, $drop_table_url_params)); } if (Partition::havePartitioning()) { $partition_names = Partition::getPartitionNames($db, $table); // show the Partition maintenance section only if we detect a partition if (!is_null($partition_names[0])) { $response->addHTML(PMA_getHtmlForPartitionMaintenance($partition_names, $url_params)); } // end if } // end if unset($partition_names); // Referential integrity check // The Referential integrity check was intended for the non-InnoDB // tables for which the relations are defined in pmadb // so I assume that if the current table is InnoDB, I don't display // this choice (InnoDB maintains integrity by itself) if ($cfgRelation['relwork'] && !$is_innodb) { $GLOBALS['dbi']->selectDb($GLOBALS['db']); $foreign = PMA_getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'internal'); if (!empty($foreign)) { $response->addHTML(PMA_getHtmlForReferentialIntegrityCheck($foreign, $url_params)); } // end if ($foreign) } // end if (!empty($cfg['Server']['relation'])) $response->addHTML('</div>');
if (PMA_Partition::havePartitioning()) { $partition_names = PMA_Partition::getPartitionNames($db, $table); // show the Partition maintenance section only if we detect a partition if (! is_null($partition_names[0])) { $response->addHTML( PMA_getHtmlForPartitionMaintenance($partition_names, $url_params) ); } // end if } // end if unset($partition_names); // Referential integrity check // The Referential integrity check was intended for the non-InnoDB // tables for which the relations are defined in pmadb // so I assume that if the current table is InnoDB, I don't display // this choice (InnoDB maintains integrity by itself) if ($cfgRelation['relwork'] && ! $is_innodb) { PMA_DBI_select_db($GLOBALS['db']); $foreign = PMA_getForeigners($GLOBALS['db'], $GLOBALS['table']); if ($foreign) { $response->addHTML( PMA_getHtmlForReferentialIntegrityCheck($foreign, $url_params) ); } // end if ($foreign) } // end if (!empty($cfg['Server']['relation'])) ?>