<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>LoggerDatePatternConverter.php</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="container.css">
    <script type="text/javascript" src="yahoo-dom-event.js"></script>
    <script type="text/javascript" src="container-min.js"></script>
  </head>

  <body class="yui-skin-sam">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="title">LoggerDatePatternConverter.php</td></tr>
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>

      <tr>
        <td width="100%">
          <table cellpadding="1" border="0" width="100%">
            <tr>
              <td class="headerItem" width="20%">Current file:</td>
              <td class="headerValue" width="80%"><a href="index.html">/home/ihabunek/apache/log4php/src/main/php</a>/<a href="helpers.html">helpers</a>/<a href="helpers_LoggerDatePatternConverter.php.html">LoggerDatePatternConverter.php</a></td>
            </tr>
            <tr>
              <td class="legendItem" width="20%">Legend:</td>
              <td class="legendValue" width="80%">
                <span class="legendCov">executed</span>
                <span class="legendNoCov">not executed</span>
                <span class="legendDeadCode">dead code</span>
              </td>
            </tr>
          </table>
        </td>
      </tr>

      <tr>
        <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
      </tr>
    </table>

    <br />

    <center>
      <table width="90%" cellpadding="2" cellspacing="1" border="0">
        <tr>
          <td class="tableHead" width="30%">&nbsp;</td>
          <td class="tableHead" colspan="10">Coverage</td>
        </tr>
        <tr>
          <td class="tableHead">&nbsp;</td>
          <td class="tableHead" colspan="3">Classes</td>
          <td class="tableHead" colspan="4">Functions / Methods</td>
          <td class="tableHead" colspan="3">Lines</td>
        </tr>
        <tr>
          <td class="coverDirectory">Total</td>
          <td class="coverBar">
             <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
             </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">2 / 2</td>
          <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">7 / 7</td>
        </tr>

        <tr>
          <td class="coverDirectory">LoggerDatePatternConverter</td>
          <td class="coverBar">
             <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
             </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">2 / 2</td>
          <td class="crap">2</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">7 / 7</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#38">__construct($formattingInfo, $df)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">1</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">3 / 3</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#47">convert($event)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">1</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">4 / 4</td>
        </tr>


      </table>
    </center>

    <br />

    <table cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td><br /></td>
      </tr>
      <tr>
        <td>
<pre class="source">
<span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1">       1</a> </span>                : &lt;?php                                                                                                 
<span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2">       2</a> </span>                : /**                                                                                                   
<span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3">       3</a> </span>                :  * Licensed to the Apache Software Foundation (ASF) under one or more                                 
<span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4">       4</a> </span>                :  * contributor license agreements. See the NOTICE file distributed with                               
<span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5">       5</a> </span>                :  * this work for additional information regarding copyright ownership.                                
<span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6">       6</a> </span>                :  * The ASF licenses this file to You under the Apache License, Version 2.0                            
<span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7">       7</a> </span>                :  * (the &quot;License&quot;); you may not use this file except in compliance with                               
<span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8">       8</a> </span>                :  * the License. You may obtain a copy of the License at                                               
<span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9">       9</a> </span>                :  *                                                                                                    
<span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10">      10</a> </span>                :  *       http://www.apache.org/licenses/LICENSE-2.0                                                   
<span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11">      11</a> </span>                :  *                                                                                                    
<span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12">      12</a> </span>                :  * Unless required by applicable law or agreed to in writing, software                                
<span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13">      13</a> </span>                :  * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,                                  
<span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14">      14</a> </span>                :  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                           
<span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15">      15</a> </span>                :  * See the License for the specific language governing permissions and                                
<span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16">      16</a> </span>                :  * limitations under the License.                                                                     
<span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17">      17</a> </span>                :  *                                                                                                    
<span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18">      18</a> </span>                :  * @package log4php                                                                                   
<span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19">      19</a> </span>                :  */                                                                                                   
<span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20">      20</a> </span>                :                                                                                                       
<span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21">      21</a> </span>                : /**                                                                                                   
<span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22">      22</a> </span>                :  * @package log4php                                                                                   
<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23">      23</a> </span>                :  * @subpackage helpers                                                                                
<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24">      24</a> </span>                :  */                                                                                                   
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span>                : class LoggerDatePatternConverter extends LoggerPatternConverter {                                     
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span>                :                                                                                                       
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span>                :     /**                                                                                               
<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28">      28</a> </span>                :      * @var string                                                                                    
<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29">      29</a> </span>                :      */                                                                                               
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span>                :     private $df;                                                                                      
<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31">      31</a> </span>                :                                                                                                       
<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32">      32</a> </span>                :     /**                                                                                               
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :      * Constructor                                                                                    
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span>                :      *                                                                                                
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span>                :      * @param string $formattingInfo                                                                  
<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36">      36</a> </span>                :      * @param string $df                                                                              
<span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37">      37</a> </span>                :      */                                                                                               
<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38">      38</a> </span>                :     public function __construct($formattingInfo, $df) {                                               
<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39">      39</a> </span><span class="lineCov">              9 :         parent::__construct($formattingInfo);                                                         </span>
<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40">      40</a> </span><span class="lineCov">              9 :         $this-&gt;df = $df;                                                                              </span>
<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41">      41</a> </span><span class="lineCov">              9 :     }                                                                                                 </span>
<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42">      42</a> </span>                :                                                                                                       
<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43">      43</a> </span>                :     /**                                                                                               
<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44">      44</a> </span>                :      * @param LoggerLoggingEvent $event                                                               
<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45">      45</a> </span>                :      * @return string                                                                                 
<span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46">      46</a> </span>                :      */                                                                                               
<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47">      47</a> </span>                :     public function convert($event) {                                                                 
<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48">      48</a> </span><span class="lineCov">              9 :         $timeStamp = $event-&gt;getTimeStamp();                                                          </span>
<span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49">      49</a> </span><span class="lineCov">              9 :         $usecs = round(($timeStamp - (int)$timeStamp) * 1000);                                        </span>
<span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50">      50</a> </span><span class="lineCov">              9 :         $df = preg_replace('/((?&lt;!\\\\)(?:\\\\{2})*)u/', '${1}' . sprintf('%03d', $usecs), $this-&gt;df);</span>
<span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51">      51</a> </span><span class="lineCov">              9 :         return date($df, $timeStamp);                                                                 </span>
<span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52">      52</a> </span>                :     }                                                                                                 
<span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53">      53</a> </span>                : }                                                                                                     

</pre>
        </td>
      </tr>
    </table>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
      <tr><td class="versionInfo">Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.1.1</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.3-7+squeeze3</a> and PHPUnit 3.6.3 at Sat Feb 18 22:32:39 GMT 2012.</td></tr>
    </table>

    <br />

    <script type="text/javascript">
      //<![CDATA[
      $E = YAHOO.util.Event;
      YAHOO.namespace("phpunit.container");
      YAHOO.phpunit.container.panelsData = {
        "panel39": {
          "header": "9 tests cover line 39",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel40": {
          "header": "9 tests cover line 40",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel41": {
          "header": "9 tests cover line 41",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel48": {
          "header": "9 tests cover line 48",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel49": {
          "header": "9 tests cover line 49",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel50": {
          "header": "9 tests cover line 50",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
        "panel51": {
          "header": "9 tests cover line 51",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li></ul>",
          "footer": ""
        },
      "dummy": ""
      };

      YAHOO.phpunit.container.prepare = function (e) {
        var elemId = $E.getTarget(e).id;
        var line = elemId.substr(4);
        var panelId = "panel" + line;
        var containerId = "container" + line;

        var panelData = YAHOO.phpunit.container.panelsData[panelId];

        var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
        panel.setHeader(panelData["header"]);
        panel.setBody(panelData["body"]);
        panel.setFooter(panelData["footer"]);
        panel.render(containerId);

        $E.addListener(elemId, "click", panel.show, panel, true);
        $E.removeListener(elemId, "mouseover");
      };

      function init() {
        var ypc = YAHOO.phpunit.container;
        for (var panelId in ypc.panelsData) {
          var elemId = "line" + panelId.substr(5);
          $E.addListener(elemId, "mouseover", ypc.prepare);
        }
      }

      $E.addListener(window, "load", init);
      //]]>
    </script>
  </body>
</html>
