backquote($GLOBALS['db']), null, PMA_DBI_QUERY_STORE); while ($val = @PMA_DBI_fetch_row($alltab_rs)) { $row = PMA_getForeigners($GLOBALS['db'], $val[0], '', 'internal'); //echo "
internal ".$GLOBALS['db']." - ".$val[0]." - "; //print_r($row); if ($row !== false) { foreach ($row as $field => $value) { $con['C_NAME'][$i] = ''; $con['DTN'][$i] = urlencode($GLOBALS['db'] . "." . $val[0]); $con['DCN'][$i] = urlencode($field); $con['STN'][$i] = urlencode($value['foreign_db'] . "." . $value['foreign_table']); $con['SCN'][$i] = urlencode($value['foreign_field']); $i++; } } $row = PMA_getForeigners($GLOBALS['db'], $val[0], '', 'foreign'); //echo "
INNO "; //print_r($row); if ($row !== false) { foreach ($row as $field => $value) { $con['C_NAME'][$i] = ''; $con['DTN'][$i] = urlencode($GLOBALS['db'].".".$val[0]); $con['DCN'][$i] = urlencode($field); $con['STN'][$i] = urlencode($value['foreign_db'].".".$value['foreign_table']); $con['SCN'][$i] = urlencode($value['foreign_field']); $i++; } } } $ti = 0; $script_contr = 'var contr = new Array();' . "\n"; for ($i = 0, $cnt = count($con["C_NAME"]); $i < $cnt; $i++) { $js_var = ' contr[' . $ti . ']'; $script_contr .= $js_var . " = new Array();\n"; $js_var .= "['" . $con['C_NAME'][$i] . "']"; $script_contr .= $js_var . " = new Array();\n"; if (in_array($con['DTN'][$i], $GLOBALS['PMD_URL']["TABLE_NAME"]) && in_array($con['STN'][$i], $GLOBALS['PMD_URL']["TABLE_NAME"]) ) { $js_var .= "['" . $con['DTN'][$i] . "']"; $script_contr .= $js_var . " = new Array();\n"; $m_col = array();//} $js_var .= "['" . $con['DCN'][$i] . "']"; $script_contr .= $js_var . " = new Array();\n";//} $script_contr .= $js_var . "[0] = '" . $con['STN'][$i] . "';\n"; // $script_contr .= $js_var . "[1] = '" . $con['SCN'][$i] . "';\n"; // } $ti++; } return $script_contr; } /** * @return array unique or primary indizes */ function get_pk_or_unique_keys() { return get_all_keys(true); } /** * returns all indizes * * @param boolean whether to include ony unique ones * * @return array indizes */ function get_all_keys($unique_only = false) { include_once './libraries/Index.class.php'; $keys = array(); foreach ($GLOBALS['PMD']['TABLE_NAME_SMALL'] as $I => $table) { $schema = $GLOBALS['PMD']['OWNER'][$I]; // for now, take into account only the first index segment foreach (PMA_Index::getFromTable($table, $schema) as $index) { if ($unique_only && ! $index->isUnique()) { continue; } $columns = $index->getColumns(); foreach ($columns as $column_name => $dummy) { $keys[$schema . '.' .$table . '.' . $column_name] = 1; } } } return $keys; } /** * * * @return array ??? */ function get_script_tabs() { $script_tabs = 'var j_tabs = new Array();' . "\n" . 'var h_tabs = new Array();' . "\n" ; for ($i = 0, $cnt = count($GLOBALS['PMD']['TABLE_NAME']); $i < $cnt; $i++) { $script_tabs .= "j_tabs['" . $GLOBALS['PMD_URL']['TABLE_NAME'][$i] . "'] = '" . (PMA_CommonFunctions::getInstance()->isForeignKeySupported( $GLOBALS['PMD']['TABLE_TYPE'][$i]) ? '1' : '0' ) . "';\n"; $script_tabs .="h_tabs['" . $GLOBALS['PMD_URL']['TABLE_NAME'][$i] . "'] = 1;"."\n" ; } return $script_tabs; } /** * @return array table positions and sizes */ function get_tab_pos() { $cfgRelation = PMA_getRelationsParam(); if (! $cfgRelation['designerwork']) { return null; } $query = " SELECT CONCAT_WS('.', `db_name`, `table_name`) AS `name`, `x` AS `X`, `y` AS `Y`, `v` AS `V`, `h` AS `H` FROM " . PMA_CommonFunctions::getInstance()->backquote($cfgRelation['db']) . "." . PMA_CommonFunctions::getInstance()->backquote($cfgRelation['designer_coords']); $tab_pos = PMA_DBI_fetch_result($query, 'name', null, $GLOBALS['controllink'], PMA_DBI_QUERY_STORE); return count($tab_pos) ? $tab_pos : null; } ?>