Completed
Branch BUG/php-8-issues (7f94e9)
by
unknown
03:10 queued 59s
created
core/db_classes/EE_Question_Group.class.php 1 patch
Indentation   +276 added lines, -276 removed lines patch added patch discarded remove patch
@@ -12,280 +12,280 @@
 block discarded – undo
12 12
 class EE_Question_Group extends EE_Soft_Delete_Base_Class
13 13
 {
14 14
 
15
-    /**
16
-     * @param array $props_n_values
17
-     * @return EE_Question_Group|mixed
18
-     */
19
-    public static function new_instance($props_n_values = array())
20
-    {
21
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
22
-        return $has_object ? $has_object : new self($props_n_values);
23
-    }
24
-
25
-
26
-    /**
27
-     * @param array $props_n_values
28
-     * @return EE_Question_Group
29
-     */
30
-    public static function new_instance_from_db($props_n_values = array())
31
-    {
32
-        return new self($props_n_values, true);
33
-    }
34
-
35
-
36
-    /**
37
-     * gets the question group's name
38
-     *
39
-     * @access public
40
-     * @param bool $pretty
41
-     * @return string
42
-     */
43
-    public function name($pretty = false)
44
-    {
45
-        return $pretty ? $this->get_pretty('QSG_name') : $this->get('QSG_name');
46
-    }
47
-
48
-
49
-    /**
50
-     * Gets the question group's internal name
51
-     *
52
-     * @access public
53
-     * @return string
54
-     */
55
-    public function identifier()
56
-    {
57
-        return $this->get('QSG_identifier');
58
-    }
59
-
60
-
61
-    /**
62
-     * Gets the question group's description
63
-     *
64
-     * @access public
65
-     * @param bool $pretty
66
-     * @return string
67
-     */
68
-    public function desc($pretty = false)
69
-    {
70
-        return $pretty ? $this->get_pretty('QSG_desc') : $this->get('QSG_desc');
71
-    }
72
-
73
-
74
-    /**
75
-     * Gets the question group's order number in a sequence
76
-     * of other question groups
77
-     *
78
-     * @access public
79
-     * @return int
80
-     */
81
-    public function order()
82
-    {
83
-        return $this->get('QSG_order');
84
-    }
85
-
86
-
87
-    /**
88
-     * Returns whether to show the group's name on the frontend
89
-     *
90
-     * @access public
91
-     * @return boolean
92
-     */
93
-    public function show_group_name()
94
-    {
95
-        return $this->get('QSG_show_group_name');
96
-    }
97
-
98
-
99
-    /**
100
-     * Returns whether to show the group's description
101
-     * on the frontend
102
-     *
103
-     * @access public
104
-     * @return boolean
105
-     */
106
-    public function show_group_desc()
107
-    {
108
-        return $this->get('QSG_show_group_desc');
109
-    }
110
-
111
-
112
-    /**
113
-     * Returns whether this is a 'system group' (meaning
114
-     * a question group integral to the system, whose questions
115
-     * relate to the attendee table)
116
-     *
117
-     * @access public
118
-     * @return int
119
-     */
120
-    public function system_group()
121
-    {
122
-        return $this->get('QSG_system');
123
-    }
124
-
125
-
126
-    /**
127
-     * get the author of the question group.
128
-     *
129
-     * @since 4.5.0
130
-     *
131
-     * @return int
132
-     */
133
-    public function wp_user()
134
-    {
135
-        return $this->get('QSG_wp_user');
136
-    }
137
-
138
-
139
-    /**
140
-     * Returns whether this question group has
141
-     * been deleted
142
-     *
143
-     * @access public
144
-     * @return boolean
145
-     */
146
-    public function deleted()
147
-    {
148
-        return $this->get('QST_deleted');
149
-    }
150
-
151
-
152
-    /**
153
-     * Gets an array of questions with questions IN the group at the start of the array and questions NOT in the group
154
-     * at the end of the array.  Questions in the group are ordered by Question_Group_Question.QGQ_order and questions
155
-     * NOT in the group are ordered by Question.QGQ_order
156
-     *
157
-     * @return EE_Question[]
158
-     */
159
-    public function questions_in_and_not_in_group()
160
-    {
161
-        $questions_in_group = $this->questions();
162
-        $exclude_question_ids = ! empty($questions_in_group) ? array_keys($questions_in_group) : array();
163
-        $questions_not_in_group = $this->questions_not_in_group($exclude_question_ids);
164
-        return $questions_in_group + $questions_not_in_group;
165
-    }
166
-
167
-
168
-    /**
169
-     * Gets all the questions which are part of this question group (ordered Question_Group_Question.QGQ_order)
170
-     *
171
-     * @param array $query_params
172
-     * @return EE_Question[]
173
-     */
174
-    public function questions($query_params = array())
175
-    {
176
-        $query_params = ! empty($query_params) ? $query_params
177
-            : array('order_by' => array('Question_Group_Question.QGQ_order' => 'ASC'));
178
-        return $this->ID() ? $this->get_many_related('Question', $query_params) : array();
179
-    }
180
-
181
-
182
-    /**
183
-     * Gets all the questions which are NOT part of this question group.
184
-     *
185
-     * @param  mixed $question_IDS_in_group if empty array then all questions returned.  if FALSE then we first get
186
-     *                                      questions in this group and exclude them from questions get all. IF empty
187
-     *                                      array then we just return all questions.
188
-     * @return EE_Question[]
189
-     */
190
-    public function questions_not_in_group($question_IDS_in_group = false)
191
-    {
192
-        if ($question_IDS_in_group === false) {
193
-            $questions = $this->questions();
194
-            $question_IDS_in_group = ! empty($questions) ? array_keys($questions) : array();
195
-        }
196
-        $_where = ! empty($question_IDS_in_group) ? array('QST_ID' => array('not_in', $question_IDS_in_group))
197
-            : array();
198
-
199
-        return EEM_Question::instance()->get_all(array($_where, 'order_by' => array('QST_ID' => 'ASC')));
200
-    }
201
-
202
-
203
-    /**
204
-     * Gets all events which are related to this question group
205
-     *
206
-     * @return EE_Event[]
207
-     */
208
-    public function events()
209
-    {
210
-        return $this->get_many_related('Event');
211
-    }
212
-
213
-
214
-    /**
215
-     * Adds the question to this question group
216
-     *
217
-     * @param EE_Question || int $question object or ID
218
-     * @return boolean if successful
219
-     */
220
-    public function add_question($questionObjectOrID)
221
-    {
222
-        return $this->_add_relation_to($questionObjectOrID, 'Question');
223
-    }
224
-
225
-
226
-    /**
227
-     * Removes the question from this question group
228
-     *
229
-     * @param EE_Question || int $question object or ID
230
-     * @return boolean of success
231
-     */
232
-    public function remove_question($questionObjectOrID)
233
-    {
234
-        return $this->_remove_relation_to($questionObjectOrID, 'Question');
235
-    }
236
-
237
-
238
-    /**
239
-     * @param $questionObjectOrID
240
-     * @param $qst_order
241
-     * @return int
242
-     */
243
-    public function update_question_order($questionObjectOrID, $qst_order)
244
-    {
245
-        $qst_ID = $questionObjectOrID instanceof EE_Question ? $questionObjectOrID->ID() : (int) $questionObjectOrID;
246
-        return EEM_Question_Group_Question::instance()->update(
247
-            array('QGQ_order' => $qst_order),
248
-            array(
249
-                array(
250
-                    'QST_ID' => $qst_ID,
251
-                    'QSG_ID' => $this->ID(),
252
-                ),
253
-            )
254
-        );
255
-    }
256
-
257
-
258
-    /**
259
-     * Basically this is method just returns whether the question group has any questions with answers.  This is used
260
-     * by the admin currently to determine whether we should display the ui for deleting permanently or not b/c
261
-     * question groups with questions that have answers should not be possible to delete permanently
262
-     *
263
-     * @return boolean true if has questions with answers, false if not.
264
-     */
265
-    public function has_questions_with_answers()
266
-    {
267
-        $has_answers = false;
268
-        $questions = $this->get_many_related('Question');
269
-        foreach ($questions as $question) {
270
-            if ($question->count_related('Answer') > 0) {
271
-                $has_answers = true;
272
-            }
273
-        }
274
-        return $has_answers;
275
-    }
276
-
277
-
278
-    /**
279
-     * The purpose of this method is set the question group order for this question group to be the max out of all
280
-     * question groups
281
-     *
282
-     * @access public
283
-     * @return void
284
-     */
285
-    public function set_order_to_latest()
286
-    {
287
-        $latest_order = $this->get_model()->get_latest_question_group_order();
288
-        $latest_order++;
289
-        $this->set('QSG_order', $latest_order);
290
-    }
15
+	/**
16
+	 * @param array $props_n_values
17
+	 * @return EE_Question_Group|mixed
18
+	 */
19
+	public static function new_instance($props_n_values = array())
20
+	{
21
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
22
+		return $has_object ? $has_object : new self($props_n_values);
23
+	}
24
+
25
+
26
+	/**
27
+	 * @param array $props_n_values
28
+	 * @return EE_Question_Group
29
+	 */
30
+	public static function new_instance_from_db($props_n_values = array())
31
+	{
32
+		return new self($props_n_values, true);
33
+	}
34
+
35
+
36
+	/**
37
+	 * gets the question group's name
38
+	 *
39
+	 * @access public
40
+	 * @param bool $pretty
41
+	 * @return string
42
+	 */
43
+	public function name($pretty = false)
44
+	{
45
+		return $pretty ? $this->get_pretty('QSG_name') : $this->get('QSG_name');
46
+	}
47
+
48
+
49
+	/**
50
+	 * Gets the question group's internal name
51
+	 *
52
+	 * @access public
53
+	 * @return string
54
+	 */
55
+	public function identifier()
56
+	{
57
+		return $this->get('QSG_identifier');
58
+	}
59
+
60
+
61
+	/**
62
+	 * Gets the question group's description
63
+	 *
64
+	 * @access public
65
+	 * @param bool $pretty
66
+	 * @return string
67
+	 */
68
+	public function desc($pretty = false)
69
+	{
70
+		return $pretty ? $this->get_pretty('QSG_desc') : $this->get('QSG_desc');
71
+	}
72
+
73
+
74
+	/**
75
+	 * Gets the question group's order number in a sequence
76
+	 * of other question groups
77
+	 *
78
+	 * @access public
79
+	 * @return int
80
+	 */
81
+	public function order()
82
+	{
83
+		return $this->get('QSG_order');
84
+	}
85
+
86
+
87
+	/**
88
+	 * Returns whether to show the group's name on the frontend
89
+	 *
90
+	 * @access public
91
+	 * @return boolean
92
+	 */
93
+	public function show_group_name()
94
+	{
95
+		return $this->get('QSG_show_group_name');
96
+	}
97
+
98
+
99
+	/**
100
+	 * Returns whether to show the group's description
101
+	 * on the frontend
102
+	 *
103
+	 * @access public
104
+	 * @return boolean
105
+	 */
106
+	public function show_group_desc()
107
+	{
108
+		return $this->get('QSG_show_group_desc');
109
+	}
110
+
111
+
112
+	/**
113
+	 * Returns whether this is a 'system group' (meaning
114
+	 * a question group integral to the system, whose questions
115
+	 * relate to the attendee table)
116
+	 *
117
+	 * @access public
118
+	 * @return int
119
+	 */
120
+	public function system_group()
121
+	{
122
+		return $this->get('QSG_system');
123
+	}
124
+
125
+
126
+	/**
127
+	 * get the author of the question group.
128
+	 *
129
+	 * @since 4.5.0
130
+	 *
131
+	 * @return int
132
+	 */
133
+	public function wp_user()
134
+	{
135
+		return $this->get('QSG_wp_user');
136
+	}
137
+
138
+
139
+	/**
140
+	 * Returns whether this question group has
141
+	 * been deleted
142
+	 *
143
+	 * @access public
144
+	 * @return boolean
145
+	 */
146
+	public function deleted()
147
+	{
148
+		return $this->get('QST_deleted');
149
+	}
150
+
151
+
152
+	/**
153
+	 * Gets an array of questions with questions IN the group at the start of the array and questions NOT in the group
154
+	 * at the end of the array.  Questions in the group are ordered by Question_Group_Question.QGQ_order and questions
155
+	 * NOT in the group are ordered by Question.QGQ_order
156
+	 *
157
+	 * @return EE_Question[]
158
+	 */
159
+	public function questions_in_and_not_in_group()
160
+	{
161
+		$questions_in_group = $this->questions();
162
+		$exclude_question_ids = ! empty($questions_in_group) ? array_keys($questions_in_group) : array();
163
+		$questions_not_in_group = $this->questions_not_in_group($exclude_question_ids);
164
+		return $questions_in_group + $questions_not_in_group;
165
+	}
166
+
167
+
168
+	/**
169
+	 * Gets all the questions which are part of this question group (ordered Question_Group_Question.QGQ_order)
170
+	 *
171
+	 * @param array $query_params
172
+	 * @return EE_Question[]
173
+	 */
174
+	public function questions($query_params = array())
175
+	{
176
+		$query_params = ! empty($query_params) ? $query_params
177
+			: array('order_by' => array('Question_Group_Question.QGQ_order' => 'ASC'));
178
+		return $this->ID() ? $this->get_many_related('Question', $query_params) : array();
179
+	}
180
+
181
+
182
+	/**
183
+	 * Gets all the questions which are NOT part of this question group.
184
+	 *
185
+	 * @param  mixed $question_IDS_in_group if empty array then all questions returned.  if FALSE then we first get
186
+	 *                                      questions in this group and exclude them from questions get all. IF empty
187
+	 *                                      array then we just return all questions.
188
+	 * @return EE_Question[]
189
+	 */
190
+	public function questions_not_in_group($question_IDS_in_group = false)
191
+	{
192
+		if ($question_IDS_in_group === false) {
193
+			$questions = $this->questions();
194
+			$question_IDS_in_group = ! empty($questions) ? array_keys($questions) : array();
195
+		}
196
+		$_where = ! empty($question_IDS_in_group) ? array('QST_ID' => array('not_in', $question_IDS_in_group))
197
+			: array();
198
+
199
+		return EEM_Question::instance()->get_all(array($_where, 'order_by' => array('QST_ID' => 'ASC')));
200
+	}
201
+
202
+
203
+	/**
204
+	 * Gets all events which are related to this question group
205
+	 *
206
+	 * @return EE_Event[]
207
+	 */
208
+	public function events()
209
+	{
210
+		return $this->get_many_related('Event');
211
+	}
212
+
213
+
214
+	/**
215
+	 * Adds the question to this question group
216
+	 *
217
+	 * @param EE_Question || int $question object or ID
218
+	 * @return boolean if successful
219
+	 */
220
+	public function add_question($questionObjectOrID)
221
+	{
222
+		return $this->_add_relation_to($questionObjectOrID, 'Question');
223
+	}
224
+
225
+
226
+	/**
227
+	 * Removes the question from this question group
228
+	 *
229
+	 * @param EE_Question || int $question object or ID
230
+	 * @return boolean of success
231
+	 */
232
+	public function remove_question($questionObjectOrID)
233
+	{
234
+		return $this->_remove_relation_to($questionObjectOrID, 'Question');
235
+	}
236
+
237
+
238
+	/**
239
+	 * @param $questionObjectOrID
240
+	 * @param $qst_order
241
+	 * @return int
242
+	 */
243
+	public function update_question_order($questionObjectOrID, $qst_order)
244
+	{
245
+		$qst_ID = $questionObjectOrID instanceof EE_Question ? $questionObjectOrID->ID() : (int) $questionObjectOrID;
246
+		return EEM_Question_Group_Question::instance()->update(
247
+			array('QGQ_order' => $qst_order),
248
+			array(
249
+				array(
250
+					'QST_ID' => $qst_ID,
251
+					'QSG_ID' => $this->ID(),
252
+				),
253
+			)
254
+		);
255
+	}
256
+
257
+
258
+	/**
259
+	 * Basically this is method just returns whether the question group has any questions with answers.  This is used
260
+	 * by the admin currently to determine whether we should display the ui for deleting permanently or not b/c
261
+	 * question groups with questions that have answers should not be possible to delete permanently
262
+	 *
263
+	 * @return boolean true if has questions with answers, false if not.
264
+	 */
265
+	public function has_questions_with_answers()
266
+	{
267
+		$has_answers = false;
268
+		$questions = $this->get_many_related('Question');
269
+		foreach ($questions as $question) {
270
+			if ($question->count_related('Answer') > 0) {
271
+				$has_answers = true;
272
+			}
273
+		}
274
+		return $has_answers;
275
+	}
276
+
277
+
278
+	/**
279
+	 * The purpose of this method is set the question group order for this question group to be the max out of all
280
+	 * question groups
281
+	 *
282
+	 * @access public
283
+	 * @return void
284
+	 */
285
+	public function set_order_to_latest()
286
+	{
287
+		$latest_order = $this->get_model()->get_latest_question_group_order();
288
+		$latest_order++;
289
+		$this->set('QSG_order', $latest_order);
290
+	}
291 291
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Checkin.class.php 1 patch
Indentation   +82 added lines, -82 removed lines patch added patch discarded remove patch
@@ -11,86 +11,86 @@
 block discarded – undo
11 11
 {
12 12
 
13 13
 
14
-    /**
15
-     * Used to reference when a registration has been checked out.
16
-     *
17
-     * @type int
18
-     */
19
-    const status_checked_out = 0;
20
-
21
-    /**
22
-     * Used to reference when a registration has been checked in.
23
-     *
24
-     * @type int
25
-     */
26
-    const status_checked_in = 1;
27
-
28
-    /**
29
-     * Used to reference when a registration has never been checked in.
30
-     *
31
-     * @type int
32
-     */
33
-    const status_checked_never = 2;
34
-
35
-
36
-    /**
37
-     *
38
-     * @param array  $props_n_values    incoming values
39
-     * @param string $timezone          incoming timezone (if not set the timezone set for the website will be used.)
40
-     * @param array  $date_formats      incoming date_formats in an array
41
-     *                                  where the first value is the date_format
42
-     *                                  and the second value is the time format
43
-     * @return EE_Checkin
44
-     * @throws EE_Error
45
-     */
46
-    public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
47
-    {
48
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
49
-        return $has_object
50
-            ? $has_object
51
-            : new self($props_n_values, false, $timezone, $date_formats);
52
-    }
53
-
54
-
55
-    /**
56
-     * @param array  $props_n_values  incoming values from the database
57
-     * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
58
-     *                                the website will be used.
59
-     * @return EE_Checkin
60
-     * @throws EE_Error
61
-     */
62
-    public static function new_instance_from_db($props_n_values = array(), $timezone = null)
63
-    {
64
-        return new self($props_n_values, true, $timezone);
65
-    }
66
-
67
-
68
-    public function ID()
69
-    {
70
-        return $this->get('CHK_ID');
71
-    }
72
-
73
-
74
-    public function registration_id()
75
-    {
76
-        return $this->get('REG_ID');
77
-    }
78
-
79
-
80
-    public function datetime_id()
81
-    {
82
-        return $this->get('DTT_ID');
83
-    }
84
-
85
-
86
-    public function status()
87
-    {
88
-        return $this->get('CHK_in');
89
-    }
90
-
91
-
92
-    public function timestamp()
93
-    {
94
-        return $this->get('CHK_timestamp');
95
-    }
14
+	/**
15
+	 * Used to reference when a registration has been checked out.
16
+	 *
17
+	 * @type int
18
+	 */
19
+	const status_checked_out = 0;
20
+
21
+	/**
22
+	 * Used to reference when a registration has been checked in.
23
+	 *
24
+	 * @type int
25
+	 */
26
+	const status_checked_in = 1;
27
+
28
+	/**
29
+	 * Used to reference when a registration has never been checked in.
30
+	 *
31
+	 * @type int
32
+	 */
33
+	const status_checked_never = 2;
34
+
35
+
36
+	/**
37
+	 *
38
+	 * @param array  $props_n_values    incoming values
39
+	 * @param string $timezone          incoming timezone (if not set the timezone set for the website will be used.)
40
+	 * @param array  $date_formats      incoming date_formats in an array
41
+	 *                                  where the first value is the date_format
42
+	 *                                  and the second value is the time format
43
+	 * @return EE_Checkin
44
+	 * @throws EE_Error
45
+	 */
46
+	public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
47
+	{
48
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
49
+		return $has_object
50
+			? $has_object
51
+			: new self($props_n_values, false, $timezone, $date_formats);
52
+	}
53
+
54
+
55
+	/**
56
+	 * @param array  $props_n_values  incoming values from the database
57
+	 * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
58
+	 *                                the website will be used.
59
+	 * @return EE_Checkin
60
+	 * @throws EE_Error
61
+	 */
62
+	public static function new_instance_from_db($props_n_values = array(), $timezone = null)
63
+	{
64
+		return new self($props_n_values, true, $timezone);
65
+	}
66
+
67
+
68
+	public function ID()
69
+	{
70
+		return $this->get('CHK_ID');
71
+	}
72
+
73
+
74
+	public function registration_id()
75
+	{
76
+		return $this->get('REG_ID');
77
+	}
78
+
79
+
80
+	public function datetime_id()
81
+	{
82
+		return $this->get('DTT_ID');
83
+	}
84
+
85
+
86
+	public function status()
87
+	{
88
+		return $this->get('CHK_in');
89
+	}
90
+
91
+
92
+	public function timestamp()
93
+	{
94
+		return $this->get('CHK_timestamp');
95
+	}
96 96
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Currency.class.php 1 patch
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -12,180 +12,180 @@
 block discarded – undo
12 12
 class EE_Currency extends EE_Base_Class
13 13
 {
14 14
 
15
-    /** Currency COde @var CUR_code */
16
-    protected $_CUR_code = null;
17
-    /** Currency Name Singular @var CUR_single */
18
-    protected $_CUR_single = null;
19
-    /** Currency Name Plural @var CUR_plural */
20
-    protected $_CUR_plural = null;
21
-    /** Currency Sign @var CUR_sign */
22
-    protected $_CUR_sign = null;
23
-    /** Currency Decimal Places @var CUR_dec_plc */
24
-    protected $_CUR_dec_plc = null;
25
-    /** Active? @var CUR_active */
26
-    protected $_CUR_active = null;
27
-    protected $_Payment_Method;
28
-
29
-    /**
30
-     *
31
-     * @param array  $props_n_values          incoming values
32
-     * @param string $timezone                incoming timezone (if not set the timezone set for the website will be
33
-     *                                        used.)
34
-     * @param array  $date_formats            incoming date_formats in an array where the first value is the
35
-     *                                        date_format and the second value is the time format
36
-     * @return EE_Attendee
37
-     */
38
-    public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
39
-    {
40
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
41
-        return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats);
42
-    }
43
-
44
-
45
-    /**
46
-     * @param array  $props_n_values  incoming values from the database
47
-     * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
48
-     *                                the website will be used.
49
-     * @return EE_Attendee
50
-     */
51
-    public static function new_instance_from_db($props_n_values = array(), $timezone = null)
52
-    {
53
-        return new self($props_n_values, true, $timezone);
54
-    }
55
-
56
-    /**
57
-     * Gets code
58
-     *
59
-     * @return string
60
-     */
61
-    public function code()
62
-    {
63
-        return $this->get('CUR_code');
64
-    }
65
-
66
-    /**
67
-     * Sets code
68
-     *
69
-     * @param string $code
70
-     * @return boolean
71
-     */
72
-    public function set_code($code)
73
-    {
74
-        return $this->set('CUR_code', $code);
75
-    }
76
-
77
-    /**
78
-     * Gets active
79
-     *
80
-     * @return boolean
81
-     */
82
-    public function active()
83
-    {
84
-        return $this->get('CUR_active');
85
-    }
86
-
87
-    /**
88
-     * Sets active
89
-     *
90
-     * @param boolean $active
91
-     * @return boolean
92
-     */
93
-    public function set_active($active)
94
-    {
95
-        return $this->set('CUR_active', $active);
96
-    }
97
-
98
-    /**
99
-     * Gets dec_plc
100
-     *
101
-     * @return int
102
-     */
103
-    public function dec_plc()
104
-    {
105
-        return $this->get('CUR_dec_plc');
106
-    }
107
-
108
-    /**
109
-     * Sets dec_plc
110
-     *
111
-     * @param int $dec_plc
112
-     * @return boolean
113
-     */
114
-    public function set_dec_plc($dec_plc)
115
-    {
116
-        return $this->set('CUR_dec_plc', $dec_plc);
117
-    }
118
-
119
-    /**
120
-     * Gets plural
121
-     *
122
-     * @return string
123
-     */
124
-    public function plural_name()
125
-    {
126
-        return $this->get('CUR_plural');
127
-    }
128
-
129
-    /**
130
-     * Sets plural
131
-     *
132
-     * @param string $plural
133
-     * @return boolean
134
-     */
135
-    public function set_plural_name($plural)
136
-    {
137
-        return $this->set('CUR_plural', $plural);
138
-    }
139
-
140
-    /**
141
-     * Gets sign
142
-     *
143
-     * @return string
144
-     */
145
-    public function sign()
146
-    {
147
-        return $this->get('CUR_sign');
148
-    }
149
-
150
-    /**
151
-     * Sets sign
152
-     *
153
-     * @param string $sign
154
-     * @return boolean
155
-     */
156
-    public function set_sign($sign)
157
-    {
158
-        return $this->set('CUR_sign', $sign);
159
-    }
160
-
161
-    /**
162
-     * Gets single
163
-     *
164
-     * @return string
165
-     */
166
-    public function singular_name()
167
-    {
168
-        return $this->get('CUR_single');
169
-    }
170
-
171
-    /**
172
-     * Sets single
173
-     *
174
-     * @param string $single
175
-     * @return boolean
176
-     */
177
-    public function set_singular_name($single)
178
-    {
179
-        return $this->set('CUR_single', $single);
180
-    }
181
-
182
-    /**
183
-     * Gets a prettier name
184
-     *
185
-     * @return string
186
-     */
187
-    public function name()
188
-    {
189
-        return sprintf(__("%s (%s)", "event_espresso"), $this->code(), $this->plural_name());
190
-    }
15
+	/** Currency COde @var CUR_code */
16
+	protected $_CUR_code = null;
17
+	/** Currency Name Singular @var CUR_single */
18
+	protected $_CUR_single = null;
19
+	/** Currency Name Plural @var CUR_plural */
20
+	protected $_CUR_plural = null;
21
+	/** Currency Sign @var CUR_sign */
22
+	protected $_CUR_sign = null;
23
+	/** Currency Decimal Places @var CUR_dec_plc */
24
+	protected $_CUR_dec_plc = null;
25
+	/** Active? @var CUR_active */
26
+	protected $_CUR_active = null;
27
+	protected $_Payment_Method;
28
+
29
+	/**
30
+	 *
31
+	 * @param array  $props_n_values          incoming values
32
+	 * @param string $timezone                incoming timezone (if not set the timezone set for the website will be
33
+	 *                                        used.)
34
+	 * @param array  $date_formats            incoming date_formats in an array where the first value is the
35
+	 *                                        date_format and the second value is the time format
36
+	 * @return EE_Attendee
37
+	 */
38
+	public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
39
+	{
40
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
41
+		return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats);
42
+	}
43
+
44
+
45
+	/**
46
+	 * @param array  $props_n_values  incoming values from the database
47
+	 * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
48
+	 *                                the website will be used.
49
+	 * @return EE_Attendee
50
+	 */
51
+	public static function new_instance_from_db($props_n_values = array(), $timezone = null)
52
+	{
53
+		return new self($props_n_values, true, $timezone);
54
+	}
55
+
56
+	/**
57
+	 * Gets code
58
+	 *
59
+	 * @return string
60
+	 */
61
+	public function code()
62
+	{
63
+		return $this->get('CUR_code');
64
+	}
65
+
66
+	/**
67
+	 * Sets code
68
+	 *
69
+	 * @param string $code
70
+	 * @return boolean
71
+	 */
72
+	public function set_code($code)
73
+	{
74
+		return $this->set('CUR_code', $code);
75
+	}
76
+
77
+	/**
78
+	 * Gets active
79
+	 *
80
+	 * @return boolean
81
+	 */
82
+	public function active()
83
+	{
84
+		return $this->get('CUR_active');
85
+	}
86
+
87
+	/**
88
+	 * Sets active
89
+	 *
90
+	 * @param boolean $active
91
+	 * @return boolean
92
+	 */
93
+	public function set_active($active)
94
+	{
95
+		return $this->set('CUR_active', $active);
96
+	}
97
+
98
+	/**
99
+	 * Gets dec_plc
100
+	 *
101
+	 * @return int
102
+	 */
103
+	public function dec_plc()
104
+	{
105
+		return $this->get('CUR_dec_plc');
106
+	}
107
+
108
+	/**
109
+	 * Sets dec_plc
110
+	 *
111
+	 * @param int $dec_plc
112
+	 * @return boolean
113
+	 */
114
+	public function set_dec_plc($dec_plc)
115
+	{
116
+		return $this->set('CUR_dec_plc', $dec_plc);
117
+	}
118
+
119
+	/**
120
+	 * Gets plural
121
+	 *
122
+	 * @return string
123
+	 */
124
+	public function plural_name()
125
+	{
126
+		return $this->get('CUR_plural');
127
+	}
128
+
129
+	/**
130
+	 * Sets plural
131
+	 *
132
+	 * @param string $plural
133
+	 * @return boolean
134
+	 */
135
+	public function set_plural_name($plural)
136
+	{
137
+		return $this->set('CUR_plural', $plural);
138
+	}
139
+
140
+	/**
141
+	 * Gets sign
142
+	 *
143
+	 * @return string
144
+	 */
145
+	public function sign()
146
+	{
147
+		return $this->get('CUR_sign');
148
+	}
149
+
150
+	/**
151
+	 * Sets sign
152
+	 *
153
+	 * @param string $sign
154
+	 * @return boolean
155
+	 */
156
+	public function set_sign($sign)
157
+	{
158
+		return $this->set('CUR_sign', $sign);
159
+	}
160
+
161
+	/**
162
+	 * Gets single
163
+	 *
164
+	 * @return string
165
+	 */
166
+	public function singular_name()
167
+	{
168
+		return $this->get('CUR_single');
169
+	}
170
+
171
+	/**
172
+	 * Sets single
173
+	 *
174
+	 * @param string $single
175
+	 * @return boolean
176
+	 */
177
+	public function set_singular_name($single)
178
+	{
179
+		return $this->set('CUR_single', $single);
180
+	}
181
+
182
+	/**
183
+	 * Gets a prettier name
184
+	 *
185
+	 * @return string
186
+	 */
187
+	public function name()
188
+	{
189
+		return sprintf(__("%s (%s)", "event_espresso"), $this->code(), $this->plural_name());
190
+	}
191 191
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Question_Option.class.php 1 patch
Indentation   +216 added lines, -216 removed lines patch added patch discarded remove patch
@@ -10,220 +10,220 @@
 block discarded – undo
10 10
 class EE_Question_Option extends EE_Soft_Delete_Base_Class implements EEI_Duplicatable
11 11
 {
12 12
 
13
-    /**
14
-     * Question Option Opt Group Name
15
-     *
16
-     * @access protected
17
-     * @var string
18
-     */
19
-    protected $_QSO_opt_group = null;
20
-
21
-
22
-    /**
23
-     *
24
-     * @param array  $props_n_values          incoming values
25
-     * @param string $timezone                incoming timezone (if not set the timezone set for the website will be
26
-     *                                        used.)
27
-     * @param array  $date_formats            incoming date_formats in an array where the first value is the
28
-     *                                        date_format and the second value is the time format
29
-     * @return EE_Attendee
30
-     */
31
-    public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
32
-    {
33
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
34
-        return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats);
35
-    }
36
-
37
-
38
-    /**
39
-     * @param array  $props_n_values  incoming values from the database
40
-     * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
41
-     *                                the website will be used.
42
-     * @return EE_Attendee
43
-     */
44
-    public static function new_instance_from_db($props_n_values = array(), $timezone = null)
45
-    {
46
-        return new self($props_n_values, true, $timezone);
47
-    }
48
-
49
-
50
-    /**
51
-     * Sets the option's key value
52
-     *
53
-     * @param string $value
54
-     * @return bool success
55
-     */
56
-    public function set_value($value)
57
-    {
58
-        $this->set('QSO_value', $value);
59
-    }
60
-
61
-
62
-    /**
63
-     * Sets the option's Display Text
64
-     *
65
-     * @param string $text
66
-     * @return bool success
67
-     */
68
-    public function set_desc($text)
69
-    {
70
-        $this->set('QSO_desc', $text);
71
-    }
72
-
73
-
74
-    /**
75
-     * Sets the order for this option
76
-     *
77
-     * @access public
78
-     * @param integer $order
79
-     * @return bool      $success
80
-     */
81
-    public function set_order($order)
82
-    {
83
-        $this->set('QSO_order', $order);
84
-    }
85
-
86
-
87
-    /**
88
-     * Sets the ID of the related question
89
-     *
90
-     * @param int $question_ID
91
-     * @return bool success
92
-     */
93
-    public function set_question_ID($question_ID)
94
-    {
95
-        $this->set('QST_ID', $question_ID);
96
-    }
97
-
98
-
99
-    /**
100
-     * Sets the option's opt_group
101
-     *
102
-     * @param string $text
103
-     * @return bool success
104
-     */
105
-    public function set_opt_group($text)
106
-    {
107
-        return $this->_QSO_opt_group = $text;
108
-    }
109
-
110
-
111
-    /**
112
-     * Gets the option's key value
113
-     *
114
-     * @return string
115
-     */
116
-    public function value()
117
-    {
118
-        return $this->get('QSO_value');
119
-    }
120
-
121
-
122
-    /**
123
-     * Gets the option's display text
124
-     *
125
-     * @return string
126
-     */
127
-    public function desc()
128
-    {
129
-        return $this->get('QSO_desc');
130
-    }
131
-
132
-
133
-    /**
134
-     * Returns whether this option has been deleted or not
135
-     *
136
-     * @return boolean
137
-     */
138
-    public function deleted()
139
-    {
140
-        return $this->get('QSO_deleted');
141
-    }
142
-
143
-
144
-    /**
145
-     * Returns the order or the Question Option
146
-     *
147
-     * @access public
148
-     * @return integer
149
-     */
150
-    public function order()
151
-    {
152
-        return $this->get('QSO_option');
153
-    }
154
-
155
-
156
-    /**
157
-     * Gets the related question's ID
158
-     *
159
-     * @return int
160
-     */
161
-    public function question_ID()
162
-    {
163
-        return $this->get('QST_ID');
164
-    }
165
-
166
-
167
-    /**
168
-     * Returns the question related to this question option
169
-     *
170
-     * @return EE_Question
171
-     */
172
-    public function question()
173
-    {
174
-        return $this->get_first_related('Question');
175
-    }
176
-
177
-
178
-    /**
179
-     * Gets the option's opt_group
180
-     *
181
-     * @return string
182
-     */
183
-    public function opt_group()
184
-    {
185
-        return $this->_QSO_opt_group;
186
-    }
187
-
188
-    /**
189
-     * Duplicates this question option. By default the new question option will be for the same question,
190
-     * but that can be overriden by setting the 'QST_ID' option
191
-     *
192
-     * @param array $options {
193
-     * @type int    $QST_ID  the QST_ID attribute of this question option, otherwise it will be for the same question
194
-     *                       as the original
195
-     */
196
-    public function duplicate($options = array())
197
-    {
198
-        $new_question_option = clone $this;
199
-        $new_question_option->set('QSO_ID', null);
200
-        if (array_key_exists(
201
-            'QST_ID',
202
-            $options
203
-        )) {// use array_key_exists instead of isset because NULL might be a valid value
204
-            $new_question_option->set_question_ID($options['QST_ID']);
205
-        }
206
-        $new_question_option->save();
207
-    }
208
-
209
-    /**
210
-     * Gets the QSO_system value
211
-     *
212
-     * @return string|null
213
-     */
214
-    public function system()
215
-    {
216
-        return $this->get('QSO_system');
217
-    }
218
-
219
-    /**
220
-     * Sets QSO_system
221
-     *
222
-     * @param string $QSO_system
223
-     * @return bool
224
-     */
225
-    public function set_system($QSO_system)
226
-    {
227
-        return $this->set('QSO_system', $QSO_system);
228
-    }
13
+	/**
14
+	 * Question Option Opt Group Name
15
+	 *
16
+	 * @access protected
17
+	 * @var string
18
+	 */
19
+	protected $_QSO_opt_group = null;
20
+
21
+
22
+	/**
23
+	 *
24
+	 * @param array  $props_n_values          incoming values
25
+	 * @param string $timezone                incoming timezone (if not set the timezone set for the website will be
26
+	 *                                        used.)
27
+	 * @param array  $date_formats            incoming date_formats in an array where the first value is the
28
+	 *                                        date_format and the second value is the time format
29
+	 * @return EE_Attendee
30
+	 */
31
+	public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array())
32
+	{
33
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
34
+		return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats);
35
+	}
36
+
37
+
38
+	/**
39
+	 * @param array  $props_n_values  incoming values from the database
40
+	 * @param string $timezone        incoming timezone as set by the model.  If not set the timezone for
41
+	 *                                the website will be used.
42
+	 * @return EE_Attendee
43
+	 */
44
+	public static function new_instance_from_db($props_n_values = array(), $timezone = null)
45
+	{
46
+		return new self($props_n_values, true, $timezone);
47
+	}
48
+
49
+
50
+	/**
51
+	 * Sets the option's key value
52
+	 *
53
+	 * @param string $value
54
+	 * @return bool success
55
+	 */
56
+	public function set_value($value)
57
+	{
58
+		$this->set('QSO_value', $value);
59
+	}
60
+
61
+
62
+	/**
63
+	 * Sets the option's Display Text
64
+	 *
65
+	 * @param string $text
66
+	 * @return bool success
67
+	 */
68
+	public function set_desc($text)
69
+	{
70
+		$this->set('QSO_desc', $text);
71
+	}
72
+
73
+
74
+	/**
75
+	 * Sets the order for this option
76
+	 *
77
+	 * @access public
78
+	 * @param integer $order
79
+	 * @return bool      $success
80
+	 */
81
+	public function set_order($order)
82
+	{
83
+		$this->set('QSO_order', $order);
84
+	}
85
+
86
+
87
+	/**
88
+	 * Sets the ID of the related question
89
+	 *
90
+	 * @param int $question_ID
91
+	 * @return bool success
92
+	 */
93
+	public function set_question_ID($question_ID)
94
+	{
95
+		$this->set('QST_ID', $question_ID);
96
+	}
97
+
98
+
99
+	/**
100
+	 * Sets the option's opt_group
101
+	 *
102
+	 * @param string $text
103
+	 * @return bool success
104
+	 */
105
+	public function set_opt_group($text)
106
+	{
107
+		return $this->_QSO_opt_group = $text;
108
+	}
109
+
110
+
111
+	/**
112
+	 * Gets the option's key value
113
+	 *
114
+	 * @return string
115
+	 */
116
+	public function value()
117
+	{
118
+		return $this->get('QSO_value');
119
+	}
120
+
121
+
122
+	/**
123
+	 * Gets the option's display text
124
+	 *
125
+	 * @return string
126
+	 */
127
+	public function desc()
128
+	{
129
+		return $this->get('QSO_desc');
130
+	}
131
+
132
+
133
+	/**
134
+	 * Returns whether this option has been deleted or not
135
+	 *
136
+	 * @return boolean
137
+	 */
138
+	public function deleted()
139
+	{
140
+		return $this->get('QSO_deleted');
141
+	}
142
+
143
+
144
+	/**
145
+	 * Returns the order or the Question Option
146
+	 *
147
+	 * @access public
148
+	 * @return integer
149
+	 */
150
+	public function order()
151
+	{
152
+		return $this->get('QSO_option');
153
+	}
154
+
155
+
156
+	/**
157
+	 * Gets the related question's ID
158
+	 *
159
+	 * @return int
160
+	 */
161
+	public function question_ID()
162
+	{
163
+		return $this->get('QST_ID');
164
+	}
165
+
166
+
167
+	/**
168
+	 * Returns the question related to this question option
169
+	 *
170
+	 * @return EE_Question
171
+	 */
172
+	public function question()
173
+	{
174
+		return $this->get_first_related('Question');
175
+	}
176
+
177
+
178
+	/**
179
+	 * Gets the option's opt_group
180
+	 *
181
+	 * @return string
182
+	 */
183
+	public function opt_group()
184
+	{
185
+		return $this->_QSO_opt_group;
186
+	}
187
+
188
+	/**
189
+	 * Duplicates this question option. By default the new question option will be for the same question,
190
+	 * but that can be overriden by setting the 'QST_ID' option
191
+	 *
192
+	 * @param array $options {
193
+	 * @type int    $QST_ID  the QST_ID attribute of this question option, otherwise it will be for the same question
194
+	 *                       as the original
195
+	 */
196
+	public function duplicate($options = array())
197
+	{
198
+		$new_question_option = clone $this;
199
+		$new_question_option->set('QSO_ID', null);
200
+		if (array_key_exists(
201
+			'QST_ID',
202
+			$options
203
+		)) {// use array_key_exists instead of isset because NULL might be a valid value
204
+			$new_question_option->set_question_ID($options['QST_ID']);
205
+		}
206
+		$new_question_option->save();
207
+	}
208
+
209
+	/**
210
+	 * Gets the QSO_system value
211
+	 *
212
+	 * @return string|null
213
+	 */
214
+	public function system()
215
+	{
216
+		return $this->get('QSO_system');
217
+	}
218
+
219
+	/**
220
+	 * Sets QSO_system
221
+	 *
222
+	 * @param string $QSO_system
223
+	 * @return bool
224
+	 */
225
+	public function set_system($QSO_system)
226
+	{
227
+		return $this->set('QSO_system', $QSO_system);
228
+	}
229 229
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Payment_Method.class.php 2 patches
Indentation   +568 added lines, -568 removed lines patch added patch discarded remove patch
@@ -11,578 +11,578 @@
 block discarded – undo
11 11
 class EE_Payment_Method extends EE_Base_Class
12 12
 {
13 13
 
14
-    /**
15
-     * Payment Method type object, which has all the info about this type of payment method,
16
-     * including functions for processing payments, to get settings forms, etc.
17
-     *
18
-     * @var EE_PMT_Base
19
-     */
20
-    protected $_type_obj;
21
-
22
-
23
-    /**
24
-     * @param array $props_n_values
25
-     * @return EE_Payment_Method
26
-     * @throws \EE_Error
27
-     */
28
-    public static function new_instance($props_n_values = array())
29
-    {
30
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
31
-        return $has_object ? $has_object : new self($props_n_values, false);
32
-    }
33
-
34
-
35
-    /**
36
-     * @param array $props_n_values
37
-     * @return EE_Payment_Method
38
-     * @throws \EE_Error
39
-     */
40
-    public static function new_instance_from_db($props_n_values = array())
41
-    {
42
-        return new self($props_n_values, true);
43
-    }
44
-
45
-
46
-
47
-    /**
48
-     * Checks if there is a payment method class of the given 'PMD_type', and if so returns the classname.
49
-     * Otherwise returns a normal EE_Payment_Method
50
-     *
51
-     * @param array $props_n_values where 'PMD_type' is a gateway name like 'Paypal_Standard','Invoice',etc (basically
52
-     *                              the classname minus 'EEPM_')
53
-     * @return string
54
-     */
55
-    // private static function _payment_method_type($props_n_values)
56
-    // {
57
-    //     EE_Registry::instance()->load_lib('Payment_Method_Manager');
58
-    //     $type_string = isset($props_n_values['PMD_type']) ? $props_n_values['PMD_type'] : null;
59
-    //     if (EE_Payment_Method_Manager::instance()->payment_method_type_exists($type_string)) {
60
-    //         return 'EEPM_' . $type_string;
61
-    //     } else {
62
-    //         return __CLASS__;
63
-    //     }
64
-    // }
65
-
66
-
67
-    /**
68
-     * Gets whether this payment method can be used anywhere at all (ie frontend cart, admin, etc)
69
-     *
70
-     * @return boolean
71
-     */
72
-    public function active()
73
-    {
74
-        return array_intersect(array_keys(EEM_Payment_Method::instance()->scopes()), $this->scope());
75
-    }
76
-
77
-
78
-    /**
79
-     * Sets this PM as active by making it usable within the CART scope. Offline gateways
80
-     * are also usable from the admin-scope as well. DOES NOT SAVE it
81
-     *
82
-     * @throws \EE_Error
83
-     */
84
-    public function set_active()
85
-    {
86
-        $default_scopes = array(EEM_Payment_Method::scope_cart);
87
-        if ($this->type_obj() &&
88
-            $this->type_obj()->payment_occurs() === EE_PMT_Base::offline) {
89
-            $default_scopes[] = EEM_Payment_Method::scope_admin;
90
-        }
91
-        $this->set_scope($default_scopes);
92
-    }
93
-
94
-
95
-    /**
96
-     * Makes this payment method apply to NO scopes at all. DOES NOT SAVE it.
97
-     */
98
-    public function deactivate()
99
-    {
100
-        $this->set_scope(array());
101
-    }
102
-
103
-
104
-    /**
105
-     * Gets button_url
106
-     *
107
-     * @return string
108
-     */
109
-    public function button_url()
110
-    {
111
-        return $this->get('PMD_button_url');
112
-    }
113
-
114
-
115
-    /**
116
-     * Sets button_url
117
-     *
118
-     * @param string $button_url
119
-     */
120
-    public function set_button_url($button_url)
121
-    {
122
-        $this->set('PMD_button_url', $button_url);
123
-    }
124
-
125
-
126
-    /**
127
-     * Gets debug_mode
128
-     *
129
-     * @return boolean
130
-     */
131
-    public function debug_mode()
132
-    {
133
-        return $this->get('PMD_debug_mode');
134
-    }
135
-
136
-
137
-    /**
138
-     * Sets debug_mode
139
-     *
140
-     * @param boolean $debug_mode
141
-     */
142
-    public function set_debug_mode($debug_mode)
143
-    {
144
-        $this->set('PMD_debug_mode', $debug_mode);
145
-    }
146
-
147
-
148
-    /**
149
-     * Gets description
150
-     *
151
-     * @return string
152
-     */
153
-    public function description()
154
-    {
155
-        return $this->get('PMD_desc');
156
-    }
157
-
158
-
159
-    /**
160
-     * Sets description
161
-     *
162
-     * @param string $description
163
-     */
164
-    public function set_description($description)
165
-    {
166
-        $this->set('PMD_desc', $description);
167
-    }
168
-
169
-
170
-    /**
171
-     * Gets name
172
-     *
173
-     * @return string
174
-     */
175
-    public function name()
176
-    {
177
-        return $this->get('PMD_name');
178
-    }
179
-
180
-
181
-    /**
182
-     * Sets name
183
-     *
184
-     * @param string $name
185
-     */
186
-    public function set_name($name)
187
-    {
188
-        $this->set('PMD_name', $name);
189
-    }
190
-
191
-
192
-    /**
193
-     * Gets open_by_default
194
-     *
195
-     * @return boolean
196
-     */
197
-    public function open_by_default()
198
-    {
199
-        return $this->get('PMD_open_by_default');
200
-    }
201
-
202
-
203
-    /**
204
-     * Sets open_by_default
205
-     *
206
-     * @param boolean $open_by_default
207
-     */
208
-    public function set_open_by_default($open_by_default)
209
-    {
210
-        $this->set('PMD_open_by_default', $open_by_default);
211
-    }
212
-
213
-
214
-    /**
215
-     * Gets order
216
-     *
217
-     * @return int
218
-     */
219
-    public function order()
220
-    {
221
-        return $this->get('PMD_order');
222
-    }
223
-
224
-
225
-    /**
226
-     * Sets order
227
-     *
228
-     * @param int $order
229
-     */
230
-    public function set_order($order)
231
-    {
232
-        $this->set('PMD_order', $order);
233
-    }
234
-
235
-
236
-    /**
237
-     * Gets slug
238
-     *
239
-     * @return string
240
-     */
241
-    public function slug()
242
-    {
243
-        return $this->get('PMD_slug');
244
-    }
245
-
246
-
247
-    /**
248
-     * Sets slug
249
-     *
250
-     * @param string $slug
251
-     */
252
-    public function set_slug($slug)
253
-    {
254
-        $this->set('PMD_slug', $slug);
255
-    }
256
-
257
-
258
-    /**
259
-     * Gets type
260
-     *
261
-     * @return string
262
-     */
263
-    public function type()
264
-    {
265
-        return $this->get('PMD_type');
266
-    }
267
-
268
-
269
-    /**
270
-     * Sets type
271
-     *
272
-     * @param string $type
273
-     */
274
-    public function set_type($type)
275
-    {
276
-        $this->set('PMD_type', $type);
277
-    }
278
-
279
-
280
-    /**
281
-     * Gets wp_user
282
-     *
283
-     * @return int
284
-     */
285
-    public function wp_user()
286
-    {
287
-        return $this->get('PMD_wp_user');
288
-    }
289
-
290
-
291
-    /**
292
-     * Sets wp_user
293
-     *
294
-     * @param int $wp_user_id
295
-     */
296
-    public function set_wp_user($wp_user_id)
297
-    {
298
-        $this->set('PMD_wp_user', $wp_user_id);
299
-    }
300
-
301
-    /**
302
-     * Overrides parent so when PMD_type is changed we refresh the _type_obj
303
-     *
304
-     * @param string $field_name
305
-     * @param mixed $field_value
306
-     * @param boolean $use_default
307
-     */
308
-    public function set($field_name, $field_value, $use_default = false)
309
-    {
310
-        if ($field_name === 'PMD_type') {
311
-            // the type has probably changed, so forget about its old type object
312
-            $this->_type_obj = null;
313
-        }
314
-        parent::set($field_name, $field_value, $use_default);
315
-    }
316
-
317
-
318
-    /**
319
-     * Gets admin_name
320
-     *
321
-     * @return string
322
-     */
323
-    public function admin_name()
324
-    {
325
-        return $this->get('PMD_admin_name');
326
-    }
327
-
328
-
329
-    /**
330
-     * Sets admin_name
331
-     *
332
-     * @param string $admin_name
333
-     */
334
-    public function set_admin_name($admin_name)
335
-    {
336
-        $this->set('PMD_admin_name', $admin_name);
337
-    }
338
-
339
-
340
-    /**
341
-     * Gets admin_desc
342
-     *
343
-     * @return string
344
-     */
345
-    public function admin_desc()
346
-    {
347
-        return $this->get('PMD_admin_desc');
348
-    }
349
-
350
-
351
-    /**
352
-     * Sets admin_desc
353
-     *
354
-     * @param string $admin_desc
355
-     */
356
-    public function set_admin_desc($admin_desc)
357
-    {
358
-        $this->set('PMD_admin_desc', $admin_desc);
359
-    }
360
-
361
-
362
-    /**
363
-     * Gets scope
364
-     *
365
-     * @return array
366
-     */
367
-    public function scope()
368
-    {
369
-        return $this->get('PMD_scope');
370
-    }
371
-
372
-
373
-    /**
374
-     * Sets scope
375
-     *
376
-     * @param array $scope
377
-     */
378
-    public function set_scope($scope)
379
-    {
380
-        $this->set('PMD_scope', $scope);
381
-    }
382
-
383
-
384
-    /**
385
-     * Gets the payment method type for this payment method instance
386
-     *
387
-     * @return EE_PMT_Base
388
-     * @throws EE_Error
389
-     */
390
-    public function type_obj()
391
-    {
392
-        if (! $this->_type_obj) {
393
-            EE_Registry::instance()->load_lib('Payment_Method_Manager');
394
-            if (EE_Payment_Method_Manager::instance()->payment_method_type_exists($this->type())) {
395
-                $class_name = EE_Payment_Method_Manager::instance()->payment_method_class_from_type($this->type());
396
-                if (! class_exists($class_name)) {
397
-                    throw new EE_Error(
398
-                        sprintf(
399
-                            __(
400
-                                'An attempt to use the "%1$s" payment method failed, so it was deactivated.%2$sWas the "%1$s" Plugin recently deactivated? It can be reactivated on the %3$sPlugins Admin Page%4$s',
401
-                                'event_espresso'
402
-                            ),
403
-                            $class_name,
404
-                            '<br />',
405
-                            '<a href="' . admin_url('plugins.php') . '">',
406
-                            '</a>'
407
-                        )
408
-                    );
409
-                }
410
-                $r = new ReflectionClass($class_name);
411
-                $this->_type_obj = $r->newInstanceArgs(array($this));
412
-            } else {
413
-                throw new EE_Error(
414
-                    sprintf(
415
-                        __(
416
-                            'A payment method of type "%1$s" does not exist. Only ones existing are: %2$s',
417
-                            'event_espresso'
418
-                        ),
419
-                        $this->type(),
420
-                        implode(',', EE_Payment_Method_Manager::instance()->payment_method_type_names())
421
-                    )
422
-                );
423
-            }
424
-        }
425
-        return $this->_type_obj;
426
-    }
427
-
428
-
429
-    /**
430
-     * Returns a simple array of key-value pairs combining the payment method's fields (without the 'PMD_' prefix)
431
-     * and the extra meta. Mostly used for passing off ot gateways.     *
432
-     *
433
-     * @return array
434
-     */
435
-    public function settings_array()
436
-    {
437
-        $fields = $this->model_field_array();
438
-        $extra_meta = $this->all_extra_meta_array();
439
-        // remove the model's prefix from the fields
440
-        $combined_settings_array = array();
441
-        foreach ($fields as $key => $value) {
442
-            if (strpos($key, 'PMD_') === 0) {
443
-                $key_sans_model_prefix = str_replace('PMD_', '', $key);
444
-                $combined_settings_array [ $key_sans_model_prefix ] = $value;
445
-            }
446
-        }
447
-        $combined_settings_array = array_merge($extra_meta, $combined_settings_array);
448
-        return $combined_settings_array;
449
-    }
450
-
451
-
452
-    /**
453
-     * Gets the HTML for displaying the payment method on a page.
454
-     *
455
-     * @param string $url
456
-     * @param string $css_class
457
-     * @return string of HTML for displaying the button
458
-     * @throws \EE_Error
459
-     */
460
-    public function button_html($url = '', $css_class = '')
461
-    {
462
-        $payment_occurs = $this->type_obj()->payment_occurs();
463
-        return '
14
+	/**
15
+	 * Payment Method type object, which has all the info about this type of payment method,
16
+	 * including functions for processing payments, to get settings forms, etc.
17
+	 *
18
+	 * @var EE_PMT_Base
19
+	 */
20
+	protected $_type_obj;
21
+
22
+
23
+	/**
24
+	 * @param array $props_n_values
25
+	 * @return EE_Payment_Method
26
+	 * @throws \EE_Error
27
+	 */
28
+	public static function new_instance($props_n_values = array())
29
+	{
30
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
31
+		return $has_object ? $has_object : new self($props_n_values, false);
32
+	}
33
+
34
+
35
+	/**
36
+	 * @param array $props_n_values
37
+	 * @return EE_Payment_Method
38
+	 * @throws \EE_Error
39
+	 */
40
+	public static function new_instance_from_db($props_n_values = array())
41
+	{
42
+		return new self($props_n_values, true);
43
+	}
44
+
45
+
46
+
47
+	/**
48
+	 * Checks if there is a payment method class of the given 'PMD_type', and if so returns the classname.
49
+	 * Otherwise returns a normal EE_Payment_Method
50
+	 *
51
+	 * @param array $props_n_values where 'PMD_type' is a gateway name like 'Paypal_Standard','Invoice',etc (basically
52
+	 *                              the classname minus 'EEPM_')
53
+	 * @return string
54
+	 */
55
+	// private static function _payment_method_type($props_n_values)
56
+	// {
57
+	//     EE_Registry::instance()->load_lib('Payment_Method_Manager');
58
+	//     $type_string = isset($props_n_values['PMD_type']) ? $props_n_values['PMD_type'] : null;
59
+	//     if (EE_Payment_Method_Manager::instance()->payment_method_type_exists($type_string)) {
60
+	//         return 'EEPM_' . $type_string;
61
+	//     } else {
62
+	//         return __CLASS__;
63
+	//     }
64
+	// }
65
+
66
+
67
+	/**
68
+	 * Gets whether this payment method can be used anywhere at all (ie frontend cart, admin, etc)
69
+	 *
70
+	 * @return boolean
71
+	 */
72
+	public function active()
73
+	{
74
+		return array_intersect(array_keys(EEM_Payment_Method::instance()->scopes()), $this->scope());
75
+	}
76
+
77
+
78
+	/**
79
+	 * Sets this PM as active by making it usable within the CART scope. Offline gateways
80
+	 * are also usable from the admin-scope as well. DOES NOT SAVE it
81
+	 *
82
+	 * @throws \EE_Error
83
+	 */
84
+	public function set_active()
85
+	{
86
+		$default_scopes = array(EEM_Payment_Method::scope_cart);
87
+		if ($this->type_obj() &&
88
+			$this->type_obj()->payment_occurs() === EE_PMT_Base::offline) {
89
+			$default_scopes[] = EEM_Payment_Method::scope_admin;
90
+		}
91
+		$this->set_scope($default_scopes);
92
+	}
93
+
94
+
95
+	/**
96
+	 * Makes this payment method apply to NO scopes at all. DOES NOT SAVE it.
97
+	 */
98
+	public function deactivate()
99
+	{
100
+		$this->set_scope(array());
101
+	}
102
+
103
+
104
+	/**
105
+	 * Gets button_url
106
+	 *
107
+	 * @return string
108
+	 */
109
+	public function button_url()
110
+	{
111
+		return $this->get('PMD_button_url');
112
+	}
113
+
114
+
115
+	/**
116
+	 * Sets button_url
117
+	 *
118
+	 * @param string $button_url
119
+	 */
120
+	public function set_button_url($button_url)
121
+	{
122
+		$this->set('PMD_button_url', $button_url);
123
+	}
124
+
125
+
126
+	/**
127
+	 * Gets debug_mode
128
+	 *
129
+	 * @return boolean
130
+	 */
131
+	public function debug_mode()
132
+	{
133
+		return $this->get('PMD_debug_mode');
134
+	}
135
+
136
+
137
+	/**
138
+	 * Sets debug_mode
139
+	 *
140
+	 * @param boolean $debug_mode
141
+	 */
142
+	public function set_debug_mode($debug_mode)
143
+	{
144
+		$this->set('PMD_debug_mode', $debug_mode);
145
+	}
146
+
147
+
148
+	/**
149
+	 * Gets description
150
+	 *
151
+	 * @return string
152
+	 */
153
+	public function description()
154
+	{
155
+		return $this->get('PMD_desc');
156
+	}
157
+
158
+
159
+	/**
160
+	 * Sets description
161
+	 *
162
+	 * @param string $description
163
+	 */
164
+	public function set_description($description)
165
+	{
166
+		$this->set('PMD_desc', $description);
167
+	}
168
+
169
+
170
+	/**
171
+	 * Gets name
172
+	 *
173
+	 * @return string
174
+	 */
175
+	public function name()
176
+	{
177
+		return $this->get('PMD_name');
178
+	}
179
+
180
+
181
+	/**
182
+	 * Sets name
183
+	 *
184
+	 * @param string $name
185
+	 */
186
+	public function set_name($name)
187
+	{
188
+		$this->set('PMD_name', $name);
189
+	}
190
+
191
+
192
+	/**
193
+	 * Gets open_by_default
194
+	 *
195
+	 * @return boolean
196
+	 */
197
+	public function open_by_default()
198
+	{
199
+		return $this->get('PMD_open_by_default');
200
+	}
201
+
202
+
203
+	/**
204
+	 * Sets open_by_default
205
+	 *
206
+	 * @param boolean $open_by_default
207
+	 */
208
+	public function set_open_by_default($open_by_default)
209
+	{
210
+		$this->set('PMD_open_by_default', $open_by_default);
211
+	}
212
+
213
+
214
+	/**
215
+	 * Gets order
216
+	 *
217
+	 * @return int
218
+	 */
219
+	public function order()
220
+	{
221
+		return $this->get('PMD_order');
222
+	}
223
+
224
+
225
+	/**
226
+	 * Sets order
227
+	 *
228
+	 * @param int $order
229
+	 */
230
+	public function set_order($order)
231
+	{
232
+		$this->set('PMD_order', $order);
233
+	}
234
+
235
+
236
+	/**
237
+	 * Gets slug
238
+	 *
239
+	 * @return string
240
+	 */
241
+	public function slug()
242
+	{
243
+		return $this->get('PMD_slug');
244
+	}
245
+
246
+
247
+	/**
248
+	 * Sets slug
249
+	 *
250
+	 * @param string $slug
251
+	 */
252
+	public function set_slug($slug)
253
+	{
254
+		$this->set('PMD_slug', $slug);
255
+	}
256
+
257
+
258
+	/**
259
+	 * Gets type
260
+	 *
261
+	 * @return string
262
+	 */
263
+	public function type()
264
+	{
265
+		return $this->get('PMD_type');
266
+	}
267
+
268
+
269
+	/**
270
+	 * Sets type
271
+	 *
272
+	 * @param string $type
273
+	 */
274
+	public function set_type($type)
275
+	{
276
+		$this->set('PMD_type', $type);
277
+	}
278
+
279
+
280
+	/**
281
+	 * Gets wp_user
282
+	 *
283
+	 * @return int
284
+	 */
285
+	public function wp_user()
286
+	{
287
+		return $this->get('PMD_wp_user');
288
+	}
289
+
290
+
291
+	/**
292
+	 * Sets wp_user
293
+	 *
294
+	 * @param int $wp_user_id
295
+	 */
296
+	public function set_wp_user($wp_user_id)
297
+	{
298
+		$this->set('PMD_wp_user', $wp_user_id);
299
+	}
300
+
301
+	/**
302
+	 * Overrides parent so when PMD_type is changed we refresh the _type_obj
303
+	 *
304
+	 * @param string $field_name
305
+	 * @param mixed $field_value
306
+	 * @param boolean $use_default
307
+	 */
308
+	public function set($field_name, $field_value, $use_default = false)
309
+	{
310
+		if ($field_name === 'PMD_type') {
311
+			// the type has probably changed, so forget about its old type object
312
+			$this->_type_obj = null;
313
+		}
314
+		parent::set($field_name, $field_value, $use_default);
315
+	}
316
+
317
+
318
+	/**
319
+	 * Gets admin_name
320
+	 *
321
+	 * @return string
322
+	 */
323
+	public function admin_name()
324
+	{
325
+		return $this->get('PMD_admin_name');
326
+	}
327
+
328
+
329
+	/**
330
+	 * Sets admin_name
331
+	 *
332
+	 * @param string $admin_name
333
+	 */
334
+	public function set_admin_name($admin_name)
335
+	{
336
+		$this->set('PMD_admin_name', $admin_name);
337
+	}
338
+
339
+
340
+	/**
341
+	 * Gets admin_desc
342
+	 *
343
+	 * @return string
344
+	 */
345
+	public function admin_desc()
346
+	{
347
+		return $this->get('PMD_admin_desc');
348
+	}
349
+
350
+
351
+	/**
352
+	 * Sets admin_desc
353
+	 *
354
+	 * @param string $admin_desc
355
+	 */
356
+	public function set_admin_desc($admin_desc)
357
+	{
358
+		$this->set('PMD_admin_desc', $admin_desc);
359
+	}
360
+
361
+
362
+	/**
363
+	 * Gets scope
364
+	 *
365
+	 * @return array
366
+	 */
367
+	public function scope()
368
+	{
369
+		return $this->get('PMD_scope');
370
+	}
371
+
372
+
373
+	/**
374
+	 * Sets scope
375
+	 *
376
+	 * @param array $scope
377
+	 */
378
+	public function set_scope($scope)
379
+	{
380
+		$this->set('PMD_scope', $scope);
381
+	}
382
+
383
+
384
+	/**
385
+	 * Gets the payment method type for this payment method instance
386
+	 *
387
+	 * @return EE_PMT_Base
388
+	 * @throws EE_Error
389
+	 */
390
+	public function type_obj()
391
+	{
392
+		if (! $this->_type_obj) {
393
+			EE_Registry::instance()->load_lib('Payment_Method_Manager');
394
+			if (EE_Payment_Method_Manager::instance()->payment_method_type_exists($this->type())) {
395
+				$class_name = EE_Payment_Method_Manager::instance()->payment_method_class_from_type($this->type());
396
+				if (! class_exists($class_name)) {
397
+					throw new EE_Error(
398
+						sprintf(
399
+							__(
400
+								'An attempt to use the "%1$s" payment method failed, so it was deactivated.%2$sWas the "%1$s" Plugin recently deactivated? It can be reactivated on the %3$sPlugins Admin Page%4$s',
401
+								'event_espresso'
402
+							),
403
+							$class_name,
404
+							'<br />',
405
+							'<a href="' . admin_url('plugins.php') . '">',
406
+							'</a>'
407
+						)
408
+					);
409
+				}
410
+				$r = new ReflectionClass($class_name);
411
+				$this->_type_obj = $r->newInstanceArgs(array($this));
412
+			} else {
413
+				throw new EE_Error(
414
+					sprintf(
415
+						__(
416
+							'A payment method of type "%1$s" does not exist. Only ones existing are: %2$s',
417
+							'event_espresso'
418
+						),
419
+						$this->type(),
420
+						implode(',', EE_Payment_Method_Manager::instance()->payment_method_type_names())
421
+					)
422
+				);
423
+			}
424
+		}
425
+		return $this->_type_obj;
426
+	}
427
+
428
+
429
+	/**
430
+	 * Returns a simple array of key-value pairs combining the payment method's fields (without the 'PMD_' prefix)
431
+	 * and the extra meta. Mostly used for passing off ot gateways.     *
432
+	 *
433
+	 * @return array
434
+	 */
435
+	public function settings_array()
436
+	{
437
+		$fields = $this->model_field_array();
438
+		$extra_meta = $this->all_extra_meta_array();
439
+		// remove the model's prefix from the fields
440
+		$combined_settings_array = array();
441
+		foreach ($fields as $key => $value) {
442
+			if (strpos($key, 'PMD_') === 0) {
443
+				$key_sans_model_prefix = str_replace('PMD_', '', $key);
444
+				$combined_settings_array [ $key_sans_model_prefix ] = $value;
445
+			}
446
+		}
447
+		$combined_settings_array = array_merge($extra_meta, $combined_settings_array);
448
+		return $combined_settings_array;
449
+	}
450
+
451
+
452
+	/**
453
+	 * Gets the HTML for displaying the payment method on a page.
454
+	 *
455
+	 * @param string $url
456
+	 * @param string $css_class
457
+	 * @return string of HTML for displaying the button
458
+	 * @throws \EE_Error
459
+	 */
460
+	public function button_html($url = '', $css_class = '')
461
+	{
462
+		$payment_occurs = $this->type_obj()->payment_occurs();
463
+		return '
464 464
 		 <div id="'
465
-               . $this->slug()
466
-               . '-payment-option-dv" class="'
467
-               . $payment_occurs . '-payment-gateway reg-page-payment-option-dv' . $css_class . '">
465
+			   . $this->slug()
466
+			   . '-payment-option-dv" class="'
467
+			   . $payment_occurs . '-payment-gateway reg-page-payment-option-dv' . $css_class . '">
468 468
 			<a id="payment-gateway-button-' . $this->slug()
469
-               . '" class="reg-page-payment-option-lnk" rel="'
470
-               . $this->slug() . '" href="' . $url . '" >
469
+			   . '" class="reg-page-payment-option-lnk" rel="'
470
+			   . $this->slug() . '" href="' . $url . '" >
471 471
 				<img src="' . $this->button_url() . '" alt="' . sprintf(
472
-                   esc_attr__('Pay using %s', 'event_espresso'),
473
-                   $this->get_pretty('PMD_name', 'form_input')
474
-               ) . '" />
472
+				   esc_attr__('Pay using %s', 'event_espresso'),
473
+				   $this->get_pretty('PMD_name', 'form_input')
474
+			   ) . '" />
475 475
 			</a>
476 476
 		</div>
477 477
 ';
478
-    }
479
-
480
-
481
-    /**
482
-     * Gets all the currencies which are an option for this payment method
483
-     * (as defined by the gateway and the currently active currencies)
484
-     *
485
-     * @return EE_Currency[]
486
-     * @throws \EE_Error
487
-     */
488
-    public function get_all_usable_currencies()
489
-    {
490
-        return EEM_Currency::instance()->get_all_currencies_usable_by($this->type_obj());
491
-    }
492
-
493
-
494
-    /**
495
-     * Reports whether or not this payment method can be used for this payment method
496
-     *
497
-     * @param string $currency_code currency ID (code)
498
-     * @return boolean
499
-     * @throws \EE_Error
500
-     */
501
-    public function usable_for_currency($currency_code)
502
-    {
503
-        foreach ($this->get_all_usable_currencies() as $currency_obj) {
504
-            if ($currency_obj->ID() === $currency_code) {
505
-                return true;
506
-            }
507
-        }
508
-        return false;
509
-    }
510
-
511
-
512
-    /**
513
-     * Returns TRUE if this payment method's gateway is an instance of EE_Onsite_Gateway
514
-     *
515
-     * @return bool
516
-     * @throws \EE_Error
517
-     */
518
-    public function is_on_site()
519
-    {
520
-        return $this->type_obj()->payment_occurs() === EE_PMT_Base::onsite;
521
-    }
522
-
523
-
524
-    /**
525
-     * Returns TRUE if this payment method's gateway is an instance of EE_Offsite_Gateway
526
-     *
527
-     * @return bool
528
-     * @throws \EE_Error
529
-     */
530
-    public function is_off_site()
531
-    {
532
-        return $this->type_obj()->payment_occurs() === EE_PMT_Base::offsite;
533
-    }
534
-
535
-
536
-    /**
537
-     * Returns TRUE if this payment method does not utilize a gateway
538
-     *
539
-     * @return bool
540
-     * @throws \EE_Error
541
-     */
542
-    public function is_off_line()
543
-    {
544
-        return $this->type_obj()->payment_occurs() === EE_PMT_Base::offline;
545
-    }
546
-
547
-    /**
548
-     * Overrides default __sleep so the object type is NOT cached.
549
-     * This way we can rely on the normal EE_Payment_Method::type_obj() logic
550
-     * to load the required classes, and don't need them at the time of unserialization
551
-     *
552
-     * @return array
553
-     */
554
-    public function __sleep()
555
-    {
556
-        $properties = get_object_vars($this);
557
-        unset($properties['_type_obj']);
558
-        return array_keys($properties);
559
-    }
560
-
561
-
562
-    /**
563
-     * Overrides parent to add some logging for when payment methods get deactivated
564
-     *
565
-     * @param array $set_cols_n_values
566
-     * @return int @see EE_Base_Class::save()
567
-     * @throws \EE_Error
568
-     */
569
-    public function save($set_cols_n_values = array())
570
-    {
571
-        $results = parent::save($set_cols_n_values);
572
-        if ($this->get_original('PMD_scope') !== $this->get('PMD_scope')) {
573
-            EE_Log::instance()->log(
574
-                __FILE__,
575
-                __FUNCTION__,
576
-                sprintf(
577
-                    __('Set new scope on payment method %1$s to %2$s from %3$s on URL %4$s', 'event_espresso'),
578
-                    $this->name(),
579
-                    serialize($this->get_original('PMD_scope')),
580
-                    serialize($this->get('PMD_scope')),
581
-                    EE_Registry::instance()->REQ->get_current_page_permalink()
582
-                ),
583
-                'payment_method_change'
584
-            );
585
-        }
586
-        return $results;
587
-    }
478
+	}
479
+
480
+
481
+	/**
482
+	 * Gets all the currencies which are an option for this payment method
483
+	 * (as defined by the gateway and the currently active currencies)
484
+	 *
485
+	 * @return EE_Currency[]
486
+	 * @throws \EE_Error
487
+	 */
488
+	public function get_all_usable_currencies()
489
+	{
490
+		return EEM_Currency::instance()->get_all_currencies_usable_by($this->type_obj());
491
+	}
492
+
493
+
494
+	/**
495
+	 * Reports whether or not this payment method can be used for this payment method
496
+	 *
497
+	 * @param string $currency_code currency ID (code)
498
+	 * @return boolean
499
+	 * @throws \EE_Error
500
+	 */
501
+	public function usable_for_currency($currency_code)
502
+	{
503
+		foreach ($this->get_all_usable_currencies() as $currency_obj) {
504
+			if ($currency_obj->ID() === $currency_code) {
505
+				return true;
506
+			}
507
+		}
508
+		return false;
509
+	}
510
+
511
+
512
+	/**
513
+	 * Returns TRUE if this payment method's gateway is an instance of EE_Onsite_Gateway
514
+	 *
515
+	 * @return bool
516
+	 * @throws \EE_Error
517
+	 */
518
+	public function is_on_site()
519
+	{
520
+		return $this->type_obj()->payment_occurs() === EE_PMT_Base::onsite;
521
+	}
522
+
523
+
524
+	/**
525
+	 * Returns TRUE if this payment method's gateway is an instance of EE_Offsite_Gateway
526
+	 *
527
+	 * @return bool
528
+	 * @throws \EE_Error
529
+	 */
530
+	public function is_off_site()
531
+	{
532
+		return $this->type_obj()->payment_occurs() === EE_PMT_Base::offsite;
533
+	}
534
+
535
+
536
+	/**
537
+	 * Returns TRUE if this payment method does not utilize a gateway
538
+	 *
539
+	 * @return bool
540
+	 * @throws \EE_Error
541
+	 */
542
+	public function is_off_line()
543
+	{
544
+		return $this->type_obj()->payment_occurs() === EE_PMT_Base::offline;
545
+	}
546
+
547
+	/**
548
+	 * Overrides default __sleep so the object type is NOT cached.
549
+	 * This way we can rely on the normal EE_Payment_Method::type_obj() logic
550
+	 * to load the required classes, and don't need them at the time of unserialization
551
+	 *
552
+	 * @return array
553
+	 */
554
+	public function __sleep()
555
+	{
556
+		$properties = get_object_vars($this);
557
+		unset($properties['_type_obj']);
558
+		return array_keys($properties);
559
+	}
560
+
561
+
562
+	/**
563
+	 * Overrides parent to add some logging for when payment methods get deactivated
564
+	 *
565
+	 * @param array $set_cols_n_values
566
+	 * @return int @see EE_Base_Class::save()
567
+	 * @throws \EE_Error
568
+	 */
569
+	public function save($set_cols_n_values = array())
570
+	{
571
+		$results = parent::save($set_cols_n_values);
572
+		if ($this->get_original('PMD_scope') !== $this->get('PMD_scope')) {
573
+			EE_Log::instance()->log(
574
+				__FILE__,
575
+				__FUNCTION__,
576
+				sprintf(
577
+					__('Set new scope on payment method %1$s to %2$s from %3$s on URL %4$s', 'event_espresso'),
578
+					$this->name(),
579
+					serialize($this->get_original('PMD_scope')),
580
+					serialize($this->get('PMD_scope')),
581
+					EE_Registry::instance()->REQ->get_current_page_permalink()
582
+				),
583
+				'payment_method_change'
584
+			);
585
+		}
586
+		return $results;
587
+	}
588 588
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -389,11 +389,11 @@  discard block
 block discarded – undo
389 389
      */
390 390
     public function type_obj()
391 391
     {
392
-        if (! $this->_type_obj) {
392
+        if ( ! $this->_type_obj) {
393 393
             EE_Registry::instance()->load_lib('Payment_Method_Manager');
394 394
             if (EE_Payment_Method_Manager::instance()->payment_method_type_exists($this->type())) {
395 395
                 $class_name = EE_Payment_Method_Manager::instance()->payment_method_class_from_type($this->type());
396
-                if (! class_exists($class_name)) {
396
+                if ( ! class_exists($class_name)) {
397 397
                     throw new EE_Error(
398 398
                         sprintf(
399 399
                             __(
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
                             ),
403 403
                             $class_name,
404 404
                             '<br />',
405
-                            '<a href="' . admin_url('plugins.php') . '">',
405
+                            '<a href="'.admin_url('plugins.php').'">',
406 406
                             '</a>'
407 407
                         )
408 408
                     );
@@ -441,7 +441,7 @@  discard block
 block discarded – undo
441 441
         foreach ($fields as $key => $value) {
442 442
             if (strpos($key, 'PMD_') === 0) {
443 443
                 $key_sans_model_prefix = str_replace('PMD_', '', $key);
444
-                $combined_settings_array [ $key_sans_model_prefix ] = $value;
444
+                $combined_settings_array [$key_sans_model_prefix] = $value;
445 445
             }
446 446
         }
447 447
         $combined_settings_array = array_merge($extra_meta, $combined_settings_array);
@@ -464,14 +464,14 @@  discard block
 block discarded – undo
464 464
 		 <div id="'
465 465
                . $this->slug()
466 466
                . '-payment-option-dv" class="'
467
-               . $payment_occurs . '-payment-gateway reg-page-payment-option-dv' . $css_class . '">
467
+               . $payment_occurs.'-payment-gateway reg-page-payment-option-dv'.$css_class.'">
468 468
 			<a id="payment-gateway-button-' . $this->slug()
469 469
                . '" class="reg-page-payment-option-lnk" rel="'
470
-               . $this->slug() . '" href="' . $url . '" >
471
-				<img src="' . $this->button_url() . '" alt="' . sprintf(
470
+               . $this->slug().'" href="'.$url.'" >
471
+				<img src="' . $this->button_url().'" alt="'.sprintf(
472 472
                    esc_attr__('Pay using %s', 'event_espresso'),
473 473
                    $this->get_pretty('PMD_name', 'form_input')
474
-               ) . '" />
474
+               ).'" />
475 475
 			</a>
476 476
 		</div>
477 477
 ';
Please login to merge, or discard this patch.
core/db_classes/EE_Event_Venue.class.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -6,23 +6,23 @@
 block discarded – undo
6 6
 class EE_Event_Venue extends EE_Base_Class
7 7
 {
8 8
 
9
-    /**
10
-     * @param array $props_n_values
11
-     * @return EE_Event_Venue|mixed
12
-     */
13
-    public static function new_instance($props_n_values = array())
14
-    {
15
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
16
-        return $has_object ? $has_object : new self($props_n_values);
17
-    }
9
+	/**
10
+	 * @param array $props_n_values
11
+	 * @return EE_Event_Venue|mixed
12
+	 */
13
+	public static function new_instance($props_n_values = array())
14
+	{
15
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
16
+		return $has_object ? $has_object : new self($props_n_values);
17
+	}
18 18
 
19 19
 
20
-    /**
21
-     * @param array $props_n_values
22
-     * @return EE_Event_Venue
23
-     */
24
-    public static function new_instance_from_db($props_n_values = array())
25
-    {
26
-        return new self($props_n_values, true);
27
-    }
20
+	/**
21
+	 * @param array $props_n_values
22
+	 * @return EE_Event_Venue
23
+	 */
24
+	public static function new_instance_from_db($props_n_values = array())
25
+	{
26
+		return new self($props_n_values, true);
27
+	}
28 28
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Soft_Delete_Base_Class.class.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -12,53 +12,53 @@
 block discarded – undo
12 12
 {
13 13
 
14 14
 
15
-    /**
16
-     * Overrides parent _delete() so that we do soft deletes.
17
-     *
18
-     * @return bool|int
19
-     */
20
-    protected function _delete()
21
-    {
22
-        return $this->delete_or_restore();
23
-    }
15
+	/**
16
+	 * Overrides parent _delete() so that we do soft deletes.
17
+	 *
18
+	 * @return bool|int
19
+	 */
20
+	protected function _delete()
21
+	{
22
+		return $this->delete_or_restore();
23
+	}
24 24
 
25 25
 
26
-    /**
27
-     * Deletes or restores this object.
28
-     *
29
-     * @param bool $delete true=>delete, false=>restore
30
-     * @return bool|int
31
-     */
32
-    public function delete_or_restore($delete = true)
33
-    {
34
-        /**
35
-         * Called just before trashing (soft delete) or restoring a trashed item.
36
-         *
37
-         * @param EE_Base_Class $model_object about to be trashed or restored
38
-         * @param bool          $delete       true the item is being trashed, false the item is being restored.
39
-         */
40
-        do_action('AHEE__EE_Soft_Delete_Base_Class__delete_or_restore__before', $this, $delete);
41
-        $model = $this->get_model();
42
-        $result = $model->delete_or_restore_by_ID($delete, $this->ID());
43
-        /**
44
-         * Called just after trashing (soft delete) or restoring a trashed item.
45
-         *
46
-         * @param EE_Base_Class $model_object that was just trashed or restored.
47
-         * @param bool          $delete       true the item is being trashed, false the item is being restored.
48
-         * @param bool|int      $result
49
-         */
50
-        do_action('AHEE__EE_Soft_Delete_Base_Class__delete_or_restore__after', $this, $delete, $result);
51
-        return $result;
52
-    }
26
+	/**
27
+	 * Deletes or restores this object.
28
+	 *
29
+	 * @param bool $delete true=>delete, false=>restore
30
+	 * @return bool|int
31
+	 */
32
+	public function delete_or_restore($delete = true)
33
+	{
34
+		/**
35
+		 * Called just before trashing (soft delete) or restoring a trashed item.
36
+		 *
37
+		 * @param EE_Base_Class $model_object about to be trashed or restored
38
+		 * @param bool          $delete       true the item is being trashed, false the item is being restored.
39
+		 */
40
+		do_action('AHEE__EE_Soft_Delete_Base_Class__delete_or_restore__before', $this, $delete);
41
+		$model = $this->get_model();
42
+		$result = $model->delete_or_restore_by_ID($delete, $this->ID());
43
+		/**
44
+		 * Called just after trashing (soft delete) or restoring a trashed item.
45
+		 *
46
+		 * @param EE_Base_Class $model_object that was just trashed or restored.
47
+		 * @param bool          $delete       true the item is being trashed, false the item is being restored.
48
+		 * @param bool|int      $result
49
+		 */
50
+		do_action('AHEE__EE_Soft_Delete_Base_Class__delete_or_restore__after', $this, $delete, $result);
51
+		return $result;
52
+	}
53 53
 
54 54
 
55
-    /**
56
-     * Performs a restoration (un-deletes) this object
57
-     *
58
-     * @return bool|int
59
-     */
60
-    public function restore()
61
-    {
62
-        return $this->delete_or_restore(false);
63
-    }
55
+	/**
56
+	 * Performs a restoration (un-deletes) this object
57
+	 *
58
+	 * @return bool|int
59
+	 */
60
+	public function restore()
61
+	{
62
+		return $this->delete_or_restore(false);
63
+	}
64 64
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Event_Question_Group.class.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -6,23 +6,23 @@
 block discarded – undo
6 6
 class EE_Event_Question_Group extends EE_Base_Class
7 7
 {
8 8
 
9
-    /**
10
-     * @param array $props_n_values
11
-     * @return EE_Event_Question_Group|mixed
12
-     */
13
-    public static function new_instance($props_n_values = array())
14
-    {
15
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
16
-        return $has_object ? $has_object : new self($props_n_values);
17
-    }
9
+	/**
10
+	 * @param array $props_n_values
11
+	 * @return EE_Event_Question_Group|mixed
12
+	 */
13
+	public static function new_instance($props_n_values = array())
14
+	{
15
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
16
+		return $has_object ? $has_object : new self($props_n_values);
17
+	}
18 18
 
19 19
 
20
-    /**
21
-     * @param array $props_n_values
22
-     * @return EE_Event_Question_Group
23
-     */
24
-    public static function new_instance_from_db($props_n_values = array())
25
-    {
26
-        return new self($props_n_values, true);
27
-    }
20
+	/**
21
+	 * @param array $props_n_values
22
+	 * @return EE_Event_Question_Group
23
+	 */
24
+	public static function new_instance_from_db($props_n_values = array())
25
+	{
26
+		return new self($props_n_values, true);
27
+	}
28 28
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Status.class.php 2 patches
Indentation   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -12,142 +12,142 @@
 block discarded – undo
12 12
 class EE_Status extends EE_Base_Class
13 13
 {
14 14
 
15
-    /**
16
-     * @param array $props_n_values
17
-     * @return EE_Status
18
-     */
19
-    public static function new_instance($props_n_values = array())
20
-    {
21
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
22
-        return $has_object ? $has_object : new self($props_n_values);
23
-    }
24
-
25
-
26
-    /**
27
-     * @param array $props_n_values
28
-     * @return EE_Status
29
-     */
30
-    public static function new_instance_from_db($props_n_values = array())
31
-    {
32
-        return new self($props_n_values, true);
33
-    }
34
-
35
-
36
-    /**
37
-     * Gets code
38
-     *
39
-     * @param bool   $plural
40
-     * @param string $schema
41
-     * @return string
42
-     */
43
-    public function code($plural = false, $schema = 'upper')
44
-    {
45
-        $id = $this->get('STS_ID');
46
-        $code = EEM_Status::instance()->localized_status(array($id => $this->get('STS_code')), $plural, $schema);
47
-        return $code[ $id ];
48
-    }
49
-
50
-
51
-    /**
52
-     * Sets code
53
-     *
54
-     * @param string $code
55
-     * @return boolean
56
-     */
57
-    public function set_code($code)
58
-    {
59
-        $this->set('STS_code', $code);
60
-    }
61
-
62
-
63
-    /**
64
-     * Gets desc
65
-     *
66
-     * @return string
67
-     */
68
-    public function desc()
69
-    {
70
-        return $this->get('STS_desc');
71
-    }
72
-
73
-
74
-    /**
75
-     * Sets desc
76
-     *
77
-     * @param string $desc
78
-     * @return boolean
79
-     */
80
-    public function set_desc($desc)
81
-    {
82
-        $this->set('STS_desc', $desc);
83
-    }
84
-
85
-
86
-    /**
87
-     * Gets type
88
-     *
89
-     * @return string
90
-     */
91
-    public function type()
92
-    {
93
-        return $this->get('STS_type');
94
-    }
95
-
96
-
97
-    /**
98
-     * Sets type
99
-     *
100
-     * @param string $type
101
-     * @return boolean
102
-     */
103
-    public function set_type($type)
104
-    {
105
-        $this->set('STS_type', $type);
106
-    }
107
-
108
-
109
-    /**
110
-     * Gets can_edit
111
-     *
112
-     * @return boolean
113
-     */
114
-    public function can_edit()
115
-    {
116
-        return $this->get('STS_can_edit');
117
-    }
118
-
119
-
120
-    /**
121
-     * Sets can_edit
122
-     *
123
-     * @param boolean $can_edit
124
-     * @return boolean
125
-     */
126
-    public function set_can_edit($can_edit)
127
-    {
128
-        $this->set('STS_can_edit', $can_edit);
129
-    }
130
-
131
-
132
-    /**
133
-     * Gets open
134
-     *
135
-     * @return boolean
136
-     */
137
-    public function open()
138
-    {
139
-        return $this->get('STS_open');
140
-    }
141
-
142
-
143
-    /**
144
-     * Sets open
145
-     *
146
-     * @param boolean $open
147
-     * @return boolean
148
-     */
149
-    public function set_open($open)
150
-    {
151
-        $this->set('STS_open', $open);
152
-    }
15
+	/**
16
+	 * @param array $props_n_values
17
+	 * @return EE_Status
18
+	 */
19
+	public static function new_instance($props_n_values = array())
20
+	{
21
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
22
+		return $has_object ? $has_object : new self($props_n_values);
23
+	}
24
+
25
+
26
+	/**
27
+	 * @param array $props_n_values
28
+	 * @return EE_Status
29
+	 */
30
+	public static function new_instance_from_db($props_n_values = array())
31
+	{
32
+		return new self($props_n_values, true);
33
+	}
34
+
35
+
36
+	/**
37
+	 * Gets code
38
+	 *
39
+	 * @param bool   $plural
40
+	 * @param string $schema
41
+	 * @return string
42
+	 */
43
+	public function code($plural = false, $schema = 'upper')
44
+	{
45
+		$id = $this->get('STS_ID');
46
+		$code = EEM_Status::instance()->localized_status(array($id => $this->get('STS_code')), $plural, $schema);
47
+		return $code[ $id ];
48
+	}
49
+
50
+
51
+	/**
52
+	 * Sets code
53
+	 *
54
+	 * @param string $code
55
+	 * @return boolean
56
+	 */
57
+	public function set_code($code)
58
+	{
59
+		$this->set('STS_code', $code);
60
+	}
61
+
62
+
63
+	/**
64
+	 * Gets desc
65
+	 *
66
+	 * @return string
67
+	 */
68
+	public function desc()
69
+	{
70
+		return $this->get('STS_desc');
71
+	}
72
+
73
+
74
+	/**
75
+	 * Sets desc
76
+	 *
77
+	 * @param string $desc
78
+	 * @return boolean
79
+	 */
80
+	public function set_desc($desc)
81
+	{
82
+		$this->set('STS_desc', $desc);
83
+	}
84
+
85
+
86
+	/**
87
+	 * Gets type
88
+	 *
89
+	 * @return string
90
+	 */
91
+	public function type()
92
+	{
93
+		return $this->get('STS_type');
94
+	}
95
+
96
+
97
+	/**
98
+	 * Sets type
99
+	 *
100
+	 * @param string $type
101
+	 * @return boolean
102
+	 */
103
+	public function set_type($type)
104
+	{
105
+		$this->set('STS_type', $type);
106
+	}
107
+
108
+
109
+	/**
110
+	 * Gets can_edit
111
+	 *
112
+	 * @return boolean
113
+	 */
114
+	public function can_edit()
115
+	{
116
+		return $this->get('STS_can_edit');
117
+	}
118
+
119
+
120
+	/**
121
+	 * Sets can_edit
122
+	 *
123
+	 * @param boolean $can_edit
124
+	 * @return boolean
125
+	 */
126
+	public function set_can_edit($can_edit)
127
+	{
128
+		$this->set('STS_can_edit', $can_edit);
129
+	}
130
+
131
+
132
+	/**
133
+	 * Gets open
134
+	 *
135
+	 * @return boolean
136
+	 */
137
+	public function open()
138
+	{
139
+		return $this->get('STS_open');
140
+	}
141
+
142
+
143
+	/**
144
+	 * Sets open
145
+	 *
146
+	 * @param boolean $open
147
+	 * @return boolean
148
+	 */
149
+	public function set_open($open)
150
+	{
151
+		$this->set('STS_open', $open);
152
+	}
153 153
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@
 block discarded – undo
44 44
     {
45 45
         $id = $this->get('STS_ID');
46 46
         $code = EEM_Status::instance()->localized_status(array($id => $this->get('STS_code')), $plural, $schema);
47
-        return $code[ $id ];
47
+        return $code[$id];
48 48
     }
49 49
 
50 50
 
Please login to merge, or discard this patch.