Index: trunk/core/kernel/utility/debugger.php =================================================================== diff -u -r961 -r1088 --- trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 961) +++ trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 1088) @@ -141,13 +141,15 @@ $argsID = 'trace_args_'.$dataIndex.'_'.$i; if(isset($traceRec['file'])) { - $ret .= 'Function: '.$this->getFileLink($traceRec['file'],$traceRec['line'],$traceRec['class'].$traceRec['type'].$traceRec['function']); + $func_name=isset($traceRec['class'])?$traceRec['class'].$traceRec['type'].$traceRec['function']:$traceRec['function']; + $ret .= 'Function: '.$this->getFileLink($traceRec['file'],$traceRec['line'],$func_name); $ret .= ' in '.basename($traceRec['file']).' on line '.$traceRec['line'].'
'; } else { $ret .= 'no file information available'; } + // ensure parameter value is not longer then 200 symbols $this->processTraceArguments($traceRec['args']); $args = $this->highlightString(print_r($traceRec['args'], true)); @@ -172,6 +174,7 @@ function processTraceArguments(&$traceArgs) { + if(!$traceArgs) return ''; foreach ($traceArgs as $argID => $argValue) { if( is_array($argValue) || is_object($argValue) ) @@ -238,7 +241,16 @@ function getFileLink($file, $lineno = 1, $title = '') { if(!$title) $title = $file; - return ''.$title.''; + $is_mozilla=strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'firefox')!==false?true:false; + if($is_mozilla) + { + return ''.$title.''; + } + else + { + return ''.$title.''; + } + } function getLocalFile($remoteFile) @@ -545,37 +557,38 @@ $DebugLayer.style.top = parseInt(document.body.offsetTop + document.body.scrollTop) + $TopMargin; $DebugLayer.style.height = document.body.clientHeight - $TopMargin - 5; } - window.parent.status = 'OFFSET: '+prepareSizes('offset')+' | SCROLL: '+prepareSizes('scroll')+' | CLIENT: '+prepareSizes('client'); - window.parent.status += 'DL Info: '+$DebugLayer.style.top+'; S.AH: '+screen.availHeight; + //window.parent.status = 'OFFSET: '+prepareSizes('offset')+' | SCROLL: '+prepareSizes('scroll')+' | CLIENT: '+prepareSizes('client'); + //window.parent.status += 'DL Info: '+$DebugLayer.style.top+'; S.AH: '+screen.availHeight; return true; } - function SetClipboard($data) + function SetClipboard(copyText) { - if (window.clipboardData) - { - window.clipboardData.setData('Text', $data); + if(window.clipboardData) + { + // IE send-to-clipboard method. + window.clipboardData.setData('Text', copyText); } else if (window.netscape) { - //netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); - var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); - if (!clip) return; + // You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true); + netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); - var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); - if (!trans) return; - - trans.addDataFlavor('text/unicode'); - var str = new Object(); - var len = new Object(); + // Store support string in an object. var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); + if (!str) return false; + str.data=copyText; - var $copytext=$data; + // Make transferable. + var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); + if (!trans) return false; - str.data=$copytext; + // Specify what datatypes we want to obtain, which is text in this case. + trans.addDataFlavor("text/unicode"); + trans.setTransferData("text/unicode",str,copyText.length*2); - trans.setTransferData("text/unicode",str,$copytext.length*2); var clipid=Components.interfaces.nsIClipboard; + var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid); if (!clip) return false; clip.setData(trans,null,clipid.kGlobalClipboard); @@ -639,7 +652,7 @@ $this->memoryUsage['debugger_finish']=memory_get_usage(); $this->memoryUsage['print_report']=$this->memoryUsage['debugger_finish']-$this->memoryUsage['debugger_start']; $this->memoryUsage['total']=$this->memoryUsage['print_report']+$this->memoryUsage['error_handling']; - + $this->memoryUsage['application']=memory_get_usage()-$this->memoryUsage['total']; if($returnResult) { $ret = ob_get_contents(); @@ -664,7 +677,8 @@ { $info=Array('printReport'=>'print_report', 'saveError'=>'error_handling', - 'Total'=>'total'); + 'Total'=>'total', + 'Application'=>'application'); $ret=Array(); foreach($info as $title => $value_key) { @@ -766,6 +780,11 @@ } + if( !function_exists('memory_get_usage') ) + { + function memory_get_usage(){ return -1; } + } + function ConstOn($const_name) { return defined($const_name)&&constant($const_name);