class-mixpanel.php
894 Bytes
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
<?php
namespace Smush\Core\Integrations;
use Smush\Core\Helper;
/**
* @method identify( int $user_id )
* @method register( string $property, mixed $value )
* @method registerAll( array $properties )
* @method track( string $event, array $properties = array() )
*/
class Mixpanel {
private $mixpanel;
public function __construct( $project_token ) {
$this->mixpanel = class_exists( '\Mixpanel' ) && method_exists( '\Mixpanel', 'getInstance' )
? \Mixpanel::getInstance( $project_token, array(
'error_callback' => array( $this, 'handle_error' ),
) )
: null;
}
public function handle_error( $code, $data ) {
Helper::logger()->error( "$code: $data" );
}
public function __call( $name, $arguments ) {
if ( method_exists( $this->mixpanel, $name ) ) {
return call_user_func_array(
array( $this->mixpanel, $name ),
$arguments
);
}
return null;
}
}