00001 <?php
00002
00003
00004
00005
00009 require_once('./libraries/grab_globals.lib.php');
00010
00011
00015 $js_to_run = 'functions.js';
00016 require('./server_common.inc.php');
00017
00018 ?>
00019 <script type="text/javascript" language="javascript1.2">
00020 <!--
00021 function reload_window(db) {
00022 if (typeof(window.parent) != 'undefined'
00023 && typeof(window.parent.frames['nav']) != 'undefined') {
00024 window.parent.frames['nav'].goTo('./left.php?<?php echo PMA_generate_common_url('','','&');?>&db=' + db + '&hash=' + <?php echo (($cfg['QueryFrame'] && $cfg['QueryFrameJS']) ? 'window.parent.frames[\'queryframe\'].document.hashform.hash.value' : "'" . md5($cfg['PmaAbsoluteUri']) . "'"); ?>);
00025 }
00026 }
00027
00028 </script>
00029
00030 <?php
00031
00046 function PMA_dbCmp($a, $b)
00047 {
00048 global $sort_by, $sort_order;
00049 if ($GLOBALS['cfg']['NaturalOrder']) {
00050 $sorter = 'strnatcmp';
00051 } else {
00052 $sorter = 'strcasecmp';
00053 }
00054 if ($sort_by == 'db_name') {
00055 return ($sort_order == 'asc' ? 1 : -1) * $sorter($a['db_name'], $b['db_name']);
00056 } else if ($a[$sort_by] == $b[$sort_by]) {
00057 return $sorter($a['db_name'], $b['db_name']);
00058 } else {
00059 return ($sort_order == 'asc' ? 1 : -1) * ((int)$a[$sort_by] > (int)$b[$sort_by] ? 1 : -1);
00060 }
00061 }
00062
00063
00067 if ($server > 0 && empty($dblist)) {
00068 PMA_availableDatabases();
00069 }
00070
00071
00075 if ((!empty($drop_selected_dbs) || isset($query_type)) && ($is_superuser || $cfg['AllowUserDropDatabase'])) {
00076 if (empty($selected_db) && ! (isset($query_type) && !empty($selected))) {
00077 $message = $strNoDatabasesSelected;
00078 } else {
00079 $action = 'server_databases.php';
00080 $submit_mult = 'drop_db' ;
00081 $err_url = 'server_databases.php?' . PMA_generate_common_url();
00082 require('./mult_submits.inc.php');
00083 if ($mult_btn == $strYes) {
00084 $message = sprintf($strDatabasesDropped, count($selected));
00085 } else {
00086 $message = sprintf($strDatabasesDropped, 0);
00087 }
00088
00089 PMA_availableDatabases();
00090 $reload = 1;
00091 }
00092 }
00093
00094
00098 require('./server_links.inc.php');
00099
00100
00104 echo '<h2>' . "\n"
00105 . ($GLOBALS['cfg']['MainPageIconic'] ? '<img src="' . $pmaThemeImage . 's_db.png" border="0" hsape="2" align="middle" width="16" height="16" />' : '')
00106 . ' ' . (empty($dbstats) ? $strDatabases : $strDatabasesStats) . "\n"
00107 . '</h2>' . "\n";
00108
00109
00113 if (!empty($dbstats) && !$is_superuser) {
00114 echo $strNoPrivileges . "\n";
00115 require_once('./footer.inc.php');
00116 }
00117
00118
00122 $statistics = array();
00123 foreach ($dblist AS $current_db) {
00124 $tmp_array = array(
00125 'db_name' => $current_db,
00126 'tbl_cnt' => 0,
00127 'data_sz' => 0,
00128 'idx_sz' => 0,
00129 'tot_sz' => 0
00130 );
00131 if (!empty($dbstats)) {
00132 $res = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($current_db) . ';');
00133 while ($row = PMA_DBI_fetch_assoc($res)) {
00134 $tmp_array['tbl_cnt']++;
00135 $tmp_array['data_sz'] += $row['Data_length'];
00136 $tmp_array['idx_sz'] += $row['Index_length'];
00137 }
00138 PMA_DBI_free_result($res);
00139 unset($res);
00140 }
00141 $tmp_array['tot_sz'] = $tmp_array['data_sz'] + $tmp_array['idx_sz'];
00142 $statistics[] = $tmp_array;
00143 }
00144
00145
00146 if (empty($sort_by)) {
00147 $sort_by = 'db_name';
00148 } else {
00149 $sort_by = PMA_sanitize($sort_by);
00150 }
00151
00152 if (empty($sort_order)) {
00153 if ($sort_by == 'db_name') {
00154 $sort_order = 'asc';
00155 } else {
00156 $sort_order = 'desc';
00157 }
00158 } else {
00159 $sort_order = PMA_sanitize($sort_order);
00160 }
00161
00162
00163 usort($statistics, 'PMA_dbCmp');
00164
00165
00169 if (count($statistics) > 0) {
00170 echo '<form action="./server_databases.php" method="post" name="dbStatsForm">' . "\n"
00171 . PMA_generate_common_hidden_inputs('', '', 1)
00172 . ' <input type="hidden" name="dbstats" value="' . (empty($dbstats) ? '0' : '1') . '" />' . "\n"
00173 . ' <input type="hidden" name="sort_by" value="' . $sort_by . '" />' . "\n"
00174 . ' <input type="hidden" name="sort_order" value="' . $sort_order . '" />' . "\n"
00175 . ' <table border="0" cellpadding="2" cellspacing="1">' . "\n"
00176 . ' <tr>' . "\n"
00177 . ($is_superuser || $cfg['AllowUserDropDatabase'] ? ' <th> </th>' . "\n" : '')
00178 . ' <th>' . "\n"
00179 . ' <a href="./server_databases.php?' . $url_query . (!empty($dbstats) ? '&dbstats=1' : '') . '&sort_by=db_name&sort_order=' . (($sort_by == 'db_name' && $sort_order == 'asc') ? 'desc' : 'asc') . '">' . "\n"
00180 . ' ' . $strDatabase . "\n"
00181 . ($sort_by == 'db_name' ? ' <img src="' . $pmaThemeImage . 's_' . $sort_order . '.png" border="0" width="11" height="9" alt="' . ($sort_order == 'asc' ? $strAscending : $strDescending) . '" />' . "\n" : '')
00182 . ' </a>' . "\n"
00183 . ' ' . "\n"
00184 . ' </th>' . "\n";
00185 if (!empty($dbstats)) {
00186 if (PMA_MYSQL_INT_VERSION >= 40101) {
00187 echo ' <th>' . "\n"
00188 . ' ' . $strCollation . ' ' . "\n"
00189 . ' </th>' . "\n";
00190 }
00191 echo ' <th>' . "\n"
00192 . ' ' . "\n"
00193 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1&sort_by=tbl_cnt&sort_order=' . (($sort_by == 'tbl_cnt' && $sort_order == 'desc') ? 'asc' : 'desc') . '">' . "\n"
00194 . ' ' . $strNumTables . "\n"
00195 . ($sort_by == 'tbl_cnt' ? ' <img src="' . $pmaThemeImage . 's_' . $sort_order . '.png" border="0" width="11" height="9" alt="' . ($sort_order == 'asc' ? $strAscending : $strDescending) . '" />' . "\n" : '')
00196 . ' </a>' . "\n"
00197 . ' ' . "\n"
00198 . ' </th>' . "\n"
00199 . ' <th colspan="2">' . "\n"
00200 . ' ' . "\n"
00201 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1&sort_by=data_sz&sort_order=' . (($sort_by == 'data_sz' && $sort_order == 'desc') ? 'asc' : 'desc') . '">' . "\n"
00202 . ' ' . $strData . "\n"
00203 . ($sort_by == 'data_sz' ? ' <img src="' . $pmaThemeImage . 's_' . $sort_order . '.png" border="0" width="11" height="9" alt="' . ($sort_order == 'asc' ? $strAscending : $strDescending) . '" />' . "\n" : '')
00204 . ' </a>' . "\n"
00205 . ' ' . "\n"
00206 . ' </th>' . "\n"
00207 . ' <th colspan="2">' . "\n"
00208 . ' ' . "\n"
00209 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1&sort_by=idx_sz&sort_order=' . (($sort_by == 'idx_sz' && $sort_order == 'desc') ? 'asc' : 'desc') . '">' . "\n"
00210 . ' ' . $strIndexes . "\n"
00211 . ($sort_by == 'idx_sz' ? ' <img src="' . $pmaThemeImage . 's_' . $sort_order . '.png" border="0" width="11" height="9" alt="' . ($sort_order == 'asc' ? $strAscending : $strDescending) . '" />' . "\n" : '')
00212 . ' </a>' . "\n"
00213 . ' ' . "\n"
00214 . ' </th>' . "\n"
00215 . ' <th colspan="2">' . "\n"
00216 . ' ' . "\n"
00217 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1&sort_by=tot_sz&sort_order=' . (($sort_by == 'tot_sz' && $sort_order == 'desc') ? 'asc' : 'desc') . '">' . "\n"
00218 . ' ' . $strTotalUC . "\n"
00219 . ($sort_by == 'tot_sz' ? ' <img src="' . $pmaThemeImage . 's_' . $sort_order . '.png" border="0" width="11" height="9" alt="' . ($sort_order == 'asc' ? $strAscending : $strDescending) . '" />' . "\n" : '')
00220 . ' </a>' . "\n"
00221 . ' ' . "\n"
00222 . ' </th>' . "\n";
00223 }
00224 if ($is_superuser) {
00225 echo ' <th>' . "\n"
00226 . ' ' . ($cfg['PropertiesIconic'] ? '' : $strAction . ' ') . "\n"
00227 . ' </th>' . "\n";
00228 }
00229 echo ' </tr>' . "\n";
00230 $useBgcolorOne = TRUE;
00231 $total_calc = array(
00232 'db_cnt' => 0,
00233 'tbl_cnt' => 0,
00234 'data_sz' => 0,
00235 'idx_sz' => 0,
00236 'tot_sz' => 0
00237 );
00238 foreach ($statistics as $current) {
00239 list($data_size, $data_unit) = PMA_formatByteDown($current['data_sz'], 3, 1);
00240 list($idx_size, $idx_unit) = PMA_formatByteDown($current['idx_sz'], 3, 1);
00241 list($tot_size, $tot_unit) = PMA_formatByteDown($current['tot_sz'], 3, 1);
00242 $total_calc['db_cnt']++;
00243 $total_calc['tbl_cnt'] += $current['tbl_cnt'];
00244 $total_calc['data_sz'] += $current['data_sz'];
00245 $total_calc['idx_sz'] += $current['idx_sz'];
00246 $total_calc['tot_sz'] += $current['tot_sz'];
00247 echo ' <tr>' . "\n";
00248 if ($is_superuser || $cfg['AllowUserDropDatabase']) {
00249 echo ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n";
00250 if (PMA_MYSQL_INT_VERSION < 50002 || $current['db_name'] != 'information_schema') {
00251 echo ' <input type="checkbox" name="selected_db[]" title="' . htmlspecialchars($current['db_name']) . '" value="' . htmlspecialchars($current['db_name']) . '" ' . (empty($checkall) ? '' : 'checked="checked" ') . '/>' . "\n";
00252 }
00253 echo ' </td>' . "\n";
00254 }
00255 echo ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n"
00256 . ' <a onclick="reload_window(\'' . urlencode($current['db_name']) . '\'); return true;" href="' . $cfg['DefaultTabDatabase'] . '?' . $url_query . '&db=' . urlencode($current['db_name']) . '" title="' . sprintf($strJumpToDB, htmlspecialchars($current['db_name'])) . '">' . "\n"
00257 . ' ' . htmlspecialchars($current['db_name']) . "\n"
00258 . ' </a>' . "\n"
00259 . ' </td>' . "\n";
00260 if (!empty($dbstats)) {
00261 if (PMA_MYSQL_INT_VERSION >= 40101) {
00262 $current_collation = PMA_getDbCollation($current['db_name']);
00263 echo ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n"
00264 . ' <dfn title="' . htmlspecialchars(PMA_getCollationDescr($current_collation)) . '">' . "\n"
00265 . ' ' . htmlspecialchars($current_collation) . "\n"
00266 . ' </dfn>' . "\n"
00267 . ' </td>' . "\n";
00268 }
00269 echo ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '" align="right">' . "\n"
00270 . ' ' . $current['tbl_cnt'] . "\n"
00271 . ' </td>' . "\n"
00272 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '" align="right">' . "\n"
00273 . ' ' . $data_size . "\n"
00274 . ' </td>' . "\n"
00275 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n"
00276 . ' ' . $data_unit . "\n"
00277 . ' </td>' . "\n"
00278 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '" align="right">' . "\n"
00279 . ' ' . $idx_size . "\n"
00280 . ' </td>' . "\n"
00281 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n"
00282 . ' ' . $idx_unit . "\n"
00283 . ' </td>' . "\n"
00284 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '" align="right">' . "\n"
00285 . ' <b>' . "\n"
00286 . ' ' . $tot_size . "\n"
00287 . ' </b>' . "\n"
00288 . ' </td>' . "\n"
00289 . ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '">' . "\n"
00290 . ' <b>' . "\n"
00291 . ' ' . $tot_unit . "\n"
00292 . ' </b>' . "\n"
00293 . ' </td>' . "\n";
00294 }
00295 if ($is_superuser) {
00296 echo ' <td bgcolor="' . ($useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']) . '" align="center">' . "\n"
00297 . ' <a onclick="reload_window(\'' . urlencode($current['db_name']) . '\'); return true;" href="./server_privileges.php?' . $url_query . '&checkprivs=' . urlencode($current['db_name']) . '" title="' . sprintf($strCheckPrivsLong, htmlspecialchars($current['db_name'])) . '">'. "\n"
00298 . ' ' .($cfg['PropertiesIconic'] ? '<img src="' . $pmaThemeImage . 's_rights.png" width="16" height="16" hspace="2" border="0" alt=" ' .$strCheckPrivs . '" /> ' : $strCheckPrivs ). "\n"
00299 . ' </a>' . "\n"
00300 . ' </td>' . "\n";
00301 }
00302 echo ' </tr>' . "\n";
00303 $useBgcolorOne = !$useBgcolorOne;
00304 }
00305 if (!empty($dbstats)) {
00306 list($data_size, $data_unit) = PMA_formatByteDown($total_calc['data_sz'], 3, 1);
00307 list($idx_size, $idx_unit) = PMA_formatByteDown($total_calc['idx_sz'], 3, 1);
00308 list($tot_size, $tot_unit) = PMA_formatByteDown($total_calc['tot_sz'], 3, 1);
00309 echo ' <tr>' . "\n"
00310 . ' <th> </th>' . "\n"
00311 . ' <th>' . "\n"
00312 . ' ' . $strTotalUC . ': ' . $total_calc['db_cnt'] . ' ' . "\n"
00313 . ' </th>' . "\n";
00314 if (PMA_MYSQL_INT_VERSION >= 40101) {
00315 echo ' <th> </th>' . "\n";
00316 }
00317 echo ' <th align="right">' . "\n"
00318 . ' ' . $total_calc['tbl_cnt'] . ' ' . "\n"
00319 . ' </th>' . "\n"
00320 . ' <th align="right">' . "\n"
00321 . ' ' . $data_size . "\n"
00322 . ' </th>' . "\n"
00323 . ' <th align="left">' . "\n"
00324 . ' ' . $data_unit . ' ' . "\n"
00325 . ' </th>' . "\n"
00326 . ' <th align="right">' . "\n"
00327 . ' ' . $idx_size . "\n"
00328 . ' </th>' . "\n"
00329 . ' <th align="left">' . "\n"
00330 . ' ' . $idx_unit . ' ' . "\n"
00331 . ' </th>' . "\n"
00332 . ' <th align="right">' . "\n"
00333 . ' ' . $tot_size . "\n"
00334 . ' </th>' . "\n"
00335 . ' <th align="left">' . "\n"
00336 . ' ' . $tot_unit . ' ' . "\n"
00337 . ' </th>' . "\n"
00338 . ' <th> </th>' . "\n"
00339 . ' </tr>' . "\n";
00340 }
00341 if ($is_superuser || $cfg['AllowUserDropDatabase']) {
00342 $common_url_query = PMA_generate_common_url() . '&sort_by=' . $sort_by . '&sort_order=' . $sort_order . '&dbstats=' . (empty($dbstats) ? '0' : '1');
00343 echo ' <tr>' . "\n"
00344 . ' <td colspan="' . (!empty($dbstats) ? '10' : '3') . '">' . "\n"
00345 . ' <img src="' . $pmaThemeImage . 'arrow_' . $text_dir . '.png" border="0" width="38" height="22" alt="' . $strWithChecked . '" />' . "\n"
00346 . ' <a href="./server_databases.php?' . $common_url_query . '&checkall=1" onclick="setCheckboxes(\'dbStatsForm\', true); return false;">' . "\n"
00347 . ' ' . $strCheckAll
00348 . ' </a>' . "\n"
00349 . ' / ' . "\n"
00350 . ' <a href="./server_databases.php?' . $common_url_query . '" onclick="setCheckboxes(\'dbStatsForm\', false); return false;">' . "\n"
00351 . ' ' . $strUncheckAll
00352 . ' </a>' . "\n"
00353 . ' </td>' . "\n"
00354 . ' </tr>' . "\n";
00355 }
00356 echo ' </table>' . "\n";
00357 unset($data_size);
00358 unset($data_unit);
00359 unset($idx_size);
00360 unset($idx_unit);
00361 unset($tot_size);
00362 unset($tot_unit);
00363 if ( $GLOBALS['cfg']['PropertiesIconic'] )
00364 {
00365
00366 if ($is_superuser || $cfg['AllowUserDropDatabase']) {
00367 echo ' <br /><table border="0" cellpadding="2" cellspacing="0">' . "\n";
00368 if ($is_superuser && empty($dbstats)) {
00369 echo ' <tr><td>' . "\n"
00370 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1" title="' . $strDatabasesStatsEnable . '">' . "\n"
00371 . ' <img src="' .$pmaThemeImage . 'b_dbstatistics.png" width="16" height="16" border="0" hspace="2" align="middle" />' . "\n"
00372 . ' </a>' . "\n"
00373 . ' </td><td>' . "\n"
00374 . ' <b>' . "\n"
00375 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1" title="' . $strDatabasesStatsEnable . '">' . "\n"
00376 . ' ' . $strDatabasesStatsEnable . "\n"
00377 . ' </a>' . "\n"
00378 . ' </b>' . "\n"
00379 . ' </td></tr><tr><td> </td><td>' . "\n"
00380 . ' ' . $strDatabasesStatsHeavyTraffic . "\n"
00381 . ' <br /> </td></tr>' . "\n";
00382 } else if ($is_superuser && !empty($dbstats)) {
00383 echo ' <tr><td>' . "\n"
00384 . ' <a href="./server_databases.php?' . $url_query . '" title="' . $strDatabasesStatsDisable . '">' . "\n"
00385 . ' <img src="' .$pmaThemeImage . 'b_dbstatistics.png" width="16" height="16" border="0" hspace="2" align="middle" />' . "\n"
00386 . ' </a>' . "\n"
00387 . ' </td><td>' . "\n"
00388 . ' <b>' . "\n"
00389 . ' <a href="./server_databases.php?' . $url_query . '" title="' . $strDatabasesStatsDisable . '">' . "\n"
00390 . ' ' . $strDatabasesStatsDisable . "\n"
00391 . ' </a>' . "\n"
00392 . ' </b>' . "\n"
00393 . ' </td></tr><tr><td colspan="2"> </td></tr>' . "\n";
00394 }
00395 echo ' <tr><td>' . "\n"
00396 . ' <img src="' .$pmaThemeImage . 'b_deltbl.png" width="16" height="16" border="0" hspace="2" align="middle" />' . "\n"
00397 . ' </td><td>' . "\n"
00398 . ' <b>' . "\n"
00399 . ' ' . $strDropSelectedDatabases . "\n"
00400 . ' </b>' . "\n"
00401 . ' </td></tr><tr><td > </td><td>' . "\n"
00402 . ' <input type="submit" name="drop_selected_dbs" value="' . $strDrop . '" id="buttonNo" />' . "\n"
00403 . ' <br /> </td></tr>' . "\n"
00404 . ' </table>' . "\n";
00405 }
00406 }
00407 else
00408 {
00409
00410 if ($is_superuser || $cfg['AllowUserDropDatabase']) {
00411 echo ' <br /><ul>' . "\n";
00412 if ($is_superuser && empty($dbstats)) {
00413 echo ' <li>' . "\n"
00414 . ' <b>' . "\n"
00415 . ' <a href="./server_databases.php?' . $url_query . '&dbstats=1" title="' . $strDatabasesStatsEnable . '">' . "\n"
00416 . ' ' . "\n"
00417 . ' ' . $strDatabasesStatsEnable . "\n"
00418 . ' </a>' . "\n"
00419 . ' </b>' . "\n"
00420 . ' <br />' . "\n"
00421 . ' ' . $strDatabasesStatsHeavyTraffic . "\n"
00422 . ' </li>' . "\n";
00423 } else if ($is_superuser && !empty($dbstats)) {
00424 echo ' <li>' . "\n"
00425 . ' <b>' . "\n"
00426 . ' <a href="./server_databases.php?' . $url_query . '" title="' . $strDatabasesStatsDisable . '">' . "\n"
00427 . ' ' . "\n"
00428 . ' ' . $strDatabasesStatsDisable . "\n"
00429 . ' </a>' . "\n"
00430 . ' </b>' . "\n"
00431 . ' <br /></li>' . "\n";
00432 }
00433 echo ' <li>' . "\n"
00434 . ' <b>' . "\n"
00435 . ' ' . "\n"
00436 . ' ' . $strDropSelectedDatabases . "\n"
00437 . ' </b>' . "\n"
00438 . ' <br />' . "\n"
00439 . ' <input type="submit" name="drop_selected_dbs" value="' . $strDrop . '" id="buttonNo" />' . "\n"
00440 . ' </li>' . "\n"
00441 . ' </ul>' . "\n";
00442 }
00443 }
00444 echo '</form>' . "\n";
00445 } else {
00446 echo $strNoDatabases . "\n";
00447 }
00448
00452 if ( $GLOBALS['cfg']['PropertiesIconic'] )
00453 {
00454 echo '<table border="0" cellpadding="2" cellspacing="0">' . "\n";
00455 echo '<tr>' . "\n"
00456 . ' <td valign="top">' . "\n"
00457 . ' <img src="' .$pmaThemeImage . 'b_newdb.png" width="16" height="16" border="0" hspace="2" style="vertical-align: top;" />' . "\n"
00458 . ' </td>' . "\n"
00459 . ' <td>' . "\n";
00460 }
00461 else
00462 {
00463 echo '<ul>' . "\n";
00464 echo ' <li>' . "\n";
00465 }
00466
00467 require('./libraries/display_create_database.lib.php');
00468
00469 if ( $GLOBALS['cfg']['PropertiesIconic'] )
00470 {
00471 echo ' </td></tr></table>' . "\n";
00472 }
00473 else
00474 {
00475 echo ' </li>' . "\n";
00476 echo '</ul>' . "\n";
00477 }
00478
00482 require_once('./footer.inc.php');
00483
00484 ?>