home *** CD-ROM | disk | FTP | other *** search
- <?php
- /* vim: set expandtab sw=4 ts=4 sts=4: */
- /**
- * display the binary logs and the content of the selected
- *
- * @uses $cfg['MainPageIconic']
- * @uses $cfg['NavigationBarIconic']
- * @uses $cfg['MaxRows']
- * @uses $cfg['LimitChars']
- * @uses $pmaThemeImage
- * @uses $GLOBALS['strBinaryLog']
- * @uses $GLOBALS['strGo']
- * @uses $GLOBALS['strTruncateQueries']
- * @uses $GLOBALS['strShowFullQueries']
- * @uses $GLOBALS['strBinLogName']
- * @uses $GLOBALS['strBinLogPosition']
- * @uses $GLOBALS['strBinLogEventType']
- * @uses $GLOBALS['strBinLogServerId']
- * @uses $GLOBALS['strBinLogOriginalPosition']
- * @uses $GLOBALS['strBinLogInfo']
- * @uses $GLOBALS['strFiles']
- * @uses $GLOBALS['strPrevious']
- * @uses $GLOBALS['strNext']
- * @uses $binary_logs
- * @uses PMA_generate_common_hidden_inputs()
- * @uses PMA_generate_common_url()
- * @uses PMA_formatByteDown()
- * @uses PMA_showMessage()
- * @uses PMA_DBI_fetch_assoc()
- * @uses PMA_strlen()
- * @uses PMA_substr()
- * @uses $_REQUEST['pos']
- * @uses $_REQUEST['log']
- * @uses $_REQUEST['dontlimitchars']
- * @uses count()
- * @uses array_key_exists()
- * @uses implode()
- * @uses htmlspecialchars()
- * @version $Id: server_binlog.php 10240 2007-04-01 11:02:46Z cybot_tm $
- */
-
- /**
- *
- */
- require_once './libraries/common.inc.php';
-
- /**
- * Does the common work, provides $binary_logs
- */
- require_once './libraries/server_common.inc.php';
-
- /**
- * Displays the links
- */
- require_once './libraries/server_links.inc.php';
-
- $url_params = array();
-
- /**
- * Need to find the real end of rows?
- */
- if (! isset($_REQUEST['pos'])) {
- $pos = 0;
- } else {
- /* We need this to be a integer */
- $pos = (int) $_REQUEST['pos'];
- }
-
- if (! isset($_REQUEST['log']) || ! array_key_exists($_REQUEST['log'], $binary_logs)) {
- $_REQUEST['log'] = '';
- } else {
- $url_params['log'] = $_REQUEST['log'];
- }
-
- $sql_query = 'SHOW BINLOG EVENTS';
- if (! empty($_REQUEST['log'])) {
- $sql_query .= ' IN \'' . $_REQUEST['log'] . '\'';
- }
- if ($GLOBALS['cfg']['MaxRows'] !== 'all') {
- $sql_query .= ' LIMIT ' . $pos . ', ' . (int) $GLOBALS['cfg']['MaxRows'];
- }
-
- /**
- * Sends the query
- */
- $result = PMA_DBI_query($sql_query);
-
- /**
- * prepare some vars for displaying the result table
- */
- // Gets the list of fields properties
- if (isset($result) && $result) {
- $num_rows = PMA_DBI_num_rows($result);
- } else {
- $num_rows = 0;
- }
-
- if (empty($_REQUEST['dontlimitchars'])) {
- $dontlimitchars = false;
- } else {
- $dontlimitchars = true;
- $url_params['dontlimitchars'] = 1;
- }
-
- /**
- * Displays the sub-page heading
- */
- echo '<h2>' . "\n"
- . ($GLOBALS['cfg']['MainPageIconic'] ? '<img src="' . $pmaThemeImage . 's_process.png" width="16" height="16" border="0" hspace="2" align="middle" alt="" />' : '')
- . ' ' . $GLOBALS['strBinaryLog'] . "\n"
- . '</h2>' . "\n";
-
- /**
- * Display log selector.
- */
- if (count($binary_logs) > 1) {
- echo '<form action="server_binlog.php" method="get">';
- echo PMA_generate_common_hidden_inputs($url_params);
- echo '<fieldset><legend>';
- echo $GLOBALS['strSelectBinaryLog'];
- echo '</legend><select name="log">';
- $full_size = 0;
- foreach ($binary_logs as $each_log) {
- echo '<option value="' . $each_log['Log_name'] . '"';
- if ($each_log['Log_name'] == $_REQUEST['log']) {
- echo ' selected="selected"';
- }
- echo '>' . $each_log['Log_name'];
- if (isset($each_log['File_size'])) {
- $full_size += $each_log['File_size'];
- echo ' (' . implode(' ', PMA_formatByteDown($each_log['File_size'], 3, 2)) . ')';
- }
- echo '</option>';
- }
- echo '</select> ';
- echo count($binary_logs) . ' ' . $GLOBALS['strFiles'] . ', ';
- if ($full_size > 0) {
- echo implode(' ', PMA_formatByteDown($full_size));
- }
- echo '</fieldset>';
- echo '<fieldset class="tblFooters">';
- echo '<input type="submit" value="' . $GLOBALS['strGo'] . '" />';
- echo '</fieldset>';
- echo '</form>';
- }
-
- PMA_showMessage($GLOBALS['strSuccess']);
-
- /**
- * Displays the page
- */
- ?>
- <table border="0" cellpadding="2" cellspacing="1">
- <thead>
- <tr>
- <td colspan="6" align="center">
- <?php
- // we do not now how much rows are in the binlog
- // so we can just force 'NEXT' button
- if ($pos > 0) {
- $this_url_params = $url_params;
- if ($pos > $GLOBALS['cfg']['MaxRows']) {
- $this_url_params['pos'] = $pos - $GLOBALS['cfg']['MaxRows'];
- }
-
- echo '<a href="./server_binlog.php' . PMA_generate_common_url($this_url_params) . '"';
- if ($GLOBALS['cfg']['NavigationBarIconic']) {
- echo ' title="' . $GLOBALS['strPrevious'] . '">';
- } else {
- echo '>' . $GLOBALS['strPrevious'];
- } // end if... else...
- echo ' < </a> - ';
- }
-
- $this_url_params = $url_params;
- if ($pos > 0) {
- $this_url_params['pos'] = $pos;
- }
- if ($dontlimitchars) {
- unset($this_url_params['dontlimitchars']);
- ?>
- <a href="./server_binlog.php<?php echo PMA_generate_common_url($this_url_params); ?>"
- title="<?php $GLOBALS['strTruncateQueries']; ?>">
- <img src="<?php echo $pmaThemeImage; ?>s_partialtext.png"
- width="50" height="20" border="0"
- alt="<?php echo $GLOBALS['strTruncateQueries']; ?>" /></a>
- <?php
- } else {
- $this_url_params['dontlimitchars'] = 1;
- ?>
- <a href="./server_binlog.php<?php echo PMA_generate_common_url($this_url_params); ?>"
- title="<?php $GLOBALS['strShowFullQueries']; ?>">
- <img src="<?php echo $pmaThemeImage; ?>s_fulltext.png"
- width="50" height="20" border="0"
- alt="<?php echo $GLOBALS['strShowFullQueries']; ?>" /></a>
- <?php
- }
- // we do not now how much rows are in the binlog
- // so we can just force 'NEXT' button
- if ($num_rows >= $GLOBALS['cfg']['MaxRows']) {
- $this_url_params = $url_params;
- $this_url_params['pos'] = $pos + $GLOBALS['cfg']['MaxRows'];
- echo ' - <a href="./server_binlog.php' . PMA_generate_common_url($this_url_params) . '"';
- if ($GLOBALS['cfg']['NavigationBarIconic']) {
- echo ' title="' . $GLOBALS['strNext'] . '">';
- } else {
- echo '>' . $GLOBALS['strNext'];
- } // end if... else...
- echo ' > </a>';
- }
- ?>
- </td>
- </tr>
- <tr>
- <th><?php echo $GLOBALS['strBinLogName']; ?></th>
- <th><?php echo $GLOBALS['strBinLogPosition']; ?></th>
- <th><?php echo $GLOBALS['strBinLogEventType']; ?></th>
- <th><?php echo $GLOBALS['strBinLogServerId']; ?></th>
- <th><?php echo $GLOBALS['strBinLogOriginalPosition']; ?></th>
- <th><?php echo $GLOBALS['strBinLogInfo']; ?></th>
- </tr>
- </thead>
- <tbody>
- <?php
- $odd_row = true;
- while ($value = PMA_DBI_fetch_assoc($result)) {
- if (! $dontlimitchars && PMA_strlen($value['Info']) > $GLOBALS['cfg']['LimitChars']) {
- $value['Info'] = PMA_substr($value['Info'], 0, $GLOBALS['cfg']['LimitChars']) . '...';
- }
- ?>
- <tr class="<?php echo $odd_row ? 'odd' : 'even'; ?>">
- <td> <?php echo $value['Log_name']; ?> </td>
- <td align="right"> <?php echo $value['Pos']; ?> </td>
- <td> <?php echo $value['Event_type']; ?> </td>
- <td align="right"> <?php echo $value['Server_id']; ?> </td>
- <td align="right"> <?php echo isset($value['Orig_log_pos']) ? $value['Orig_log_pos'] : $value['End_log_pos']; ?> </td>
- <td> <?php echo htmlspecialchars($value['Info']); ?> </td>
- </tr>
- <?php
- $odd_row = !$odd_row;
- }
- ?>
- </tbody>
- </table>
- <?php
-
-
- /**
- * Sends the footer
- */
- require_once './libraries/footer.inc.php';
-
- ?>
-