プロファイラーをポップアップにしてみた。
ちょっと無理やりだけど。
function _runStr() { $CI =& get_instance(); $output = '<br clear="all" />'; $output .= "<div style='background-color:#fff;padding:10px;'>"; $output .= $this->_compile_memory_usage(); $output .= $this->_compile_benchmarks(); $output .= $this->_compile_uri_string(); $output .= $this->_compile_get(); $output .= $this->_compile_post(); $output .= $this->_compile_queries(); $output .= '</div>'; $output = $CI->db->escape($output); return $output; } /** * Run the Profiler * * @access private * @return string */ function run() { $win = <<< EOT <script language="JavaScript"> var win = window.open('', 'profiler', 'toolbar=no,scrollbars,width=750,height=500'); win.document.writeln('<html>'); win.document.writeln('<head>'); win.document.writeln('<title>Profiler Window</title>'); win.document.writeln('<style type="text/css">'); win.document.writeln('body { font-family: monospace; font-size: 8pt; }'); win.document.writeln('td,th { font-size: 12pt; }'); win.document.writeln('td,th { border-bottom: #999999 solid 1px; }'); win.document.writeln('td,th { border-right: #999999 solid 1px; }'); win.document.writeln('tr { text-align: left; vertical-align: top; }'); win.document.writeln('</style>'); win.document.writeln('</head>'); win.document.writeln('<body>'); win.document.writeln({$this->_runStr()}); win.document.writeln('</body></html>'); </script> EOT; return $win; }
急いでやったので、エスケープの部分をdb->escape()にした。
これ、もっと別の方法があるんじゃないだろうか。。
だれかもっと良くしてください。