source: extensions/ContactForm/classes/cf_log.class.php @ 6547

Last change on this file since 6547 was 6547, checked in by Gotcha, 14 years ago

v1.0.9

File size: 2.4 KB
Line 
1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4class CF_Log {
5  const infos = 'infos';
6  const errors = 'errors';
7  const debug = 'debug';
8  static $messages=array( CF_Log::infos   => array(),
9                          CF_Log::errors  => array(),
10                          CF_Log::debug   => array());
11 
12  static function show_debug() {
13    if (!defined('CF_DEBUG_ACTIVE') or !CF_DEBUG_ACTIVE) {
14      return;
15    }
16   
17    global $template;
18    $template->assign('contact_form_debug', CF_Log::$messages['debug']);
19    $template->set_filenames(array(
20        'contact_form_debug' => realpath(cf_get_template('cf_debug.tpl')),
21      ));
22    $debug_text = $template->parse('contact_form_debug', true);
23    $template->assign('CF_DEBUG', $debug_text);
24    return $debug_text;
25  }
26
27  static function add_debug($variable, $label=null, $append=true) {
28    $value = print_r($variable, true);
29    if (null == $label) {
30      $label = 'CF_Debug';
31    }
32    if (array_key_exists($label, CF_Log::$messages['debug']) && $append) {
33      array_push(CF_Log::$messages['debug'], $value);
34    } else {
35      CF_Log::$messages['debug'][$label] = array($value);
36    }
37  }
38
39  static function reset_messages() {
40    CF_Log::$messages = array(CF_Log::infos  => array(),
41                              CF_Log::errors => array(),
42                              CF_Log::debug  => array());
43  }
44  static function add_error($error) {
45    CF_Log::add_message($error, CF_Log::errors);
46  }
47  static function add_message($message, $type=CF_Log::infos) {
48    switch($type) {
49      case CF_Log::infos:
50      case CF_Log::errors:
51        $prefix = '<span class="cf-log-' . $type . '">';
52        $suffix = '</span>';
53        array_push(CF_Log::$messages[$type], $prefix . $message . $suffix);
54        break;
55      case CF_Log::debug:
56        CF_Log::add_debug($message);
57        break;
58      default:
59        return;
60    }
61  }
62
63  static function show_messages() {
64    global $page;
65    if (count(CF_Log::$messages[CF_Log::infos]) > 0) {
66      $page['infos'] = array_merge($page['infos'],
67                                   CF_Log::$messages[CF_Log::infos]);
68    }
69    if (count(CF_Log::$messages[CF_Log::errors]) > 0) {
70      $page['errors'] = array_merge($page['errors'],
71                                    CF_Log::$messages[CF_Log::errors]);
72    }
73    CF_Log::show_debug();
74    CF_Log::reset_messages();
75  }
76   
77    //<span class="cf-log-saved">
78}
79?>
Note: See TracBrowser for help on using the repository browser.