Server IP : 127.0.0.2 / Your IP : 18.190.152.109 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/libraries/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * functions for displaying server binary log * * @usedby server_binlog.php * * @package PhpMyAdmin */ if (! defined('PHPMYADMIN')) { exit; } /** * Returns the html for log selector. * * @param Array $binary_logs Binary logs file names * @param Array $url_params links parameters * * @return string */ function PMA_getLogSelector($binary_logs, $url_params) { $html = ""; if (count($binary_logs) > 1) { $html .= '<form action="server_binlog.php" method="get">'; $html .= PMA_URL_getHiddenInputs($url_params); $html .= '<fieldset><legend>'; $html .= __('Select binary log to view'); $html .= '</legend><select name="log">'; $full_size = 0; foreach ($binary_logs as $each_log) { $html .= '<option value="' . $each_log['Log_name'] . '"'; if ($each_log['Log_name'] == $_REQUEST['log']) { $html .= ' selected="selected"'; } $html .= '>' . $each_log['Log_name']; if (isset($each_log['File_size'])) { $full_size += $each_log['File_size']; $html .= ' (' . implode( ' ', PMA_Util::formatByteDown( $each_log['File_size'], 3, 2 ) ) . ')'; } $html .= '</option>'; } $html .= '</select> '; $html .= count($binary_logs) . ' ' . __('Files') . ', '; if ($full_size > 0) { $html .= implode( ' ', PMA_Util::formatByteDown($full_size) ); } $html .= '</fieldset>'; $html .= '<fieldset class="tblFooters">'; $html .= '<input type="submit" value="' . __('Go') . '" />'; $html .= '</fieldset>'; $html .= '</form>'; } return $html; } /** * Returns the html for binary log information. * * @param Array $url_params links parameters * * @return string */ function PMA_getLogInfo($url_params) { /** * 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']; } $sql_query = 'SHOW BINLOG EVENTS'; if (! empty($_REQUEST['log'])) { $sql_query .= ' IN \'' . $_REQUEST['log'] . '\''; } $sql_query .= ' LIMIT ' . $pos . ', ' . (int) $GLOBALS['cfg']['MaxRows']; /** * Sends the query */ $result = $GLOBALS['dbi']->query($sql_query); /** * prepare some vars for displaying the result table */ // Gets the list of fields properties if (isset($result) && $result) { $num_rows = $GLOBALS['dbi']->numRows($result); } else { $num_rows = 0; } if (empty($_REQUEST['dontlimitchars'])) { $dontlimitchars = false; } else { $dontlimitchars = true; $url_params['dontlimitchars'] = 1; } //html output $html = PMA_Util::getMessage(PMA_Message::success(), $sql_query); $html .= '<table id="binlogTable">' . '<thead>' . '<tr>' . '<td colspan="6" class="center">'; $html .= PMA_getNavigationRow($url_params, $pos, $num_rows, $dontlimitchars); $html .= '</td>' . '</tr>' . '<tr>' . '<th>' . __('Log name') . '</th>' . '<th>' . __('Position') . '</th>' . '<th>' . __('Event type') . '</th>' . '<th>' . __('Server ID') . '</th>' . '<th>' . __('Original position') . '</th>' . '<th>' . __('Information') . '</th>' . '</tr>' . '</thead>' . '<tbody>'; $html .= PMA_getAllLogItemInfo($result, $dontlimitchars); $html .= '</tbody>' . '</table>'; return $html; } /** * Returns the html for Navigation Row. * * @param Array $url_params Links parameters * @param int $pos Position to display * @param int $num_rows Number of results row * @param bool $dontlimitchars Whether limit chars * * @return string */ function PMA_getNavigationRow($url_params, $pos, $num_rows, $dontlimitchars) { $html = ""; // we do not know 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']; } $html .= '<a href="server_binlog.php' . PMA_URL_getCommon($this_url_params) . '"'; if (PMA_Util::showIcons('TableNavigationLinksMode')) { $html .= ' title="' . _pgettext('Previous page', 'Previous') . '">'; } else { $html .= '>' . _pgettext('Previous page', 'Previous'); } // end if... else... $html .= ' < </a> - '; } $this_url_params = $url_params; if ($pos > 0) { $this_url_params['pos'] = $pos; } if ($dontlimitchars) { unset($this_url_params['dontlimitchars']); $tempTitle = __('Truncate Shown Queries'); $tempImgMode = 'partial'; } else { $this_url_params['dontlimitchars'] = 1; $tempTitle = __('Show Full Queries'); $tempImgMode = 'full'; } $html .= '<a href="server_binlog.php' . PMA_URL_getCommon($this_url_params) . '" title="' . $tempTitle . '">' . '<img src="' . $GLOBALS['pmaThemeImage'] . 's_' . $tempImgMode . 'text.png" alt="' . $tempTitle . '" /></a>'; // 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']; $html .= ' - <a href="server_binlog.php' . PMA_URL_getCommon($this_url_params) . '"'; if (PMA_Util::showIcons('TableNavigationLinksMode')) { $html .= ' title="' . _pgettext('Next page', 'Next') . '">'; } else { $html .= '>' . _pgettext('Next page', 'Next'); } // end if... else... $html .= ' > </a>'; } return $html; } /** * Returns the html for all binary log items. * * @param resource $result MySQL Query result * @param bool $dontlimitchars Whether limit chars * * @return string */ function PMA_getAllLogItemInfo($result, $dontlimitchars) { $html = ""; $odd_row = true; while ($value = $GLOBALS['dbi']->fetchAssoc($result)) { $html .= '<tr class="noclick ' . ($odd_row ? 'odd' : 'even') . '">' . '<td>' . $value['Log_name'] . '</td>' . '<td class="right">' . $value['Pos'] . '</td>' . '<td>' . $value['Event_type'] . '</td>' . '<td class="right">' . $value['Server_id'] . '</td>' . '<td class="right">' . (isset($value['Orig_log_pos']) ? $value['Orig_log_pos'] : $value['End_log_pos']) . '</td>' . '<td>' . PMA_Util::formatSql($value['Info'], ! $dontlimitchars) . '</td></tr>'; $odd_row = !$odd_row; } return $html; }