1 | <?php |
---|
2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
3 | |
---|
4 | class 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 | ?> |
---|