Page MenuHomeIn-Portal Phabricator

D458.id1188.diff
No OneTemporary

File Metadata

Created
Wed, Feb 26, 9:00 AM

D458.id1188.diff

Index: composer.json
===================================================================
--- composer.json
+++ composer.json
@@ -5,7 +5,8 @@
"paragonie/random_compat": "^2.0",
"symfony/polyfill-php55": "^1.19",
"symfony/polyfill-php56": "^1.19",
- "mtdowling/cron-expression": "dev-master"
+ "mtdowling/cron-expression": "dev-master",
+ "symfony/var-dumper": "^2.8"
},
"require-dev": {
"behat/mink": "^1.7",
Index: composer.lock
===================================================================
--- composer.lock
+++ composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "e44d657cbe6f1c15496b087609a60d98",
+ "content-hash": "ed3e41c072b20c049f7ff525cdb8a3b1",
"packages": [
{
"name": "ircmaxell/password-compat",
@@ -157,6 +157,86 @@
"time": "2022-02-16T17:07:03+00:00"
},
{
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.19.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b5f7b932ee6fa802fc792eabd77c4c88084517ce",
+ "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.19-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.19.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T09:01:57+00:00"
+ },
+ {
"name": "symfony/polyfill-php55",
"version": "v1.19.0",
"source": {
@@ -382,6 +462,77 @@
}
],
"time": "2020-10-21T09:57:48+00:00"
+ },
+ {
+ "name": "symfony/var-dumper",
+ "version": "v2.8.52",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/91abb1e39d14fb7773d25de9c711949ea8502ac1",
+ "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
+ },
+ "require-dev": {
+ "ext-iconv": "*",
+ "twig/twig": "~1.34|~2.4"
+ },
+ "suggest": {
+ "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+ "ext-symfony_debug": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony mechanism for exploring and dumping PHP variables",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-dumper/tree/v2.8.50"
+ },
+ "time": "2018-11-11T11:18:13+00:00"
}
],
"packages-dev": [
Index: core/kernel/globals.php
===================================================================
--- core/kernel/globals.php
+++ core/kernel/globals.php
@@ -12,6 +12,10 @@
* See http://www.in-portal.org/license for copyright notices and details.
*/
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+
defined('FULL_PATH') or die('restricted access!');
class kUtil {
@@ -1024,6 +1028,86 @@
return $result;
}
+ /**
+ * Returns colorized var dump.
+ *
+ * @param mixed $var Variable.
+ * @param string $context Context.
+ * @param boolean $return Return value.
+ *
+ * @return string|void
+ */
+ public static function varDumpColorized($var, $context, $return = true)
+ {
+ static $dumper, $cloner, $context_streams = array();
+
+ if ( $dumper === null && $cloner === null ) {
+ $cloner = new VarCloner();
+ $dumper = PHP_SAPI == 'cli' ? new CliDumper() : new HtmlDumper();
+
+ if ( $dumper instanceof HtmlDumper ) {
+ // Use $dumper->setTheme('light'); instead in later version of VarDumper library.
+ $light_theme = array(
+ 'default' => implode(
+ ' ',
+ array(
+ 'background:none;',
+ 'color:#CC7832;',
+ 'line-height:1.2em;',
+ 'font:12px Menlo, Monaco, Consolas, monospace;',
+ 'word-wrap: break-word;',
+ 'white-space: pre-wrap;',
+ 'position:relative;',
+ 'z-index:99999;',
+ 'word-break: break-all;',
+ )
+ ),
+ 'num' => 'font-weight:bold; color:#1299DA',
+ 'const' => 'font-weight:bold',
+ 'str' => 'font-weight:bold; color:#629755;',
+ 'note' => 'color:#6897BB',
+ 'ref' => 'color:#6E6E6E',
+ 'public' => 'color:#262626',
+ 'protected' => 'color:#262626',
+ 'private' => 'color:#262626',
+ 'meta' => 'color:#B729D9',
+ 'key' => 'color:#789339',
+ 'index' => 'color:#1299DA',
+ 'ellipsis' => 'color:#CC7832',
+ 'ns' => 'user-select:none;',
+ );
+ $dumper->setStyles($light_theme);
+ }
+ else {
+ if ( \function_exists('stream_isatty') && stream_isatty(STDOUT) ) {
+ $dumper->setColors(true);
+ }
+
+ if ( \function_exists('posix_isatty') && posix_isatty(STDOUT) ) {
+ $dumper->setColors(true);
+ }
+ }
+ }
+
+ if ( !array_key_exists($context, $context_streams) ) {
+ $context_streams[$context] = fopen('php://memory', 'r+b');
+ }
+
+ $stream = $context_streams[$context];
+ rewind($stream);
+
+ $dumper->dump($cloner->cloneVar($var), $stream);
+
+ // Don't close the stream !!!
+ $ret = stream_get_contents($stream, ftell($stream), 0);
+
+ if ( $return ) {
+ return $ret;
+ }
+
+ echo $ret;
+ }
+
}
/**

Event Timeline