Give_Admin   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 132
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 132
rs 10
c 0
b 0
f 0
wmc 9
lcom 1
cbo 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A setup() 0 4 1
A admin_loading() 0 54 1
A conditional_loading() 0 5 2
A is_generate_pdf() 0 3 2
A get_instance() 0 8 2
1
<?php
2
/**
3
 * This class will handle file loading for the wp-admin interface.
4
 *
5
 * @package     Give
6
 * @subpackage  Admin
7
 * @copyright   Copyright (c) 2018, GiveWP
8
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
9
 * @since       2.4.0
10
 */
11
12
/**
13
 * Class Give_Admin
14
 */
15
class Give_Admin {
0 ignored issues
show
Coding Style introduced by
Since you have declared the constructor as private, maybe you should also declare the class as final.
Loading history...
16
	/**
17
	 * Instance.
18
	 *
19
	 * @since  2.4.0
20
	 * @access private
21
	 * @var
22
	 */
23
	static private $instance;
24
25
	/**
26
	 * Singleton pattern.
27
	 *
28
	 * @since  2.4.0
29
	 * @access private
30
	 */
31
	private function __construct() {
32
	}
33
34
35
	/**
36
	 * Get instance.
37
	 *
38
	 * @since  2.4.0
39
	 * @access public
40
	 * @return Give_Admin
41
	 */
42
	public static function get_instance() {
43
		if ( null === static::$instance ) {
44
			self::$instance = new static();
45
			self::$instance->setup();
46
		}
47
48
		return self::$instance;
49
	}
50
51
	/**
52
	 * Setup Admin
53
	 *
54
	 * @sinve  2.4.0
55
	 * @access private
56
	 */
57
	private function setup() {
58
		$this->admin_loading();
59
		$this->conditional_loading();
60
	}
61
62
	/**
63
	 *  Load core file
64
	 *
65
	 * @since  2.4.0
66
	 * @access private
67
	 */
68
	private function admin_loading() {
69
		require_once GIVE_PLUGIN_DIR . 'includes/admin/setting-page-functions.php';
70
		require_once GIVE_PLUGIN_DIR . 'includes/admin/import-functions.php';
71
		require_once GIVE_PLUGIN_DIR . 'includes/admin/give-metabox-functions.php'; // @todo: [refactor] can be loaded only on the form edit screen. review possibilities
72
73
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-footer.php';
74
		require_once GIVE_PLUGIN_DIR . 'includes/admin/welcome.php';
75
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-pages.php';
76
		require_once GIVE_PLUGIN_DIR . 'includes/admin/class-i18n-module.php';
77
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-actions.php';
78
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-filters.php';
79
		require_once GIVE_PLUGIN_DIR . 'includes/admin/add-ons.php';
80
		require_once GIVE_PLUGIN_DIR . 'includes/admin/plugins.php';
81
		require_once GIVE_PLUGIN_DIR . 'includes/admin/dashboard-widgets.php';
82
		require_once GIVE_PLUGIN_DIR . 'includes/admin/class-blank-slate.php';
83
84
		require_once GIVE_PLUGIN_DIR . 'includes/admin/payments/actions.php';
85
		require_once GIVE_PLUGIN_DIR . 'includes/admin/payments/payments-history.php';
86
87
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donors.php';
88
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donor-functions.php';
89
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donor-actions.php';
90
91
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/metabox.php';
92
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/class-give-form-duplicator.php';
93
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/class-metabox-form-data.php';
94
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/dashboard-columns.php';
95
96
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/export-functions.php';
97
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/class-export.php';
98
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/export-actions.php';
99
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/give-export-donations-functions.php';
100
101
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/reports.php';
102
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/class-give-graph.php';
103
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/graphing.php';
104
105
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/logs/logs.php';
106
107
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/data/tools-actions.php';
108
109
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/abstract-shortcode-generator.php';
110
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/class-shortcode-button.php';
111
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-form.php';
112
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-goal.php';
113
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-login.php';
114
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-register.php';
115
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-profile-editor.php';
116
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donation-grid.php';
117
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donation-history.php';
118
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-receipt.php';
119
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-totals.php';
120
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donor-wall.php';
121
	}
122
123
	/**
124
	 *  Load file conditionally
125
	 *
126
	 * @since  2.4.0
127
	 * @access private
128
	 */
129
	private function conditional_loading() {
130
		if ( $this->is_generate_pdf() ) {
131
			require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/pdf-reports.php';
132
		}
133
	}
134
135
	/**
136
	 * Check if performing action 'generate_pdf'
137
	 *
138
	 * @since  2.4.0
139
	 * @access private
140
	 *
141
	 * @return bool
142
	 */
143
	private function is_generate_pdf() {
144
		return isset( $_GET['give-action'] ) && 'generate_pdf' === give_clean( $_GET['give-action'] );
0 ignored issues
show
introduced by
Detected access of super global var $_GET, probably need manual inspection.
Loading history...
introduced by
Detected usage of a non-sanitized input variable: $_GET
Loading history...
145
	}
146
}
147
148
Give_Admin::get_instance();
149