[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: DataCollector.php
<?php /* * This file is part of the DebugBar package. * * (c) 2013 Maxime Bouroumeau-Fuseau * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace DebugBar\DataCollector; use DebugBar\DataFormatter\DataFormatter; use DebugBar\DataFormatter\DataFormatterInterface; use DebugBar\DataFormatter\DebugBarVarDumper; /** * Abstract class for data collectors */ abstract class DataCollector implements DataCollectorInterface { private static $defaultDataFormatter; private static $defaultVarDumper; protected $dataFormater; protected $varDumper; protected $xdebugLinkTemplate = ''; protected $xdebugShouldUseAjax = false; protected $xdebugReplacements = array(); /** * Sets the default data formater instance used by all collectors subclassing this class * * @param DataFormatterInterface $formater */ public static function setDefaultDataFormatter(DataFormatterInterface $formater) { self::$defaultDataFormatter = $formater; } /** * Returns the default data formater * * @return DataFormatterInterface */ public static function getDefaultDataFormatter() { if (self::$defaultDataFormatter === null) { self::$defaultDataFormatter = new DataFormatter(); } return self::$defaultDataFormatter; } /** * Sets the data formater instance used by this collector * * @param DataFormatterInterface $formater * @return $this */ public function setDataFormatter(DataFormatterInterface $formater) { $this->dataFormater = $formater; return $this; } /** * @return DataFormatterInterface */ public function getDataFormatter() { if ($this->dataFormater === null) { $this->dataFormater = self::getDefaultDataFormatter(); } return $this->dataFormater; } /** * Get an Xdebug Link to a file * * @param string $file * @param int $line * * @return array { * @var string $url * @var bool $ajax should be used to open the url instead of a normal links * } */ public function getXdebugLink($file, $line = 1) { if (count($this->xdebugReplacements)) { $file = strtr($file, $this->xdebugReplacements); } $url = strtr($this->getXdebugLinkTemplate(), ['%f' => $file, '%l' => $line]); if ($url) { return ['url' => $url, 'ajax' => $this->getXdebugShouldUseAjax()]; } } /** * Sets the default variable dumper used by all collectors subclassing this class * * @param DebugBarVarDumper $varDumper */ public static function setDefaultVarDumper(DebugBarVarDumper $varDumper) { self::$defaultVarDumper = $varDumper; } /** * Returns the default variable dumper * * @return DebugBarVarDumper */ public static function getDefaultVarDumper() { if (self::$defaultVarDumper === null) { self::$defaultVarDumper = new DebugBarVarDumper(); } return self::$defaultVarDumper; } /** * Sets the variable dumper instance used by this collector * * @param DebugBarVarDumper $varDumper * @return $this */ public function setVarDumper(DebugBarVarDumper $varDumper) { $this->varDumper = $varDumper; return $this; } /** * Gets the variable dumper instance used by this collector; note that collectors using this * instance need to be sure to return the static assets provided by the variable dumper. * * @return DebugBarVarDumper */ public function getVarDumper() { if ($this->varDumper === null) { $this->varDumper = self::getDefaultVarDumper(); } return $this->varDumper; } /** * @deprecated */ public function formatVar($var) { return $this->getDataFormatter()->formatVar($var); } /** * @deprecated */ public function formatDuration($seconds) { return $this->getDataFormatter()->formatDuration($seconds); } /** * @deprecated */ public function formatBytes($size, $precision = 2) { return $this->getDataFormatter()->formatBytes($size, $precision); } /** * @return string */ public function getXdebugLinkTemplate() { if (empty($this->xdebugLinkTemplate) && !empty(ini_get('xdebug.file_link_format'))) { $this->xdebugLinkTemplate = ini_get('xdebug.file_link_format'); } return $this->xdebugLinkTemplate; } /** * @param string $xdebugLinkTemplate * @param bool $shouldUseAjax */ public function setXdebugLinkTemplate($xdebugLinkTemplate, $shouldUseAjax = false) { if ($xdebugLinkTemplate === 'idea') { $this->xdebugLinkTemplate = 'http://localhost:63342/api/file/?file=%f&line=%l'; $this->xdebugShouldUseAjax = true; } else { $this->xdebugLinkTemplate = $xdebugLinkTemplate; $this->xdebugShouldUseAjax = $shouldUseAjax; } } /** * @return bool */ public function getXdebugShouldUseAjax() { return $this->xdebugShouldUseAjax; } /** * returns an array of filename-replacements * * this is useful f.e. when using vagrant or remote servers, * where the path of the file is different between server and * development environment * * @return array key-value-pairs of replacements, key = path on server, value = replacement */ public function getXdebugReplacements() { return $this->xdebugReplacements; } /** * @param array $xdebugReplacements */ public function setXdebugReplacements($xdebugReplacements) { $this->xdebugReplacements = $xdebugReplacements; } public function setXdebugReplacement($serverPath, $replacement) { $this->xdebugReplacements[$serverPath] = $replacement; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.6 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002