/** * Prints server state General information * * @param ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStateGeneralInfo($ServerStatusData) { $start_time = $GLOBALS['dbi']->fetchValue('SELECT UNIX_TIMESTAMP() - ' . $ServerStatusData->status['Uptime']); $retval = '<h3>'; $bytes_received = $ServerStatusData->status['Bytes_received']; $bytes_sent = $ServerStatusData->status['Bytes_sent']; $retval .= sprintf(__('Network traffic since startup: %s'), implode(' ', PMA\libraries\Util::formatByteDown($bytes_received + $bytes_sent, 3, 1))); $retval .= '</h3>'; $retval .= '<p>'; $retval .= sprintf(__('This MySQL server has been running for %1$s. It started up on %2$s.'), PMA\libraries\Util::timespanFormat($ServerStatusData->status['Uptime']), PMA\libraries\Util::localisedDate($start_time)) . "\n"; $retval .= '</p>'; return $retval; }
/** * Returns HTML for render variables list * * @param ServerStatusData $ServerStatusData Server status data * @param array $alerts Alert Array * @param array $strShowStatus Status Array * * @return string */ function PMA_getHtmlForRenderVariables($ServerStatusData, $alerts, $strShowStatus) { $retval = '<table class="data noclick" id="serverstatusvariables">'; $retval .= '<col class="namecol" />'; $retval .= '<col class="valuecol" />'; $retval .= '<col class="descrcol" />'; $retval .= '<thead>'; $retval .= '<tr>'; $retval .= '<th>' . __('Variable') . '</th>'; $retval .= '<th>' . __('Value') . '</th>'; $retval .= '<th>' . __('Description') . '</th>'; $retval .= '</tr>'; $retval .= '</thead>'; $retval .= '<tbody>'; foreach ($ServerStatusData->status as $name => $value) { $retval .= '<tr class="' . (isset($ServerStatusData->allocationMap[$name]) ? ' s_' . $ServerStatusData->allocationMap[$name] : '') . '">'; $retval .= '<th class="name">'; $retval .= htmlspecialchars(str_replace('_', ' ', $name)); // Fields containing % are calculated, // they can not be described in MySQL documentation if (mb_strpos($name, '%') === false) { $retval .= PMA\libraries\Util::showMySQLDocu('server-status-variables', false, 'statvar_' . $name); } $retval .= '</th>'; $retval .= '<td class="value"><span class="formatted">'; if (isset($alerts[$name])) { if ($value > $alerts[$name]) { $retval .= '<span class="attention">'; } else { $retval .= '<span class="allfine">'; } } if (substr($name, -1) === '%') { $retval .= htmlspecialchars(PMA\libraries\Util::formatNumber($value, 0, 2)) . ' %'; } elseif (strpos($name, 'Uptime') !== false) { $retval .= htmlspecialchars(PMA\libraries\Util::timespanFormat($value)); } elseif (is_numeric($value) && $value > 1000) { $retval .= '<abbr title="' . htmlspecialchars(PMA\libraries\Util::formatNumber($value, 0)) . '">' . htmlspecialchars(PMA\libraries\Util::formatNumber($value, 3, 1)) . '</abbr>'; } elseif (is_numeric($value)) { $retval .= htmlspecialchars(PMA\libraries\Util::formatNumber($value, 3, 1)); } else { $retval .= htmlspecialchars($value); } if (isset($alerts[$name])) { $retval .= '</span>'; } $retval .= '</span>'; $retval .= '<span style="display:none;" class="original">'; if (isset($alerts[$name])) { if ($value > $alerts[$name]) { $retval .= '<span class="attention">'; } else { $retval .= '<span class="allfine">'; } } $retval .= htmlspecialchars($value); if (isset($alerts[$name])) { $retval .= '</span>'; } $retval .= '</span>'; $retval .= '</td>'; $retval .= '<td class="descr">'; if (isset($strShowStatus[$name])) { $retval .= $strShowStatus[$name]; } if (isset($ServerStatusData->links[$name])) { foreach ($ServerStatusData->links[$name] as $link_name => $link_url) { if ('doc' == $link_name) { $retval .= PMA\libraries\Util::showMySQLDocu($link_url); } else { $retval .= ' <a href="' . $link_url . '">' . $link_name . '</a>'; } } unset($link_url, $link_name); } $retval .= '</td>'; $retval .= '</tr>'; } $retval .= '</tbody>'; $retval .= '</table>'; return $retval; }
/** * localised timestamp test, globals are defined * * @param int $a Timespan in seconds * @param string $e Expected output * * @return void * * @dataProvider timespanFormatDataProvider */ public function testTimespanFormat($a, $e) { $GLOBALS['timespanfmt'] = '%s days, %s hours, %s minutes and %s seconds'; $this->assertEquals($e, PMA\libraries\Util::timespanFormat($a)); }
/** * Wrapper for PMA\libraries\Util::timespanFormat * * This function is used when evaluating advisory_rules.txt * * @param int $seconds the timespan * * @return string the formatted value */ function ADVISOR_timespanFormat($seconds) { return PMA\libraries\Util::timespanFormat($seconds); }