Пример #1
0
 /**
  * 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&nbsp;: ' . $totalTime . 's</div>';
             $info->popupContent .= $sqlDetailsContent;
         }
     }
     $debugbar->addInfo($info);
 }
Пример #2
0
 /**
  * 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&nbsp;: ' . $totalTime . 's</div>';
             $info->popupContent .= $sqlDetailsContent;
         }
     }
     $debugbar->addInfo($info);
 }
Пример #3
0
 /**
  * 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);
 }