Browse Source

minor fixes.

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
d5cd823492
  1. 6
      framework/yii/debug/LogTarget.php
  2. 16
      framework/yii/debug/controllers/DefaultController.php
  3. 24
      framework/yii/debug/views/default/view.php

6
framework/yii/debug/LogTarget.php

@ -50,7 +50,8 @@ class LogTarget extends Target
$manifest = json_decode(file_get_contents($indexFile), true); $manifest = json_decode(file_get_contents($indexFile), true);
} }
$request = Yii::$app->getRequest(); $request = Yii::$app->getRequest();
$manifest[$this->tag] = array( $manifest[$this->tag] = $summary = array(
'tag' => $this->tag,
'url' => $request->getAbsoluteUrl(), 'url' => $request->getAbsoluteUrl(),
'ajax' => $request->getIsAjax(), 'ajax' => $request->getIsAjax(),
'method' => $request->getMethod(), 'method' => $request->getMethod(),
@ -64,6 +65,7 @@ class LogTarget extends Target
foreach ($this->module->panels as $id => $panel) { foreach ($this->module->panels as $id => $panel) {
$data[$id] = $panel->save(); $data[$id] = $panel->save();
} }
$data['summary'] = $summary;
file_put_contents($dataFile, json_encode($data)); file_put_contents($dataFile, json_encode($data));
file_put_contents($indexFile, json_encode($manifest)); file_put_contents($indexFile, json_encode($manifest));
} }
@ -86,7 +88,7 @@ class LogTarget extends Target
protected function gc(&$manifest) protected function gc(&$manifest)
{ {
if (rand(0, 100) < 5 && count($manifest) > $this->module->historySize) { if (count($manifest) > $this->module->historySize + 10) {
$n = count($manifest) - $this->module->historySize; $n = count($manifest) - $this->module->historySize;
foreach (array_keys($manifest) as $tag) { foreach (array_keys($manifest) as $tag) {
$file = $this->module->dataPath . "/$tag.json"; $file = $this->module->dataPath . "/$tag.json";

16
framework/yii/debug/controllers/DefaultController.php

@ -17,9 +17,15 @@ use yii\web\HttpException;
*/ */
class DefaultController extends Controller class DefaultController extends Controller
{ {
/** @var \yii\debug\Module */
public $module;
public $layout = 'main'; public $layout = 'main';
/**
* @var \yii\debug\Module
*/
public $module;
/**
* @var array the summary data (e.g. URL, time)
*/
public $summary;
public function actionIndex() public function actionIndex()
{ {
@ -34,7 +40,7 @@ class DefaultController extends Controller
$tags = array_keys($this->getManifest()); $tags = array_keys($this->getManifest());
$tag = reset($tags); $tag = reset($tags);
} }
$meta = $this->loadData($tag); $this->loadData($tag);
if (isset($this->module->panels[$panel])) { if (isset($this->module->panels[$panel])) {
$activePanel = $this->module->panels[$panel]; $activePanel = $this->module->panels[$panel];
} else { } else {
@ -42,7 +48,7 @@ class DefaultController extends Controller
} }
return $this->render('view', array( return $this->render('view', array(
'tag' => $tag, 'tag' => $tag,
'meta' => $meta, 'summary' => $this->summary,
'manifest' => $this->getManifest(), 'manifest' => $this->getManifest(),
'panels' => $this->module->panels, 'panels' => $this->module->panels,
'activePanel' => $activePanel, 'activePanel' => $activePanel,
@ -93,7 +99,7 @@ class DefaultController extends Controller
unset($this->module->panels[$id]); unset($this->module->panels[$id]);
} }
} }
return $manifest[$tag]; $this->summary = $data['summary'];
} else { } else {
throw new HttpException(404, "Unable to find debug data tagged with '$tag'."); throw new HttpException(404, "Unable to find debug data tagged with '$tag'.");
} }

24
framework/yii/debug/views/default/view.php

@ -4,7 +4,7 @@ use yii\helpers\Html;
/** /**
* @var \yii\base\View $this * @var \yii\base\View $this
* @var array $meta * @var array $summary
* @var string $tag * @var string $tag
* @var array $manifest * @var array $manifest
* @var \yii\debug\Panel[] $panels * @var \yii\debug\Panel[] $panels
@ -51,11 +51,11 @@ $this->title = 'Yii Debugger';
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<?php <?php
$count = 0; $count = 0;
foreach ($manifest as $tag2 => $meta2) { foreach ($manifest as $meta) {
$label = $meta2['method'] . ' ' . $meta2['url'] . ($meta2['ajax'] ? ' (AJAX)' : '') $label = $meta['tag'] . ': ' . $meta['method'] . ' ' . $meta['url'] . ($meta['ajax'] ? ' (AJAX)' : '')
. ', ' . date('Y-m-d h:i:sa', $meta2['time']) . ', ' . date('Y-m-d h:i:s a', $meta['time'])
. ', ' . $meta2['ip'] . ', ' . $tag2; . ', ' . $meta['ip'];
$url = array('view', 'tag' => $tag2); $url = array('view', 'tag' => $meta['tag']);
echo '<li>' . Html::a(Html::encode($label), $url) . '</li>'; echo '<li>' . Html::a(Html::encode($label), $url) . '</li>';
if (++$count >= 10) { if (++$count >= 10) {
break; break;
@ -64,12 +64,12 @@ $this->title = 'Yii Debugger';
?> ?>
</ul> </ul>
</div> </div>
Debugging: <?php echo $summary['tag']; ?>:
<?php echo $meta['method']; ?> <?php echo $summary['method']; ?>
<?php echo Html::a(Html::encode($meta['url']), $meta['url']); ?> <?php echo Html::a(Html::encode($summary['url']), $summary['url'], array('class' => 'label')); ?>
<?php echo $meta['ajax'] ? ' (AJAX)' : ''; ?> <?php echo $summary['ajax'] ? ' (AJAX)' : ''; ?>
at <?php echo date('Y-m-d h:i:sa', $meta['time']); ?> at <?php echo date('Y-m-d h:i:s a', $summary['time']); ?>
by <?php echo $meta['ip']; ?> by <?php echo $summary['ip']; ?>
</div> </div>
<?php echo $activePanel->getDetail(); ?> <?php echo $activePanel->getDetail(); ?>
</div> </div>

Loading…
Cancel
Save