/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('soaplog', 'Soap logs'); $info->htmlLabel = 'Soap '; $messages = jLog::getMessages(array('soap')); $c = count($messages); $info->htmlLabel .= $c; if ($c == 0) { $info->label = 'no message'; } else { $c = jLog::getMessagesCount('soap'); if ($c > count($messages)) { $info->popupContent .= '<p class="jxdb-msg-warning">There are ' . $c . ' soap requests. Only ' . count($messages) . ' first of them are shown.</p>'; } $info->popupContent .= '<ul id="jxdb-soaplog" class="jxdb-list">'; foreach ($messages as $msg) { if (get_class($msg) != 'jLogSoapMessage') { continue; } $info->popupContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($msg->getMessage()) . '</span></a></h5> <div>'; $info->popupContent .= "Duration: " . $msg->getDuration() . "s<br />"; $info->popupContent .= "<h6>Headers</h6><pre>" . $msg->getHeaders() . "</pre>"; $info->popupContent .= "<h6>Request</h6><pre>" . $this->xmlprettyprint($msg->getRequest()) . "</pre>"; $info->popupContent .= "<h6>Response</h6><pre>" . $this->xmlprettyprint($msg->getResponse()) . "</pre>"; $info->popupContent .= '</div></li>'; } $info->popupContent .= '</ul>'; } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('sqllog', 'SQL queries'); $messages = jLog::getMessages('sql'); $info->htmlLabel = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEYSURBVBgZBcHPio5hGAfg6/2+R980k6wmJgsJ5U/ZOAqbSc2GnXOwUg7BESgLUeIQ1GSjLFnMwsKGGg1qxJRmPM97/1zXFAAAAEADdlfZzr26miup2svnelq7d2aYgt3rebl585wN6+K3I1/9fJe7O/uIePP2SypJkiRJ0vMhr55FLCA3zgIAOK9uQ4MS361ZOSX+OrTvkgINSjS/HIvhjxNNFGgQsbSmabohKDNoUGLohsls6BaiQIMSs2FYmnXdUsygQYmumy3Nhi6igwalDEOJEjPKP7CA2aFNK8Bkyy3fdNCg7r9/fW3jgpVJbDmy5+PB2IYp4MXFelQ7izPrhkPHB+P5/PjhD5gCgCenx+VR/dODEwD+A3T7nqbxwf1HAAAAAElFTkSuQmCC" alt="SQL queries" title="SQL queries"/> '; if (!jLog::isPluginActivated('memory', 'sql')) { $info->htmlLabel .= '?'; $info->label .= 'memory logger is not active'; } else { $realCount = jLog::getMessagesCount('sql'); $currentCount = count($messages); $info->htmlLabel .= $realCount; if ($realCount) { if ($realCount > $currentCount) { $info->popupContent = '<p class="jxdb-msg-warning">Too many queries (' . $realCount . '). Only first ' . $currentCount . ' queries are shown.</p>'; } $sqlDetailsContent = '<ul id="jxdb-sqllog" class="jxdb-list">'; $totalTime = 0; foreach ($messages as $msg) { if (get_class($msg) != 'jSQLLogMessage') { continue; } $dao = $msg->getDao(); if ($dao) { $m = 'DAO ' . $dao; } else { $m = substr($msg->getMessage(), 0, 50) . ' [...]'; } $msgTime = $msg->getTime(); $totalTime += $msgTime; $sqlDetailsContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($m) . '</span></a></h5> <div> <p>Time: ' . $msgTime . 's</p>'; $sqlDetailsContent .= '<pre style="white-space:pre-wrap">' . htmlspecialchars($msg->getMessage()) . '</pre>'; if ($msg->getMessage() != $msg->originalQuery) { $sqlDetailsContent .= '<p>Original query: </p><pre style="white-space:pre-wrap">' . htmlspecialchars($msg->originalQuery) . '</pre>'; } $sqlDetailsContent .= $debugbar->formatTrace($msg->getTrace()); $sqlDetailsContent .= '</div></li>'; } $sqlDetailsContent .= '</ul>'; $info->popupContent .= '<div>Total SQL time : ' . $totalTime . 's</div>'; $info->popupContent .= $sqlDetailsContent; } } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('sqllog', 'SQL queries'); $messages = jLog::getMessages('sql'); $info->htmlLabel = '<img src="data:image/png;base64,' . base64_encode(file_get_contents(__DIR__ . '/../../htmlresponse/debugbar/icons/database.png')) . '" alt="SQL queries" title="SQL queries"/> '; if (!jLog::isPluginActivated('memory', 'sql')) { $info->htmlLabel .= '?'; $info->label .= 'memory logger is not active'; } else { $realCount = jLog::getMessagesCount('sql'); $currentCount = count($messages); $info->htmlLabel .= $realCount; if ($realCount) { if ($realCount > $currentCount) { $info->popupContent = '<p class="jxdb-msg-warning">Too many queries (' . $realCount . '). Only first ' . $currentCount . ' queries are shown.</p>'; } $sqlDetailsContent = '<ul id="jxdb-sqllog" class="jxdb-list">'; $totalTime = 0; foreach ($messages as $msg) { if (get_class($msg) != 'jSQLLogMessage') { continue; } $dao = $msg->getDao(); if ($dao) { $m = 'DAO ' . $dao; } else { $m = substr($msg->getMessage(), 0, 50) . ' [...]'; } $msgTime = $msg->getTime(); $totalTime += $msgTime; $sqlDetailsContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($m) . '</span></a></h5> <div> <p>Time: ' . $msgTime . 's</p>'; $sqlDetailsContent .= '<pre style="white-space:pre-wrap">' . htmlspecialchars($msg->getMessage()) . '</pre>'; if ($msg->getMessage() != $msg->originalQuery) { $sqlDetailsContent .= '<p>Original query: </p><pre style="white-space:pre-wrap">' . htmlspecialchars($msg->originalQuery) . '</pre>'; } $sqlDetailsContent .= $debugbar->formatTrace($msg->getTrace()); $sqlDetailsContent .= '</div></li>'; } $sqlDetailsContent .= '</ul>'; $info->popupContent .= '<div>Total SQL time : ' . $totalTime . 's</div>'; $info->popupContent .= $sqlDetailsContent; } } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('defaultlog', 'General logs'); $info->htmlLabel = '<img src="data:image/png;base64,' . base64_encode(file_get_contents(__DIR__ . '/../../htmlresponse/debugbar/icons/book_open.png')) . '" alt="General logs" title="General logs"/> '; $messages = jLog::getMessages(array('default', 'debug')); $c = count($messages); $info->htmlLabel .= $c; if ($c == 0) { $info->label = 'no message'; } else { $info->popupContent = '<ul id="jxdb-defaultlog" class="jxdb-list">'; $currentCount = array('default' => 0, 'debug' => 0); foreach ($messages as $msg) { $cat = $msg->getCategory(); $currentCount[$cat]++; $title = $msg->getFormatedMessage(); $truncated = false; if (strlen($title) > 60) { $truncated = true; $title = substr($title, 0, 60) . '...'; } $info->popupContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($title) . '</span></a></h5> <div>'; if ($truncated) { if ($msg instanceof jLogDumpMessage) { $info->popupContent .= "<pre>" . htmlspecialchars($msg->getMessage()) . '</pre>'; } else { $info->popupContent .= htmlspecialchars($msg->getMessage()); } } $info->popupContent .= '</div></li>'; } $info->popupContent .= '</ul>'; foreach ($currentCount as $type => $count) { if (($c = jLog::getMessagesCount($type)) > $count) { $info->popupContent .= '<p class="jxdb-msg-warning">There are ' . $c . ' ' . ($type == 'default' ? '' : $type) . ' messages. Only first ' . $count . ' messages are shown.</p>'; } } } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('defaultlog', 'General logs'); $info->htmlLabel = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIASURBVDjLpVPPaxNREJ6Vt01caH4oWk1T0ZKlGIo9RG+BUsEK4kEP/Q8qPXnpqRdPBf8A8Wahhx7FQ0GF9FJ6UksqwfTSBDGyB5HkkphC9tfb7jfbtyQQTx142byZ75v5ZnZWC4KALmICPy+2DkvKIX2f/POz83LxCL7nrz+WPNcll49DrhM9v7xdO9JW330DuXrrqkFSgig5iR2Cfv3t3gNxOnv5BwU+eZ5HuON5/PMPJZKJ+yKQfpW0S7TxdC6WJaWkyvff1LDaFRAeLZj05MHsiPTS6hua0PUqtwC5sHq9zv9RYWl+nu5cETcnJ1M0M5WlWq3GsX6/T+VymRzHDluZiGYAAsw0TQahV8uyyGq1qFgskm0bHIO/1+sx1rFtchJhArwEyIQ1Gg2WD2A6nWawHQJVDIWgIJfLhQowTIeE9D0mKAU8qPC0220afsWFQoH93W6X7yCDJ+DEBeBmsxnPIJVKxWQVUwry+XyUwBlKMKwA8jqdDhOVCqVAzQDVvXAXhOdGBFgymYwrGoZBmUyGjxCCdF0fSahaFdgoTHRxfTveMCXvWfkuE3Y+f40qhgT/nMitupzApdvT18bu+YeDQwY9Xl4aG9/d/URiMBhQq/dvZMeVghtT17lSZW9/rAKsvPa/r9Fc2dw+Pe0/xI6kM9mT5vtXy+Nw2kU/5zOGRpvuMIu0YAAAAABJRU5ErkJggg==" alt="General logs" title="General logs"/> '; $messages = jLog::getMessages(array('default', 'debug')); $c = count($messages); $info->htmlLabel .= $c; if ($c == 0) { $info->label = 'no message'; } else { $info->popupContent = '<ul id="jxdb-defaultlog" class="jxdb-list">'; $currentCount = array('default' => 0, 'debug' => 0); foreach ($messages as $msg) { $cat = $msg->getCategory(); $currentCount[$cat]++; $title = $msg->getFormatedMessage(); $truncated = false; if (strlen($title) > 60) { $truncated = true; $title = substr($title, 0, 60) . '...'; } $info->popupContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($title) . '</span></a></h5> <div>'; if ($truncated) { if ($msg instanceof jLogDumpMessage) { $info->popupContent .= "<pre>" . htmlspecialchars($msg->getMessage()) . '</pre>'; } else { $info->popupContent .= htmlspecialchars($msg->getMessage()); } } $info->popupContent .= '</div></li>'; } $info->popupContent .= '</ul>'; foreach ($currentCount as $type => $count) { if (($c = jLog::getMessagesCount($type)) > $count) { $info->popupContent .= '<p class="jxdb-msg-warning">There are ' . $c . ' ' . ($type == 'default' ? '' : $type) . ' messages. Only first ' . $count . ' messages are shown.</p>'; } } } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('sqllog', 'SQL queries'); $messages = jLog::getMessages('sql'); #expand $info->htmlLabel = '<img src="data:image/png;base64,__LOGOSQLLOG__" alt="SQL queries" title="SQL queries"/> '; if (!jLog::isPluginActivated('memory', 'sql')) { $info->htmlLabel .= '?'; $info->label .= 'memory logger is not active'; } else { $realCount = jLog::getMessagesCount('sql'); $currentCount = count($messages); $info->htmlLabel .= $realCount; if ($realCount) { if ($realCount > $currentCount) { $info->popupContent = '<p class="jxdb-msg-warning">Too many queries (' . $realCount . '). Only first ' . $currentCount . ' queries are shown.</p>'; } $info->popupContent .= '<ul id="jxdb-sqllog" class="jxdb-list">'; foreach ($messages as $msg) { $dao = $msg->getDao(); if ($dao) { $m = 'DAO ' . $dao; } else { $m = substr($msg->getMessage(), 0, 50) . ' [...]'; } $info->popupContent .= '<li> <h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . htmlspecialchars($m) . '</span></a></h5> <div> <p>Time: ' . $msg->getTime() . 's</p>'; $info->popupContent .= '<pre style="white-space:pre-wrap">' . htmlspecialchars($msg->getMessage()) . '</pre>'; $info->popupContent .= $debugbar->formatTrace($msg->getTrace()); $info->popupContent .= '</div></li>'; } $info->popupContent .= '</ul>'; } } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('sessiondata', 'Session'); $info->htmlLabel = '<img src="data:image/png;base64,' . base64_encode(file_get_contents(__DIR__ . '/../../htmlresponse/debugbar/icons/drive_user.png')) . '" alt="Session data" title="Session data"/> '; if (!isset($_SESSION) || count($_SESSION) == 0) { $info->htmlLabel .= '0'; } else { $info->htmlLabel .= count($_SESSION); $info->popupContent = '<ul id="jxdb-sessiondata" class="jxdb-list">'; foreach ($_SESSION as $key => $value) { $info->popupContent .= '<li> '; $pre = false; $title = $value; if (is_scalar($value)) { if (is_string($value)) { if (strlen($value) > 40) { $title = '"' . substr($value, 0, 40) . '..."'; $pre = true; } else { $title = '"' . $value . '"'; } } else { if (is_bool($value)) { $title = $value ? 'true' : 'false'; } } } else { if (is_null($value)) { $title = 'null'; } else { $pre = true; } } if ($pre) { $info->popupContent .= '<h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . $key . '</span></a></h5> <div>'; if ($key == 'JFORMS') { $info->popupContent .= '<dl class="jxdb-jform-dump">'; foreach ($value as $selector => $formlist) { foreach ($formlist as $formid => $form) { $info->popupContent .= "<dt>" . $selector . " (" . $formid . ")</dt>"; $info->popupContent .= "<dd>Data:<table style=''><tr><th>name</th><th>value</th><th>original value</th><th>RO</th><th>Deact.</th></tr>"; foreach ($form->data as $dn => $dv) { if (is_array($dv)) { $info->popupContent .= "<tr><td>{$dn}</td><td>" . var_export($dv, true) . "</td>"; $info->popupContent .= "<td>" . (isset($form->originalData[$dn]) ? var_export($form->originalData[$dn], true) : '') . "</td>"; } else { $info->popupContent .= "<tr><td>{$dn}</td><td>" . htmlspecialchars($dv) . "</td>"; $info->popupContent .= "<td>" . (isset($form->originalData[$dn]) ? htmlspecialchars($form->originalData[$dn]) : '') . "</td>"; } $info->popupContent .= "<td>" . ($form->isReadOnly($dn) ? 'Y' : '') . "</td>"; $info->popupContent .= "<td>" . ($form->isActivated($dn) ? '' : 'Y') . "</td></tr>"; } $info->popupContent .= "</table>"; $info->popupContent .= "<br/>Update Time: " . ($form->updatetime ? date('Y-m-d H:i:s', $form->updatetime) : ''); $info->popupContent .= "<br/>Token: " . $form->token; $info->popupContent .= "<br/>Ref count: " . $form->refcount; $info->popupContent .= "</dd>"; } } $info->popupContent .= "</dl>"; } else { $info->popupContent .= '<pre>'; $info->popupContent .= var_export($value, true); $info->popupContent .= '</pre>'; } $info->popupContent .= '</div></li>'; } else { $info->popupContent .= '<h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . $key . ' = ' . htmlspecialchars($title) . '</span></a></h5><div></div>'; $info->popupContent .= '</li>'; } } $info->popupContent .= '</ul>'; } $debugbar->addInfo($info); }
/** * it should adds content or set some properties on the debugbar * to displays some contents. * @param debugbarHTMLResponsePlugin $debugbar the debugbar */ function show($debugbar) { $info = new debugbarItemInfo('sessiondata', 'Session'); $info->htmlLabel = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJaSURBVDjLpVPNi1JRFP89v2f8RHHGaqOCJFNuohki+oBxE7Sp1oFQLXPXbqDFUG1btOgvyIKBoFmUixSJqERIzbFJ05lRpHn6xoYcP0af+nrnlmKBqzlwOPe+d3/nd37n3MtJkoSjmAJHNNVokcvlIoPBYFl29Pt9iKI49l6vN/Zut0sxGggE/ITjSIIMvqzRaGJ2u50d+t8mZarVasRiMZRKJX8wGIyyCmTG+xaLBTzPQ6vVjkGTQFpXKhWYTCa4XC4iXZE/R7lMJsPYbTYbGo3GP+WSFAJyHAelUsnYjUYj9Ho9wuEwCoWCX0XsVDpppUM6nY75iL3T6eDt86c4TL3E4VDeW0/h2t1V+Hw+ZLPZFRUxtVotCILAGkTA4XAIaibFr58i6Hx5hYEkQuKUaJYTePbkAW7cuceqpATLxEQbAsmSWMkKxZ8J86kI5ubdsJmNpBtmxzHUhTzMci8IqyJW0kpOCcgpAbGTGRxO3Axch35Gh4P6LlQGG16vr0P8O2qWYAQkkNfrZZGc5HzYrWEzGceZpSWYrHPY2cojJehwUv4/TkAToASj0Y36kE6nsbVdRHRmAfG195hVA8WDWTQlLRKJBKuaC4VCb2QtVyZuGYtCrcbGxVeraLfbOHf+AuYdDqy9CLFR0kj39oRv3LTHtPHw7DZ//KrzXVmD5q86qnIiYqSLptbqcem0HYvix/7Ux2SwnYjv72RQrvyA1WqF2+1mYI/HA3EwRHnzM/QmY0o1LYFkdd7mftYfFQvfbzX3qxflSg0kLZlMDip8fWNh0f6YszjyvwFmK4mzFto0SwAAAABJRU5ErkJggg==" alt="Session data" title="Session data"/> '; if (!isset($_SESSION) || count($_SESSION) == 0) { $info->htmlLabel .= '0'; } else { $info->htmlLabel .= count($_SESSION); $info->popupContent = '<ul id="jxdb-sessiondata" class="jxdb-list">'; foreach ($_SESSION as $key => $value) { $info->popupContent .= '<li> '; $pre = false; $title = $value; if (is_scalar($value)) { if (is_string($value)) { if (strlen($value) > 40) { $title = '"' . substr($value, 0, 40) . '..."'; $pre = true; } else { $title = '"' . $value . '"'; } } else { if (is_bool($value)) { $title = $value ? 'true' : 'false'; } } } else { if (is_null($value)) { $title = 'null'; } else { $pre = true; } } if ($pre) { $info->popupContent .= '<h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . $key . '</span></a></h5> <div>'; if ($key == 'JFORMS') { $info->popupContent .= '<dl class="jxdb-jform-dump">'; foreach ($value as $selector => $formlist) { foreach ($formlist as $formid => $form) { $info->popupContent .= "<dt>" . $selector . " (" . $formid . ")</dt>"; $info->popupContent .= "<dd>Data:<table style=''><tr><th>name</th><th>value</th><th>original value</th><th>RO</th><th>Deact.</th></tr>"; foreach ($form->data as $dn => $dv) { if (is_array($dv)) { $info->popupContent .= "<tr><td>{$dn}</td><td>" . var_export($dv, true) . "</td>"; $info->popupContent .= "<td>" . (isset($form->originalData[$dn]) ? var_export($form->originalData[$dn], true) : '') . "</td>"; } else { $info->popupContent .= "<tr><td>{$dn}</td><td>" . htmlspecialchars($dv) . "</td>"; $info->popupContent .= "<td>" . (isset($form->originalData[$dn]) ? htmlspecialchars($form->originalData[$dn]) : '') . "</td>"; } $info->popupContent .= "<td>" . ($form->isReadOnly($dn) ? 'Y' : '') . "</td>"; $info->popupContent .= "<td>" . ($form->isActivated($dn) ? '' : 'Y') . "</td></tr>"; } $info->popupContent .= "</table>"; $info->popupContent .= "<br/>Update Time: " . ($form->updatetime ? date('Y-m-d H:i:s', $form->updatetime) : ''); $info->popupContent .= "<br/>Token: " . $form->token; $info->popupContent .= "<br/>Ref count: " . $form->refcount; $info->popupContent .= "</dd>"; } } $info->popupContent .= "</dl>"; } else { $info->popupContent .= '<pre>'; $info->popupContent .= var_export($value, true); $info->popupContent .= '</pre>'; } $info->popupContent .= '</div></li>'; } else { $info->popupContent .= '<h5><a href="#" onclick="jxdb.toggleDetails(this);return false;"><span>' . $key . ' = ' . htmlspecialchars($title) . '</span></a></h5><div></div>'; $info->popupContent .= '</li>'; } } $info->popupContent .= '</ul>'; } $debugbar->addInfo($info); }