示例#1
0
 /**
  * Display a error message to user
  *
  * @param array $backTraces Back traces information
  * @param array $banner Banner setting
  *
  * @return string The rendered result according back traces info and banner setting
  */
 protected static function renderErrorDetailBanners(array $backTraces, array $banner)
 {
     if (empty($backTraces)) {
         return '';
     }
     $tracesLoop = 0;
     $detail = $banner['Start'];
     foreach ($backTraces as $key => $val) {
         $tracesLoop++;
         $tempFilePath = PathParser::replacePathPrefixes(array(Framework::ROOT, Framework::PATH), array('[FACULA]', '[PROJECT]'), $val['file']);
         $assigns = array('%Error:Banner:No%' => $tracesLoop, '%Error:Banner:Caller%' => $val['caller'], '%Error:Banner:File%' => $tempFilePath, '%Error:Banner:Line%' => $val['line'], '%Error:Banner:Plate:Author%' => $val['nameplate']['author'], '%Error:Banner:Plate:Reviser%' => $val['nameplate']['reviser'], '%Error:Banner:Plate:Contact%' => $val['nameplate']['contact'], '%Error:Banner:Plate:Updated%' => $val['nameplate']['updated'], '%Error:Banner:Plate:Version%' => $val['nameplate']['version'], '%Error:Banner:Caller:Html%' => htmlspecialchars($val['caller'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:File:Html%' => htmlspecialchars($tempFilePath, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Line:Html%' => htmlspecialchars($val['line'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Plate:Author:Html%' => htmlspecialchars($val['nameplate']['author'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Plate:Reviser:Html%' => htmlspecialchars($val['nameplate']['reviser'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Plate:Contact:Html%' => htmlspecialchars($val['nameplate']['contact'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Plate:Updated:Html%' => htmlspecialchars($val['nameplate']['updated'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), '%Error:Banner:Plate:Version:Html%' => htmlspecialchars($val['nameplate']['version'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'));
         $detail .= str_replace(array_keys($assigns), array_values($assigns), $banner['Code']);
     }
     $detail .= $banner['End'];
     return $detail;
 }