-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMMWPConsole.php
More file actions
63 lines (53 loc) · 1.3 KB
/
MMWPConsole.php
File metadata and controls
63 lines (53 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/*
Plugin Name: Modern Media WordPress Console
Plugin URI: http://modernmedia.co
Description:
Author: Chris Carson
Version: 1.0
Author URI: http://modernmedia.co
*/
MMWPConsole::inst();
class MMWPConsole {
/**
* @var MMWPConsole
*/
private static $instance = null;
/**
* Singleton pattern
*
* @return MMWPConsole
*/
public static function inst(){
if (! self::$instance instanceof MMWPConsole){
self::$instance = new MMWPConsole();
}
return self::$instance;
}
private $log = array();
private function __construct(){
$this->log = array();
add_action('wp_footer', array($this, '_action_wp_footer'), 100);
}
public function _action_wp_footer(){
echo PHP_EOL .'<script type="text/javascript">' . PHP_EOL;
printf(
'if(typeof(console) === \'undefined\') {
var console = {}
console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function() {};
}
console.log(%s);',
json_encode($this->log)
);
echo PHP_EOL .'</script>' . PHP_EOL;
}
public function add($label, $data){
$this->log[] = array(
'label' => $label,
'data' => $data
);
}
public function get_log(){
return $this->log;
}
}