diff --git a/framework/yii/debug/LogTarget.php b/framework/yii/debug/LogTarget.php index b415b50..31bca6e 100644 --- a/framework/yii/debug/LogTarget.php +++ b/framework/yii/debug/LogTarget.php @@ -45,11 +45,11 @@ class LogTarget extends Target if (!is_dir($path)) { mkdir($path); } - $indexFile = "$path/index.json"; + $indexFile = "$path/index.php"; if (!is_file($indexFile)) { $manifest = array(); } else { - $manifest = json_decode(file_get_contents($indexFile), true); + $manifest = unserialize(file_get_contents($indexFile)); } $request = Yii::$app->getRequest(); $manifest[$this->tag] = $summary = array( @@ -62,14 +62,14 @@ class LogTarget extends Target ); $this->gc($manifest); - $dataFile = "$path/{$this->tag}.json"; + $dataFile = "$path/{$this->tag}.php"; $data = array(); foreach ($this->module->panels as $id => $panel) { $data[$id] = $panel->save(); } $data['summary'] = $summary; - file_put_contents($dataFile, json_encode($data)); - file_put_contents($indexFile, json_encode($manifest)); + file_put_contents($dataFile, serialize($data)); + file_put_contents($indexFile, serialize($manifest)); } /** @@ -93,7 +93,7 @@ class LogTarget extends Target if (count($manifest) > $this->module->historySize + 10) { $n = count($manifest) - $this->module->historySize; foreach (array_keys($manifest) as $tag) { - $file = $this->module->dataPath . "/$tag.json"; + $file = $this->module->dataPath . "/$tag.php"; @unlink($file); unset($manifest[$tag]); if (--$n <= 0) { diff --git a/framework/yii/debug/controllers/DefaultController.php b/framework/yii/debug/controllers/DefaultController.php index dd01412..2026dc7 100644 --- a/framework/yii/debug/controllers/DefaultController.php +++ b/framework/yii/debug/controllers/DefaultController.php @@ -74,9 +74,9 @@ class DefaultController extends Controller protected function getManifest() { if ($this->_manifest === null) { - $indexFile = $this->module->dataPath . '/index.json'; + $indexFile = $this->module->dataPath . '/index.php'; if (is_file($indexFile)) { - $this->_manifest = array_reverse(json_decode(file_get_contents($indexFile), true), true); + $this->_manifest = array_reverse(unserialize(file_get_contents($indexFile)), true); } else { $this->_manifest = array(); } @@ -88,8 +88,8 @@ class DefaultController extends Controller { $manifest = $this->getManifest(); if (isset($manifest[$tag])) { - $dataFile = $this->module->dataPath . "/$tag.json"; - $data = json_decode(file_get_contents($dataFile), true); + $dataFile = $this->module->dataPath . "/$tag.php"; + $data = unserialize(file_get_contents($dataFile)); foreach ($this->module->panels as $id => $panel) { if (isset($data[$id])) { $panel->tag = $tag; diff --git a/framework/yii/debug/panels/RequestPanel.php b/framework/yii/debug/panels/RequestPanel.php index 6aa4bf8..58256e4 100644 --- a/framework/yii/debug/panels/RequestPanel.php +++ b/framework/yii/debug/panels/RequestPanel.php @@ -151,7 +151,7 @@ EOD; } $rows = array(); foreach ($values as $name => $value) { - $rows[] = '' . Html::encode($name) . '' . Html::encode(var_export($value, true)) . ''; + $rows[] = '' . Html::encode($name) . '' . htmlspecialchars(var_export($value, true), ENT_QUOTES|ENT_SUBSTITUTE, \Yii::$app->charset, TRUE) . ''; } $rows = implode("\n", $rows); return <<