Exemplo n.º 1
0
 private function templateError()
 {
     $module = $this->module;
     $module instanceof Module_GWF;
     $codes = $module->lang('ERR_HTTP');
     # Get the error page
     $code = Common::getGetString('code', '0');
     if (false === isset($codes[$code])) {
         return GWF_HTML::err('ERR_NO_PERMISSION');
     }
     @header($_SERVER['SERVER_PROTOCOL'] . ' ' . $code . ' ' . $codes[$code]);
     # Generate template
     $tVars = array('code' => $code, 'file' => GWF_HTML::error(GWF_SITENAME, $module->getLang()->langA('ERR_HTTP', $code, array(htmlspecialchars($_SERVER['REQUEST_URI']))), false));
     $template = $module->template($this->_tpl, $tVars);
     # Is the request blacklisted?
     foreach (preg_split('/[,;]/', $module->cfgBlacklist()) as $pattern) {
         if (false !== strpos($_SERVER['REQUEST_URI'], $pattern)) {
             # Do not log and email the request
             return $template;
         }
     }
     $message = self::getMessage($code);
     # Mail it?
     if (1 === preg_match("/(?:^|[,;]){$code}(?:\$|[,;])/", $module->cfgMail())) {
         self::errorMail($code, $message);
     }
     # Log it?
     if (1 === preg_match("/(?:^|[,;]){$code}(?:\$|[,;])/", $module->cfgLog())) {
         GWF_Log::logHTTP($message);
     }
     return $template;
 }