Вход Регистрация
Файл: base-sys/base/views/components/dev_tools_tpl.html
Строк: 390
<?php
{literal}<style>
    
span.dev_tools_item{
        
color:#2f2f2f;
        
display:inline-block;
        
min-height:24px;
        
border-right:1px solid #ccc;
        
padding:7px 10px 3px 2px;
    }
    
span.dev_tools_item i{
        
letter-spacing:2px;
        
cursor:pointer;
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADR0lEQVR4nGJgoBAAAAAA//9iRBfYtWtX7e/ff6L+/P2rARNjYWa+wcrKsszNza0ZXT0AAAD//4IbsGfPHuev376vYmdjFxIVE2EQ4OdnYGBkZPj39x/Dx08fGd68fsvw89fPd9xcnGEuLi57YfoAAAAA//9ihGn+8vXbFhERYQ45WVkGbm5uhlu3bjH8+PGDQUREhEFSUpLh27dvDI+fPGF4/frNDx5uLh+YIQAAAAD//wTBwQkAIQwAweUkIW+DT71GUrHlqc8IznwiYmufWWu1fwxUlcyktUZEUErh3ouqMnrH3W3tM0XEAB4AAAD//wTBsRGAMAwEwRvm3YATMIQK3KO7UntS8OxemXmkMb93YZvupqqICCSx96aq6G5ss54baczMPAA/AAAA//88yCEWwDAIRMH/qlt6utzfYzAhi4K6jpxr51lmN91NVSEJSUQEmYm7/1dVzAyvPew8C+ADAAD//2L59OmThqKCPMP3798Z/v79Cw/dM2fOwNmamppwNjMzMwMXFyfDp0+fNBgYGBgAAAAA//88yrEJAEAMA7Ej/JLZNzsZXJjv3KnQk4RtbJOkcXfru6tnBgBJAHwAAAD//2L5/v07w9ev3xj+///H8Pv3b6yJ5ePHj3A2CwsLAxMTE9wAAAAAAP//YmFjY7376tVLZT4+PoZPnz5hNeDDhw9wNh8fH8PHT58Y2NhY7zIwMDAAAAAA//9iEhQU3Pnk6TOGv3//Mnz//p3h06dPGAbBxGDh9PTpMwZBQcGdDAwMDAAAAAD//0zRwQkAIAwEwcUC7h/LtdXrQCLkFfyJ08KMGbFO5raNpLfxqyq6G0nY5mTuGbEALgAAAP//BMExDoAgEADBlcJLrhf5DLZ28lbsbOUziD0JFhdnJoCc836XcoY1zN4vjDHovWNmOOdQVUSE1l7qU78txiOldAH8AAAA//+C54X169d77Nm7dxUnBwevqJgYAzc3NwPD//8MTExMDF++fIGkhx8/Prs4O4cFBgbugOkDAAAA//9iZGRk5GBkZORmZGTknzlzpsL9+/dznzx9av/x4ydBmCJ+Pr73kpISRzQ1NTuSkpKe/vv37z0DA8OP/////wEAAAD//wMAa0BF3lzxB5oAAAAASUVORK5CYII=);
        
background-position:3px 50%;
        
padding:2px 0 2px 25px;
        
background-repeat:no-repeat;
    }
    
    
span.dev_tools_item i.request{
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAD8ElEQVR4nGJkwAHWrFmz7fv3754MDAwMnJyc20NCQrywqQMAAAD//2KBMTZv3lzw9evXWF5e3mZvb+8NX79+NbSzs2NgYGBgOHTokCEDAwPD1q1bYz9//lzAzc292NfXdwIDAwMDAAAA//9ihGn+/v17v5aWFsP169cZfv/+vYuBgcHN0dGRgYGBgWH//v0MDAwMR1hZWW00NTUZrl27xsDJyVno6+s7AQAAAP//BMGhFcAwCEDB3/diskGQWGQ7DvMxTitjI5MNMIjeXQAR8ZrZPcagqlhrISL03gHITPbeqCqtNc45zDk/d39+AAAA//8EwbERAEEMArGdDwkoglavRDfi2CQvfQC238ywu7QlCZJoy90hiSS0ZXeZGWw/gB8AAP//NNAxFYBQCEDRx+T+FxJwaKIxyEYMTcKhAdNfHZ28Ea78B5l5r7VOdwegu5mZV0REVQ8zA6Cq2Hs/EXEBfAAAAP//AEEAvv8BoaGhtvPz8zEHBwcYLy8vABAQEADW1tYA9fX1vl5eXksAAAAAoqKitQsLC0IqKioA8PDwANHR0QD5+fnoDQ0NzwAAAP//BMGxDcAgDEXBFyigzTZ/KKZB8k4Wy6SFAjt3z5wzJdFaIyKICNZae4zx3ns3QK21m9knqWcmpRTOObg7PwAAAP//PM/BDQAxCAOwnLgH7L8lAxAihNRX6w38k0Rmwt1hZogIzMyrXZK+qoIk7C66GyRxAAAA//8EwaENADAIBEDyphUEpv9dmnocQ6A7AUH1Dqp6M/NFhFSVdLeY2SJ5AGwAm+Rx9zUzUlUSEZKZT1XvBwAA//+C29TZ2bn/z58/DqqqqgxCQkIMd+/eZXj+/PlPBgYGBklJSXZlZWWGd+/eMdy+fZuBhYXlZHl5uQUDAwMDAAAA//9iZGBgYFi2bFnohQsXVuno6DD8+vWLgY2NjUFMTIyBgYGBgYmJieHfv38Mr169gstduXKFwcDAIDkqKmoeAAAA//8EwaERwEAIRcEnIhncF7SZBq6TtEUJSE6gmew+AJl5JDEzzAxVhbsjid3l3kt3ExGYGZLIzBf4fgAAAP//BMGhDcBADATBVch14e6/lcCQMzCw9EVY5pl5ACLi2KaqyEwkffdeZobdpbuR9GYmVYVtIuIA/AAAAP//BMGxCcAwDATAJxoppSDwa6R/MoQHsEb0Aga1br7O3QUAkmZmjohYJL+qum2f7sbeG7ZPVT0k34hYmTkkTQD4AQAA//+CBSIzIyMjBxMTkwAjIyMvExOTQHh4+KynT5/qMjAwMEhLS19ZuXJlxv///7/9+/fv4////z/8////2////38CAAAA//8DAKB9gEicuASeAAAAAElFTkSuQmCC);
    
}
    
    
span.dev_tools_item i.elements{
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVR4nHTBsQEAEQAEwd2M2rxqURvZfSoxI5cx11aLCkASkpz+tcrDDwAA//9iQeb8//+fQ1hIkIGdnZ2BkZGR4devXwyvXr/hwKWZgYGBAQAAAP//YmRgYGDYuGnzd3Z2Ng5GRkaGb1+/MrCwQMz99+8fAycnF8Pf//8Zfv38ycDIyMjAzMz0xNvLSxZmAAAAAP//YmFgYGD49/cvh5KiIgMHBwcDMzMzA8wLjIyMDP/+/WP4/v07w+XLVxikpCQZXr56LYPsAgAAAAD//2KB2cTExMTw6tUrBkZGRjiGGcLPz8/w798/hocPHzKwsXMwbNi46T8zE9MTX18fWQAAAAD//2TMMRGAQAwAsCx1gYVe/St5xvroHWVgJALyBbugu38BVJVnV2aKCDPjnPuCFwAA//9kziEOADAMw0CX5TH9/+u6pGQaGTQ4ye8gCd394aoiCbYBmBkkcW4vAAAA//9kzjERADAIBMHVgBj8W3glOGDS0UTA7dwBMDPfPlSV3ZUEdPc1DwAA//9Mz7ENACEMBDAX9NkF2H+xS6TvXkxgeUES3f0XXh2qShL3bDAzkoAPAAD//1TLsQ0AIQwEMAt9ly3Yf7uIk0JF/e79QU7MjL23tdYvw71XTnQ3qCpJwAMAAP//bNAhAQBBCACw1aAJ/TU9KHCHQJ14+wUm9gFz7a7u/k2MCDNXVYHMdM8BDwAA//+CGgBxwYMHDzCcDwuDb9++MRgZGTIwMjIy/Pjxg+Hrt68MDAwMDAAAAAD//2zQoREAQAgDwSsilv5rwzOfSAT2G1ixB9gkoaq+iUl4Nt0NgCRmDlgAAAD//zzQsQ0AIAgAwSukYv9NRVoLiQt8PregJ7BnC98CIkJ3y0xQVU49gwsAAP//gofBp0+fGNjY2FCcDgMfP35k+PbtK8OevfugIv8Z/vz9/Y6BgYEBAAAA//9iYWBgYODm4n69a/duUQydSEBYSPh1X1+vGLo4AAAA//8DADK2+ZMUovJPAAAAAElFTkSuQmCC);
    
}
    
    
span.dev_tools_item i.database{
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaUlEQVR4nGJgoBAAAAAA//9iZGBgYNi0ect/Tk5Ohi9fvjD8/fOHoCZ+AQGGnz9/Mvh4ezECAAAA//90y0ERACAMA8F74CMD+BdEMVATmaCA/e8AsM1eE9tIIsk3dzdJOHUBeAAAAP//dMwBCQAwDMCwwg7zL7j9FTwCcgAqZoYKFfUbqOwutwB4AAAA//+CG/D/PwPDnz9/4BgX+P37NwMbGxvDv38QVwIAAAD//0Iy4B/Dr1+/GP7+/cvw8+dPvAYwMDAw/PsPcQEAAAD//4IbAJP88+cPAxMTE14v/P//H64HAAAA//9iYWBgYPj/7x/D////GX7//s1w9+5dnJphlggKCsLDAAAAAP//QvLCfwZeXl4GRkZGvAbAAMwLAAAAAP//QjHgz58/DM+ePWP49OkTTo2srKwMJiYmcC8AAAAA//9k0TEVADAIxNC4wA3+B+oCByw8rkMHxkrIz2fQ3bg7mQmAmSFdpCHiUFVs9l54AAAA//800NEJACAMxNCo6ATdf5nSobyC+qEuEMirP7DWNchMzAx3JyLofVBbY1OQJpIu4ls4AAAA//8s0rENwCAMRcFX0Fnef0VCQRqSL4OFUpAJrrkCMH/Z3YkIer/JTMyMejUk8UqM8bD3iZbrXPkAAAD//wTBsQ2AMAxFwSeDXKUJG3gMYIUwE2IuMlIoXPORuJsBllqvu/dz31YiAnentQMzo5SCJF6JyeCTyEzGeAD4AQAA//+CB/miRYsqLl261Pjr12+2f///Mfz9gz05M7MwMzAxMjH8+/+PYcrkyYwAAAAA//8iKsrwAQAAAAD//wMA9JsanVaBG6QAAAAASUVORK5CYII=);
    
}
    
    
span.dev_tools_item i.page{
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADWElEQVR4nGJgoBAAAAAA//9iRBfYt2+f+K9fv2f8+fvX7t+//0IwcSYmxncszMyH2NhYM5ycnF7CxAEAAAD//0IxYNfu3dnfv//skZWV4ZCTlWHg5OSEy33//p3h0eMnDI8fP/nBycle4ubqOpWBgYEBAAAA//+CG7Br167sHz9/TTE2MmJgY2NluHr1KsOLFy/gBkhISDBoa2sz/Pr1m+HsuXMMHOxsOW5ublMBAAAA//9ihDn7/YdPD0xMjDhYmJkZzp49y6Cjo8MgIyPD8OzZcwYpKUmGJ0+eMFy5coXB2NiY4c/fvwxnzpz7ISjApwAAAAD//wTBsRHAIAwEwZuPRAOMIvXyXVKbIts9AKl3BbDPXZkzRgTdjW2qCkk874ckqgrbdDcjgswZ+9z1AwAA//88xrERgDAQA8EbIjXAE6gX998BdifKRMZGewEkWc8MSbCNJNrSlnef/5KwTRLmHpKsDwAA//88z6kVwDAMRMH/1lzABWz/LcQ5ShIUsUCY6bARQO+ekshMbJ/3db9EBOv5jtmmqhhD9O75AwAA//8EwYENgCAQBLBycQp1/8XAJSA8thdUlbWWJJI454DeB9h76+PzPrck5pxaa6rKDwAA//9EzrENgDAQBDCLJvsvBKIBMU7K4/URJZ7AG/RqVSUJ/OUxzDm9if04XfcDkqgqvdoHAAD//2KBeOH3+7dv3wkyMzMxfPz4kYGXl5eBgYGBITIiFO7012/eMOzevY9BW0uD4efPnwxfvn5l+PP793sAAAAA//9UybEJQCEQRMGHwRagnQn+iu3iAq+Q5TATfjDRNABJ+2Rim4jANlX1M3rnW/N9nkTSvgAAAP//PM+xEcAgDATBGxeBKqTgL8JIJEo+IsKZt4N9ACLGXO86WRvbSKK7/8q9l+5GErbJ2mTWiRjzAwAA//+Cp8SVK1cVXLh4sV9NVZVBRESYgY2NDT2bMPz69YvhzZu3DLdu32Yw0NcvDA8PmwAAAAD//0LJC8uWLS86ffpMu7CwEJuEhAQDFxciL3z9+o3h2bNnDB8+fPxlampSGRUV2cfAwMAAAAAA///CyI27du2SuHTp0sKHDx9bfvnymRcmzsPD+1leXva4np5evJubGzyTAAAAAP//AwDOcl3oTZcIxgAAAABJRU5ErkJggg==);
    
}
    
    
span.dev_tools_item i.events{
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2UlEQVR4nGJkwAFWrlq14PHjJ/EMDAwMsrIyC8PDwhKwqQMAAAD//wTBsQ2AIBCG0Q8auAQHcAxXcDFZyoYRLHEMapv7c4nvJYAxxj7ne6ecj601qhlrLSQhOZKwariEu1NLeXq/zoj4fgAAAP//YmRgYGCoqam9KCIioqerq8PAy8vLwM7OzvD7zx+GP79/M/z6/Zvh969fUMN+M/z8+ZPh4qVLDFycXAcrKyscAAAAAP//BMGhAcAwCADBF0WyAj6mA2T/ZpVgYoGgevcAuPs7xmDvzTkHVaW7yUyqioggM7n3IiKYGetbE+AHAAD//yTOsQ2AMAxE0V/QEMmW2H+lZIMwA7R3LkzBm+AdAN39zLWujCAyGOf4uzJVRhK2sAtb7H0TmS/ABwAA//8EwSESgCAQQNG/ZIdAsEuQIHCRnYGkXkvNck9J+J4BaO11vX94v8AYxLhxHjvWTuScqLUgIoSwoqqIEZ77mgF+AAAA//880cEJwEAIRcGHJ2+iG7D/NuWz5pS0MGOf5t6lqpBEd+PuzAyZSUQgCTPjnIe9+y+8AAAA//+CG/DvP0KQi4sLzmZlZYWz//37x8DA8B9FLQAAAP//QnLBP1xJAhP8R6gFAAAA///C6gK8ev8zMPxF8gIAAAD//0K44D+xLviP4gIAAAAA//9CCURiACMjI8M/JLUAAAAA//9C8cJ/qDe+ffsGV/D792+EYiYmhv9I6hgYGBgAAAAA//9U0LEJAAAIBLErLf39p7QQFEGsHSF5id2NuxMR7C6SqCpmBkmYGZn5uAcAAP//ghvAxcX19vHjJwyKiooMzMzMDI8ePWJQVlZmYGRkZLhz5w6DoqIiw9evXxl2797DwMvH9wamDwAAAP//YmFgYGBiYWFRFRMTnXHs2LGs48ePCXJyckKd/4fhz5/fEPrvH4a/f/4wMDEzf1RXU1vByspq+vv377MAAAAA//8DAD9IFWBZHf/ZAAAAAElFTkSuQmCC);
    
}
    
    
    .
peep_prf_item{
        
font:13px Arial;
        
font-weightnormal;
        
padding:12px;
    }
    
    .
peep_prf_item h3{
        
fontbold 20px Arial;
        
color:#313131;
        
padding20px 0;
    }
    
    
table.peep_dev_tools{
        
width100%;
    }
    
    
table.peep_dev_tools tdtable.peep_dev_tools th{
        
padding8px 10px;
        
border1px solid #e1c9a6;
    
}
    
table.peep_dev_tools th{
        
background#ede7df;
    
}
    
    
div.peep_dev_tools_info{
        
font14px Arial;
        
font-styleitalic;
        
padding5px 0;
    }
    
    
div.peep_dtools_clb{
        
font-size14px;
        
colorblue;
        
padding-bottom6px;
    }
    
    .
peep_dev_tools_close_bg{
        
width:16px;
        
height:16px;
        
background-imageurl(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXRJREFUeNpiYKAQMIKIP6tX8zMyM29gYGJyIErXv38H/v/9G8ASGvqRBcT/+/37BkZGRgcSLHb4////BiDtCHbBt2nT/pPjfKArFMAu+PP5M4oEh5cXw9/Hjxl+X74M5rPq6jIwy8oy/Ni2DUUdX3n5Q4gXkAzgBGpm1dEB438/fkAM9PSEeB2o7juaIRgu+Hb4MAOrvj4DExcXA1dgICLcvn0Dy/1Fcy0TzAAY/nnzJsO7ri6Gf1+/IjQD2SAxkByyWrgL0E1lFxdnYOLmRtgCZDMDxX5eu4YRkBhe4HFzYxDMzITY/OULxAAeHrAYKEy+7NqFxQCoQrBrgH6FuepZbi6YLTV5MgMzLy9YDlktwgufPsEFPqxaxfDv+3eGn7dugf0MAk+SkxnY1dQYPm3ejD0pX1VSIishad+7xwgLgwOg5Emi/gNwL/z/8SPg358/Gxj+/yfOEEbGA0wsLAFwLyCDMwwM9gS0PzBhYHgI4wAEGAARZrBsHocP6gAAAABJRU5ErkJggg==);
    
}
    
#peep_dev_tools_bar, #peep_dev_tools_screen{
        
color#000 !important;
    
}
</
style>
<
script>
PEEPshowDevToolTab = function( id ){
    $(
'.peep_prf_item').hide();
    $(
'#'+id).show();
    $(
'#peep_dev_tools_screen').show();
}
PEEPhideDevToolScreen = function(){
    $(
'#peep_dev_tools_screen').hide();
}
PEEPremoveDevTools = function(){
    $(
'#peep_dev_tools_bar').remove();
    $(
'#peep_dev_tools_screen').remove();
}
PEEPcacheClear = function(){
    
}
</
script>
{/
literal}
<
div id="peep_dev_tools_bar" style="position: fixed;background-color: #f7f7f7;bottom: 0;left:0;margin:0;padding: 0;z-index: 6000000;width: 100%;border-top: 1px solid #bbb;font: 11px Verdana, Arial, sans-serif;text-align: left;color: #2f2f2f;">
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_info');">Peepmatches:</i>
    </
span>
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_profiler');" class="page">Page:</i> <b>{$profiler.total|string_format:'%.3f'}</b>| <b> {$memoryUsage}</b>MB
    
</span>
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_request');" class="request">Request:</i> <b>{$requestHandler.controller}</b>::<b>{$requestHandler.action}</b>
    </
span>
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_elements');" class="elements">Components:</i> <b>{$renderedItems.count}</b>
    </
span>
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_events');" class="events">Events:</i> <b>{$events.callsCount}</b>
    </
span>
    <
span class="dev_tools_item">
        <
i onclick="PEEPshowDevToolTab('peep_dev_tools_database');" class="database">Database:</i> <b>{$database.qc}</b>qrs | <b> {$database.qet|string_format:'%.3f'}</b>s
    
</span>
    <
span class="peep_dev_tools_close_bg" style="display:block; position:absolute; top:7px; right:10px; cursor: pointer;font-size: 14px;color: red;" onclick="PEEPremoveDevTools()"></span>
    {if !empty(
$clrBtnUrl)}<span style="display:block; position:absolute; top:10px; right:40px; cursor: pointer;font-size: 10px;color: green;" onclick="if(confirm('Are you sure you want to clear smarty and themes cache?')) window.location = '{$clrBtnUrl}';"><b>CLEAR CACHE</b></span>{/if}
</
div>

<
div id="peep_dev_tools_screen" style="position:fixed; width:80%;left:10%;height:80%;top:8%;background:#fff;z-index:1000000;border:5px solid #aaa;display:none;">
    <
div style="padding-right:10px;padding-top:2px;">
    <
div style="padding:7px;float:left;font-size:18px;font-family: Arial;">Developer tools</div>
    <
a href="javascript://" style="float:right;margin-top:7px;" onclick="OWhideDevToolScreen();" class="peep_dev_tools_close_bg"></a>
    <
div style="clear:both"></div>
    </
div>
    
    <
div style="height: 95%; width: 100%;overflow: scroll;">
    
    <
div id="peep_dev_tools_profiler" class="peep_prf_item" style="display: none;">
        <
div class="peep_dev_tools_info">Total page generation time: <b>{$profiler.total}</bseconds</div>
        <
div class="peep_dev_tools_info">Memory usage: <b>{$memoryUsage}</bMB</div>
        
        <
h3>Profiler marks</h3>
        
        <
table class="peep_dev_tools">
            <
tr>
                <
th style="width: 30%;">Mark name</th>
                <
th style="width: 50%;">Description</th>
                <
th style="width: 20%;">Time</th>
            </
tr>
            <
tr>
                <
td>Page start</td>
                <
td>Script start.</td>
                <
td><b>{$profiler.marks.start}</b></td>
            </
tr>
            <
tr>
                <
td>Before application init</td>
                <
td>Registering system data (includes system constants defineadding of standard package pointersregistering base classesetc).</td>
                <
td><b>{$profiler.marks.before_app_init}</b></td>
            </
tr>
            <
tr>
                <
td>After application init</td>
                <
td>Application initialization (includes setting application defaultsbase managers initactive plugins initcreating default documentregistering all static documentsetc). </td>
                <
td><b>{$profiler.marks.after_app_init}</b></td>
            </
tr>
            <
tr>
                <
td>After routing</td>
                <
td>Routing process (searching controller+action which should handle the request).</td>
                <
td><b>{$profiler.marks.after_route}</b></td>
            </
tr>
            <
tr>
                <
td>After controller action call</td>
                <
td>Calling controller action (plugin custom logic).</td>
                <
td><b>{$profiler.marks.after_controller_call}</b></td>
            </
tr>
            <
tr>
                <
td>After finalize</td>
                <
td>Getting final markup from all renderable objectsCompiling document body.</td>
                <
td><b>{$profiler.marks.after_finalize}</b></td>
            </
tr>
            <
tr>
                <
td>Page end</td>
                <
td>Processing all headers and sending rendered document.</td>
                <
td><b>{$profiler.marks.end}</b></td>
            </
tr>
        </
table>
    </
div>
    <
div id="peep_dev_tools_database" class="peep_prf_item" style="display: none">
        <
div class="peep_dev_tools_info">Total queries count: <b>{$database.qc}</b> </div>
        <
div class="peep_dev_tools_info">Total execution time: <b>{$database.qet|string_format:'%.3f'}</bseconds</div>
        <
h3>Query log</h3>
        <
table class="peep_dev_tools">
            <
tr>
                <
th style="width: 70%;">Query</th>
                <
th style="width: 20%;">Params</th>
                <
th style="width: 10%;">Time</th>
            </
tr>
            {foreach 
from=$database.ql item='query'}
            <
tr>
                <
td>{$query.query}</td>
                <
td>{$query.params}</td>
                <
td><b>{$query.execTime|string_format:'%.6f'}</b></td>
            </
tr>
            {/foreach}
        </
table>
    </
div>
    <
div id="peep_dev_tools_request" class="peep_prf_item" style="display:none;">
        <
div class="peep_dev_tools_info">Controller: <b>{$requestHandler.controller} :: {$requestHandler.action}</b></div>
        <
div class="peep_dev_tools_info">Params: <b>{$requestHandler.paramsExp}</b></div>

        
    </
div>
    <
div id="peep_dev_tools_elements" class="peep_prf_item" style="display:none">
        <
div class="peep_dev_tools_info">Components count: <b>{$renderedItems.count}</b> </div>
       <
h3>Rendered elements</h3>
        <
table class="peep_dev_tools">
            <
tr>
                <
th style="width: 15%;">Type</th>
                <
th style="width: 15%;">Class</th>
                <
th style="width: 70%;">Path (class, template)</th>
            </
tr>
            {if !empty(
$renderedItems.items.mp)}
            <
tr>
                <
td>Master Page</td>
                <
td>{$renderedItems.items.mp.class}</td>
                <
td>{$renderedItems.items.mp.src}<br />{$renderedItems.items.mp.tpl}</td>
            </
tr>
            {/if}
            {if !empty(
$renderedItems.items.ctrl)}
            <
tr>
                <
td>Controller</td>
                <
td>{$renderedItems.items.ctrl.class}</td>
                <
td>{$renderedItems.items.ctrl.src}<br />{$renderedItems.items.ctrl.tpl}</td>
            </
tr>
            {/if}
            {foreach 
from=$renderedItems.items.cmp item='cmp'}
            <
tr>
                <
td>Component</td>
                <
td>{$cmp.class}</td>
                <
td>{$cmp.src}<br />{$cmp.tpl}</td>
            </
tr>
            {/foreach}
        </
table>
        
    </
div>
    <
div id="peep_dev_tools_info" class="peep_prf_item" style="display:none">
        <
div class="peep_dev_tools_info">Soft version: <b>peepmatches light</b></div>
        <
div class="peep_dev_tools_info">Soft build: <b>1.0.0</b></div>
    </
div>
    <
div id="peep_dev_tools_events" class="peep_prf_item" style="display:none">
        <
div class="peep_dev_tools_info">Binded events: <b>{$events.bindsCount}</b></div>
        <
div class="peep_dev_tools_info">Called events: <b>{$events.callsCount}</b></div>
        <
h3>Called events</h3>
        <
table class="peep_dev_tools">
            <
tr>
                <
th style="width: 30%;">Event</th>
                <
th style="width: 50%;">Listener</th>
                <
th style="width: 20%;">Params</th>
            </
tr>
            {foreach 
from=$events.call item='event'}
            <
tr>
                <
td>
                    <
b>{$event.name}</b><br /><br />
                    
Type: <span style="color:red;">{$event.type}</span><br />
                    
Called at: <span style="color:red;">{$event.start}</span><br />
                    
Exec time: <span style="color:red;">{$event.exec}</span>
                </
td>
                <
td>
                    {foreach 
from=$event.listeners item='listener'}
                    <
div class="peep_dtools_clb">{$listener}()</div>
                    {
foreachelse}
                    
No listeners
                    
{/foreach}
                </
td>
                <
td>
                    {
$event.params}
                </
td>
            </
tr>
            {/foreach}
        </
table>
        <
h3>Binded events</h3>
        <
table class="peep_dev_tools">
            <
tr>
                <
th style="width: 40%;">Event</th>
                <
th style="width: 60%;">Listener</th>
            </
tr>
            {foreach 
from=$events.bind item='event'}
            <
tr>
                <
td><b>{$event.name}</b></td>
                <
td>
                    {foreach 
from=$event.listeners item='listener'}
                    <
div class="peep_dtools_clb">{$listener}()</div>
                    {/foreach}
                </
td>
            </
tr>
            {/foreach}
        </
table>
    </
div>    
    </
div>
</
div>
?>
Онлайн: 2
Реклама