Test Setup Failed
Push — issue/3871 ( 31b6b8 )
by Ravinder
07:30
created

Give_Admin::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * This class will handle file loading for admin.
4
 *
5
 * @package     Give
6
 * @subpackage  Admin
7
 * @copyright   Copyright (c) 2018, WordImpress
8
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
9
 * @since       2.4.0
10
 */
11
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...
12
	/**
13
	 * Instance.
14
	 *
15
	 * @since  2.4.0
16
	 * @access private
17
	 * @var
18
	 */
19
	static private $instance;
20
21
	/**
22
	 * Singleton pattern.
23
	 *
24
	 * @since  2.4.0
25
	 * @access private
26
	 */
27
	private function __construct() {
28
	}
29
30
31
	/**
32
	 * Get instance.
33
	 *
34
	 * @since  2.4.0
35
	 * @access public
36
	 * @return Give_Admin
37
	 */
38 View Code Duplication
	public static function get_instance() {
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
39
		if ( null === static::$instance ) {
40
			self::$instance = new static();
41
			self::$instance->setup();
42
		}
43
44
		return self::$instance;
45
	}
46
47
	/**
48
	 * Setup Admin
49
	 *
50
	 * @sinve  2.4.0
51
	 * @access private
52
	 */
53
	private function setup() {
54
		$this->admin_loading();
55
		$this->conditional_loading();
56
	}
57
58
	/**
59
	 *  Load core file
60
	 *
61
	 * @since  2.4.0
62
	 * @access private
63
	 */
64
	private function admin_loading() {
65
		require_once GIVE_PLUGIN_DIR . 'includes/admin/setting-page-functions.php';
66
		require_once GIVE_PLUGIN_DIR . 'includes/admin/import-functions.php';
67
		require_once GIVE_PLUGIN_DIR . 'includes/admin/give-metabox-functions.php'; // @todo: [refactor] can be load only for form edit screen. review possibilities
68
69
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-footer.php';
70
		require_once GIVE_PLUGIN_DIR . 'includes/admin/welcome.php';
71
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-pages.php';
72
		require_once GIVE_PLUGIN_DIR . 'includes/admin/class-i18n-module.php';
73
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-actions.php';
74
		require_once GIVE_PLUGIN_DIR . 'includes/admin/admin-filters.php';
75
		require_once GIVE_PLUGIN_DIR . 'includes/admin/add-ons.php';
76
		require_once GIVE_PLUGIN_DIR . 'includes/admin/plugins.php';
77
		require_once GIVE_PLUGIN_DIR . 'includes/admin/dashboard-widgets.php';
78
		require_once GIVE_PLUGIN_DIR . 'includes/admin/class-blank-slate.php';
79
80
		require_once GIVE_PLUGIN_DIR . 'includes/admin/payments/actions.php';
81
		require_once GIVE_PLUGIN_DIR . 'includes/admin/payments/payments-history.php';
82
83
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donors.php';
84
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donor-functions.php';
85
		require_once GIVE_PLUGIN_DIR . 'includes/admin/donors/donor-actions.php';
86
87
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/metabox.php';
88
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/class-give-form-duplicator.php';
89
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/class-metabox-form-data.php';
90
		require_once GIVE_PLUGIN_DIR . 'includes/admin/forms/dashboard-columns.php';
91
92
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/export-functions.php';
93
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/class-export.php';
94
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/export-actions.php';
95
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/give-export-donations-functions.php';
96
97
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/reports.php';
98
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/class-give-graph.php';
99
		require_once GIVE_PLUGIN_DIR . 'includes/admin/reports/graphing.php';
100
101
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/logs/logs.php';
102
103
		require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/data/tools-actions.php';
104
105
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/abstract-shortcode-generator.php';
106
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/class-shortcode-button.php';
107
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-form.php';
108
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-goal.php';
109
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-login.php';
110
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-register.php';
111
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-profile-editor.php';
112
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donation-grid.php';
113
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donation-history.php';
114
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-receipt.php';
115
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-totals.php';
116
		require_once GIVE_PLUGIN_DIR . 'includes/admin/shortcodes/shortcode-give-donor-wall.php';
117
	}
118
119
	/**
120
	 *  Load file conditionally
121
	 *
122
	 * @since  2.4.0
123
	 * @access private
124
	 */
125
	private function conditional_loading() {
126
		if ( $this->is_generate_pdf() ) {
127
			require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/pdf-reports.php';
128
		}
129
	}
130
131
	/**
132
	 * Check if performing action 'generate_pdf'
133
	 *
134
	 * @since  2.4.0
135
	 * @access private
136
	 *
137
	 * @return bool
138
	 */
139
	private function is_generate_pdf() {
140
		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...
141
	}
142
}
143
144
Give_Admin::get_instance();
145