PageRenderTime 35ms CodeModel.GetById 5ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/backupbuddy/controllers/pages/server_info/database.php

https://bitbucket.org/betaimages/chakalos
PHP | 169 lines | 128 code | 35 blank | 6 comment | 20 complexity | 563c06df9d1f6b8797072e08b8f2e9be MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <br><?php
  2. if ( !isset( $parent_class ) ) {
  3. $parent_class = $this;
  4. }
  5. if ( defined( 'pluginbuddy_importbuddy' ) ) {
  6. //$parent_class->admin_scripts();
  7. }
  8. //$table_list = array();
  9. ?>
  10. <table class="widefat">
  11. <thead>
  12. <tr class="thead">
  13. <?php
  14. echo '<th>', __('Database Table', 'it-l10n-backupbuddy' ),'</th>',
  15. '<th>', __('Status', 'it-l10n-backupbuddy' ), '</th>',
  16. '<th>', __('Settings', 'it-l10n-backupbuddy' ), '</th>',
  17. '<th>', __('Updated / Checked', 'it-l10n-backupbuddy' ),'</th>',
  18. '<th>', __('Rows', 'it-l10n-backupbuddy' ), '</th>',
  19. '<th>', __('Size', 'it-l10n-backupbuddy' ), '</th>',
  20. '<th>', __('Excluded Size', 'it-l10n-backupbuddy' ), '</th>';
  21. ?>
  22. </tr>
  23. </thead>
  24. <tfoot>
  25. <tr class="thead">
  26. <?php
  27. echo '<th>', __('Database Table', 'it-l10n-backupbuddy' ),'</th>',
  28. '<th>', __('Status', 'it-l10n-backupbuddy' ), '</th>',
  29. '<th>', __('Settings', 'it-l10n-backupbuddy' ), '</th>',
  30. '<th>', __('Updated / Checked', 'it-l10n-backupbuddy' ),'</th>',
  31. '<th>', __('Rows', 'it-l10n-backupbuddy' ), '</th>',
  32. '<th>', __('Size', 'it-l10n-backupbuddy' ), '</th>',
  33. '<th>', __('Excluded Size', 'it-l10n-backupbuddy' ), '</th>';
  34. ?>
  35. </tr>
  36. </tfoot>
  37. <tbody>
  38. <?php
  39. global $wpdb;
  40. $prefix = $wpdb->prefix;
  41. $prefix_length = strlen( $wpdb->prefix );
  42. $additional_includes = explode( "\n", pb_backupbuddy::$options['mysqldump_additional_includes'] );
  43. array_walk( $additional_includes, create_function('&$val', '$val = trim($val);'));
  44. $additional_excludes = explode( "\n", pb_backupbuddy::$options['mysqldump_additional_excludes'] );
  45. array_walk( $additional_excludes, create_function('&$val', '$val = trim($val);'));
  46. $total_size = 0;
  47. $total_size_with_exclusions = 0;
  48. $total_rows = 0;
  49. $result = mysql_query("SHOW TABLE STATUS");
  50. while( $rs = mysql_fetch_array( $result ) ) {
  51. $excluded = true; // Default.
  52. // TABLE STATUS.
  53. $resultb = mysql_query("CHECK TABLE `{$rs['Name']}`");
  54. while( $rsb = mysql_fetch_array( $resultb ) ) {
  55. if ( $rsb['Msg_type'] == 'status' ) {
  56. $status = $rsb['Msg_text'];
  57. }
  58. }
  59. mysql_free_result( $resultb );
  60. // TABLE SIZE.
  61. $size = ( $rs['Data_length'] + $rs['Index_length'] );
  62. $total_size += $size;
  63. // HANDLE EXCLUSIONS.
  64. if ( pb_backupbuddy::$options['backup_nonwp_tables'] == 0 ) { // Only matching prefix.
  65. if ( ( substr( $rs['Name'], 0, $prefix_length ) == $prefix ) OR ( in_array( $rs['Name'], $additional_includes ) ) ) {
  66. if ( !in_array( $rs['Name'], $additional_excludes ) ) {
  67. $total_size_with_exclusions += $size;
  68. $excluded = false;
  69. }
  70. }
  71. } else { // All tables.
  72. if ( !in_array( $rs['Name'], $additional_excludes ) ) {
  73. $total_size_with_exclusions += $size;
  74. $excluded = false;
  75. }
  76. }
  77. // OUTPUT TABLE ROW.
  78. echo '<tr class="entry-row alternate"';
  79. if ( $excluded === true ) {
  80. echo ' style="background: #F9B6B6;"';
  81. }
  82. echo '>';
  83. echo ' <td>' . $rs['Name'];
  84. echo ' <div class="row-actions">
  85. <a href="' . pb_backupbuddy::ajax_url( 'db_check' ) . '&table=' . base64_encode( $rs['Name'] ) . '&#038;TB_iframe=1&#038;width=640&#038;height=600" class="thickbox" title="Check database table for any errors or corruption.">Check</a>
  86. |
  87. <a href="' . pb_backupbuddy::ajax_url( 'db_repair' ) . '&table=' . base64_encode( $rs['Name'] ) . '&#038;TB_iframe=1&#038;width=640&#038;height=600" class="thickbox" title="Repair table that has been corrupted. Only needed if the status or check response indicated damage.">Repair</a>
  88. </div>
  89. ';
  90. echo '</td>';
  91. echo ' <td>' . $status . '</td>';
  92. echo ' <td>Engine: ' . $rs['Engine'] . '<br>Collation: ' . $rs['Collation'] . '</td>';
  93. echo ' <td>Updated: ';
  94. if ( $rs['Update_time'] == '' ) {
  95. _e( 'Unavailable', 'it-l10n-backupbuddy' );
  96. } else {
  97. echo $rs['Update_time'];
  98. }
  99. echo '<br>Checked: ';
  100. if ( $rs['Check_time'] == '' ) {
  101. _e( 'Unavailable', 'it-l10n-backupbuddy' );
  102. } else {
  103. echo $rs['Check_time'];
  104. }
  105. echo '</td>';
  106. echo ' <td>' . $rs['Rows'] . '</td>';
  107. echo ' <td>' . pb_backupbuddy::$format->file_size( $size ) . '</td>';
  108. if ( $excluded === true ) {
  109. echo ' <td><i>Excluded</i></td>';
  110. } else {
  111. echo ' <td>' . pb_backupbuddy::$format->file_size( $size ) . '</td>';
  112. }
  113. $total_rows += $rs['Rows'];
  114. echo '</tr>';
  115. }
  116. echo '<tr class="entry-row alternate">';
  117. echo ' <td>&nbsp;</td>';
  118. echo ' <td>&nbsp;</td>';
  119. echo ' <td>&nbsp;</td>';
  120. echo '<td><b>',__('TOTALS','it-l10n-backupbuddy' ),':</b></td>';
  121. echo '<td><b>' . $total_rows . '</b></td>';
  122. echo '<td><b>' . pb_backupbuddy::$format->file_size( $total_size ) . '</b></td>';
  123. echo '<td><b>' . pb_backupbuddy::$format->file_size( $total_size_with_exclusions ) . '</b></td>';
  124. echo '</tr>';
  125. pb_backupbuddy::$options['stats']['db_size'] = $total_size;
  126. pb_backupbuddy::$options['stats']['db_size_excluded'] = $total_size_with_exclusions;
  127. pb_backupbuddy::$options['stats']['db_size_updated'] = time();
  128. pb_backupbuddy::save();
  129. unset( $total_size );
  130. unset( $total_rows );
  131. mysql_free_result( $result );
  132. ?>
  133. </tbody>
  134. </table><br>