class-um-account-tabs.php
1.97 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
/**
* Inits the extension.
*
* @package um_ext\um_account_tabs\core
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class UM_Account_Tabs
*/
class UM_Account_Tabs {
/**
* An instance of the class.
*
* @var UM_Account_Tabs
*/
private static $instance;
/**
* Creates an instance of the class.
*
* @return UM_Account_Tabs
*/
public static function instance() {
if ( is_null( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* UM_Account_Tabs constructor.
*/
public function __construct() {
add_filter( 'um_call_object_Account_Tabs', array( &$this, 'get_this' ) );
$this->common();
if ( UM()->is_request( 'admin' ) ) {
$this->admin();
}
if ( UM()->is_request( 'frontend' ) ) {
$this->account();
}
}
/**
* @return $this UM_Account_Tabs
*/
public function get_this() {
return $this;
}
/**
* @return um_ext\um_account_tabs\core\Account()
*/
public function account() {
if ( empty( UM()->classes['um_account_tabs_account'] ) ) {
UM()->classes['um_account_tabs_account'] = new um_ext\um_account_tabs\core\Account();
}
return UM()->classes['um_account_tabs_account'];
}
/**
* @return um_ext\um_account_tabs\admin\Admin()
*/
public function admin() {
if ( empty( UM()->classes['um_account_tabs_admin'] ) ) {
UM()->classes['um_account_tabs_admin'] = new um_ext\um_account_tabs\admin\Admin();
}
return UM()->classes['um_account_tabs_admin'];
}
/**
* @return um_ext\um_account_tabs\core\Common()
*/
public function common() {
if ( empty( UM()->classes['um_account_tabs_common'] ) ) {
UM()->classes['um_account_tabs_common'] = new um_ext\um_account_tabs\core\Common();
}
return UM()->classes['um_account_tabs_common'];
}
}
/**
* Adds the class to the UM core.
*/
function um_init_um_account_tabs() {
if ( function_exists( 'UM' ) ) {
UM()->set_class( 'Account_Tabs', true );
}
}
add_action( 'plugins_loaded', 'um_init_um_account_tabs', -10, 1 );