Просмотр файла admin/mysql/defrag.php

Размер файла: 2.2Kb
  1. <?php
  2. /**
  3. * @author Dionis
  4. * denis.rassvetnit@gmail.com
  5. * ICQ: 465868235
  6. */
  7.  
  8. include '../../engine/includes/start.php';
  9. if (!$creator)
  10. Core::stop();
  11.  
  12. $set['title'] = 'Дефрагментация MySQL';
  13. include incDir.'head.php';
  14.  
  15. switch($act)
  16. {
  17. case 'table':
  18. $sql->query('OPTIMIZE TABLE `' . $_GET['defrag'] . '`;');
  19. echo '<div class="menu_razd">Таблица ' . $_GET['defrag'] . ' ортимизирована</div><a href="/admin/mysql/defrag.php"><div class="link">Дефрагментация таблиц</div></a>';
  20. break;
  21.  
  22. case 'all':
  23. $q = $sql->query('SHOW TABLE STATUS');
  24. $size = 0;
  25.  
  26. while ($data_info = $sql->fetch())
  27. {
  28. if (!empty($data_info['Data_free']) && $data_info['Data_free'] > 0)
  29. {
  30. $size += $data_info['Data_free'];
  31. $sql->query('OPTIMIZE TABLE `' . $data_info['Name'] . '`;');
  32. }
  33. }
  34.  
  35. Core::get('text.class');
  36. echo '<div class="menu_razd">Все таблицы оптимизированы. Перераспределено '.text::size_data($size).'</div><a href="?"><div class="link">Дефрагментация таблиц</div></a>';
  37. break;
  38.  
  39. default:
  40. $sql->query('SHOW TABLE STATUS');
  41. $i = 0;
  42. echo 'Оптимизировать таблицы';
  43. while ($data_info = $sql->fetch())
  44. {
  45. if ($data_info['Data_free'] > 0)
  46. {
  47. echo '<div class="'.($i % 2 ? 'p_m' : 'p_t').'"><a href="?defrag=' . $data_info['Name'] . '&amp;act=table"> ' . $data_info['Name'] . '</a></div>';
  48. $i++;
  49. }
  50. }
  51.  
  52. if ($i)
  53. {
  54. echo '
  55. <div class="menu_razd">Всего нуждаются в оптимизации ' . $i . ' таблиц</div>
  56. <a href="defrag.php?act=all"><div class="link">Оптимизировать все таблицы</div></a>';
  57. }
  58. else
  59. echo '<div class="menu_razd">Нет таблиц нуждающихся в оптимизации</div>';
  60. break;
  61. }
  62.  
  63. echo '
  64. <a href="/admin/?act=mysql"><div class="menu_razd" style="width:45%;display:inline-block">MySQL</div></a>
  65. <a href="/admin/"><div class="menu_razd" style="width:48%;display:inline-block">Админка</div></a>';
  66.  
  67. include incDir.'foot.php';