Example #1
0
 public function displayError()
 {
     if (!ini_get('display_errors')) {
         return;
     }
     $messages = explode("\n", $this->message);
     $messages = array_map('trim', $messages);
     $messages = array_filter($messages, 'strlen');
     $messages = array_values($messages);
     $param = array("code" => $this->code, "messages" => $messages, "file" => $this->file, "line" => $this->line, "trace" => debug_backtrace());
     $template = new Template();
     // set template
     $template->assign_vars($param);
     // load template
     if (!self::$template_filename) {
         self::$template_filename = dirname(__FILE__) . '/../../component/view/Exception.tpl';
     }
     if ($template->load(self::$template_filename)) {
         $html = $template->get_display_template(true);
     } else {
         throw new PMPException('Sysmtem Error ' . __CLASS__ . ' ' . __LINE__);
     }
     print $html;
     exit;
 }
Example #2
0
    /**
     * @param $html
     */
    public function appendRendarDebug(&$html)
    {
        $tmp = <<<'EOM'
{strip}
<style type="text/css">
    .pmp_debug{
        padding:60px 0 0 ;
    }
    .pmp_debug_area{
        font-size:12px;
        line-height:140%;
        position: fixed;
        left: 0;
        bottom:0;
        width: 100%;
        padding:0 0 0 60px;
        color:#fff;
        background: #555;
        border-top: solid 1px #333;
        z-index:10000;
    }
    .pmp_debug_menu{
        float: left;
        white-space: nowrap;
        border-right:solid 1px #888;
        position: relative;
    }
    .pmp_debug_menu .pmp_menu{
        padding: 12px 20px;
        display: block;
        cursor:pointer;
    }
    .pmp_debug_menu .pmp_menu_value{
        position: absolute;
        display: none;
        left: 0;
        bottom: 42px;
        background: #FFF;
        border:solid 1px #666;
        padding:20px;
        margin:0;
        z-index:10;
        list-style: none;
        min-width:500px;
        max-height:400px;
        overflow:auto;
        color:#333;
    }
    .pmp_debug_menu .pmp_menu_value li{
        padding:3px 0px;
        margin:0;
        border-top:solid 1px #CCC;
        list-style: none;
    }
    .pmp_debug_menu .pmp_menu_value li:first-child{
        border-top:none;
    }
    .pmp_debug_menu:hover .pmp_menu_value{
        display: block;
    }
</style>
<div class="pmp_debug">
<div class="pmp_debug_area">
    <div class="pmp_debug_menu">
        <div class="pmp_menu">Server</div>
        <ul class="pmp_menu_value">
        {foreach $SERVER as $key => $val}
        <li>{$key} : {if(is_array($val))}{dump($val)}{else}{$val}{/if}</li>
        {/foreach}
        </ul>
    </div>
    <div class="pmp_debug_menu">
        <div class="pmp_menu">Request</div>
        <ul class="pmp_menu_value">
        {foreach $REQUEST as $key => $val}
        <li>{$key} : {if(is_array($val))}{dump($val)}{else}{$val}{/if}</li>
        {/foreach}
        </ul>
    </div>
    <div class="pmp_debug_menu">
        <div class="pmp_menu">Get</div>
        <ul class="pmp_menu_value">
        {foreach $GET as $key => $val}
        <li>{$key} : {if(is_array($val))}{dump($val)}{else}{$val}{/if}</li>
        {/foreach}
        </ul>
    </div>
    <div class="pmp_debug_menu">
        <div class="pmp_menu">Session</div>
        <div class="pmp_menu_value">
        <pre>{dump($SESSION)}</pre>
        </div>
    </div>
</div>
</div>
{/strip}
EOM;
        $tp = new Template();
        // template value
        $tp->assign("SERVER", Request::getServer()->getVars());
        $tp->assign("REQUEST", Request::getRequest()->getVars());
        $tp->assign("GET", Request::getQuery()->getVars());
        $tp->assign("SESSION", $_SESSION);
        // template set
        $tp->setTemplateStr($tmp);
        $html = preg_replace("/(<\\/body>)/", $tp->get_display_template(true) . "\$1", $html);
    }