00001 <?php
00002
00003
00004
00005
00006
00007
00008 require_once('./libraries/common.lib.php');
00009
00010 PMA_checkParameters(array('db'));
00011
00012 function fillTooltip(&$tooltip_truename, &$tooltip_aliasname, &$tmp) {
00013 $tooltip_truename[$tmp['Name']] = ($GLOBALS['cfg']['ShowTooltipAliasTB'] && $GLOBALS['cfg']['ShowTooltipAliasTB'] != 'nested' ? (!empty($tmp['Comment']) ? $tmp['Comment'] . ' ' : $tmp['Name']) : $tmp['Name']);
00014 $tooltip_aliasname[$tmp['Name']] = ($GLOBALS['cfg']['ShowTooltipAliasTB'] && $GLOBALS['cfg']['ShowTooltipAliasTB'] != 'nested' ? $tmp['Name'] : (!empty($tmp['Comment']) ? $tmp['Comment'] . ' ' : $tmp['Name']));
00015 if (isset($tmp['Create_time']) && !empty($tmp['Create_time'])) {
00016 $tooltip_aliasname[$tmp['Name']] .= ', ' . $GLOBALS['strStatCreateTime'] . ': ' . PMA_localisedDate(strtotime($tmp['Create_time']));
00017 }
00018
00019 if (isset($tmp['Update_time']) && !empty($tmp['Update_time'])) {
00020 $tooltip_aliasname[$tmp['Name']] .= ', ' . $GLOBALS['strStatUpdateTime'] . ': ' . PMA_localisedDate(strtotime($tmp['Update_time']));
00021 }
00022
00023 if (isset($tmp['Check_time']) && !empty($tmp['Check_time'])) {
00024 $tooltip_aliasname[$tmp['Name']] .= ', ' . $GLOBALS['strStatCheckTime'] . ': ' . PMA_localisedDate(strtotime($tmp['Check_time']));
00025 }
00026
00027 return true;
00028 }
00029
00034
00035 $tables = array();
00036
00037
00038 if (!empty($tbl_group) && !$cfg['ShowTooltipAliasTB']) {
00039 $tbl_group_sql = ' LIKE \'' . $tbl_group . '%\'';
00040 } else {
00041 $tbl_group_sql = '';
00042 }
00043
00044 if ($cfg['ShowTooltip']) {
00045 $tooltip_truename = array();
00046 $tooltip_aliasname = array();
00047 }
00048
00049
00050 if ($cfg['SkipLockedTables'] == TRUE) {
00051 $db_info_result = PMA_DBI_query('SHOW OPEN TABLES FROM ' . PMA_backquote($db) . ';');
00052
00053 if ($db_info_result != FALSE && PMA_DBI_num_rows($db_info_result) > 0) {
00054 while ($tmp = PMA_DBI_fetch_row($db_info_result)) {
00055
00056 if (preg_match('@in_use=[1-9]+@i', $tmp[1])) {
00057 $sot_cache[$tmp[0]] = TRUE;
00058 }
00059 }
00060 PMA_DBI_free_result($db_info_result);
00061
00062 if (isset($sot_cache)) {
00063 $db_info_result = PMA_DBI_query('SHOW TABLES FROM ' . PMA_backquote($db) . $tbl_group_sql . ';', NULL, PMA_DBI_QUERY_STORE);
00064 if ($db_info_result != FALSE && PMA_DBI_num_rows($db_info_result) > 0) {
00065 while ($tmp = PMA_DBI_fetch_row($db_info_result)) {
00066 if (!isset($sot_cache[$tmp[0]])) {
00067 $sts_result = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . addslashes($tmp[0]) . '\';');
00068 $sts_tmp = PMA_DBI_fetch_assoc($sts_result);
00069 PMA_DBI_free_result($sts_result);
00070 unset($sts_result);
00071
00072 if (!isset($sts_tmp['Type']) && isset($sts_tmp['Engine'])) {
00073 $sts_tmp['Type'] =& $sts_tmp['Engine'];
00074 }
00075
00076 if (!empty($tbl_group) && $cfg['ShowTooltipAliasTB'] && !preg_match('@' . preg_quote($tbl_group, '@') . '@i', $sts_tmp['Comment'])) {
00077 continue;
00078 }
00079
00080 if ($cfg['ShowTooltip']) {
00081 fillTooltip($tooltip_truename, $tooltip_aliasname, $sts_tmp);
00082 }
00083
00084 $tables[] = $sts_tmp;
00085 } else {
00086 $tables[] = array('Name' => $tmp[0]);
00087 }
00088 }
00089 PMA_DBI_free_result($db_info_result);
00090 $sot_ready = TRUE;
00091 }
00092 }
00093 } else {
00094 PMA_DBI_free_result($db_info_result);
00095 unset($db_info_result);
00096 }
00097 }
00098 if (!isset($sot_ready)) {
00099 $db_info_result = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . $tbl_group_sql . ';', NULL, PMA_DBI_QUERY_STORE);
00100 if ($db_info_result != FALSE && PMA_DBI_num_rows($db_info_result) > 0) {
00101 while ($sts_tmp = PMA_DBI_fetch_assoc($db_info_result)) {
00102 if (!isset($sts_tmp['Type']) && isset($sts_tmp['Engine'])) {
00103 $sts_tmp['Type'] =& $sts_tmp['Engine'];
00104 }
00105 if (!empty($tbl_group) && $cfg['ShowTooltipAliasTB'] && !preg_match('@' . preg_quote($tbl_group, '@') . '@i', $sts_tmp['Comment'])) {
00106 continue;
00107 }
00108
00109 if ($cfg['ShowTooltip']) {
00110 fillTooltip($tooltip_truename, $tooltip_aliasname, $sts_tmp);
00111 }
00112
00113 $tables[] = $sts_tmp;
00114 }
00115 }
00116 @PMA_DBI_free_result($db_info_result);
00117 unset($db_info_result);
00118 }
00119 $num_tables = (isset($tables) ? count($tables) : 0);
00120
00124 echo '<!-- Top menu links -->' . "\n";
00125 require('./db_details_links.php');
00126
00127 ?>