| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /* vim: set expandtab sw=4 ts=4 sts=4: */
- /**
- * Holds the PhpMyAdmin\Controllers\Server\Status\MonitorController
- *
- * @package PhpMyAdmin\Controllers
- */
- declare(strict_types=1);
- namespace PhpMyAdmin\Controllers\Server\Status;
- use PhpMyAdmin\DatabaseInterface;
- use PhpMyAdmin\Response;
- use PhpMyAdmin\Server\Status\Data;
- use PhpMyAdmin\Server\Status\Monitor;
- use PhpMyAdmin\SysInfo;
- use PhpMyAdmin\Template;
- /**
- * Class MonitorController
- * @package PhpMyAdmin\Controllers\Server\Status
- */
- class MonitorController extends AbstractController
- {
- /**
- * @var Monitor
- */
- private $monitor;
- /**
- * MonitorController constructor.
- *
- * @param Response $response Response object
- * @param DatabaseInterface $dbi DatabaseInterface object
- * @param Template $template Template object
- * @param Data $data Data object
- * @param Monitor $monitor Monitor object
- */
- public function __construct($response, $dbi, Template $template, $data, $monitor)
- {
- parent::__construct($response, $dbi, $template, $data);
- $this->monitor = $monitor;
- }
- /**
- * @return string HTML
- */
- public function index(): string
- {
- $form = [
- 'server_time' => microtime(true) * 1000,
- 'server_os' => SysInfo::getOs(),
- 'is_superuser' => $this->dbi->isSuperuser(),
- 'server_db_isLocal' => $this->data->db_isLocal,
- ];
- $javascriptVariableNames = [];
- foreach ($this->data->status as $name => $value) {
- if (is_numeric($value)) {
- $javascriptVariableNames[] = $name;
- }
- }
- return $this->template->render('server/status/monitor/index', [
- 'image_path' => $GLOBALS['pmaThemeImage'],
- 'javascript_variable_names' => $javascriptVariableNames,
- 'form' => $form,
- ]);
- }
- /**
- * @param array $params Request parameters
- * @return array JSON
- */
- public function chartingData(array $params): array
- {
- $json = [];
- $json['message'] = $this->monitor->getJsonForChartingData(
- $params['requiredData'] ?? ''
- );
- return $json;
- }
- /**
- * @param array $params Request parameters
- * @return array JSON
- */
- public function logDataTypeSlow(array $params): array
- {
- $json = [];
- $json['message'] = $this->monitor->getJsonForLogDataTypeSlow(
- (int) $params['time_start'],
- (int) $params['time_end']
- );
- return $json;
- }
- /**
- * @param array $params Request parameters
- * @return array JSON
- */
- public function logDataTypeGeneral(array $params): array
- {
- $json = [];
- $json['message'] = $this->monitor->getJsonForLogDataTypeGeneral(
- (int) $params['time_start'],
- (int) $params['time_end'],
- (bool) $params['limitTypes'],
- (bool) $params['removeVariables']
- );
- return $json;
- }
- /**
- * @param array $params Request parameters
- * @return array JSON
- */
- public function loggingVars(array $params): array
- {
- $json = [];
- $json['message'] = $this->monitor->getJsonForLoggingVars(
- $params['varName'],
- $params['varValue']
- );
- return $json;
- }
- /**
- * @param array $params Request parameters
- * @return array JSON
- */
- public function queryAnalyzer(array $params): array
- {
- $json = [];
- $json['message'] = $this->monitor->getJsonForQueryAnalyzer(
- $params['database'] ?? '',
- $params['query'] ?? ''
- );
- return $json;
- }
- }
|