250 |
kaklik |
1 |
<?php |
|
|
2 |
/* $Id: db_printview.php,v 2.15.2.1 2006/04/27 09:43:13 cybot_tm Exp $ */ |
|
|
3 |
// vim: expandtab sw=4 ts=4 sts=4: |
|
|
4 |
|
|
|
5 |
require_once './libraries/common.lib.php'; |
|
|
6 |
|
|
|
7 |
/** |
|
|
8 |
* Gets the variables sent or posted to this script, then displays headers |
|
|
9 |
*/ |
|
|
10 |
$print_view = true; |
|
|
11 |
require_once './libraries/header.inc.php'; |
|
|
12 |
|
|
|
13 |
PMA_checkParameters(array('db')); |
|
|
14 |
|
|
|
15 |
/** |
|
|
16 |
* Defines the url to return to in case of error in a sql statement |
|
|
17 |
*/ |
|
|
18 |
$err_url = 'db_details.php?' . PMA_generate_common_url($db); |
|
|
19 |
|
|
|
20 |
/** |
|
|
21 |
* Settings for relations stuff |
|
|
22 |
*/ |
|
|
23 |
require_once './libraries/relation.lib.php'; |
|
|
24 |
$cfgRelation = PMA_getRelationsParam(); |
|
|
25 |
|
|
|
26 |
/** |
|
|
27 |
* Gets the list of the table in the current db and informations about these |
|
|
28 |
* tables if possible |
|
|
29 |
* |
|
|
30 |
* @todo merge this speedup _optionaly_ into PMA_DBI_get_tables_full() |
|
|
31 |
* |
|
|
32 |
// staybyte: speedup view on locked tables - 11 June 2001 |
|
|
33 |
// Special speedup for newer MySQL Versions (in 4.0 format changed) |
|
|
34 |
if ($cfg['SkipLockedTables'] == true) { |
|
|
35 |
$result = PMA_DBI_query('SHOW OPEN TABLES FROM ' . PMA_backquote($db) . ';'); |
|
|
36 |
// Blending out tables in use |
|
|
37 |
if ($result != false && PMA_DBI_num_rows($result) > 0) { |
|
|
38 |
while ($tmp = PMA_DBI_fetch_row($result)) { |
|
|
39 |
// if in use memorize tablename |
|
|
40 |
if (preg_match('@in_use=[1-9]+@i', $tmp[0])) { |
|
|
41 |
$sot_cache[$tmp[0]] = true; |
|
|
42 |
} |
|
|
43 |
} |
|
|
44 |
PMA_DBI_free_result($result); |
|
|
45 |
|
|
|
46 |
if (isset($sot_cache)) { |
|
|
47 |
$result = PMA_DBI_query('SHOW TABLES FROM ' . PMA_backquote($db) . ';', null, PMA_DBI_QUERY_STORE); |
|
|
48 |
if ($result != false && PMA_DBI_num_rows($result) > 0) { |
|
|
49 |
while ($tmp = PMA_DBI_fetch_row($result)) { |
|
|
50 |
if (!isset($sot_cache[$tmp[0]])) { |
|
|
51 |
$sts_result = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . addslashes($tmp[0]) . '\';'); |
|
|
52 |
$sts_tmp = PMA_DBI_fetch_assoc($sts_result); |
|
|
53 |
$tables[] = $sts_tmp; |
|
|
54 |
} else { // table in use |
|
|
55 |
$tables[] = array('Name' => $tmp[0]); |
|
|
56 |
} |
|
|
57 |
} |
|
|
58 |
PMA_DBI_free_result($result); |
|
|
59 |
$sot_ready = true; |
|
|
60 |
} |
|
|
61 |
} |
|
|
62 |
unset($tmp, $result); |
|
|
63 |
} |
|
|
64 |
} |
|
|
65 |
|
|
|
66 |
if (! isset($sot_ready)) { |
|
|
67 |
$result = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ';'); |
|
|
68 |
if (PMA_DBI_num_rows($result) > 0) { |
|
|
69 |
while ($sts_tmp = PMA_DBI_fetch_assoc($result)) { |
|
|
70 |
$tables[] = $sts_tmp; |
|
|
71 |
} |
|
|
72 |
PMA_DBI_free_result($result); |
|
|
73 |
unset($res); |
|
|
74 |
} |
|
|
75 |
} |
|
|
76 |
*/ |
|
|
77 |
|
|
|
78 |
/** |
|
|
79 |
* If there is at least one table, displays the printer friendly view, else |
|
|
80 |
* an error message |
|
|
81 |
*/ |
|
|
82 |
$tables = PMA_DBI_get_tables_full($db); |
|
|
83 |
$num_tables = count($tables); |
|
|
84 |
|
|
|
85 |
echo '<br />'; |
|
|
86 |
|
|
|
87 |
// 1. No table |
|
|
88 |
if ($num_tables == 0) { |
|
|
89 |
echo $strNoTablesFound; |
|
|
90 |
} |
|
|
91 |
// 2. Shows table informations on mysql >= 3.23.03 - staybyte - 11 June 2001 |
|
|
92 |
else { |
|
|
93 |
?> |
|
|
94 |
<table> |
|
|
95 |
<thead> |
|
|
96 |
<tr> |
|
|
97 |
<th><?php echo $strTable; ?></th> |
|
|
98 |
<th><?php echo $strRecords; ?></th> |
|
|
99 |
<th><?php echo $strType; ?></th> |
|
|
100 |
<?php |
|
|
101 |
if ($cfg['ShowStats']) { |
|
|
102 |
echo '<th>' . $strSize . '</th>'; |
|
|
103 |
} |
|
|
104 |
?> |
|
|
105 |
<th><?php echo $strComments; ?></th> |
|
|
106 |
</tr> |
|
|
107 |
</thead> |
|
|
108 |
<tbody> |
|
|
109 |
<?php |
|
|
110 |
$sum_entries = $sum_size = 0; |
|
|
111 |
$odd_row = true; |
|
|
112 |
foreach ($tables as $sts_data) { |
|
|
113 |
if (strtoupper($sts_data['ENGINE']) == 'MRG_MYISAM' |
|
|
114 |
|| strtoupper($sts_data['ENGINE']) == 'FEDERATED') { |
|
|
115 |
$merged_size = true; |
|
|
116 |
} else { |
|
|
117 |
$merged_size = false; |
|
|
118 |
} |
|
|
119 |
$sum_entries += $sts_data['TABLE_ROWS']; |
|
|
120 |
?> |
|
|
121 |
<tr class="<?php echo $odd_row ? 'odd' : 'even'; ?>"> |
|
|
122 |
<th> |
|
|
123 |
<?php echo htmlspecialchars($sts_data['TABLE_NAME']); ?> |
|
|
124 |
</th> |
|
|
125 |
<?php |
|
|
126 |
|
|
|
127 |
if (isset($sts_data['TABLE_ROWS'])) { |
|
|
128 |
?> |
|
|
129 |
<td align="right"> |
|
|
130 |
<?php |
|
|
131 |
if ($merged_size) { |
|
|
132 |
echo '<i>' . number_format($sts_data['TABLE_ROWS'], 0, $number_decimal_separator, $number_thousands_separator) . '</i>' . "\n"; |
|
|
133 |
} else { |
|
|
134 |
echo number_format($sts_data['TABLE_ROWS'], 0, $number_decimal_separator, $number_thousands_separator) . "\n"; |
|
|
135 |
} |
|
|
136 |
?> |
|
|
137 |
</td> |
|
|
138 |
<td nowrap="nowrap"> |
|
|
139 |
<?php echo $sts_data['ENGINE']; ?> |
|
|
140 |
</td> |
|
|
141 |
<?php |
|
|
142 |
if ($cfg['ShowStats']) { |
|
|
143 |
$tblsize = $sts_data['Data_length'] + $sts_data['Index_length']; |
|
|
144 |
$sum_size += $tblsize; |
|
|
145 |
list($formated_size, $unit) = PMA_formatByteDown($tblsize, 3, 1); |
|
|
146 |
?> |
|
|
147 |
<td align="right" nowrap="nowrap"> |
|
|
148 |
<?php echo $formated_size . ' ' . $unit; ?> |
|
|
149 |
</td> |
|
|
150 |
<?php |
|
|
151 |
} // end if |
|
|
152 |
} else { |
|
|
153 |
?> |
|
|
154 |
<td colspan="3" align="center"> |
|
|
155 |
<?php echo $strInUse; ?> |
|
|
156 |
</td> |
|
|
157 |
<?php |
|
|
158 |
} |
|
|
159 |
?> |
|
|
160 |
<td> |
|
|
161 |
<?php |
|
|
162 |
if (! empty($sts_data['Comment'])) { |
|
|
163 |
echo $sts_data['Comment']; |
|
|
164 |
$needs_break = '<br />'; |
|
|
165 |
} else { |
|
|
166 |
$needs_break = ''; |
|
|
167 |
} |
|
|
168 |
|
|
|
169 |
if (! empty($sts_data['Create_time']) |
|
|
170 |
|| ! empty($sts_data['Update_time']) |
|
|
171 |
|| ! empty($sts_data['Check_time'])) { |
|
|
172 |
echo $needs_break; |
|
|
173 |
?> |
|
|
174 |
<table width="100%"> |
|
|
175 |
<?php |
|
|
176 |
|
|
|
177 |
if (! empty($sts_data['Create_time'])) { |
|
|
178 |
?> |
|
|
179 |
<tr> |
|
|
180 |
<td align="right"><?php echo $strStatCreateTime . ': '; ?></td> |
|
|
181 |
<td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Create_time'])); ?></td> |
|
|
182 |
</tr> |
|
|
183 |
<?php |
|
|
184 |
} |
|
|
185 |
|
|
|
186 |
if (! empty($sts_data['Update_time'])) { |
|
|
187 |
?> |
|
|
188 |
<tr> |
|
|
189 |
<td align="right"><?php echo $strStatUpdateTime . ': '; ?></td> |
|
|
190 |
<td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Update_time'])); ?></td> |
|
|
191 |
</tr> |
|
|
192 |
<?php |
|
|
193 |
} |
|
|
194 |
|
|
|
195 |
if (! empty($sts_data['Check_time'])) { |
|
|
196 |
?> |
|
|
197 |
<tr> |
|
|
198 |
<td align="right"><?php echo $strStatCheckTime . ': '; ?></td> |
|
|
199 |
<td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Check_time'])); ?></td> |
|
|
200 |
</tr> |
|
|
201 |
<?php |
|
|
202 |
} |
|
|
203 |
?> |
|
|
204 |
</table> |
|
|
205 |
<?php |
|
|
206 |
} |
|
|
207 |
?> |
|
|
208 |
</td> |
|
|
209 |
</tr> |
|
|
210 |
<?php |
|
|
211 |
} |
|
|
212 |
?> |
|
|
213 |
<tr> |
|
|
214 |
<th align="center"> |
|
|
215 |
<?php echo sprintf($strTables, number_format($num_tables, 0, $number_decimal_separator, $number_thousands_separator)); ?> |
|
|
216 |
</th> |
|
|
217 |
<th align="right" nowrap="nowrap"> |
|
|
218 |
<?php echo number_format($sum_entries, 0, $number_decimal_separator, $number_thousands_separator); ?> |
|
|
219 |
</th> |
|
|
220 |
<th align="center"> |
|
|
221 |
-- |
|
|
222 |
</th> |
|
|
223 |
<?php |
|
|
224 |
if ($cfg['ShowStats']) { |
|
|
225 |
list($sum_formated, $unit) = PMA_formatByteDown($sum_size, 3, 1); |
|
|
226 |
?> |
|
|
227 |
<th align="right" nowrap="nowrap"> |
|
|
228 |
<?php echo $sum_formated . ' ' . $unit; ?> |
|
|
229 |
</th> |
|
|
230 |
<?php |
|
|
231 |
} |
|
|
232 |
?> |
|
|
233 |
<th> </th> |
|
|
234 |
</tr> |
|
|
235 |
</tbody> |
|
|
236 |
</table> |
|
|
237 |
<?php |
|
|
238 |
} |
|
|
239 |
|
|
|
240 |
/** |
|
|
241 |
* Displays the footer |
|
|
242 |
*/ |
|
|
243 |
?> |
|
|
244 |
|
|
|
245 |
<script type="text/javascript" language="javascript"> |
|
|
246 |
//<![CDATA[ |
|
|
247 |
function printPage() |
|
|
248 |
{ |
|
|
249 |
// Do print the page |
|
|
250 |
if (typeof(window.print) != 'undefined') { |
|
|
251 |
window.print(); |
|
|
252 |
} |
|
|
253 |
} |
|
|
254 |
//]]> |
|
|
255 |
</script> |
|
|
256 |
<br /><br /> |
|
|
257 |
|
|
|
258 |
<input type="button" class="print_ignore" |
|
|
259 |
id="print" value="<?php echo $strPrint; ?>" onclick="printPage()" /> |
|
|
260 |
|
|
|
261 |
<?php |
|
|
262 |
require_once './libraries/footer.inc.php'; |
|
|
263 |
?> |