Completed
Branch dependabot/npm_and_yarn/@wordp... (e9f48b)
by
unknown
60:52 queued 52:34
created
core/libraries/template_parts/EE_Template_Part_Manager.class.php 2 patches
Indentation   +191 added lines, -191 removed lines patch added patch discarded remove patch
@@ -14,195 +14,195 @@
 block discarded – undo
14 14
 class EE_Template_Part_Manager
15 15
 {
16 16
 
17
-    /**
18
-     * @param EE_Template_Part_PriorityQueue $template_parts
19
-     */
20
-    protected $template_parts;
21
-
22
-    /**
23
-     * @param array $priorities
24
-     */
25
-    protected $priorities = array();
26
-
27
-    /**
28
-     * @param int $event_desc_priority
29
-     */
30
-    protected $event_desc_priority;
31
-
32
-    /**
33
-     * @param string $before_event_content
34
-     */
35
-    protected $before_event_content;
36
-
37
-    /**
38
-     * @param string $event_content
39
-     */
40
-    protected $event_content;
41
-
42
-    /**
43
-     * @param string $after_event_content
44
-     */
45
-    protected $after_event_content;
46
-
47
-
48
-    /**
49
-     *    class constructor
50
-     */
51
-    public function __construct()
52
-    {
53
-        $this->template_parts = new EE_Template_Part_PriorityQueue();
54
-    }
55
-
56
-
57
-    /**
58
-     *    add_template_part
59
-     *
60
-     *    used for setting the details about a particular template part
61
-     *
62
-     * @param string $name     - just a simple string identifier - do NOT use 'event'
63
-     * @param string $label    - template part label displayed in admin
64
-     * @param string $template - name or path of template to be used by EEH_Template::locate_template()
65
-     * @param int    $priority - order in which template parts should be applied
66
-     */
67
-    public function add_template_part($name, $label, $template, $priority)
68
-    {
69
-        // SplPriorityQueue doesn't play nice with multiple items having the same priority
70
-        // so if the incoming priority is already occupied, then let's increment it by one,
71
-        // and then pass everything back into this method and try again with the new priority
72
-        if (isset($this->priorities[ $priority ])) {
73
-            $priority++;
74
-            $this->add_template_part($name, $label, $template, $priority);
75
-            return;
76
-        }
77
-        // kk now we can mark this priority as being occupied
78
-        $this->priorities[ $priority ] = true;
79
-        // create the template part and add to the queue
80
-        $this->template_parts->insert(
81
-            new EE_Template_Part($name, $label, $template, $priority),
82
-            $priority
83
-        );
84
-        if ($name === 'event') {
85
-            $this->event_desc_priority = $priority;
86
-        }
87
-    }
88
-
89
-
90
-    /**
91
-     *    apply_template_part_filters
92
-     *
93
-     *    adds template parts to the supplied content
94
-     *    according to the details set when the template parts were added
95
-     *
96
-     * @access public
97
-     * @param string $content
98
-     * @return string
99
-     */
100
-    public function apply_template_part_filters($content = '')
101
-    {
102
-        $this->template_parts->rewind();
103
-        // loop through template parts and position content
104
-        while ($this->template_parts->valid()) {
105
-            $this->_position_template_part(
106
-                $content,
107
-                $this->template_parts->current()->template(),
108
-                $this->template_parts->current()->priority()
109
-            );
110
-            $this->template_parts->next();
111
-        }
112
-        // now simply add our three strings of content together
113
-        return $this->before_event_content . $this->event_content . $this->after_event_content;
114
-    }
115
-
116
-
117
-    /**
118
-     *    position_template_part
119
-     *
120
-     * based on the priority of the incoming template part
121
-     * relative to the known event description template part priority,
122
-     * this method will assign template parts to one of the following:
123
-     *        $this->before_event_content
124
-     *        $this->event_content
125
-     *        $this->after_event_content
126
-     *
127
-     * @access protected
128
-     * @param string $content
129
-     * @param string $template
130
-     * @param int    $priority
131
-     * @return void
132
-     */
133
-    protected function _position_template_part($content, $template, $priority)
134
-    {
135
-        // Event Description content is the actual incoming content itself
136
-        if ($priority === $this->event_desc_priority) {
137
-            $this->event_content = $content;
138
-        } elseif ($priority < $this->event_desc_priority) {
139
-            // everything BEFORE the Event Description
140
-            $this->before_event_content .= EEH_Template::locate_template($template);
141
-        } elseif ($priority > $this->event_desc_priority) {
142
-            // everything AFTER the Event Description
143
-            $this->after_event_content .= EEH_Template::locate_template($template);
144
-        }
145
-    }
146
-
147
-
148
-    /**
149
-     *    generate_sortable_list_of_template_parts
150
-     *
151
-     *    creates an HTML list (<ul>) with list items (<li>) for each template part,
152
-     *    in a format that can be used as a sortable list in the admin
153
-     *
154
-     * @access public
155
-     * @param string $list_css_id
156
-     * @param string $list_css_class
157
-     * @param string $list_item_css_class
158
-     * @param string $list_item_css_id_prefix
159
-     * @return string
160
-     */
161
-    public function generate_sortable_list_of_template_parts(
162
-        $list_css_id = '',
163
-        $list_css_class = '',
164
-        $list_item_css_class = '',
165
-        $list_item_css_id_prefix = ''
166
-    ) {
167
-        $event_archive_display_order = EEH_HTML::ul($list_css_id, $list_css_class);
168
-        $this->template_parts->rewind();
169
-        // loop through template parts and add template content
170
-        while ($this->template_parts->valid()) {
171
-            $event_archive_display_order .= EEH_HTML::li(
172
-                EEH_HTML::span('', '', 'dashicons dashicons-arrow-up-alt2') .
173
-                EEH_HTML::span('', '', 'dashicons dashicons-arrow-down-alt2') .
174
-                $this->template_parts->current()->label(),
175
-                $list_item_css_id_prefix . $this->template_parts->current()->name(),
176
-                $list_item_css_class
177
-            );
178
-            $this->template_parts->next();
179
-        }
180
-        $event_archive_display_order .= EEH_HTML::ulx();
181
-        return $event_archive_display_order;
182
-    }
183
-
184
-
185
-    /**
186
-     *    display_template_parts
187
-     *
188
-     * just for debugging purposes
189
-     *
190
-     * @access    public
191
-     * @return void
192
-     */
193
-    public function display_template_parts()
194
-    {
195
-        if (WP_DEBUG) {
196
-            $this->template_parts->rewind();
197
-            while ($this->template_parts->valid()) {
198
-                EEH_Debug_Tools::printr(
199
-                    $this->template_parts->current(),
200
-                    'template_part',
201
-                    __FILE__,
202
-                    __LINE__
203
-                );
204
-                $this->template_parts->next();
205
-            }
206
-        }
207
-    }
17
+	/**
18
+	 * @param EE_Template_Part_PriorityQueue $template_parts
19
+	 */
20
+	protected $template_parts;
21
+
22
+	/**
23
+	 * @param array $priorities
24
+	 */
25
+	protected $priorities = array();
26
+
27
+	/**
28
+	 * @param int $event_desc_priority
29
+	 */
30
+	protected $event_desc_priority;
31
+
32
+	/**
33
+	 * @param string $before_event_content
34
+	 */
35
+	protected $before_event_content;
36
+
37
+	/**
38
+	 * @param string $event_content
39
+	 */
40
+	protected $event_content;
41
+
42
+	/**
43
+	 * @param string $after_event_content
44
+	 */
45
+	protected $after_event_content;
46
+
47
+
48
+	/**
49
+	 *    class constructor
50
+	 */
51
+	public function __construct()
52
+	{
53
+		$this->template_parts = new EE_Template_Part_PriorityQueue();
54
+	}
55
+
56
+
57
+	/**
58
+	 *    add_template_part
59
+	 *
60
+	 *    used for setting the details about a particular template part
61
+	 *
62
+	 * @param string $name     - just a simple string identifier - do NOT use 'event'
63
+	 * @param string $label    - template part label displayed in admin
64
+	 * @param string $template - name or path of template to be used by EEH_Template::locate_template()
65
+	 * @param int    $priority - order in which template parts should be applied
66
+	 */
67
+	public function add_template_part($name, $label, $template, $priority)
68
+	{
69
+		// SplPriorityQueue doesn't play nice with multiple items having the same priority
70
+		// so if the incoming priority is already occupied, then let's increment it by one,
71
+		// and then pass everything back into this method and try again with the new priority
72
+		if (isset($this->priorities[ $priority ])) {
73
+			$priority++;
74
+			$this->add_template_part($name, $label, $template, $priority);
75
+			return;
76
+		}
77
+		// kk now we can mark this priority as being occupied
78
+		$this->priorities[ $priority ] = true;
79
+		// create the template part and add to the queue
80
+		$this->template_parts->insert(
81
+			new EE_Template_Part($name, $label, $template, $priority),
82
+			$priority
83
+		);
84
+		if ($name === 'event') {
85
+			$this->event_desc_priority = $priority;
86
+		}
87
+	}
88
+
89
+
90
+	/**
91
+	 *    apply_template_part_filters
92
+	 *
93
+	 *    adds template parts to the supplied content
94
+	 *    according to the details set when the template parts were added
95
+	 *
96
+	 * @access public
97
+	 * @param string $content
98
+	 * @return string
99
+	 */
100
+	public function apply_template_part_filters($content = '')
101
+	{
102
+		$this->template_parts->rewind();
103
+		// loop through template parts and position content
104
+		while ($this->template_parts->valid()) {
105
+			$this->_position_template_part(
106
+				$content,
107
+				$this->template_parts->current()->template(),
108
+				$this->template_parts->current()->priority()
109
+			);
110
+			$this->template_parts->next();
111
+		}
112
+		// now simply add our three strings of content together
113
+		return $this->before_event_content . $this->event_content . $this->after_event_content;
114
+	}
115
+
116
+
117
+	/**
118
+	 *    position_template_part
119
+	 *
120
+	 * based on the priority of the incoming template part
121
+	 * relative to the known event description template part priority,
122
+	 * this method will assign template parts to one of the following:
123
+	 *        $this->before_event_content
124
+	 *        $this->event_content
125
+	 *        $this->after_event_content
126
+	 *
127
+	 * @access protected
128
+	 * @param string $content
129
+	 * @param string $template
130
+	 * @param int    $priority
131
+	 * @return void
132
+	 */
133
+	protected function _position_template_part($content, $template, $priority)
134
+	{
135
+		// Event Description content is the actual incoming content itself
136
+		if ($priority === $this->event_desc_priority) {
137
+			$this->event_content = $content;
138
+		} elseif ($priority < $this->event_desc_priority) {
139
+			// everything BEFORE the Event Description
140
+			$this->before_event_content .= EEH_Template::locate_template($template);
141
+		} elseif ($priority > $this->event_desc_priority) {
142
+			// everything AFTER the Event Description
143
+			$this->after_event_content .= EEH_Template::locate_template($template);
144
+		}
145
+	}
146
+
147
+
148
+	/**
149
+	 *    generate_sortable_list_of_template_parts
150
+	 *
151
+	 *    creates an HTML list (<ul>) with list items (<li>) for each template part,
152
+	 *    in a format that can be used as a sortable list in the admin
153
+	 *
154
+	 * @access public
155
+	 * @param string $list_css_id
156
+	 * @param string $list_css_class
157
+	 * @param string $list_item_css_class
158
+	 * @param string $list_item_css_id_prefix
159
+	 * @return string
160
+	 */
161
+	public function generate_sortable_list_of_template_parts(
162
+		$list_css_id = '',
163
+		$list_css_class = '',
164
+		$list_item_css_class = '',
165
+		$list_item_css_id_prefix = ''
166
+	) {
167
+		$event_archive_display_order = EEH_HTML::ul($list_css_id, $list_css_class);
168
+		$this->template_parts->rewind();
169
+		// loop through template parts and add template content
170
+		while ($this->template_parts->valid()) {
171
+			$event_archive_display_order .= EEH_HTML::li(
172
+				EEH_HTML::span('', '', 'dashicons dashicons-arrow-up-alt2') .
173
+				EEH_HTML::span('', '', 'dashicons dashicons-arrow-down-alt2') .
174
+				$this->template_parts->current()->label(),
175
+				$list_item_css_id_prefix . $this->template_parts->current()->name(),
176
+				$list_item_css_class
177
+			);
178
+			$this->template_parts->next();
179
+		}
180
+		$event_archive_display_order .= EEH_HTML::ulx();
181
+		return $event_archive_display_order;
182
+	}
183
+
184
+
185
+	/**
186
+	 *    display_template_parts
187
+	 *
188
+	 * just for debugging purposes
189
+	 *
190
+	 * @access    public
191
+	 * @return void
192
+	 */
193
+	public function display_template_parts()
194
+	{
195
+		if (WP_DEBUG) {
196
+			$this->template_parts->rewind();
197
+			while ($this->template_parts->valid()) {
198
+				EEH_Debug_Tools::printr(
199
+					$this->template_parts->current(),
200
+					'template_part',
201
+					__FILE__,
202
+					__LINE__
203
+				);
204
+				$this->template_parts->next();
205
+			}
206
+		}
207
+	}
208 208
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -69,13 +69,13 @@  discard block
 block discarded – undo
69 69
         // SplPriorityQueue doesn't play nice with multiple items having the same priority
70 70
         // so if the incoming priority is already occupied, then let's increment it by one,
71 71
         // and then pass everything back into this method and try again with the new priority
72
-        if (isset($this->priorities[ $priority ])) {
72
+        if (isset($this->priorities[$priority])) {
73 73
             $priority++;
74 74
             $this->add_template_part($name, $label, $template, $priority);
75 75
             return;
76 76
         }
77 77
         // kk now we can mark this priority as being occupied
78
-        $this->priorities[ $priority ] = true;
78
+        $this->priorities[$priority] = true;
79 79
         // create the template part and add to the queue
80 80
         $this->template_parts->insert(
81 81
             new EE_Template_Part($name, $label, $template, $priority),
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
             $this->template_parts->next();
111 111
         }
112 112
         // now simply add our three strings of content together
113
-        return $this->before_event_content . $this->event_content . $this->after_event_content;
113
+        return $this->before_event_content.$this->event_content.$this->after_event_content;
114 114
     }
115 115
 
116 116
 
@@ -169,10 +169,10 @@  discard block
 block discarded – undo
169 169
         // loop through template parts and add template content
170 170
         while ($this->template_parts->valid()) {
171 171
             $event_archive_display_order .= EEH_HTML::li(
172
-                EEH_HTML::span('', '', 'dashicons dashicons-arrow-up-alt2') .
173
-                EEH_HTML::span('', '', 'dashicons dashicons-arrow-down-alt2') .
172
+                EEH_HTML::span('', '', 'dashicons dashicons-arrow-up-alt2').
173
+                EEH_HTML::span('', '', 'dashicons dashicons-arrow-down-alt2').
174 174
                 $this->template_parts->current()->label(),
175
-                $list_item_css_id_prefix . $this->template_parts->current()->name(),
175
+                $list_item_css_id_prefix.$this->template_parts->current()->name(),
176 176
                 $list_item_css_class
177 177
             );
178 178
             $this->template_parts->next();
Please login to merge, or discard this patch.
core/libraries/template_parts/EE_Template_Part.class.php 1 patch
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -16,112 +16,112 @@
 block discarded – undo
16 16
 {
17 17
 
18 18
 
19
-    /**
20
-     * @type string $name
21
-     */
22
-    protected $name;
23
-
24
-    /**
25
-     * @type string $label
26
-     */
27
-    protected $label;
28
-
29
-    /**
30
-     * @type string $template
31
-     */
32
-    protected $template;
33
-
34
-    /**
35
-     * @type int $priority
36
-     */
37
-    protected $priority;
38
-
39
-
40
-    /**
41
-     *    class constructor
42
-     *
43
-     * @param string $name
44
-     * @param string $label
45
-     * @param string $template
46
-     * @param int    $priority
47
-     */
48
-    public function __construct($name, $label, $template, $priority = 100)
49
-    {
50
-        $this->set_name($name);
51
-        $this->set_label($label);
52
-        $this->set_template($template);
53
-        $this->set_priority($priority);
54
-    }
55
-
56
-
57
-    /**
58
-     * @return mixed
59
-     */
60
-    public function name()
61
-    {
62
-        return $this->name;
63
-    }
64
-
65
-
66
-    /**
67
-     * @param mixed $name
68
-     */
69
-    public function set_name($name)
70
-    {
71
-        $this->name = $name;
72
-    }
73
-
74
-
75
-    /**
76
-     * @return string
77
-     */
78
-    public function label()
79
-    {
80
-        return $this->label;
81
-    }
82
-
83
-
84
-    /**
85
-     * @param string $label
86
-     */
87
-    public function set_label($label)
88
-    {
89
-        $this->label = $label;
90
-    }
91
-
92
-
93
-    /**
94
-     * @return array
95
-     */
96
-    public function template()
97
-    {
98
-        return $this->template;
99
-    }
100
-
101
-
102
-    /**
103
-     * @param string $template
104
-     */
105
-    public function set_template($template)
106
-    {
107
-        $this->template = $template;
108
-    }
109
-
110
-
111
-    /**
112
-     * @return int
113
-     */
114
-    public function priority()
115
-    {
116
-        return $this->priority;
117
-    }
118
-
119
-
120
-    /**
121
-     * @param int $priority
122
-     */
123
-    public function set_priority($priority)
124
-    {
125
-        $this->priority = intval($priority);
126
-    }
19
+	/**
20
+	 * @type string $name
21
+	 */
22
+	protected $name;
23
+
24
+	/**
25
+	 * @type string $label
26
+	 */
27
+	protected $label;
28
+
29
+	/**
30
+	 * @type string $template
31
+	 */
32
+	protected $template;
33
+
34
+	/**
35
+	 * @type int $priority
36
+	 */
37
+	protected $priority;
38
+
39
+
40
+	/**
41
+	 *    class constructor
42
+	 *
43
+	 * @param string $name
44
+	 * @param string $label
45
+	 * @param string $template
46
+	 * @param int    $priority
47
+	 */
48
+	public function __construct($name, $label, $template, $priority = 100)
49
+	{
50
+		$this->set_name($name);
51
+		$this->set_label($label);
52
+		$this->set_template($template);
53
+		$this->set_priority($priority);
54
+	}
55
+
56
+
57
+	/**
58
+	 * @return mixed
59
+	 */
60
+	public function name()
61
+	{
62
+		return $this->name;
63
+	}
64
+
65
+
66
+	/**
67
+	 * @param mixed $name
68
+	 */
69
+	public function set_name($name)
70
+	{
71
+		$this->name = $name;
72
+	}
73
+
74
+
75
+	/**
76
+	 * @return string
77
+	 */
78
+	public function label()
79
+	{
80
+		return $this->label;
81
+	}
82
+
83
+
84
+	/**
85
+	 * @param string $label
86
+	 */
87
+	public function set_label($label)
88
+	{
89
+		$this->label = $label;
90
+	}
91
+
92
+
93
+	/**
94
+	 * @return array
95
+	 */
96
+	public function template()
97
+	{
98
+		return $this->template;
99
+	}
100
+
101
+
102
+	/**
103
+	 * @param string $template
104
+	 */
105
+	public function set_template($template)
106
+	{
107
+		$this->template = $template;
108
+	}
109
+
110
+
111
+	/**
112
+	 * @return int
113
+	 */
114
+	public function priority()
115
+	{
116
+		return $this->priority;
117
+	}
118
+
119
+
120
+	/**
121
+	 * @param int $priority
122
+	 */
123
+	public function set_priority($priority)
124
+	{
125
+		$this->priority = intval($priority);
126
+	}
127 127
 }
Please login to merge, or discard this patch.
core/libraries/template_parts/EE_Template_Part_PriorityQueue.class.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -17,43 +17,43 @@
 block discarded – undo
17 17
 {
18 18
 
19 19
 
20
-    /**
21
-     * add
22
-     *
23
-     * attaches aTemplate_Part to the Collection
24
-     * and sets any supplied data associated with the current iterator entry
25
-     *
26
-     * @access public
27
-     * @param EE_Template_Part $object
28
-     * @param int              $priority
29
-     * @return bool
30
-     */
31
-    public function insert($object, $priority = 100)
32
-    {
33
-        if ($object instanceof EE_Template_Part) {
34
-            parent::insert($object, $priority);
35
-            return true;
36
-        } else {
37
-            return false;
38
-        }
39
-    }
20
+	/**
21
+	 * add
22
+	 *
23
+	 * attaches aTemplate_Part to the Collection
24
+	 * and sets any supplied data associated with the current iterator entry
25
+	 *
26
+	 * @access public
27
+	 * @param EE_Template_Part $object
28
+	 * @param int              $priority
29
+	 * @return bool
30
+	 */
31
+	public function insert($object, $priority = 100)
32
+	{
33
+		if ($object instanceof EE_Template_Part) {
34
+			parent::insert($object, $priority);
35
+			return true;
36
+		} else {
37
+			return false;
38
+		}
39
+	}
40 40
 
41 41
 
42
-    /**
43
-     * compare
44
-     *
45
-     * sorts EE_Template_Part in ascending order based on set priority
46
-     *
47
-     * @access public
48
-     * @param int $priority1
49
-     * @param int $priority2
50
-     * @return bool
51
-     */
52
-    public function compare($priority1, $priority2)
53
-    {
54
-        if ($priority1 === $priority2) {
55
-            return 0;
56
-        }
57
-        return $priority1 > $priority2 ? -1 : 1;
58
-    }
42
+	/**
43
+	 * compare
44
+	 *
45
+	 * sorts EE_Template_Part in ascending order based on set priority
46
+	 *
47
+	 * @access public
48
+	 * @param int $priority1
49
+	 * @param int $priority2
50
+	 * @return bool
51
+	 */
52
+	public function compare($priority1, $priority2)
53
+	{
54
+		if ($priority1 === $priority2) {
55
+			return 0;
56
+		}
57
+		return $priority1 > $priority2 ? -1 : 1;
58
+	}
59 59
 }
Please login to merge, or discard this patch.
core/business/EE_Processor_Base.class.php 2 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -14,71 +14,71 @@
 block discarded – undo
14 14
 class EE_Processor_Base
15 15
 {
16 16
 
17
-    /**
18
-     * Used to indicate whether current request is for an IPN or not.
19
-     *
20
-     * @var bool
21
-     */
22
-    protected static $IPN = false;
17
+	/**
18
+	 * Used to indicate whether current request is for an IPN or not.
19
+	 *
20
+	 * @var bool
21
+	 */
22
+	protected static $IPN = false;
23 23
 
24
-    /**
25
-     * Used to indicate whether SPCO is being revisited by registrant or not.
26
-     *
27
-     * @var bool
28
-     */
29
-    protected $_revisit = false;
24
+	/**
25
+	 * Used to indicate whether SPCO is being revisited by registrant or not.
26
+	 *
27
+	 * @var bool
28
+	 */
29
+	protected $_revisit = false;
30 30
 
31 31
 
32
-    /**
33
-     * @param boolean $IPN
34
-     */
35
-    public static function set_IPN($IPN)
36
-    {
37
-        self::$IPN = filter_var($IPN, FILTER_VALIDATE_BOOLEAN);
38
-    }
32
+	/**
33
+	 * @param boolean $IPN
34
+	 */
35
+	public static function set_IPN($IPN)
36
+	{
37
+		self::$IPN = filter_var($IPN, FILTER_VALIDATE_BOOLEAN);
38
+	}
39 39
 
40 40
 
41
-    /**
42
-     * Allows external class (usually checkout) to set whether SPCO is being revisited by registrant or not.
43
-     *
44
-     * @param bool $revisit
45
-     * @return void
46
-     */
47
-    public function set_revisit($revisit = false)
48
-    {
49
-        $this->_revisit = filter_var($revisit, FILTER_VALIDATE_BOOLEAN);
50
-    }
41
+	/**
42
+	 * Allows external class (usually checkout) to set whether SPCO is being revisited by registrant or not.
43
+	 *
44
+	 * @param bool $revisit
45
+	 * @return void
46
+	 */
47
+	public function set_revisit($revisit = false)
48
+	{
49
+		$this->_revisit = filter_var($revisit, FILTER_VALIDATE_BOOLEAN);
50
+	}
51 51
 
52 52
 
53
-    /**
54
-     * debug
55
-     *
56
-     * @param string          $class
57
-     * @param string          $func
58
-     * @param string          $line
59
-     * @param \EE_Transaction $transaction
60
-     * @param array           $info
61
-     * @param bool            $display_request
62
-     */
63
-    protected function log(
64
-        $class = '',
65
-        $func = '',
66
-        $line = '',
67
-        EE_Transaction $transaction,
68
-        $info = array(),
69
-        $display_request = false
70
-    ) {
71
-        if (WP_DEBUG && false) {
72
-            if ($transaction instanceof EE_Transaction) {
73
-                // don't serialize objects
74
-                $info = EEH_Debug_Tools::strip_objects($info);
75
-                if ($transaction->ID()) {
76
-                    $info['TXN_status'] = $transaction->status_ID();
77
-                    $info['TXN_reg_steps'] = $transaction->reg_steps();
78
-                    $index = 'EE_Transaction: ' . $transaction->ID();
79
-                    EEH_Debug_Tools::log($class, $func, $line, $info, $display_request, $index);
80
-                }
81
-            }
82
-        }
83
-    }
53
+	/**
54
+	 * debug
55
+	 *
56
+	 * @param string          $class
57
+	 * @param string          $func
58
+	 * @param string          $line
59
+	 * @param \EE_Transaction $transaction
60
+	 * @param array           $info
61
+	 * @param bool            $display_request
62
+	 */
63
+	protected function log(
64
+		$class = '',
65
+		$func = '',
66
+		$line = '',
67
+		EE_Transaction $transaction,
68
+		$info = array(),
69
+		$display_request = false
70
+	) {
71
+		if (WP_DEBUG && false) {
72
+			if ($transaction instanceof EE_Transaction) {
73
+				// don't serialize objects
74
+				$info = EEH_Debug_Tools::strip_objects($info);
75
+				if ($transaction->ID()) {
76
+					$info['TXN_status'] = $transaction->status_ID();
77
+					$info['TXN_reg_steps'] = $transaction->reg_steps();
78
+					$index = 'EE_Transaction: ' . $transaction->ID();
79
+					EEH_Debug_Tools::log($class, $func, $line, $info, $display_request, $index);
80
+				}
81
+			}
82
+		}
83
+	}
84 84
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -75,7 +75,7 @@
 block discarded – undo
75 75
                 if ($transaction->ID()) {
76 76
                     $info['TXN_status'] = $transaction->status_ID();
77 77
                     $info['TXN_reg_steps'] = $transaction->reg_steps();
78
-                    $index = 'EE_Transaction: ' . $transaction->ID();
78
+                    $index = 'EE_Transaction: '.$transaction->ID();
79 79
                     EEH_Debug_Tools::log($class, $func, $line, $info, $display_request, $index);
80 80
                 }
81 81
             }
Please login to merge, or discard this patch.
core/business/EE_Transaction_Processor.class.php 3 patches
Indentation   +944 added lines, -944 removed lines patch added patch discarded remove patch
@@ -17,948 +17,948 @@
 block discarded – undo
17 17
 class EE_Transaction_Processor extends EE_Processor_Base
18 18
 {
19 19
 
20
-    /**
21
-     * @var EE_Registration_Processor $_instance
22
-     * @access    private
23
-     */
24
-    private static $_instance;
25
-
26
-    /**
27
-     * array of query WHERE params to use when retrieving cached registrations from a transaction
28
-     *
29
-     * @var array $registration_query_params
30
-     * @access private
31
-     */
32
-    private $_registration_query_params = array();
33
-
34
-    /**
35
-     * @deprecated
36
-     * @var string
37
-     */
38
-    protected $_old_txn_status;
39
-
40
-    /**
41
-     * @deprecated
42
-     * @var string
43
-     */
44
-    protected $_new_txn_status;
45
-
46
-
47
-    /**
48
-     * @singleton method used to instantiate class object
49
-     * @access    public
50
-     * @param array $registration_query_params
51
-     * @return EE_Transaction_Processor instance
52
-     */
53
-    public static function instance($registration_query_params = array())
54
-    {
55
-        // check if class object is instantiated
56
-        if (! self::$_instance instanceof EE_Transaction_Processor) {
57
-            self::$_instance = new self($registration_query_params);
58
-        }
59
-        return self::$_instance;
60
-    }
61
-
62
-
63
-    /**
64
-     * @param array $registration_query_params
65
-     */
66
-    private function __construct($registration_query_params = array())
67
-    {
68
-        // make sure some query params are set for retrieving registrations
69
-        $this->_set_registration_query_params($registration_query_params);
70
-    }
71
-
72
-
73
-    /**
74
-     * @access private
75
-     * @param array $registration_query_params
76
-     */
77
-    private function _set_registration_query_params($registration_query_params)
78
-    {
79
-        $this->_registration_query_params = ! empty($registration_query_params) ? $registration_query_params
80
-            : array('order_by' => array('REG_count' => 'ASC'));
81
-    }
82
-
83
-
84
-    /**
85
-     * manually_update_registration_statuses
86
-     *
87
-     * @access public
88
-     * @param EE_Transaction $transaction
89
-     * @param string         $new_reg_status
90
-     * @param array          $registration_query_params array of query WHERE params to use
91
-     *                                                  when retrieving cached registrations from a transaction
92
-     * @return    boolean
93
-     * @throws \EE_Error
94
-     */
95
-    public function manually_update_registration_statuses(
96
-        EE_Transaction $transaction,
97
-        $new_reg_status = '',
98
-        $registration_query_params = array()
99
-    ) {
100
-        $status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
101
-            'manually_update_registration_status',
102
-            $transaction,
103
-            $registration_query_params,
104
-            $new_reg_status
105
-        );
106
-        // send messages
107
-        /** @type EE_Registration_Processor $registration_processor */
108
-        $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
109
-        $registration_processor->trigger_registration_update_notifications(
110
-            $transaction->primary_registration(),
111
-            array('manually_updated' => true)
112
-        );
113
-        do_action(
114
-            'AHEE__EE_Transaction_Processor__manually_update_registration_statuses',
115
-            $transaction,
116
-            $status_updates
117
-        );
118
-        return $status_updates;
119
-    }
120
-
121
-
122
-    /**
123
-     * toggle_registration_statuses_for_default_approved_events
124
-     *
125
-     * @access public
126
-     * @param EE_Transaction $transaction
127
-     * @param array          $registration_query_params array of query WHERE params to use
128
-     *                                                  when retrieving cached registrations from a transaction
129
-     * @return    boolean
130
-     * @throws \EE_Error
131
-     */
132
-    public function toggle_registration_statuses_for_default_approved_events(
133
-        EE_Transaction $transaction,
134
-        $registration_query_params = array()
135
-    ) {
136
-        $status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
137
-            'toggle_registration_status_for_default_approved_events',
138
-            $transaction,
139
-            $registration_query_params
140
-        );
141
-        do_action(
142
-            'AHEE__EE_Transaction_Processor__toggle_registration_statuses_for_default_approved_events',
143
-            $transaction,
144
-            $status_updates
145
-        );
146
-        return $status_updates;
147
-    }
148
-
149
-
150
-    /**
151
-     * toggle_registration_statuses_if_no_monies_owing
152
-     *
153
-     * @access public
154
-     * @param EE_Transaction $transaction
155
-     * @param array          $registration_query_params array of query WHERE params to use
156
-     *                                                  when retrieving cached registrations from a transaction
157
-     * @return    boolean
158
-     * @throws \EE_Error
159
-     */
160
-    public function toggle_registration_statuses_if_no_monies_owing(
161
-        EE_Transaction $transaction,
162
-        $registration_query_params = array()
163
-    ) {
164
-        $status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
165
-            'toggle_registration_status_if_no_monies_owing',
166
-            $transaction,
167
-            $registration_query_params
168
-        );
169
-        do_action(
170
-            'AHEE__EE_Transaction_Processor__toggle_registration_statuses_if_no_monies_owing',
171
-            $transaction,
172
-            $status_updates
173
-        );
174
-        return $status_updates;
175
-    }
176
-
177
-
178
-    /**
179
-     * update_transaction_and_registrations_after_checkout_or_payment
180
-     * cycles thru related registrations and calls update_registration_after_checkout_or_payment() on each
181
-     *
182
-     * @param EE_Transaction     $transaction
183
-     * @param \EE_Payment | NULL $payment
184
-     * @param array              $registration_query_params    array of query WHERE params to use
185
-     *                                                         when retrieving cached registrations from a transaction
186
-     * @param bool               $trigger_notifications        whether or not to call
187
-     *                                                         \EE_Registration_Processor::trigger_registration_update_notifications()
188
-     * @return array
189
-     * @throws \EE_Error
190
-     */
191
-    public function update_transaction_and_registrations_after_checkout_or_payment(
192
-        EE_Transaction $transaction,
193
-        $payment = null,
194
-        $registration_query_params = array(),
195
-        $trigger_notifications = true
196
-    ) {
197
-        // make sure some query params are set for retrieving registrations
198
-        $this->_set_registration_query_params($registration_query_params);
199
-        // get final reg step status
200
-        $finalized = $transaction->final_reg_step_completed();
201
-        // if the 'finalize_registration' step has been initiated (has a timestamp)
202
-        // but has not yet been fully completed (TRUE)
203
-        if (is_int($finalized) && $finalized !== false && $finalized !== true) {
204
-            $transaction->set_reg_step_completed('finalize_registration');
205
-            $finalized = true;
206
-        }
207
-        $transaction->save();
208
-        // array of details to aid in decision making by systems
209
-        $update_params = array(
210
-            'old_txn_status'  => $transaction->old_txn_status(),
211
-            'new_txn_status'  => $transaction->status_ID(),
212
-            'finalized'       => $finalized,
213
-            'revisit'         => $this->_revisit,
214
-            'payment_updates' => $payment instanceof EE_Payment ? true : false,
215
-            'last_payment'    => $payment,
216
-        );
217
-        // now update the registrations and add the results to our $update_params
218
-        $update_params['status_updates'] = $this->_call_method_on_registrations_via_Registration_Processor(
219
-            'update_registration_after_checkout_or_payment',
220
-            $transaction,
221
-            $this->_registration_query_params,
222
-            $update_params
223
-        );
224
-        if ($trigger_notifications) {
225
-            // send messages
226
-            /** @type EE_Registration_Processor $registration_processor */
227
-            $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
228
-            $registration_processor->trigger_registration_update_notifications(
229
-                $transaction->primary_registration(),
230
-                $update_params
231
-            );
232
-        }
233
-        do_action(
234
-            'AHEE__EE_Transaction_Processor__update_transaction_and_registrations_after_checkout_or_payment',
235
-            $transaction,
236
-            $update_params
237
-        );
238
-        return $update_params;
239
-    }
240
-
241
-
242
-    /**
243
-     * update_transaction_after_registration_reopened
244
-     * readjusts TXN and Line Item totals after a registration is changed from
245
-     * cancelled or declined to another reg status such as pending payment or approved
246
-     *
247
-     * @param \EE_Registration $registration
248
-     * @param array            $closed_reg_statuses
249
-     * @param bool             $update_txn
250
-     * @return bool
251
-     * @throws \EE_Error
252
-     */
253
-    public function update_transaction_after_reinstating_canceled_registration(
254
-        EE_Registration $registration,
255
-        $closed_reg_statuses = array(),
256
-        $update_txn = true
257
-    ) {
258
-        // these reg statuses should not be considered in any calculations involving monies owing
259
-        $closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
260
-            : EEM_Registration::closed_reg_statuses();
261
-        if (in_array($registration->status_ID(), $closed_reg_statuses, true)) {
262
-            return false;
263
-        }
264
-        try {
265
-            $transaction = $this->get_transaction_for_registration($registration);
266
-            $ticket_line_item = $this->get_ticket_line_item_for_transaction_registration(
267
-                $transaction,
268
-                $registration
269
-            );
270
-            // un-cancel the ticket
271
-            $success = EEH_Line_Item::reinstate_canceled_ticket_line_item($ticket_line_item);
272
-        } catch (EE_Error $e) {
273
-            EE_Error::add_error(
274
-                sprintf(
275
-                    __(
276
-                        'The Ticket Line Item for Registration %1$d could not be reinstated because :%2$s%3$s',
277
-                        'event_espresso'
278
-                    ),
279
-                    $registration->ID(),
280
-                    '<br />',
281
-                    $e->getMessage()
282
-                ),
283
-                __FILE__,
284
-                __FUNCTION__,
285
-                __LINE__
286
-            );
287
-            return false;
288
-        }
289
-        if ($update_txn) {
290
-            return $transaction->save() ? $success : false;
291
-        }
292
-        return $success;
293
-    }
294
-
295
-
296
-    /**
297
-     * update_transaction_after_canceled_or_declined_registration
298
-     * readjusts TXN and Line Item totals after a registration is cancelled or declined
299
-     *
300
-     * @param \EE_Registration $registration
301
-     * @param array            $closed_reg_statuses
302
-     * @param bool             $update_txn
303
-     * @return bool
304
-     * @throws \EE_Error
305
-     */
306
-    public function update_transaction_after_canceled_or_declined_registration(
307
-        EE_Registration $registration,
308
-        $closed_reg_statuses = array(),
309
-        $update_txn = true
310
-    ) {
311
-        // these reg statuses should not be considered in any calculations involving monies owing
312
-        $closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
313
-            : EEM_Registration::closed_reg_statuses();
314
-        if (! in_array($registration->status_ID(), $closed_reg_statuses, true)) {
315
-            return false;
316
-        }
317
-        try {
318
-            $transaction = $this->get_transaction_for_registration($registration);
319
-            if (apply_filters(
320
-                'FHEE__EE_Transaction_Processor__update_transaction_after_canceled_or_declined_registration__cancel_ticket_line_item',
321
-                true,
322
-                $registration,
323
-                $transaction
324
-            )) {
325
-                $ticket_line_item = $this->get_ticket_line_item_for_transaction_registration(
326
-                    $transaction,
327
-                    $registration
328
-                );
329
-                EEH_Line_Item::cancel_ticket_line_item($ticket_line_item);
330
-            }
331
-        } catch (EE_Error $e) {
332
-            EE_Error::add_error(
333
-                sprintf(
334
-                    __(
335
-                        'The Ticket Line Item for Registration %1$d could not be cancelled because :%2$s%3$s',
336
-                        'event_espresso'
337
-                    ),
338
-                    $registration->ID(),
339
-                    '<br />',
340
-                    $e->getMessage()
341
-                ),
342
-                __FILE__,
343
-                __FUNCTION__,
344
-                __LINE__
345
-            );
346
-            return false;
347
-        }
348
-        if ($update_txn) {
349
-            return $transaction->save() ? true : false;
350
-        }
351
-        return true;
352
-    }
353
-
354
-
355
-    /**
356
-     * get_transaction_for_registration
357
-     *
358
-     * @access    public
359
-     * @param    EE_Registration $registration
360
-     * @return    EE_Transaction
361
-     * @throws    EE_Error
362
-     */
363
-    public function get_transaction_for_registration(EE_Registration $registration)
364
-    {
365
-        $transaction = $registration->transaction();
366
-        if (! $transaction instanceof EE_Transaction) {
367
-            throw new EE_Error(
368
-                sprintf(
369
-                    __('The Transaction for Registration %1$d was not found or is invalid.', 'event_espresso'),
370
-                    $registration->ID()
371
-                )
372
-            );
373
-        }
374
-        return $transaction;
375
-    }
376
-
377
-
378
-    /**
379
-     * get_ticket_line_item_for_transaction_registration
380
-     *
381
-     * @access    public
382
-     * @param    EE_Transaction  $transaction
383
-     * @param    EE_Registration $registration
384
-     * @return    EE_Line_Item
385
-     * @throws    EE_Error
386
-     */
387
-    public function get_ticket_line_item_for_transaction_registration(
388
-        EE_Transaction $transaction,
389
-        EE_Registration $registration
390
-    ) {
391
-        EE_Registry::instance()->load_helper('Line_Item');
392
-        $ticket_line_item = EEM_Line_Item::instance()->get_ticket_line_item_for_transaction(
393
-            $transaction->ID(),
394
-            $registration->ticket_ID()
395
-        );
396
-        if (! $ticket_line_item instanceof EE_Line_Item) {
397
-            throw new EE_Error(
398
-                sprintf(
399
-                    __(
400
-                        'The Line Item for Transaction %1$d and Ticket %2$d was not found or is invalid.',
401
-                        'event_espresso'
402
-                    ),
403
-                    $transaction->ID(),
404
-                    $registration->ticket_ID()
405
-                )
406
-            );
407
-        }
408
-        return $ticket_line_item;
409
-    }
410
-
411
-
412
-    /**
413
-     * cancel_transaction_if_all_registrations_canceled
414
-     * cycles thru related registrations and checks their statuses
415
-     * if ALL registrations are Cancelled or Declined, then this sets the TXN status to
416
-     *
417
-     * @access    public
418
-     * @param    EE_Transaction $transaction
419
-     * @param    string         $new_TXN_status
420
-     * @param    array          $registration_query_params - array of query WHERE params to use when
421
-     *                                                     retrieving cached registrations from a transaction
422
-     * @param    array          $closed_reg_statuses
423
-     * @param    bool           $update_txn
424
-     * @return    bool            true if TXN status was updated, false if not
425
-     */
426
-    public function toggle_transaction_status_if_all_registrations_canceled_or_declined(
427
-        EE_Transaction $transaction,
428
-        $new_TXN_status = '',
429
-        $registration_query_params = array(),
430
-        $closed_reg_statuses = array(),
431
-        $update_txn = true
432
-    ) {
433
-        // make sure some query params are set for retrieving registrations
434
-        $this->_set_registration_query_params($registration_query_params);
435
-        // these reg statuses should not be considered in any calculations involving monies owing
436
-        $closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
437
-            : EEM_Registration::closed_reg_statuses();
438
-        // loop through cached registrations
439
-        foreach ($transaction->registrations($this->_registration_query_params) as $registration) {
440
-            if ($registration instanceof EE_Registration
441
-                && ! in_array($registration->status_ID(), $closed_reg_statuses)
442
-            ) {
443
-                return false;
444
-            }
445
-        }
446
-        if (in_array($new_TXN_status, EEM_Transaction::txn_status_array())) {
447
-            $transaction->set_status($new_TXN_status);
448
-        }
449
-        if ($update_txn) {
450
-            return $transaction->save() ? true : false;
451
-        }
452
-        return true;
453
-    }
454
-
455
-
456
-    /**
457
-     * _call_method_on_registrations_via_Registration_Processor
458
-     * cycles thru related registrations and calls the requested method on each
459
-     *
460
-     * @access private
461
-     * @param string         $method_name
462
-     * @param EE_Transaction $transaction
463
-     * @param array          $registration_query_params array of query WHERE params to use
464
-     *                                                  when retrieving cached registrations from a transaction
465
-     * @param string         $additional_param
466
-     * @throws \EE_Error
467
-     * @return boolean
468
-     */
469
-    private function _call_method_on_registrations_via_Registration_Processor(
470
-        $method_name,
471
-        EE_Transaction $transaction,
472
-        $registration_query_params = array(),
473
-        $additional_param = null
474
-    ) {
475
-        $response = false;
476
-        /** @type EE_Registration_Processor $registration_processor */
477
-        $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
478
-        // check that method exists
479
-        if (! method_exists($registration_processor, $method_name)) {
480
-            throw new EE_Error(__('Method does not exist.', 'event_espresso'));
481
-        }
482
-        // make sure some query params are set for retrieving registrations
483
-        $this->_set_registration_query_params($registration_query_params);
484
-        // loop through cached registrations
485
-        foreach ($transaction->registrations($this->_registration_query_params) as $registration) {
486
-            if ($registration instanceof EE_Registration) {
487
-                if ($additional_param) {
488
-                    $response = $registration_processor->{$method_name}($registration, $additional_param)
489
-                        ? true
490
-                        : $response;
491
-                } else {
492
-                    $response = $registration_processor->{$method_name}($registration)
493
-                        ? true
494
-                        : $response;
495
-                }
496
-            }
497
-        }
498
-        return $response;
499
-    }
500
-
501
-
502
-    /**
503
-     * set_transaction_payment_method_based_on_registration_statuses
504
-     * sets or unsets the PMD_ID field on the TXN based on the related REG statuses
505
-     * basically if ALL Registrations are "Not Approved", then the EE_Transaction.PMD_ID is set to null,
506
-     * but if any Registration has a different status, then EE_Transaction.PMD_ID is set to either:
507
-     *        the first "default" Payment Method
508
-     *        the first active Payment Method
509
-     *    whichever is found first.
510
-     *
511
-     * @param  EE_Registration $edited_registration
512
-     * @return void
513
-     * @throws \EE_Error
514
-     */
515
-    public function set_transaction_payment_method_based_on_registration_statuses(
516
-        EE_Registration $edited_registration
517
-    ) {
518
-        if ($edited_registration instanceof EE_Registration) {
519
-            $transaction = $edited_registration->transaction();
520
-            if ($transaction instanceof EE_Transaction) {
521
-                $all_not_approved = true;
522
-                foreach ($transaction->registrations() as $registration) {
523
-                    if ($registration instanceof EE_Registration) {
524
-                        // if any REG != "Not Approved" then toggle to false
525
-                        $all_not_approved = $registration->is_not_approved() ? $all_not_approved : false;
526
-                    }
527
-                }
528
-                // if ALL Registrations are "Not Approved"
529
-                if ($all_not_approved) {
530
-                    $transaction->set_payment_method_ID(null);
531
-                    $transaction->save();
532
-                } else {
533
-                    $available_payment_methods = EEM_Payment_Method::instance()->get_all_for_transaction(
534
-                        $transaction,
535
-                        EEM_Payment_Method::scope_cart
536
-                    );
537
-                    if (! empty($available_payment_methods)) {
538
-                        $PMD_ID = 0;
539
-                        foreach ($available_payment_methods as $available_payment_method) {
540
-                            if ($available_payment_method instanceof EE_Payment_Method
541
-                                && $available_payment_method->open_by_default()
542
-                            ) {
543
-                                $PMD_ID = $available_payment_method->ID();
544
-                                break;
545
-                            }
546
-                        }
547
-                        if (! $PMD_ID) {
548
-                            $first_payment_method = reset($available_payment_methods);
549
-                            if ($first_payment_method instanceof EE_Payment_Method) {
550
-                                $PMD_ID = $first_payment_method->ID();
551
-                            } else {
552
-                                EE_Error::add_error(
553
-                                    __(
554
-                                        'A valid Payment Method could not be determined. Please ensure that at least one Payment Method is activated.',
555
-                                        'event_espresso'
556
-                                    ),
557
-                                    __FILE__,
558
-                                    __LINE__,
559
-                                    __FUNCTION__
560
-                                );
561
-                            }
562
-                        }
563
-                        $transaction->set_payment_method_ID($PMD_ID);
564
-                        $transaction->save();
565
-                    } else {
566
-                        EE_Error::add_error(
567
-                            __(
568
-                                'Please activate at least one Payment Method in order for things to operate correctly.',
569
-                                'event_espresso'
570
-                            ),
571
-                            __FILE__,
572
-                            __LINE__,
573
-                            __FUNCTION__
574
-                        );
575
-                    }
576
-                }
577
-            }
578
-        }
579
-    }
580
-
581
-
582
-
583
-    /********************************** DEPRECATED METHODS **********************************/
584
-
585
-
586
-    /**
587
-     * @deprecated 4.9.12
588
-     * @return string
589
-     */
590
-    public function old_txn_status()
591
-    {
592
-        EE_Error::doing_it_wrong(
593
-            __METHOD__,
594
-            esc_html__(
595
-                'This logic has been moved into \EE_Transaction::old_txn_status(), please use that method instead.',
596
-                'event_espresso'
597
-            ),
598
-            '4.9.12'
599
-        );
600
-        return $this->_old_txn_status;
601
-    }
602
-
603
-
604
-    /**
605
-     * @deprecated 4.9.12
606
-     * @param string $old_txn_status
607
-     */
608
-    public function set_old_txn_status($old_txn_status)
609
-    {
610
-        EE_Error::doing_it_wrong(
611
-            __METHOD__,
612
-            esc_html__(
613
-                'This logic has been moved into \EE_Transaction::set_old_txn_status(), please use that method instead.',
614
-                'event_espresso'
615
-            ),
616
-            '4.9.12'
617
-        );
618
-        // only set the first time
619
-        if ($this->_old_txn_status === null) {
620
-            $this->_old_txn_status = $old_txn_status;
621
-        }
622
-    }
623
-
624
-
625
-    /**
626
-     * @deprecated 4.9.12
627
-     * @return string
628
-     */
629
-    public function new_txn_status()
630
-    {
631
-        EE_Error::doing_it_wrong(
632
-            __METHOD__,
633
-            esc_html__(
634
-                'This logic has been removed. Please just use \EE_Transaction::status_ID() instead.',
635
-                'event_espresso'
636
-            ),
637
-            '4.9.12'
638
-        );
639
-        return $this->_new_txn_status;
640
-    }
641
-
642
-
643
-    /**
644
-     * @deprecated 4.9.12
645
-     * @param string $new_txn_status
646
-     */
647
-    public function set_new_txn_status($new_txn_status)
648
-    {
649
-        EE_Error::doing_it_wrong(
650
-            __METHOD__,
651
-            esc_html__(
652
-                'This logic has been removed. Please just use \EE_Transaction::set_status() instead.',
653
-                'event_espresso'
654
-            ),
655
-            '4.9.12'
656
-        );
657
-        $this->_new_txn_status = $new_txn_status;
658
-    }
659
-
660
-
661
-    /**
662
-     * reg_status_updated
663
-     *
664
-     * @deprecated 4.9.12
665
-     * @return bool
666
-     */
667
-    public function txn_status_updated()
668
-    {
669
-        EE_Error::doing_it_wrong(
670
-            __METHOD__,
671
-            esc_html__(
672
-                'This logic has been moved into \EE_Transaction::txn_status_updated(), please use that method instead.',
673
-                'event_espresso'
674
-            ),
675
-            '4.9.12'
676
-        );
677
-        return $this->_new_txn_status !== $this->_old_txn_status && $this->_old_txn_status !== null ? true : false;
678
-    }
679
-
680
-
681
-    /**
682
-     * all_reg_steps_completed
683
-     * returns:
684
-     *    true if ALL reg steps have been marked as completed
685
-     *        or false if any step is not completed
686
-     *
687
-     * @deprecated 4.9.12
688
-     * @param EE_Transaction $transaction
689
-     * @return boolean
690
-     */
691
-    public function all_reg_steps_completed(EE_Transaction $transaction)
692
-    {
693
-        EE_Error::doing_it_wrong(
694
-            __METHOD__,
695
-            esc_html__(
696
-                'This logic has been moved into \EE_Transaction::all_reg_steps_completed(), please use that method instead.',
697
-                'event_espresso'
698
-            ),
699
-            '4.9.12',
700
-            '5.0.0'
701
-        );
702
-        return $transaction->all_reg_steps_completed();
703
-    }
704
-
705
-
706
-    /**
707
-     * all_reg_steps_completed_except
708
-     * returns:
709
-     *        true if ALL reg steps, except a particular step that you wish to skip over, have been marked as completed
710
-     *        or false if any other step is not completed
711
-     *        or false if ALL steps are completed including the exception you are testing !!!
712
-     *
713
-     * @deprecated 4.9.12
714
-     * @param EE_Transaction $transaction
715
-     * @param string         $exception
716
-     * @return boolean
717
-     */
718
-    public function all_reg_steps_completed_except(EE_Transaction $transaction, $exception = '')
719
-    {
720
-        EE_Error::doing_it_wrong(
721
-            __METHOD__,
722
-            esc_html__(
723
-                'This logic has been moved into \EE_Transaction::all_reg_steps_completed_except(), please use that method instead.',
724
-                'event_espresso'
725
-            ),
726
-            '4.9.12',
727
-            '5.0.0'
728
-        );
729
-        return $transaction->all_reg_steps_completed_except($exception);
730
-    }
731
-
732
-
733
-    /**
734
-     * all_reg_steps_completed_except
735
-     * returns:
736
-     *        true if ALL reg steps, except the final step, have been marked as completed
737
-     *        or false if any step is not completed
738
-     *    or false if ALL steps are completed including the final step !!!
739
-     *
740
-     * @deprecated 4.9.12
741
-     * @param EE_Transaction $transaction
742
-     * @return boolean
743
-     */
744
-    public function all_reg_steps_completed_except_final_step(EE_Transaction $transaction)
745
-    {
746
-        EE_Error::doing_it_wrong(
747
-            __METHOD__,
748
-            esc_html__(
749
-                'This logic has been moved into \EE_Transaction::all_reg_steps_completed_except_final_step(), please use that method instead.',
750
-                'event_espresso'
751
-            ),
752
-            '4.9.12',
753
-            '5.0.0'
754
-        );
755
-        return $transaction->all_reg_steps_completed_except_final_step();
756
-    }
757
-
758
-
759
-    /**
760
-     * reg_step_completed
761
-     * returns:
762
-     *    true if a specific reg step has been marked as completed
763
-     *    a Unix timestamp if it has been initialized but not yet completed,
764
-     *    or false if it has not yet been initialized
765
-     *
766
-     * @deprecated 4.9.12
767
-     * @param EE_Transaction $transaction
768
-     * @param string         $reg_step_slug
769
-     * @return boolean | int
770
-     */
771
-    public function reg_step_completed(EE_Transaction $transaction, $reg_step_slug)
772
-    {
773
-        EE_Error::doing_it_wrong(
774
-            __METHOD__,
775
-            esc_html__(
776
-                'This logic has been moved into \EE_Transaction::reg_step_completed(), please use that method instead.',
777
-                'event_espresso'
778
-            ),
779
-            '4.9.12',
780
-            '5.0.0'
781
-        );
782
-        return $transaction->reg_step_completed($reg_step_slug);
783
-    }
784
-
785
-
786
-    /**
787
-     * completed_final_reg_step
788
-     * returns:
789
-     *    true if the finalize_registration reg step has been marked as completed
790
-     *    a Unix timestamp if it has been initialized but not yet completed,
791
-     *    or false if it has not yet been initialized
792
-     *
793
-     * @deprecated 4.9.12
794
-     * @param EE_Transaction $transaction
795
-     * @return boolean | int
796
-     */
797
-    public function final_reg_step_completed(EE_Transaction $transaction)
798
-    {
799
-        EE_Error::doing_it_wrong(
800
-            __METHOD__,
801
-            esc_html__(
802
-                'This logic has been moved into \EE_Transaction::final_reg_step_completed(), please use that method instead.',
803
-                'event_espresso'
804
-            ),
805
-            '4.9.12',
806
-            '5.0.0'
807
-        );
808
-        return $transaction->final_reg_step_completed();
809
-    }
810
-
811
-
812
-    /**
813
-     * set_reg_step_initiated
814
-     * given a valid TXN_reg_step, this sets it's value to a unix timestamp
815
-     *
816
-     * @deprecated 4.9.12
817
-     * @access     public
818
-     * @param \EE_Transaction $transaction
819
-     * @param string          $reg_step_slug
820
-     * @return boolean
821
-     * @throws \EE_Error
822
-     */
823
-    public function set_reg_step_initiated(EE_Transaction $transaction, $reg_step_slug)
824
-    {
825
-        EE_Error::doing_it_wrong(
826
-            __METHOD__,
827
-            esc_html__(
828
-                'This logic has been moved into \EE_Transaction::set_reg_step_initiated(), please use that method instead.',
829
-                'event_espresso'
830
-            ),
831
-            '4.9.12',
832
-            '5.0.0'
833
-        );
834
-        return $transaction->set_reg_step_initiated($reg_step_slug);
835
-    }
836
-
837
-
838
-    /**
839
-     * set_reg_step_completed
840
-     * given a valid TXN_reg_step, this sets the step as completed
841
-     *
842
-     * @deprecated 4.9.12
843
-     * @access     public
844
-     * @param \EE_Transaction $transaction
845
-     * @param string          $reg_step_slug
846
-     * @return boolean
847
-     * @throws \EE_Error
848
-     */
849
-    public function set_reg_step_completed(EE_Transaction $transaction, $reg_step_slug)
850
-    {
851
-        EE_Error::doing_it_wrong(
852
-            __METHOD__,
853
-            esc_html__(
854
-                'This logic has been moved into \EE_Transaction::set_reg_step_completed(), please use that method instead.',
855
-                'event_espresso'
856
-            ),
857
-            '4.9.12',
858
-            '5.0.0'
859
-        );
860
-        return $transaction->set_reg_step_completed($reg_step_slug);
861
-    }
862
-
863
-
864
-    /**
865
-     * set_reg_step_completed
866
-     * given a valid TXN_reg_step slug, this sets the step as NOT completed
867
-     *
868
-     * @deprecated 4.9.12
869
-     * @access     public
870
-     * @param \EE_Transaction $transaction
871
-     * @param string          $reg_step_slug
872
-     * @return boolean
873
-     * @throws \EE_Error
874
-     */
875
-    public function set_reg_step_not_completed(EE_Transaction $transaction, $reg_step_slug)
876
-    {
877
-        EE_Error::doing_it_wrong(
878
-            __METHOD__,
879
-            esc_html__(
880
-                'This logic has been moved into \EE_Transaction::set_reg_step_not_completed(), please use that method instead.',
881
-                'event_espresso'
882
-            ),
883
-            '4.9.12',
884
-            '5.0.0'
885
-        );
886
-        return $transaction->set_reg_step_not_completed($reg_step_slug);
887
-    }
888
-
889
-
890
-    /**
891
-     * remove_reg_step
892
-     * given a valid TXN_reg_step slug, this will remove (unset)
893
-     * the reg step from the TXN reg step array
894
-     *
895
-     * @deprecated 4.9.12
896
-     * @access     public
897
-     * @param \EE_Transaction $transaction
898
-     * @param string          $reg_step_slug
899
-     * @return void
900
-     */
901
-    public function remove_reg_step(EE_Transaction $transaction, $reg_step_slug)
902
-    {
903
-        EE_Error::doing_it_wrong(
904
-            __METHOD__,
905
-            esc_html__(
906
-                'This logic has been moved into \EE_Transaction::remove_reg_step(), please use that method instead.',
907
-                'event_espresso'
908
-            ),
909
-            '4.9.12',
910
-            '5.0.0'
911
-        );
912
-        $transaction->remove_reg_step($reg_step_slug);
913
-    }
914
-
915
-
916
-    /**
917
-     *    toggle_failed_transaction_status
918
-     * upgrades a TXNs status from failed to abandoned,
919
-     * meaning that contact information has been captured for at least one registrant
920
-     *
921
-     * @deprecated 4.9.12
922
-     * @access     public
923
-     * @param EE_Transaction $transaction
924
-     * @return    boolean
925
-     * @throws \EE_Error
926
-     */
927
-    public function toggle_failed_transaction_status(EE_Transaction $transaction)
928
-    {
929
-        EE_Error::doing_it_wrong(
930
-            __METHOD__,
931
-            esc_html__(
932
-                'This logic has been moved into \EE_Transaction::toggle_failed_transaction_status(), please use that method instead.',
933
-                'event_espresso'
934
-            ),
935
-            '4.9.12',
936
-            '5.0.0'
937
-        );
938
-        return $transaction->toggle_failed_transaction_status();
939
-    }
940
-
941
-
942
-    /**
943
-     * toggle_abandoned_transaction_status
944
-     * upgrades a TXNs status from failed or abandoned to incomplete
945
-     *
946
-     * @deprecated 4.9.12
947
-     * @access     public
948
-     * @param  EE_Transaction $transaction
949
-     * @return boolean
950
-     */
951
-    public function toggle_abandoned_transaction_status(EE_Transaction $transaction)
952
-    {
953
-        EE_Error::doing_it_wrong(
954
-            __METHOD__,
955
-            esc_html__(
956
-                'This logic has been moved into \EE_Transaction::toggle_abandoned_transaction_status(), please use that method instead.',
957
-                'event_espresso'
958
-            ),
959
-            '4.9.12',
960
-            '5.0.0'
961
-        );
962
-        return $transaction->toggle_abandoned_transaction_status();
963
-    }
20
+	/**
21
+	 * @var EE_Registration_Processor $_instance
22
+	 * @access    private
23
+	 */
24
+	private static $_instance;
25
+
26
+	/**
27
+	 * array of query WHERE params to use when retrieving cached registrations from a transaction
28
+	 *
29
+	 * @var array $registration_query_params
30
+	 * @access private
31
+	 */
32
+	private $_registration_query_params = array();
33
+
34
+	/**
35
+	 * @deprecated
36
+	 * @var string
37
+	 */
38
+	protected $_old_txn_status;
39
+
40
+	/**
41
+	 * @deprecated
42
+	 * @var string
43
+	 */
44
+	protected $_new_txn_status;
45
+
46
+
47
+	/**
48
+	 * @singleton method used to instantiate class object
49
+	 * @access    public
50
+	 * @param array $registration_query_params
51
+	 * @return EE_Transaction_Processor instance
52
+	 */
53
+	public static function instance($registration_query_params = array())
54
+	{
55
+		// check if class object is instantiated
56
+		if (! self::$_instance instanceof EE_Transaction_Processor) {
57
+			self::$_instance = new self($registration_query_params);
58
+		}
59
+		return self::$_instance;
60
+	}
61
+
62
+
63
+	/**
64
+	 * @param array $registration_query_params
65
+	 */
66
+	private function __construct($registration_query_params = array())
67
+	{
68
+		// make sure some query params are set for retrieving registrations
69
+		$this->_set_registration_query_params($registration_query_params);
70
+	}
71
+
72
+
73
+	/**
74
+	 * @access private
75
+	 * @param array $registration_query_params
76
+	 */
77
+	private function _set_registration_query_params($registration_query_params)
78
+	{
79
+		$this->_registration_query_params = ! empty($registration_query_params) ? $registration_query_params
80
+			: array('order_by' => array('REG_count' => 'ASC'));
81
+	}
82
+
83
+
84
+	/**
85
+	 * manually_update_registration_statuses
86
+	 *
87
+	 * @access public
88
+	 * @param EE_Transaction $transaction
89
+	 * @param string         $new_reg_status
90
+	 * @param array          $registration_query_params array of query WHERE params to use
91
+	 *                                                  when retrieving cached registrations from a transaction
92
+	 * @return    boolean
93
+	 * @throws \EE_Error
94
+	 */
95
+	public function manually_update_registration_statuses(
96
+		EE_Transaction $transaction,
97
+		$new_reg_status = '',
98
+		$registration_query_params = array()
99
+	) {
100
+		$status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
101
+			'manually_update_registration_status',
102
+			$transaction,
103
+			$registration_query_params,
104
+			$new_reg_status
105
+		);
106
+		// send messages
107
+		/** @type EE_Registration_Processor $registration_processor */
108
+		$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
109
+		$registration_processor->trigger_registration_update_notifications(
110
+			$transaction->primary_registration(),
111
+			array('manually_updated' => true)
112
+		);
113
+		do_action(
114
+			'AHEE__EE_Transaction_Processor__manually_update_registration_statuses',
115
+			$transaction,
116
+			$status_updates
117
+		);
118
+		return $status_updates;
119
+	}
120
+
121
+
122
+	/**
123
+	 * toggle_registration_statuses_for_default_approved_events
124
+	 *
125
+	 * @access public
126
+	 * @param EE_Transaction $transaction
127
+	 * @param array          $registration_query_params array of query WHERE params to use
128
+	 *                                                  when retrieving cached registrations from a transaction
129
+	 * @return    boolean
130
+	 * @throws \EE_Error
131
+	 */
132
+	public function toggle_registration_statuses_for_default_approved_events(
133
+		EE_Transaction $transaction,
134
+		$registration_query_params = array()
135
+	) {
136
+		$status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
137
+			'toggle_registration_status_for_default_approved_events',
138
+			$transaction,
139
+			$registration_query_params
140
+		);
141
+		do_action(
142
+			'AHEE__EE_Transaction_Processor__toggle_registration_statuses_for_default_approved_events',
143
+			$transaction,
144
+			$status_updates
145
+		);
146
+		return $status_updates;
147
+	}
148
+
149
+
150
+	/**
151
+	 * toggle_registration_statuses_if_no_monies_owing
152
+	 *
153
+	 * @access public
154
+	 * @param EE_Transaction $transaction
155
+	 * @param array          $registration_query_params array of query WHERE params to use
156
+	 *                                                  when retrieving cached registrations from a transaction
157
+	 * @return    boolean
158
+	 * @throws \EE_Error
159
+	 */
160
+	public function toggle_registration_statuses_if_no_monies_owing(
161
+		EE_Transaction $transaction,
162
+		$registration_query_params = array()
163
+	) {
164
+		$status_updates = $this->_call_method_on_registrations_via_Registration_Processor(
165
+			'toggle_registration_status_if_no_monies_owing',
166
+			$transaction,
167
+			$registration_query_params
168
+		);
169
+		do_action(
170
+			'AHEE__EE_Transaction_Processor__toggle_registration_statuses_if_no_monies_owing',
171
+			$transaction,
172
+			$status_updates
173
+		);
174
+		return $status_updates;
175
+	}
176
+
177
+
178
+	/**
179
+	 * update_transaction_and_registrations_after_checkout_or_payment
180
+	 * cycles thru related registrations and calls update_registration_after_checkout_or_payment() on each
181
+	 *
182
+	 * @param EE_Transaction     $transaction
183
+	 * @param \EE_Payment | NULL $payment
184
+	 * @param array              $registration_query_params    array of query WHERE params to use
185
+	 *                                                         when retrieving cached registrations from a transaction
186
+	 * @param bool               $trigger_notifications        whether or not to call
187
+	 *                                                         \EE_Registration_Processor::trigger_registration_update_notifications()
188
+	 * @return array
189
+	 * @throws \EE_Error
190
+	 */
191
+	public function update_transaction_and_registrations_after_checkout_or_payment(
192
+		EE_Transaction $transaction,
193
+		$payment = null,
194
+		$registration_query_params = array(),
195
+		$trigger_notifications = true
196
+	) {
197
+		// make sure some query params are set for retrieving registrations
198
+		$this->_set_registration_query_params($registration_query_params);
199
+		// get final reg step status
200
+		$finalized = $transaction->final_reg_step_completed();
201
+		// if the 'finalize_registration' step has been initiated (has a timestamp)
202
+		// but has not yet been fully completed (TRUE)
203
+		if (is_int($finalized) && $finalized !== false && $finalized !== true) {
204
+			$transaction->set_reg_step_completed('finalize_registration');
205
+			$finalized = true;
206
+		}
207
+		$transaction->save();
208
+		// array of details to aid in decision making by systems
209
+		$update_params = array(
210
+			'old_txn_status'  => $transaction->old_txn_status(),
211
+			'new_txn_status'  => $transaction->status_ID(),
212
+			'finalized'       => $finalized,
213
+			'revisit'         => $this->_revisit,
214
+			'payment_updates' => $payment instanceof EE_Payment ? true : false,
215
+			'last_payment'    => $payment,
216
+		);
217
+		// now update the registrations and add the results to our $update_params
218
+		$update_params['status_updates'] = $this->_call_method_on_registrations_via_Registration_Processor(
219
+			'update_registration_after_checkout_or_payment',
220
+			$transaction,
221
+			$this->_registration_query_params,
222
+			$update_params
223
+		);
224
+		if ($trigger_notifications) {
225
+			// send messages
226
+			/** @type EE_Registration_Processor $registration_processor */
227
+			$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
228
+			$registration_processor->trigger_registration_update_notifications(
229
+				$transaction->primary_registration(),
230
+				$update_params
231
+			);
232
+		}
233
+		do_action(
234
+			'AHEE__EE_Transaction_Processor__update_transaction_and_registrations_after_checkout_or_payment',
235
+			$transaction,
236
+			$update_params
237
+		);
238
+		return $update_params;
239
+	}
240
+
241
+
242
+	/**
243
+	 * update_transaction_after_registration_reopened
244
+	 * readjusts TXN and Line Item totals after a registration is changed from
245
+	 * cancelled or declined to another reg status such as pending payment or approved
246
+	 *
247
+	 * @param \EE_Registration $registration
248
+	 * @param array            $closed_reg_statuses
249
+	 * @param bool             $update_txn
250
+	 * @return bool
251
+	 * @throws \EE_Error
252
+	 */
253
+	public function update_transaction_after_reinstating_canceled_registration(
254
+		EE_Registration $registration,
255
+		$closed_reg_statuses = array(),
256
+		$update_txn = true
257
+	) {
258
+		// these reg statuses should not be considered in any calculations involving monies owing
259
+		$closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
260
+			: EEM_Registration::closed_reg_statuses();
261
+		if (in_array($registration->status_ID(), $closed_reg_statuses, true)) {
262
+			return false;
263
+		}
264
+		try {
265
+			$transaction = $this->get_transaction_for_registration($registration);
266
+			$ticket_line_item = $this->get_ticket_line_item_for_transaction_registration(
267
+				$transaction,
268
+				$registration
269
+			);
270
+			// un-cancel the ticket
271
+			$success = EEH_Line_Item::reinstate_canceled_ticket_line_item($ticket_line_item);
272
+		} catch (EE_Error $e) {
273
+			EE_Error::add_error(
274
+				sprintf(
275
+					__(
276
+						'The Ticket Line Item for Registration %1$d could not be reinstated because :%2$s%3$s',
277
+						'event_espresso'
278
+					),
279
+					$registration->ID(),
280
+					'<br />',
281
+					$e->getMessage()
282
+				),
283
+				__FILE__,
284
+				__FUNCTION__,
285
+				__LINE__
286
+			);
287
+			return false;
288
+		}
289
+		if ($update_txn) {
290
+			return $transaction->save() ? $success : false;
291
+		}
292
+		return $success;
293
+	}
294
+
295
+
296
+	/**
297
+	 * update_transaction_after_canceled_or_declined_registration
298
+	 * readjusts TXN and Line Item totals after a registration is cancelled or declined
299
+	 *
300
+	 * @param \EE_Registration $registration
301
+	 * @param array            $closed_reg_statuses
302
+	 * @param bool             $update_txn
303
+	 * @return bool
304
+	 * @throws \EE_Error
305
+	 */
306
+	public function update_transaction_after_canceled_or_declined_registration(
307
+		EE_Registration $registration,
308
+		$closed_reg_statuses = array(),
309
+		$update_txn = true
310
+	) {
311
+		// these reg statuses should not be considered in any calculations involving monies owing
312
+		$closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
313
+			: EEM_Registration::closed_reg_statuses();
314
+		if (! in_array($registration->status_ID(), $closed_reg_statuses, true)) {
315
+			return false;
316
+		}
317
+		try {
318
+			$transaction = $this->get_transaction_for_registration($registration);
319
+			if (apply_filters(
320
+				'FHEE__EE_Transaction_Processor__update_transaction_after_canceled_or_declined_registration__cancel_ticket_line_item',
321
+				true,
322
+				$registration,
323
+				$transaction
324
+			)) {
325
+				$ticket_line_item = $this->get_ticket_line_item_for_transaction_registration(
326
+					$transaction,
327
+					$registration
328
+				);
329
+				EEH_Line_Item::cancel_ticket_line_item($ticket_line_item);
330
+			}
331
+		} catch (EE_Error $e) {
332
+			EE_Error::add_error(
333
+				sprintf(
334
+					__(
335
+						'The Ticket Line Item for Registration %1$d could not be cancelled because :%2$s%3$s',
336
+						'event_espresso'
337
+					),
338
+					$registration->ID(),
339
+					'<br />',
340
+					$e->getMessage()
341
+				),
342
+				__FILE__,
343
+				__FUNCTION__,
344
+				__LINE__
345
+			);
346
+			return false;
347
+		}
348
+		if ($update_txn) {
349
+			return $transaction->save() ? true : false;
350
+		}
351
+		return true;
352
+	}
353
+
354
+
355
+	/**
356
+	 * get_transaction_for_registration
357
+	 *
358
+	 * @access    public
359
+	 * @param    EE_Registration $registration
360
+	 * @return    EE_Transaction
361
+	 * @throws    EE_Error
362
+	 */
363
+	public function get_transaction_for_registration(EE_Registration $registration)
364
+	{
365
+		$transaction = $registration->transaction();
366
+		if (! $transaction instanceof EE_Transaction) {
367
+			throw new EE_Error(
368
+				sprintf(
369
+					__('The Transaction for Registration %1$d was not found or is invalid.', 'event_espresso'),
370
+					$registration->ID()
371
+				)
372
+			);
373
+		}
374
+		return $transaction;
375
+	}
376
+
377
+
378
+	/**
379
+	 * get_ticket_line_item_for_transaction_registration
380
+	 *
381
+	 * @access    public
382
+	 * @param    EE_Transaction  $transaction
383
+	 * @param    EE_Registration $registration
384
+	 * @return    EE_Line_Item
385
+	 * @throws    EE_Error
386
+	 */
387
+	public function get_ticket_line_item_for_transaction_registration(
388
+		EE_Transaction $transaction,
389
+		EE_Registration $registration
390
+	) {
391
+		EE_Registry::instance()->load_helper('Line_Item');
392
+		$ticket_line_item = EEM_Line_Item::instance()->get_ticket_line_item_for_transaction(
393
+			$transaction->ID(),
394
+			$registration->ticket_ID()
395
+		);
396
+		if (! $ticket_line_item instanceof EE_Line_Item) {
397
+			throw new EE_Error(
398
+				sprintf(
399
+					__(
400
+						'The Line Item for Transaction %1$d and Ticket %2$d was not found or is invalid.',
401
+						'event_espresso'
402
+					),
403
+					$transaction->ID(),
404
+					$registration->ticket_ID()
405
+				)
406
+			);
407
+		}
408
+		return $ticket_line_item;
409
+	}
410
+
411
+
412
+	/**
413
+	 * cancel_transaction_if_all_registrations_canceled
414
+	 * cycles thru related registrations and checks their statuses
415
+	 * if ALL registrations are Cancelled or Declined, then this sets the TXN status to
416
+	 *
417
+	 * @access    public
418
+	 * @param    EE_Transaction $transaction
419
+	 * @param    string         $new_TXN_status
420
+	 * @param    array          $registration_query_params - array of query WHERE params to use when
421
+	 *                                                     retrieving cached registrations from a transaction
422
+	 * @param    array          $closed_reg_statuses
423
+	 * @param    bool           $update_txn
424
+	 * @return    bool            true if TXN status was updated, false if not
425
+	 */
426
+	public function toggle_transaction_status_if_all_registrations_canceled_or_declined(
427
+		EE_Transaction $transaction,
428
+		$new_TXN_status = '',
429
+		$registration_query_params = array(),
430
+		$closed_reg_statuses = array(),
431
+		$update_txn = true
432
+	) {
433
+		// make sure some query params are set for retrieving registrations
434
+		$this->_set_registration_query_params($registration_query_params);
435
+		// these reg statuses should not be considered in any calculations involving monies owing
436
+		$closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
437
+			: EEM_Registration::closed_reg_statuses();
438
+		// loop through cached registrations
439
+		foreach ($transaction->registrations($this->_registration_query_params) as $registration) {
440
+			if ($registration instanceof EE_Registration
441
+				&& ! in_array($registration->status_ID(), $closed_reg_statuses)
442
+			) {
443
+				return false;
444
+			}
445
+		}
446
+		if (in_array($new_TXN_status, EEM_Transaction::txn_status_array())) {
447
+			$transaction->set_status($new_TXN_status);
448
+		}
449
+		if ($update_txn) {
450
+			return $transaction->save() ? true : false;
451
+		}
452
+		return true;
453
+	}
454
+
455
+
456
+	/**
457
+	 * _call_method_on_registrations_via_Registration_Processor
458
+	 * cycles thru related registrations and calls the requested method on each
459
+	 *
460
+	 * @access private
461
+	 * @param string         $method_name
462
+	 * @param EE_Transaction $transaction
463
+	 * @param array          $registration_query_params array of query WHERE params to use
464
+	 *                                                  when retrieving cached registrations from a transaction
465
+	 * @param string         $additional_param
466
+	 * @throws \EE_Error
467
+	 * @return boolean
468
+	 */
469
+	private function _call_method_on_registrations_via_Registration_Processor(
470
+		$method_name,
471
+		EE_Transaction $transaction,
472
+		$registration_query_params = array(),
473
+		$additional_param = null
474
+	) {
475
+		$response = false;
476
+		/** @type EE_Registration_Processor $registration_processor */
477
+		$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
478
+		// check that method exists
479
+		if (! method_exists($registration_processor, $method_name)) {
480
+			throw new EE_Error(__('Method does not exist.', 'event_espresso'));
481
+		}
482
+		// make sure some query params are set for retrieving registrations
483
+		$this->_set_registration_query_params($registration_query_params);
484
+		// loop through cached registrations
485
+		foreach ($transaction->registrations($this->_registration_query_params) as $registration) {
486
+			if ($registration instanceof EE_Registration) {
487
+				if ($additional_param) {
488
+					$response = $registration_processor->{$method_name}($registration, $additional_param)
489
+						? true
490
+						: $response;
491
+				} else {
492
+					$response = $registration_processor->{$method_name}($registration)
493
+						? true
494
+						: $response;
495
+				}
496
+			}
497
+		}
498
+		return $response;
499
+	}
500
+
501
+
502
+	/**
503
+	 * set_transaction_payment_method_based_on_registration_statuses
504
+	 * sets or unsets the PMD_ID field on the TXN based on the related REG statuses
505
+	 * basically if ALL Registrations are "Not Approved", then the EE_Transaction.PMD_ID is set to null,
506
+	 * but if any Registration has a different status, then EE_Transaction.PMD_ID is set to either:
507
+	 *        the first "default" Payment Method
508
+	 *        the first active Payment Method
509
+	 *    whichever is found first.
510
+	 *
511
+	 * @param  EE_Registration $edited_registration
512
+	 * @return void
513
+	 * @throws \EE_Error
514
+	 */
515
+	public function set_transaction_payment_method_based_on_registration_statuses(
516
+		EE_Registration $edited_registration
517
+	) {
518
+		if ($edited_registration instanceof EE_Registration) {
519
+			$transaction = $edited_registration->transaction();
520
+			if ($transaction instanceof EE_Transaction) {
521
+				$all_not_approved = true;
522
+				foreach ($transaction->registrations() as $registration) {
523
+					if ($registration instanceof EE_Registration) {
524
+						// if any REG != "Not Approved" then toggle to false
525
+						$all_not_approved = $registration->is_not_approved() ? $all_not_approved : false;
526
+					}
527
+				}
528
+				// if ALL Registrations are "Not Approved"
529
+				if ($all_not_approved) {
530
+					$transaction->set_payment_method_ID(null);
531
+					$transaction->save();
532
+				} else {
533
+					$available_payment_methods = EEM_Payment_Method::instance()->get_all_for_transaction(
534
+						$transaction,
535
+						EEM_Payment_Method::scope_cart
536
+					);
537
+					if (! empty($available_payment_methods)) {
538
+						$PMD_ID = 0;
539
+						foreach ($available_payment_methods as $available_payment_method) {
540
+							if ($available_payment_method instanceof EE_Payment_Method
541
+								&& $available_payment_method->open_by_default()
542
+							) {
543
+								$PMD_ID = $available_payment_method->ID();
544
+								break;
545
+							}
546
+						}
547
+						if (! $PMD_ID) {
548
+							$first_payment_method = reset($available_payment_methods);
549
+							if ($first_payment_method instanceof EE_Payment_Method) {
550
+								$PMD_ID = $first_payment_method->ID();
551
+							} else {
552
+								EE_Error::add_error(
553
+									__(
554
+										'A valid Payment Method could not be determined. Please ensure that at least one Payment Method is activated.',
555
+										'event_espresso'
556
+									),
557
+									__FILE__,
558
+									__LINE__,
559
+									__FUNCTION__
560
+								);
561
+							}
562
+						}
563
+						$transaction->set_payment_method_ID($PMD_ID);
564
+						$transaction->save();
565
+					} else {
566
+						EE_Error::add_error(
567
+							__(
568
+								'Please activate at least one Payment Method in order for things to operate correctly.',
569
+								'event_espresso'
570
+							),
571
+							__FILE__,
572
+							__LINE__,
573
+							__FUNCTION__
574
+						);
575
+					}
576
+				}
577
+			}
578
+		}
579
+	}
580
+
581
+
582
+
583
+	/********************************** DEPRECATED METHODS **********************************/
584
+
585
+
586
+	/**
587
+	 * @deprecated 4.9.12
588
+	 * @return string
589
+	 */
590
+	public function old_txn_status()
591
+	{
592
+		EE_Error::doing_it_wrong(
593
+			__METHOD__,
594
+			esc_html__(
595
+				'This logic has been moved into \EE_Transaction::old_txn_status(), please use that method instead.',
596
+				'event_espresso'
597
+			),
598
+			'4.9.12'
599
+		);
600
+		return $this->_old_txn_status;
601
+	}
602
+
603
+
604
+	/**
605
+	 * @deprecated 4.9.12
606
+	 * @param string $old_txn_status
607
+	 */
608
+	public function set_old_txn_status($old_txn_status)
609
+	{
610
+		EE_Error::doing_it_wrong(
611
+			__METHOD__,
612
+			esc_html__(
613
+				'This logic has been moved into \EE_Transaction::set_old_txn_status(), please use that method instead.',
614
+				'event_espresso'
615
+			),
616
+			'4.9.12'
617
+		);
618
+		// only set the first time
619
+		if ($this->_old_txn_status === null) {
620
+			$this->_old_txn_status = $old_txn_status;
621
+		}
622
+	}
623
+
624
+
625
+	/**
626
+	 * @deprecated 4.9.12
627
+	 * @return string
628
+	 */
629
+	public function new_txn_status()
630
+	{
631
+		EE_Error::doing_it_wrong(
632
+			__METHOD__,
633
+			esc_html__(
634
+				'This logic has been removed. Please just use \EE_Transaction::status_ID() instead.',
635
+				'event_espresso'
636
+			),
637
+			'4.9.12'
638
+		);
639
+		return $this->_new_txn_status;
640
+	}
641
+
642
+
643
+	/**
644
+	 * @deprecated 4.9.12
645
+	 * @param string $new_txn_status
646
+	 */
647
+	public function set_new_txn_status($new_txn_status)
648
+	{
649
+		EE_Error::doing_it_wrong(
650
+			__METHOD__,
651
+			esc_html__(
652
+				'This logic has been removed. Please just use \EE_Transaction::set_status() instead.',
653
+				'event_espresso'
654
+			),
655
+			'4.9.12'
656
+		);
657
+		$this->_new_txn_status = $new_txn_status;
658
+	}
659
+
660
+
661
+	/**
662
+	 * reg_status_updated
663
+	 *
664
+	 * @deprecated 4.9.12
665
+	 * @return bool
666
+	 */
667
+	public function txn_status_updated()
668
+	{
669
+		EE_Error::doing_it_wrong(
670
+			__METHOD__,
671
+			esc_html__(
672
+				'This logic has been moved into \EE_Transaction::txn_status_updated(), please use that method instead.',
673
+				'event_espresso'
674
+			),
675
+			'4.9.12'
676
+		);
677
+		return $this->_new_txn_status !== $this->_old_txn_status && $this->_old_txn_status !== null ? true : false;
678
+	}
679
+
680
+
681
+	/**
682
+	 * all_reg_steps_completed
683
+	 * returns:
684
+	 *    true if ALL reg steps have been marked as completed
685
+	 *        or false if any step is not completed
686
+	 *
687
+	 * @deprecated 4.9.12
688
+	 * @param EE_Transaction $transaction
689
+	 * @return boolean
690
+	 */
691
+	public function all_reg_steps_completed(EE_Transaction $transaction)
692
+	{
693
+		EE_Error::doing_it_wrong(
694
+			__METHOD__,
695
+			esc_html__(
696
+				'This logic has been moved into \EE_Transaction::all_reg_steps_completed(), please use that method instead.',
697
+				'event_espresso'
698
+			),
699
+			'4.9.12',
700
+			'5.0.0'
701
+		);
702
+		return $transaction->all_reg_steps_completed();
703
+	}
704
+
705
+
706
+	/**
707
+	 * all_reg_steps_completed_except
708
+	 * returns:
709
+	 *        true if ALL reg steps, except a particular step that you wish to skip over, have been marked as completed
710
+	 *        or false if any other step is not completed
711
+	 *        or false if ALL steps are completed including the exception you are testing !!!
712
+	 *
713
+	 * @deprecated 4.9.12
714
+	 * @param EE_Transaction $transaction
715
+	 * @param string         $exception
716
+	 * @return boolean
717
+	 */
718
+	public function all_reg_steps_completed_except(EE_Transaction $transaction, $exception = '')
719
+	{
720
+		EE_Error::doing_it_wrong(
721
+			__METHOD__,
722
+			esc_html__(
723
+				'This logic has been moved into \EE_Transaction::all_reg_steps_completed_except(), please use that method instead.',
724
+				'event_espresso'
725
+			),
726
+			'4.9.12',
727
+			'5.0.0'
728
+		);
729
+		return $transaction->all_reg_steps_completed_except($exception);
730
+	}
731
+
732
+
733
+	/**
734
+	 * all_reg_steps_completed_except
735
+	 * returns:
736
+	 *        true if ALL reg steps, except the final step, have been marked as completed
737
+	 *        or false if any step is not completed
738
+	 *    or false if ALL steps are completed including the final step !!!
739
+	 *
740
+	 * @deprecated 4.9.12
741
+	 * @param EE_Transaction $transaction
742
+	 * @return boolean
743
+	 */
744
+	public function all_reg_steps_completed_except_final_step(EE_Transaction $transaction)
745
+	{
746
+		EE_Error::doing_it_wrong(
747
+			__METHOD__,
748
+			esc_html__(
749
+				'This logic has been moved into \EE_Transaction::all_reg_steps_completed_except_final_step(), please use that method instead.',
750
+				'event_espresso'
751
+			),
752
+			'4.9.12',
753
+			'5.0.0'
754
+		);
755
+		return $transaction->all_reg_steps_completed_except_final_step();
756
+	}
757
+
758
+
759
+	/**
760
+	 * reg_step_completed
761
+	 * returns:
762
+	 *    true if a specific reg step has been marked as completed
763
+	 *    a Unix timestamp if it has been initialized but not yet completed,
764
+	 *    or false if it has not yet been initialized
765
+	 *
766
+	 * @deprecated 4.9.12
767
+	 * @param EE_Transaction $transaction
768
+	 * @param string         $reg_step_slug
769
+	 * @return boolean | int
770
+	 */
771
+	public function reg_step_completed(EE_Transaction $transaction, $reg_step_slug)
772
+	{
773
+		EE_Error::doing_it_wrong(
774
+			__METHOD__,
775
+			esc_html__(
776
+				'This logic has been moved into \EE_Transaction::reg_step_completed(), please use that method instead.',
777
+				'event_espresso'
778
+			),
779
+			'4.9.12',
780
+			'5.0.0'
781
+		);
782
+		return $transaction->reg_step_completed($reg_step_slug);
783
+	}
784
+
785
+
786
+	/**
787
+	 * completed_final_reg_step
788
+	 * returns:
789
+	 *    true if the finalize_registration reg step has been marked as completed
790
+	 *    a Unix timestamp if it has been initialized but not yet completed,
791
+	 *    or false if it has not yet been initialized
792
+	 *
793
+	 * @deprecated 4.9.12
794
+	 * @param EE_Transaction $transaction
795
+	 * @return boolean | int
796
+	 */
797
+	public function final_reg_step_completed(EE_Transaction $transaction)
798
+	{
799
+		EE_Error::doing_it_wrong(
800
+			__METHOD__,
801
+			esc_html__(
802
+				'This logic has been moved into \EE_Transaction::final_reg_step_completed(), please use that method instead.',
803
+				'event_espresso'
804
+			),
805
+			'4.9.12',
806
+			'5.0.0'
807
+		);
808
+		return $transaction->final_reg_step_completed();
809
+	}
810
+
811
+
812
+	/**
813
+	 * set_reg_step_initiated
814
+	 * given a valid TXN_reg_step, this sets it's value to a unix timestamp
815
+	 *
816
+	 * @deprecated 4.9.12
817
+	 * @access     public
818
+	 * @param \EE_Transaction $transaction
819
+	 * @param string          $reg_step_slug
820
+	 * @return boolean
821
+	 * @throws \EE_Error
822
+	 */
823
+	public function set_reg_step_initiated(EE_Transaction $transaction, $reg_step_slug)
824
+	{
825
+		EE_Error::doing_it_wrong(
826
+			__METHOD__,
827
+			esc_html__(
828
+				'This logic has been moved into \EE_Transaction::set_reg_step_initiated(), please use that method instead.',
829
+				'event_espresso'
830
+			),
831
+			'4.9.12',
832
+			'5.0.0'
833
+		);
834
+		return $transaction->set_reg_step_initiated($reg_step_slug);
835
+	}
836
+
837
+
838
+	/**
839
+	 * set_reg_step_completed
840
+	 * given a valid TXN_reg_step, this sets the step as completed
841
+	 *
842
+	 * @deprecated 4.9.12
843
+	 * @access     public
844
+	 * @param \EE_Transaction $transaction
845
+	 * @param string          $reg_step_slug
846
+	 * @return boolean
847
+	 * @throws \EE_Error
848
+	 */
849
+	public function set_reg_step_completed(EE_Transaction $transaction, $reg_step_slug)
850
+	{
851
+		EE_Error::doing_it_wrong(
852
+			__METHOD__,
853
+			esc_html__(
854
+				'This logic has been moved into \EE_Transaction::set_reg_step_completed(), please use that method instead.',
855
+				'event_espresso'
856
+			),
857
+			'4.9.12',
858
+			'5.0.0'
859
+		);
860
+		return $transaction->set_reg_step_completed($reg_step_slug);
861
+	}
862
+
863
+
864
+	/**
865
+	 * set_reg_step_completed
866
+	 * given a valid TXN_reg_step slug, this sets the step as NOT completed
867
+	 *
868
+	 * @deprecated 4.9.12
869
+	 * @access     public
870
+	 * @param \EE_Transaction $transaction
871
+	 * @param string          $reg_step_slug
872
+	 * @return boolean
873
+	 * @throws \EE_Error
874
+	 */
875
+	public function set_reg_step_not_completed(EE_Transaction $transaction, $reg_step_slug)
876
+	{
877
+		EE_Error::doing_it_wrong(
878
+			__METHOD__,
879
+			esc_html__(
880
+				'This logic has been moved into \EE_Transaction::set_reg_step_not_completed(), please use that method instead.',
881
+				'event_espresso'
882
+			),
883
+			'4.9.12',
884
+			'5.0.0'
885
+		);
886
+		return $transaction->set_reg_step_not_completed($reg_step_slug);
887
+	}
888
+
889
+
890
+	/**
891
+	 * remove_reg_step
892
+	 * given a valid TXN_reg_step slug, this will remove (unset)
893
+	 * the reg step from the TXN reg step array
894
+	 *
895
+	 * @deprecated 4.9.12
896
+	 * @access     public
897
+	 * @param \EE_Transaction $transaction
898
+	 * @param string          $reg_step_slug
899
+	 * @return void
900
+	 */
901
+	public function remove_reg_step(EE_Transaction $transaction, $reg_step_slug)
902
+	{
903
+		EE_Error::doing_it_wrong(
904
+			__METHOD__,
905
+			esc_html__(
906
+				'This logic has been moved into \EE_Transaction::remove_reg_step(), please use that method instead.',
907
+				'event_espresso'
908
+			),
909
+			'4.9.12',
910
+			'5.0.0'
911
+		);
912
+		$transaction->remove_reg_step($reg_step_slug);
913
+	}
914
+
915
+
916
+	/**
917
+	 *    toggle_failed_transaction_status
918
+	 * upgrades a TXNs status from failed to abandoned,
919
+	 * meaning that contact information has been captured for at least one registrant
920
+	 *
921
+	 * @deprecated 4.9.12
922
+	 * @access     public
923
+	 * @param EE_Transaction $transaction
924
+	 * @return    boolean
925
+	 * @throws \EE_Error
926
+	 */
927
+	public function toggle_failed_transaction_status(EE_Transaction $transaction)
928
+	{
929
+		EE_Error::doing_it_wrong(
930
+			__METHOD__,
931
+			esc_html__(
932
+				'This logic has been moved into \EE_Transaction::toggle_failed_transaction_status(), please use that method instead.',
933
+				'event_espresso'
934
+			),
935
+			'4.9.12',
936
+			'5.0.0'
937
+		);
938
+		return $transaction->toggle_failed_transaction_status();
939
+	}
940
+
941
+
942
+	/**
943
+	 * toggle_abandoned_transaction_status
944
+	 * upgrades a TXNs status from failed or abandoned to incomplete
945
+	 *
946
+	 * @deprecated 4.9.12
947
+	 * @access     public
948
+	 * @param  EE_Transaction $transaction
949
+	 * @return boolean
950
+	 */
951
+	public function toggle_abandoned_transaction_status(EE_Transaction $transaction)
952
+	{
953
+		EE_Error::doing_it_wrong(
954
+			__METHOD__,
955
+			esc_html__(
956
+				'This logic has been moved into \EE_Transaction::toggle_abandoned_transaction_status(), please use that method instead.',
957
+				'event_espresso'
958
+			),
959
+			'4.9.12',
960
+			'5.0.0'
961
+		);
962
+		return $transaction->toggle_abandoned_transaction_status();
963
+	}
964 964
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
     public static function instance($registration_query_params = array())
54 54
     {
55 55
         // check if class object is instantiated
56
-        if (! self::$_instance instanceof EE_Transaction_Processor) {
56
+        if ( ! self::$_instance instanceof EE_Transaction_Processor) {
57 57
             self::$_instance = new self($registration_query_params);
58 58
         }
59 59
         return self::$_instance;
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
         // these reg statuses should not be considered in any calculations involving monies owing
312 312
         $closed_reg_statuses = ! empty($closed_reg_statuses) ? $closed_reg_statuses
313 313
             : EEM_Registration::closed_reg_statuses();
314
-        if (! in_array($registration->status_ID(), $closed_reg_statuses, true)) {
314
+        if ( ! in_array($registration->status_ID(), $closed_reg_statuses, true)) {
315 315
             return false;
316 316
         }
317 317
         try {
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
     public function get_transaction_for_registration(EE_Registration $registration)
364 364
     {
365 365
         $transaction = $registration->transaction();
366
-        if (! $transaction instanceof EE_Transaction) {
366
+        if ( ! $transaction instanceof EE_Transaction) {
367 367
             throw new EE_Error(
368 368
                 sprintf(
369 369
                     __('The Transaction for Registration %1$d was not found or is invalid.', 'event_espresso'),
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
             $transaction->ID(),
394 394
             $registration->ticket_ID()
395 395
         );
396
-        if (! $ticket_line_item instanceof EE_Line_Item) {
396
+        if ( ! $ticket_line_item instanceof EE_Line_Item) {
397 397
             throw new EE_Error(
398 398
                 sprintf(
399 399
                     __(
@@ -476,7 +476,7 @@  discard block
 block discarded – undo
476 476
         /** @type EE_Registration_Processor $registration_processor */
477 477
         $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
478 478
         // check that method exists
479
-        if (! method_exists($registration_processor, $method_name)) {
479
+        if ( ! method_exists($registration_processor, $method_name)) {
480 480
             throw new EE_Error(__('Method does not exist.', 'event_espresso'));
481 481
         }
482 482
         // make sure some query params are set for retrieving registrations
@@ -534,7 +534,7 @@  discard block
 block discarded – undo
534 534
                         $transaction,
535 535
                         EEM_Payment_Method::scope_cart
536 536
                     );
537
-                    if (! empty($available_payment_methods)) {
537
+                    if ( ! empty($available_payment_methods)) {
538 538
                         $PMD_ID = 0;
539 539
                         foreach ($available_payment_methods as $available_payment_method) {
540 540
                             if ($available_payment_method instanceof EE_Payment_Method
@@ -544,7 +544,7 @@  discard block
 block discarded – undo
544 544
                                 break;
545 545
                             }
546 546
                         }
547
-                        if (! $PMD_ID) {
547
+                        if ( ! $PMD_ID) {
548 548
                             $first_payment_method = reset($available_payment_methods);
549 549
                             if ($first_payment_method instanceof EE_Payment_Method) {
550 550
                                 $PMD_ID = $first_payment_method->ID();
Please login to merge, or discard this patch.
Doc Comments   +1 added lines patch added patch discarded remove patch
@@ -185,6 +185,7 @@
 block discarded – undo
185 185
      *                                                         when retrieving cached registrations from a transaction
186 186
      * @param bool               $trigger_notifications        whether or not to call
187 187
      *                                                         \EE_Registration_Processor::trigger_registration_update_notifications()
188
+     * @param EE_Base_Class $payment
188 189
      * @return array
189 190
      * @throws \EE_Error
190 191
      */
Please login to merge, or discard this patch.
core/admin/EE_Help_Tour_final_stop.class.php 2 patches
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -15,51 +15,51 @@
 block discarded – undo
15 15
 class EE_Help_Tour_final_stop extends EE_Help_Tour
16 16
 {
17 17
 
18
-    protected function _set_tour_properties()
19
-    {
20
-        $this->_label = __('Final Stop Tour', 'event_espresso');
21
-        $this->_slug = 'final-stop-tour';
22
-    }
18
+	protected function _set_tour_properties()
19
+	{
20
+		$this->_label = __('Final Stop Tour', 'event_espresso');
21
+		$this->_slug = 'final-stop-tour';
22
+	}
23 23
 
24 24
 
25
-    protected function _set_tour_stops()
26
-    {
27
-        $this->_stops = array(
28
-            10 => array(
29
-                'id'          => 'contextual-help-link',
30
-                'content'     => $this->_end(),
31
-                'button_text' => __('Quit', 'event_espresso'),
32
-                'options'     => array(
33
-                    'tipLocation'    => 'left',
34
-                    'tipAdjustmentY' => -20,
35
-                    'tipAdjustmentX' => 10,
36
-                ),
37
-            ),
38
-        );
39
-    }
25
+	protected function _set_tour_stops()
26
+	{
27
+		$this->_stops = array(
28
+			10 => array(
29
+				'id'          => 'contextual-help-link',
30
+				'content'     => $this->_end(),
31
+				'button_text' => __('Quit', 'event_espresso'),
32
+				'options'     => array(
33
+					'tipLocation'    => 'left',
34
+					'tipAdjustmentY' => -20,
35
+					'tipAdjustmentX' => 10,
36
+				),
37
+			),
38
+		);
39
+	}
40 40
 
41 41
 
42
-    /**
43
-     * This is the default last stop for all tours that is displayed at the end of a tour OR when a tour is exited for
44
-     * the first time.
45
-     *
46
-     * @return string
47
-     */
48
-    protected function _end()
49
-    {
50
-        $query_args = array(
51
-            'action' => 'admin_option_settings',
52
-            'page'   => 'espresso_general_settings',
53
-        );
54
-        return '<p>'
55
-               . sprintf(
56
-                   __(
57
-                       'That\'s it for the tour!  At any time you can restart a tour by clicking on this help dropdown and then clicking one of the Tour buttons.  There are help tours available on all Event Espresso Admin pages.  If you want to turn off help tours for all pages, %sgo here%s. All the best with your events!',
58
-                       'event_espresso'
59
-                   ),
60
-                   '<a href="' . EE_Admin_Page::add_query_args_and_nonce($query_args, admin_url('admin.php')) . '">',
61
-                   '</a>'
62
-               )
63
-               . '</p>';
64
-    }
42
+	/**
43
+	 * This is the default last stop for all tours that is displayed at the end of a tour OR when a tour is exited for
44
+	 * the first time.
45
+	 *
46
+	 * @return string
47
+	 */
48
+	protected function _end()
49
+	{
50
+		$query_args = array(
51
+			'action' => 'admin_option_settings',
52
+			'page'   => 'espresso_general_settings',
53
+		);
54
+		return '<p>'
55
+			   . sprintf(
56
+				   __(
57
+					   'That\'s it for the tour!  At any time you can restart a tour by clicking on this help dropdown and then clicking one of the Tour buttons.  There are help tours available on all Event Espresso Admin pages.  If you want to turn off help tours for all pages, %sgo here%s. All the best with your events!',
58
+					   'event_espresso'
59
+				   ),
60
+				   '<a href="' . EE_Admin_Page::add_query_args_and_nonce($query_args, admin_url('admin.php')) . '">',
61
+				   '</a>'
62
+			   )
63
+			   . '</p>';
64
+	}
65 65
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -57,7 +57,7 @@
 block discarded – undo
57 57
                        'That\'s it for the tour!  At any time you can restart a tour by clicking on this help dropdown and then clicking one of the Tour buttons.  There are help tours available on all Event Espresso Admin pages.  If you want to turn off help tours for all pages, %sgo here%s. All the best with your events!',
58 58
                        'event_espresso'
59 59
                    ),
60
-                   '<a href="' . EE_Admin_Page::add_query_args_and_nonce($query_args, admin_url('admin.php')) . '">',
60
+                   '<a href="'.EE_Admin_Page::add_query_args_and_nonce($query_args, admin_url('admin.php')).'">',
61 61
                    '</a>'
62 62
                )
63 63
                . '</p>';
Please login to merge, or discard this patch.
modules/single_page_checkout/inc/EE_SPCO_Reg_Step.class.php 2 patches
Indentation   +627 added lines, -627 removed lines patch added patch discarded remove patch
@@ -12,631 +12,631 @@
 block discarded – undo
12 12
 abstract class EE_SPCO_Reg_Step
13 13
 {
14 14
 
15
-    /**
16
-     *    $_completed - TRUE if this step has fully completed it's duties
17
-     *
18
-     * @access protected
19
-     * @type bool $_completed
20
-     */
21
-    protected $_completed = false;
22
-
23
-    /**
24
-     *    $_is_current_step - TRUE if this is the current step
25
-     *
26
-     * @access protected
27
-     * @type bool $_is_current_step
28
-     */
29
-    protected $_is_current_step = false;
30
-
31
-    /**
32
-     *    $_order - when the reg step should be run relative to other steps
33
-     *
34
-     * @access protected
35
-     * @type int $_template
36
-     */
37
-    protected $_order = 0;
38
-
39
-    /**
40
-     *    $_slug - URL param for this step
41
-     *
42
-     * @access protected
43
-     * @type string $_slug
44
-     */
45
-    protected $_slug;
46
-
47
-    /**
48
-     *    $_name - Step Name - translatable string
49
-     *
50
-     * @access protected
51
-     * @type string $_slug
52
-     */
53
-    protected $_name;
54
-
55
-    /**
56
-     *    $_submit_button_text - translatable string that appears on this step's submit button
57
-     *
58
-     * @access protected
59
-     * @type string $_slug
60
-     */
61
-    protected $_submit_button_text;
62
-
63
-    /**
64
-     *    $_template - template name
65
-     *
66
-     * @access protected
67
-     * @type string $_template
68
-     */
69
-    protected $_template;
70
-
71
-    /**
72
-     *    $_reg_form_name - the form input name and id attribute
73
-     *
74
-     * @access protected
75
-     * @var string $_reg_form_name
76
-     */
77
-    protected $_reg_form_name;
78
-
79
-    /**
80
-     *    $_success_message - text to display upon successful form submission
81
-     *
82
-     * @access private
83
-     * @var string $_success_message
84
-     */
85
-    protected $_success_message;
86
-
87
-    /**
88
-     *    $_instructions - a brief description of how to complete the reg step.
89
-     *    Usually displayed in conjunction with the previous step's success message.
90
-     *
91
-     * @access private
92
-     * @var string $_instructions
93
-     */
94
-    protected $_instructions;
95
-
96
-    /**
97
-     *    $_valid_data - the normalized and validated data for this step
98
-     *
99
-     * @access public
100
-     * @var array $_valid_data
101
-     */
102
-    protected $_valid_data = array();
103
-
104
-    /**
105
-     *    $reg_form - the registration form for this step
106
-     *
107
-     * @access public
108
-     * @var EE_Form_Section_Proper $reg_form
109
-     */
110
-    public $reg_form;
111
-
112
-    /**
113
-     *    $checkout - EE_Checkout object for handling the properties of the current checkout process
114
-     *
115
-     * @access public
116
-     * @var EE_Checkout $checkout
117
-     */
118
-    public $checkout;
119
-
120
-
121
-    /**
122
-     * @return void
123
-     */
124
-    abstract public function translate_js_strings();
125
-
126
-
127
-    /**
128
-     * @return void
129
-     */
130
-    abstract public function enqueue_styles_and_scripts();
131
-
132
-
133
-    /**
134
-     * @return boolean
135
-     */
136
-    abstract public function initialize_reg_step();
137
-
138
-
139
-    /**
140
-     * @return string
141
-     */
142
-    abstract public function generate_reg_form();
143
-
144
-
145
-    /**
146
-     * @return boolean
147
-     */
148
-    abstract public function process_reg_step();
149
-
150
-
151
-    /**
152
-     * @return boolean
153
-     */
154
-    abstract public function update_reg_step();
155
-
156
-
157
-    /**
158
-     * @return boolean
159
-     */
160
-    public function completed()
161
-    {
162
-        return $this->_completed;
163
-    }
164
-
165
-
166
-    /**
167
-     * set_completed - toggles $_completed to TRUE
168
-     */
169
-    public function set_completed()
170
-    {
171
-        // DEBUG LOG
172
-        // $this->checkout->log( __CLASS__, __FUNCTION__, __LINE__ );
173
-        $this->_completed = apply_filters('FHEE__EE_SPCO_Reg_Step__set_completed___completed', true, $this);
174
-    }
175
-
176
-
177
-    /**
178
-     * set_completed - toggles $_completed to FALSE
179
-     */
180
-    public function set_not_completed()
181
-    {
182
-        $this->_completed = false;
183
-    }
184
-
185
-
186
-    /**
187
-     * @return string
188
-     */
189
-    public function name()
190
-    {
191
-        return $this->_name;
192
-    }
193
-
194
-
195
-    /**
196
-     * @return string
197
-     */
198
-    public function slug()
199
-    {
200
-        return $this->_slug;
201
-    }
202
-
203
-
204
-    /**
205
-     * submit_button_text
206
-     * the text that appears on the reg step form submit button
207
-     *
208
-     * @return string
209
-     */
210
-    public function submit_button_text()
211
-    {
212
-        return $this->_submit_button_text;
213
-    }
214
-
215
-
216
-    /**
217
-     * set_submit_button_text
218
-     * sets the text that appears on the reg step form submit button
219
-     *
220
-     * @param string $submit_button_text
221
-     */
222
-    public function set_submit_button_text($submit_button_text = '')
223
-    {
224
-        if (! empty($submit_button_text)) {
225
-            $this->_submit_button_text = $submit_button_text;
226
-        } elseif ($this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
227
-            if ($this->checkout->revisit) {
228
-                $this->_submit_button_text = sprintf(
229
-                    __('Update %s', 'event_espresso'),
230
-                    $this->checkout->current_step->name()
231
-                );
232
-            } else {
233
-                $this->_submit_button_text = sprintf(
234
-                    __('Proceed to %s', 'event_espresso'),
235
-                    $this->checkout->next_step->name()
236
-                );
237
-            }
238
-        }
239
-        // filters the submit button text
240
-        $this->_submit_button_text = apply_filters(
241
-            'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text',
242
-            $this->_submit_button_text,
243
-            $this->checkout
244
-        );
245
-    }
246
-
247
-
248
-    /**
249
-     * @param boolean $is_current_step
250
-     */
251
-    public function set_is_current_step($is_current_step)
252
-    {
253
-        $this->_is_current_step = $is_current_step;
254
-    }
255
-
256
-
257
-    /**
258
-     * @return boolean
259
-     */
260
-    public function is_current_step()
261
-    {
262
-        return $this->_is_current_step;
263
-    }
264
-
265
-
266
-    /**
267
-     * @return boolean
268
-     */
269
-    public function is_final_step()
270
-    {
271
-        return $this instanceof EE_SPCO_Reg_Step_Finalize_Registration ? true : false;
272
-    }
273
-
274
-
275
-    /**
276
-     * @param int $order
277
-     */
278
-    public function set_order($order)
279
-    {
280
-        $this->_order = $order;
281
-    }
282
-
283
-
284
-    /**
285
-     * @return int
286
-     */
287
-    public function order()
288
-    {
289
-        return $this->_order;
290
-    }
291
-
292
-
293
-    /**
294
-     * @return string
295
-     */
296
-    public function template()
297
-    {
298
-        return $this->_template;
299
-    }
300
-
301
-
302
-    /**
303
-     * @return string
304
-     */
305
-    public function success_message()
306
-    {
307
-        return $this->_success_message;
308
-    }
309
-
310
-
311
-    /**
312
-     * _set_success_message
313
-     *
314
-     * @param string $success_message
315
-     */
316
-    protected function _set_success_message($success_message)
317
-    {
318
-        $this->_success_message = $success_message;
319
-    }
320
-
321
-
322
-    /**
323
-     * _reset_success_message
324
-     *
325
-     * @return void
326
-     */
327
-    protected function _reset_success_message()
328
-    {
329
-        $this->_success_message = '';
330
-    }
331
-
332
-
333
-    /**
334
-     * @return string
335
-     */
336
-    public function _instructions()
337
-    {
338
-        return $this->_instructions;
339
-    }
340
-
341
-
342
-    /**
343
-     * @param string $instructions
344
-     */
345
-    public function set_instructions($instructions)
346
-    {
347
-        $this->_instructions = apply_filters(
348
-            'FHEE__EE_SPCO_Reg_Step__set_instructions__instructions',
349
-            $instructions,
350
-            $this
351
-        );
352
-    }
353
-
354
-
355
-    /**
356
-     * @param array $valid_data
357
-     */
358
-    public function set_valid_data($valid_data)
359
-    {
360
-        $this->_valid_data = $valid_data;
361
-    }
362
-
363
-
364
-    /**
365
-     * @return array
366
-     */
367
-    public function valid_data()
368
-    {
369
-        if (empty($this->_valid_data)) {
370
-            $this->_valid_data = $this->reg_form->valid_data();
371
-        }
372
-        return $this->_valid_data;
373
-    }
374
-
375
-
376
-    /**
377
-     * @return string
378
-     */
379
-    public function reg_form_name()
380
-    {
381
-        if (empty($this->_reg_form_name)) {
382
-            $this->set_reg_form_name('ee-spco-' . $this->slug() . '-reg-step-form');
383
-        }
384
-        return $this->_reg_form_name;
385
-    }
386
-
387
-
388
-    /**
389
-     * @param string $reg_form_name
390
-     */
391
-    protected function set_reg_form_name($reg_form_name)
392
-    {
393
-        $this->_reg_form_name = $reg_form_name;
394
-    }
395
-
396
-
397
-    /**
398
-     * reg_step_url
399
-     *
400
-     * @param string $action
401
-     * @return string
402
-     */
403
-    public function reg_step_url($action = '')
404
-    {
405
-        $query_args = array('step' => $this->slug());
406
-        if (! empty($action)) {
407
-            $query_args['action'] = $action;
408
-        }
409
-        // final step has no display
410
-        if ($this instanceof EE_SPCO_Reg_Step_Finalize_Registration && $action === 'display_spco_reg_step') {
411
-            $query_args['action'] = 'process_reg_step';
412
-        }
413
-        if ($this->checkout->revisit) {
414
-            $query_args['revisit'] = true;
415
-        }
416
-        if ($this->checkout->reg_url_link) {
417
-            $query_args['e_reg_url_link'] = $this->checkout->reg_url_link;
418
-        }
419
-        return add_query_arg($query_args, $this->checkout->reg_page_base_url);
420
-    }
421
-
422
-
423
-    /**
424
-     * creates the default hidden inputs section
425
-     *
426
-     * @return EE_Form_Section_Proper
427
-     * @throws \EE_Error
428
-     */
429
-    public function reg_step_hidden_inputs()
430
-    {
431
-        // hidden inputs for admin registrations
432
-        if ($this->checkout->admin_request) {
433
-            return new EE_Form_Section_Proper(
434
-                array(
435
-                    'layout_strategy' => new EE_Div_Per_Section_Layout(),
436
-                    'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
437
-                    'subsections'     => array(
438
-                        'next_step' => new EE_Fixed_Hidden_Input(
439
-                            array(
440
-                                'html_name' => 'next_step',
441
-                                'html_id'   => 'spco-' . $this->slug() . '-next-step',
442
-                                'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
443
-                                    ? $this->checkout->next_step->slug()
444
-                                    : '',
445
-                            )
446
-                        ),
447
-                    ),
448
-                )
449
-            );
450
-        }
451
-        // hidden inputs for frontend registrations
452
-        return new EE_Form_Section_Proper(
453
-            array(
454
-                'layout_strategy' => new EE_Div_Per_Section_Layout(),
455
-                'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
456
-                'subsections'     => array(
457
-                    'action'         => new EE_Fixed_Hidden_Input(
458
-                        array(
459
-                            'html_name' => 'action',
460
-                            'html_id'   => 'spco-' . $this->slug() . '-action',
461
-                            'default'   => apply_filters(
462
-                                'FHEE__EE_SPCO_Reg_Step__reg_step_hidden_inputs__default_form_action',
463
-                                empty($this->checkout->reg_url_link)
464
-                                    ? 'process_reg_step'
465
-                                    : 'update_reg_step',
466
-                                $this
467
-                            ),
468
-                        )
469
-                    ),
470
-                    'next_step'      => new EE_Fixed_Hidden_Input(
471
-                        array(
472
-                            'html_name' => 'next_step',
473
-                            'html_id'   => 'spco-' . $this->slug() . '-next-step',
474
-                            'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
475
-                                ? $this->checkout->next_step->slug()
476
-                                : '',
477
-                        )
478
-                    ),
479
-                    'e_reg_url_link' => new EE_Fixed_Hidden_Input(
480
-                        array(
481
-                            'html_name' => 'e_reg_url_link',
482
-                            'html_id'   => 'spco-reg_url_link',
483
-                            'default'   => $this->checkout->reg_url_link,
484
-                        )
485
-                    ),
486
-                    'revisit'        => new EE_Fixed_Hidden_Input(
487
-                        array(
488
-                            'html_name' => 'revisit',
489
-                            'html_id'   => 'spco-revisit',
490
-                            'default'   => $this->checkout->revisit,
491
-                        )
492
-                    ),
493
-                ),
494
-            )
495
-        );
496
-    }
497
-
498
-
499
-    /**
500
-     * generate_reg_form_for_actions
501
-     *
502
-     * @param array $actions
503
-     * @return void
504
-     */
505
-    public function generate_reg_form_for_actions($actions = array())
506
-    {
507
-        $actions = array_merge(
508
-            array(
509
-                'generate_reg_form',
510
-                'display_spco_reg_step',
511
-                'process_reg_step',
512
-                'update_reg_step',
513
-            ),
514
-            $actions
515
-        );
516
-        $this->checkout->generate_reg_form = in_array($this->checkout->action, $actions, true) ? true : false;
517
-    }
518
-
519
-
520
-    /**
521
-     * @return string
522
-     * @throws \EE_Error
523
-     */
524
-    public function display_reg_form()
525
-    {
526
-        $html = '';
527
-        if ($this->reg_form instanceof EE_Form_Section_Proper) {
528
-            do_action('AHEE__EE_SPCO_Reg_Step__display_reg_form__reg_form', $this->reg_form, $this);
529
-            $html .= ! $this->checkout->admin_request ? $this->reg_form->form_open($this->reg_step_url()) : '';
530
-            if (EE_Registry::instance()->REQ->ajax) {
531
-                $this->reg_form->localize_validation_rules();
532
-                $this->checkout->json_response->add_validation_rules(EE_Form_Section_Proper::js_localization());
533
-            }
534
-            $html .= $this->reg_form->get_html();
535
-            $html .= ! $this->checkout->admin_request ? $this->reg_step_submit_button() : '';
536
-            $html .= ! $this->checkout->admin_request ? $this->reg_form->form_close() : '';
537
-        }
538
-        return $html;
539
-    }
540
-
541
-
542
-    /**
543
-     * div_class - returns nothing for current step, but a css class of "hidden" for others
544
-     *
545
-     * @return string
546
-     * @throws \EE_Error
547
-     */
548
-    public function reg_step_submit_button()
549
-    {
550
-        if (! $this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
551
-            return '';
552
-        }
553
-        ob_start();
554
-        do_action(
555
-            'AHEE__before_spco_whats_next_buttons',
556
-            $this->slug(),
557
-            $this->checkout->next_step->slug(),
558
-            $this->checkout
559
-        );
560
-        $html = ob_get_clean();
561
-        // generate submit button
562
-        $sbmt_btn = new EE_Submit_Input(
563
-            array(
564
-                'html_name'             => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
565
-                'html_id'               => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
566
-                'html_class'            => 'spco-next-step-btn',
567
-                'other_html_attributes' => ' rel="' . $this->slug() . '"',
568
-                'default'               => $this->submit_button_text(),
569
-            )
570
-        );
571
-        $sbmt_btn->set_button_css_attributes(true, 'large');
572
-        $sbmt_btn_html = $sbmt_btn->get_html_for_input();
573
-        $html .= EEH_HTML::div(
574
-            apply_filters('FHEE__EE_SPCO_Reg_Step__reg_step_submit_button__sbmt_btn_html', $sbmt_btn_html, $this),
575
-            'spco-' . $this->slug() . '-whats-next-buttons-dv',
576
-            'spco-whats-next-buttons'
577
-        );
578
-        return $html;
579
-    }
580
-
581
-
582
-    /**
583
-     * div_class - returns nothing for current step, but a css class of "hidden" for others
584
-     *
585
-     * @return string
586
-     */
587
-    public function div_class()
588
-    {
589
-        return $this->is_current_step() ? '' : ' hidden';
590
-    }
591
-
592
-
593
-    /**
594
-     * div_class - returns  a css class of "hidden" for current step, but nothing for others
595
-     *
596
-     * @return string
597
-     */
598
-    public function edit_lnk_url()
599
-    {
600
-        return add_query_arg(array('step' => $this->slug()), $this->checkout->reg_page_base_url);
601
-    }
602
-
603
-
604
-    /**
605
-     * div_class - returns  a css class of "hidden" for current step, but nothing for others
606
-     *
607
-     * @return string
608
-     */
609
-    public function edit_link_class()
610
-    {
611
-        return $this->is_current_step() ? ' hidden' : '';
612
-    }
613
-
614
-
615
-    /**
616
-     * update_checkout with changes that have been made to the cart
617
-     *
618
-     * @return void
619
-     * @throws \EE_Error
620
-     */
621
-    public function update_checkout()
622
-    {
623
-        // grab the cart grand total and reset TXN total
624
-        $this->checkout->transaction->set_total($this->checkout->cart->get_cart_grand_total());
625
-        $this->checkout->stash_transaction_and_checkout();
626
-    }
627
-
628
-
629
-    /**
630
-     *    __sleep
631
-     * to conserve db space, let's remove the reg_form and the EE_Checkout object from EE_SPCO_Reg_Step objects upon
632
-     * serialization EE_Checkout will handle the reimplementation of itself upon waking, but we won't bother with the
633
-     * reg form, because if needed, it will be regenerated anyways
634
-     *
635
-     * @return array
636
-     */
637
-    public function __sleep()
638
-    {
639
-        // remove the reg form and the checkout
640
-        return array_diff(array_keys(get_object_vars($this)), array('reg_form', 'checkout'));
641
-    }
15
+	/**
16
+	 *    $_completed - TRUE if this step has fully completed it's duties
17
+	 *
18
+	 * @access protected
19
+	 * @type bool $_completed
20
+	 */
21
+	protected $_completed = false;
22
+
23
+	/**
24
+	 *    $_is_current_step - TRUE if this is the current step
25
+	 *
26
+	 * @access protected
27
+	 * @type bool $_is_current_step
28
+	 */
29
+	protected $_is_current_step = false;
30
+
31
+	/**
32
+	 *    $_order - when the reg step should be run relative to other steps
33
+	 *
34
+	 * @access protected
35
+	 * @type int $_template
36
+	 */
37
+	protected $_order = 0;
38
+
39
+	/**
40
+	 *    $_slug - URL param for this step
41
+	 *
42
+	 * @access protected
43
+	 * @type string $_slug
44
+	 */
45
+	protected $_slug;
46
+
47
+	/**
48
+	 *    $_name - Step Name - translatable string
49
+	 *
50
+	 * @access protected
51
+	 * @type string $_slug
52
+	 */
53
+	protected $_name;
54
+
55
+	/**
56
+	 *    $_submit_button_text - translatable string that appears on this step's submit button
57
+	 *
58
+	 * @access protected
59
+	 * @type string $_slug
60
+	 */
61
+	protected $_submit_button_text;
62
+
63
+	/**
64
+	 *    $_template - template name
65
+	 *
66
+	 * @access protected
67
+	 * @type string $_template
68
+	 */
69
+	protected $_template;
70
+
71
+	/**
72
+	 *    $_reg_form_name - the form input name and id attribute
73
+	 *
74
+	 * @access protected
75
+	 * @var string $_reg_form_name
76
+	 */
77
+	protected $_reg_form_name;
78
+
79
+	/**
80
+	 *    $_success_message - text to display upon successful form submission
81
+	 *
82
+	 * @access private
83
+	 * @var string $_success_message
84
+	 */
85
+	protected $_success_message;
86
+
87
+	/**
88
+	 *    $_instructions - a brief description of how to complete the reg step.
89
+	 *    Usually displayed in conjunction with the previous step's success message.
90
+	 *
91
+	 * @access private
92
+	 * @var string $_instructions
93
+	 */
94
+	protected $_instructions;
95
+
96
+	/**
97
+	 *    $_valid_data - the normalized and validated data for this step
98
+	 *
99
+	 * @access public
100
+	 * @var array $_valid_data
101
+	 */
102
+	protected $_valid_data = array();
103
+
104
+	/**
105
+	 *    $reg_form - the registration form for this step
106
+	 *
107
+	 * @access public
108
+	 * @var EE_Form_Section_Proper $reg_form
109
+	 */
110
+	public $reg_form;
111
+
112
+	/**
113
+	 *    $checkout - EE_Checkout object for handling the properties of the current checkout process
114
+	 *
115
+	 * @access public
116
+	 * @var EE_Checkout $checkout
117
+	 */
118
+	public $checkout;
119
+
120
+
121
+	/**
122
+	 * @return void
123
+	 */
124
+	abstract public function translate_js_strings();
125
+
126
+
127
+	/**
128
+	 * @return void
129
+	 */
130
+	abstract public function enqueue_styles_and_scripts();
131
+
132
+
133
+	/**
134
+	 * @return boolean
135
+	 */
136
+	abstract public function initialize_reg_step();
137
+
138
+
139
+	/**
140
+	 * @return string
141
+	 */
142
+	abstract public function generate_reg_form();
143
+
144
+
145
+	/**
146
+	 * @return boolean
147
+	 */
148
+	abstract public function process_reg_step();
149
+
150
+
151
+	/**
152
+	 * @return boolean
153
+	 */
154
+	abstract public function update_reg_step();
155
+
156
+
157
+	/**
158
+	 * @return boolean
159
+	 */
160
+	public function completed()
161
+	{
162
+		return $this->_completed;
163
+	}
164
+
165
+
166
+	/**
167
+	 * set_completed - toggles $_completed to TRUE
168
+	 */
169
+	public function set_completed()
170
+	{
171
+		// DEBUG LOG
172
+		// $this->checkout->log( __CLASS__, __FUNCTION__, __LINE__ );
173
+		$this->_completed = apply_filters('FHEE__EE_SPCO_Reg_Step__set_completed___completed', true, $this);
174
+	}
175
+
176
+
177
+	/**
178
+	 * set_completed - toggles $_completed to FALSE
179
+	 */
180
+	public function set_not_completed()
181
+	{
182
+		$this->_completed = false;
183
+	}
184
+
185
+
186
+	/**
187
+	 * @return string
188
+	 */
189
+	public function name()
190
+	{
191
+		return $this->_name;
192
+	}
193
+
194
+
195
+	/**
196
+	 * @return string
197
+	 */
198
+	public function slug()
199
+	{
200
+		return $this->_slug;
201
+	}
202
+
203
+
204
+	/**
205
+	 * submit_button_text
206
+	 * the text that appears on the reg step form submit button
207
+	 *
208
+	 * @return string
209
+	 */
210
+	public function submit_button_text()
211
+	{
212
+		return $this->_submit_button_text;
213
+	}
214
+
215
+
216
+	/**
217
+	 * set_submit_button_text
218
+	 * sets the text that appears on the reg step form submit button
219
+	 *
220
+	 * @param string $submit_button_text
221
+	 */
222
+	public function set_submit_button_text($submit_button_text = '')
223
+	{
224
+		if (! empty($submit_button_text)) {
225
+			$this->_submit_button_text = $submit_button_text;
226
+		} elseif ($this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
227
+			if ($this->checkout->revisit) {
228
+				$this->_submit_button_text = sprintf(
229
+					__('Update %s', 'event_espresso'),
230
+					$this->checkout->current_step->name()
231
+				);
232
+			} else {
233
+				$this->_submit_button_text = sprintf(
234
+					__('Proceed to %s', 'event_espresso'),
235
+					$this->checkout->next_step->name()
236
+				);
237
+			}
238
+		}
239
+		// filters the submit button text
240
+		$this->_submit_button_text = apply_filters(
241
+			'FHEE__EE_SPCO_Reg_Step__set_submit_button_text___submit_button_text',
242
+			$this->_submit_button_text,
243
+			$this->checkout
244
+		);
245
+	}
246
+
247
+
248
+	/**
249
+	 * @param boolean $is_current_step
250
+	 */
251
+	public function set_is_current_step($is_current_step)
252
+	{
253
+		$this->_is_current_step = $is_current_step;
254
+	}
255
+
256
+
257
+	/**
258
+	 * @return boolean
259
+	 */
260
+	public function is_current_step()
261
+	{
262
+		return $this->_is_current_step;
263
+	}
264
+
265
+
266
+	/**
267
+	 * @return boolean
268
+	 */
269
+	public function is_final_step()
270
+	{
271
+		return $this instanceof EE_SPCO_Reg_Step_Finalize_Registration ? true : false;
272
+	}
273
+
274
+
275
+	/**
276
+	 * @param int $order
277
+	 */
278
+	public function set_order($order)
279
+	{
280
+		$this->_order = $order;
281
+	}
282
+
283
+
284
+	/**
285
+	 * @return int
286
+	 */
287
+	public function order()
288
+	{
289
+		return $this->_order;
290
+	}
291
+
292
+
293
+	/**
294
+	 * @return string
295
+	 */
296
+	public function template()
297
+	{
298
+		return $this->_template;
299
+	}
300
+
301
+
302
+	/**
303
+	 * @return string
304
+	 */
305
+	public function success_message()
306
+	{
307
+		return $this->_success_message;
308
+	}
309
+
310
+
311
+	/**
312
+	 * _set_success_message
313
+	 *
314
+	 * @param string $success_message
315
+	 */
316
+	protected function _set_success_message($success_message)
317
+	{
318
+		$this->_success_message = $success_message;
319
+	}
320
+
321
+
322
+	/**
323
+	 * _reset_success_message
324
+	 *
325
+	 * @return void
326
+	 */
327
+	protected function _reset_success_message()
328
+	{
329
+		$this->_success_message = '';
330
+	}
331
+
332
+
333
+	/**
334
+	 * @return string
335
+	 */
336
+	public function _instructions()
337
+	{
338
+		return $this->_instructions;
339
+	}
340
+
341
+
342
+	/**
343
+	 * @param string $instructions
344
+	 */
345
+	public function set_instructions($instructions)
346
+	{
347
+		$this->_instructions = apply_filters(
348
+			'FHEE__EE_SPCO_Reg_Step__set_instructions__instructions',
349
+			$instructions,
350
+			$this
351
+		);
352
+	}
353
+
354
+
355
+	/**
356
+	 * @param array $valid_data
357
+	 */
358
+	public function set_valid_data($valid_data)
359
+	{
360
+		$this->_valid_data = $valid_data;
361
+	}
362
+
363
+
364
+	/**
365
+	 * @return array
366
+	 */
367
+	public function valid_data()
368
+	{
369
+		if (empty($this->_valid_data)) {
370
+			$this->_valid_data = $this->reg_form->valid_data();
371
+		}
372
+		return $this->_valid_data;
373
+	}
374
+
375
+
376
+	/**
377
+	 * @return string
378
+	 */
379
+	public function reg_form_name()
380
+	{
381
+		if (empty($this->_reg_form_name)) {
382
+			$this->set_reg_form_name('ee-spco-' . $this->slug() . '-reg-step-form');
383
+		}
384
+		return $this->_reg_form_name;
385
+	}
386
+
387
+
388
+	/**
389
+	 * @param string $reg_form_name
390
+	 */
391
+	protected function set_reg_form_name($reg_form_name)
392
+	{
393
+		$this->_reg_form_name = $reg_form_name;
394
+	}
395
+
396
+
397
+	/**
398
+	 * reg_step_url
399
+	 *
400
+	 * @param string $action
401
+	 * @return string
402
+	 */
403
+	public function reg_step_url($action = '')
404
+	{
405
+		$query_args = array('step' => $this->slug());
406
+		if (! empty($action)) {
407
+			$query_args['action'] = $action;
408
+		}
409
+		// final step has no display
410
+		if ($this instanceof EE_SPCO_Reg_Step_Finalize_Registration && $action === 'display_spco_reg_step') {
411
+			$query_args['action'] = 'process_reg_step';
412
+		}
413
+		if ($this->checkout->revisit) {
414
+			$query_args['revisit'] = true;
415
+		}
416
+		if ($this->checkout->reg_url_link) {
417
+			$query_args['e_reg_url_link'] = $this->checkout->reg_url_link;
418
+		}
419
+		return add_query_arg($query_args, $this->checkout->reg_page_base_url);
420
+	}
421
+
422
+
423
+	/**
424
+	 * creates the default hidden inputs section
425
+	 *
426
+	 * @return EE_Form_Section_Proper
427
+	 * @throws \EE_Error
428
+	 */
429
+	public function reg_step_hidden_inputs()
430
+	{
431
+		// hidden inputs for admin registrations
432
+		if ($this->checkout->admin_request) {
433
+			return new EE_Form_Section_Proper(
434
+				array(
435
+					'layout_strategy' => new EE_Div_Per_Section_Layout(),
436
+					'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
437
+					'subsections'     => array(
438
+						'next_step' => new EE_Fixed_Hidden_Input(
439
+							array(
440
+								'html_name' => 'next_step',
441
+								'html_id'   => 'spco-' . $this->slug() . '-next-step',
442
+								'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
443
+									? $this->checkout->next_step->slug()
444
+									: '',
445
+							)
446
+						),
447
+					),
448
+				)
449
+			);
450
+		}
451
+		// hidden inputs for frontend registrations
452
+		return new EE_Form_Section_Proper(
453
+			array(
454
+				'layout_strategy' => new EE_Div_Per_Section_Layout(),
455
+				'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
456
+				'subsections'     => array(
457
+					'action'         => new EE_Fixed_Hidden_Input(
458
+						array(
459
+							'html_name' => 'action',
460
+							'html_id'   => 'spco-' . $this->slug() . '-action',
461
+							'default'   => apply_filters(
462
+								'FHEE__EE_SPCO_Reg_Step__reg_step_hidden_inputs__default_form_action',
463
+								empty($this->checkout->reg_url_link)
464
+									? 'process_reg_step'
465
+									: 'update_reg_step',
466
+								$this
467
+							),
468
+						)
469
+					),
470
+					'next_step'      => new EE_Fixed_Hidden_Input(
471
+						array(
472
+							'html_name' => 'next_step',
473
+							'html_id'   => 'spco-' . $this->slug() . '-next-step',
474
+							'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
475
+								? $this->checkout->next_step->slug()
476
+								: '',
477
+						)
478
+					),
479
+					'e_reg_url_link' => new EE_Fixed_Hidden_Input(
480
+						array(
481
+							'html_name' => 'e_reg_url_link',
482
+							'html_id'   => 'spco-reg_url_link',
483
+							'default'   => $this->checkout->reg_url_link,
484
+						)
485
+					),
486
+					'revisit'        => new EE_Fixed_Hidden_Input(
487
+						array(
488
+							'html_name' => 'revisit',
489
+							'html_id'   => 'spco-revisit',
490
+							'default'   => $this->checkout->revisit,
491
+						)
492
+					),
493
+				),
494
+			)
495
+		);
496
+	}
497
+
498
+
499
+	/**
500
+	 * generate_reg_form_for_actions
501
+	 *
502
+	 * @param array $actions
503
+	 * @return void
504
+	 */
505
+	public function generate_reg_form_for_actions($actions = array())
506
+	{
507
+		$actions = array_merge(
508
+			array(
509
+				'generate_reg_form',
510
+				'display_spco_reg_step',
511
+				'process_reg_step',
512
+				'update_reg_step',
513
+			),
514
+			$actions
515
+		);
516
+		$this->checkout->generate_reg_form = in_array($this->checkout->action, $actions, true) ? true : false;
517
+	}
518
+
519
+
520
+	/**
521
+	 * @return string
522
+	 * @throws \EE_Error
523
+	 */
524
+	public function display_reg_form()
525
+	{
526
+		$html = '';
527
+		if ($this->reg_form instanceof EE_Form_Section_Proper) {
528
+			do_action('AHEE__EE_SPCO_Reg_Step__display_reg_form__reg_form', $this->reg_form, $this);
529
+			$html .= ! $this->checkout->admin_request ? $this->reg_form->form_open($this->reg_step_url()) : '';
530
+			if (EE_Registry::instance()->REQ->ajax) {
531
+				$this->reg_form->localize_validation_rules();
532
+				$this->checkout->json_response->add_validation_rules(EE_Form_Section_Proper::js_localization());
533
+			}
534
+			$html .= $this->reg_form->get_html();
535
+			$html .= ! $this->checkout->admin_request ? $this->reg_step_submit_button() : '';
536
+			$html .= ! $this->checkout->admin_request ? $this->reg_form->form_close() : '';
537
+		}
538
+		return $html;
539
+	}
540
+
541
+
542
+	/**
543
+	 * div_class - returns nothing for current step, but a css class of "hidden" for others
544
+	 *
545
+	 * @return string
546
+	 * @throws \EE_Error
547
+	 */
548
+	public function reg_step_submit_button()
549
+	{
550
+		if (! $this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
551
+			return '';
552
+		}
553
+		ob_start();
554
+		do_action(
555
+			'AHEE__before_spco_whats_next_buttons',
556
+			$this->slug(),
557
+			$this->checkout->next_step->slug(),
558
+			$this->checkout
559
+		);
560
+		$html = ob_get_clean();
561
+		// generate submit button
562
+		$sbmt_btn = new EE_Submit_Input(
563
+			array(
564
+				'html_name'             => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
565
+				'html_id'               => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
566
+				'html_class'            => 'spco-next-step-btn',
567
+				'other_html_attributes' => ' rel="' . $this->slug() . '"',
568
+				'default'               => $this->submit_button_text(),
569
+			)
570
+		);
571
+		$sbmt_btn->set_button_css_attributes(true, 'large');
572
+		$sbmt_btn_html = $sbmt_btn->get_html_for_input();
573
+		$html .= EEH_HTML::div(
574
+			apply_filters('FHEE__EE_SPCO_Reg_Step__reg_step_submit_button__sbmt_btn_html', $sbmt_btn_html, $this),
575
+			'spco-' . $this->slug() . '-whats-next-buttons-dv',
576
+			'spco-whats-next-buttons'
577
+		);
578
+		return $html;
579
+	}
580
+
581
+
582
+	/**
583
+	 * div_class - returns nothing for current step, but a css class of "hidden" for others
584
+	 *
585
+	 * @return string
586
+	 */
587
+	public function div_class()
588
+	{
589
+		return $this->is_current_step() ? '' : ' hidden';
590
+	}
591
+
592
+
593
+	/**
594
+	 * div_class - returns  a css class of "hidden" for current step, but nothing for others
595
+	 *
596
+	 * @return string
597
+	 */
598
+	public function edit_lnk_url()
599
+	{
600
+		return add_query_arg(array('step' => $this->slug()), $this->checkout->reg_page_base_url);
601
+	}
602
+
603
+
604
+	/**
605
+	 * div_class - returns  a css class of "hidden" for current step, but nothing for others
606
+	 *
607
+	 * @return string
608
+	 */
609
+	public function edit_link_class()
610
+	{
611
+		return $this->is_current_step() ? ' hidden' : '';
612
+	}
613
+
614
+
615
+	/**
616
+	 * update_checkout with changes that have been made to the cart
617
+	 *
618
+	 * @return void
619
+	 * @throws \EE_Error
620
+	 */
621
+	public function update_checkout()
622
+	{
623
+		// grab the cart grand total and reset TXN total
624
+		$this->checkout->transaction->set_total($this->checkout->cart->get_cart_grand_total());
625
+		$this->checkout->stash_transaction_and_checkout();
626
+	}
627
+
628
+
629
+	/**
630
+	 *    __sleep
631
+	 * to conserve db space, let's remove the reg_form and the EE_Checkout object from EE_SPCO_Reg_Step objects upon
632
+	 * serialization EE_Checkout will handle the reimplementation of itself upon waking, but we won't bother with the
633
+	 * reg form, because if needed, it will be regenerated anyways
634
+	 *
635
+	 * @return array
636
+	 */
637
+	public function __sleep()
638
+	{
639
+		// remove the reg form and the checkout
640
+		return array_diff(array_keys(get_object_vars($this)), array('reg_form', 'checkout'));
641
+	}
642 642
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
      */
222 222
     public function set_submit_button_text($submit_button_text = '')
223 223
     {
224
-        if (! empty($submit_button_text)) {
224
+        if ( ! empty($submit_button_text)) {
225 225
             $this->_submit_button_text = $submit_button_text;
226 226
         } elseif ($this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
227 227
             if ($this->checkout->revisit) {
@@ -379,7 +379,7 @@  discard block
 block discarded – undo
379 379
     public function reg_form_name()
380 380
     {
381 381
         if (empty($this->_reg_form_name)) {
382
-            $this->set_reg_form_name('ee-spco-' . $this->slug() . '-reg-step-form');
382
+            $this->set_reg_form_name('ee-spco-'.$this->slug().'-reg-step-form');
383 383
         }
384 384
         return $this->_reg_form_name;
385 385
     }
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
     public function reg_step_url($action = '')
404 404
     {
405 405
         $query_args = array('step' => $this->slug());
406
-        if (! empty($action)) {
406
+        if ( ! empty($action)) {
407 407
             $query_args['action'] = $action;
408 408
         }
409 409
         // final step has no display
@@ -433,12 +433,12 @@  discard block
 block discarded – undo
433 433
             return new EE_Form_Section_Proper(
434 434
                 array(
435 435
                     'layout_strategy' => new EE_Div_Per_Section_Layout(),
436
-                    'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
436
+                    'html_id'         => 'ee-'.$this->slug().'-hidden-inputs',
437 437
                     'subsections'     => array(
438 438
                         'next_step' => new EE_Fixed_Hidden_Input(
439 439
                             array(
440 440
                                 'html_name' => 'next_step',
441
-                                'html_id'   => 'spco-' . $this->slug() . '-next-step',
441
+                                'html_id'   => 'spco-'.$this->slug().'-next-step',
442 442
                                 'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
443 443
                                     ? $this->checkout->next_step->slug()
444 444
                                     : '',
@@ -452,12 +452,12 @@  discard block
 block discarded – undo
452 452
         return new EE_Form_Section_Proper(
453 453
             array(
454 454
                 'layout_strategy' => new EE_Div_Per_Section_Layout(),
455
-                'html_id'         => 'ee-' . $this->slug() . '-hidden-inputs',
455
+                'html_id'         => 'ee-'.$this->slug().'-hidden-inputs',
456 456
                 'subsections'     => array(
457 457
                     'action'         => new EE_Fixed_Hidden_Input(
458 458
                         array(
459 459
                             'html_name' => 'action',
460
-                            'html_id'   => 'spco-' . $this->slug() . '-action',
460
+                            'html_id'   => 'spco-'.$this->slug().'-action',
461 461
                             'default'   => apply_filters(
462 462
                                 'FHEE__EE_SPCO_Reg_Step__reg_step_hidden_inputs__default_form_action',
463 463
                                 empty($this->checkout->reg_url_link)
@@ -470,7 +470,7 @@  discard block
 block discarded – undo
470 470
                     'next_step'      => new EE_Fixed_Hidden_Input(
471 471
                         array(
472 472
                             'html_name' => 'next_step',
473
-                            'html_id'   => 'spco-' . $this->slug() . '-next-step',
473
+                            'html_id'   => 'spco-'.$this->slug().'-next-step',
474 474
                             'default'   => $this->checkout->next_step instanceof EE_SPCO_Reg_Step
475 475
                                 ? $this->checkout->next_step->slug()
476 476
                                 : '',
@@ -547,7 +547,7 @@  discard block
 block discarded – undo
547 547
      */
548 548
     public function reg_step_submit_button()
549 549
     {
550
-        if (! $this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
550
+        if ( ! $this->checkout->next_step instanceof EE_SPCO_Reg_Step) {
551 551
             return '';
552 552
         }
553 553
         ob_start();
@@ -561,10 +561,10 @@  discard block
 block discarded – undo
561 561
         // generate submit button
562 562
         $sbmt_btn = new EE_Submit_Input(
563 563
             array(
564
-                'html_name'             => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
565
-                'html_id'               => 'spco-go-to-step-' . $this->checkout->next_step->slug(),
564
+                'html_name'             => 'spco-go-to-step-'.$this->checkout->next_step->slug(),
565
+                'html_id'               => 'spco-go-to-step-'.$this->checkout->next_step->slug(),
566 566
                 'html_class'            => 'spco-next-step-btn',
567
-                'other_html_attributes' => ' rel="' . $this->slug() . '"',
567
+                'other_html_attributes' => ' rel="'.$this->slug().'"',
568 568
                 'default'               => $this->submit_button_text(),
569 569
             )
570 570
         );
@@ -572,7 +572,7 @@  discard block
 block discarded – undo
572 572
         $sbmt_btn_html = $sbmt_btn->get_html_for_input();
573 573
         $html .= EEH_HTML::div(
574 574
             apply_filters('FHEE__EE_SPCO_Reg_Step__reg_step_submit_button__sbmt_btn_html', $sbmt_btn_html, $this),
575
-            'spco-' . $this->slug() . '-whats-next-buttons-dv',
575
+            'spco-'.$this->slug().'-whats-next-buttons-dv',
576 576
             'spco-whats-next-buttons'
577 577
         );
578 578
         return $html;
Please login to merge, or discard this patch.
finalize_registration/EE_SPCO_Reg_Step_Finalize_Registration.class.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -92,14 +92,14 @@  discard block
 block discarded – undo
92 92
             $txn_update_params
93 93
         );
94 94
         // check if transaction has a primary registrant and that it has a related Attendee object
95
-        if (! $this->_validate_primary_registrant()) {
95
+        if ( ! $this->_validate_primary_registrant()) {
96 96
             return false;
97 97
         }
98 98
         // you don't have to go home but you can't stay here !
99 99
         $this->checkout->redirect = true;
100 100
         $this->checkout->continue_reg = true;
101 101
         $this->checkout->json_response->set_redirect_url($this->checkout->redirect_url);
102
-        if (! (
102
+        if ( ! (
103 103
             $this->checkout->payment_method instanceof EE_Payment_Method
104 104
             && $this->checkout->payment_method->is_off_site()
105 105
         )) {
@@ -210,7 +210,7 @@  discard block
 block discarded – undo
210 210
      */
211 211
     protected function _validate_primary_registrant()
212 212
     {
213
-        if (! $this->checkout->transaction_has_primary_registrant()) {
213
+        if ( ! $this->checkout->transaction_has_primary_registrant()) {
214 214
             EE_Error::add_error(
215 215
                 __('A valid Primary Registration for this Transaction could not be found.', 'event_espresso'),
216 216
                 __FILE__,
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
     public function update_reg_step()
237 237
     {
238 238
         EE_Error::doing_it_wrong(
239
-            __CLASS__ . '::' . __FILE__,
239
+            __CLASS__.'::'.__FILE__,
240 240
             __(
241 241
                 'Can not call update_reg_step() on the Finalize Registration reg step.',
242 242
                 'event_espresso'
Please login to merge, or discard this patch.
Indentation   +236 added lines, -236 removed lines patch added patch discarded remove patch
@@ -12,240 +12,240 @@
 block discarded – undo
12 12
 class EE_SPCO_Reg_Step_Finalize_Registration extends EE_SPCO_Reg_Step
13 13
 {
14 14
 
15
-    /**
16
-     *    class constructor
17
-     *
18
-     * @access    public
19
-     * @param    EE_Checkout $checkout
20
-     */
21
-    public function __construct(EE_Checkout $checkout)
22
-    {
23
-        $this->_slug = 'finalize_registration';
24
-        $this->_name = __('Finalize Registration', 'event_espresso');
25
-        $this->_submit_button_text = $this->_name;
26
-        $this->_template = '';
27
-        $this->checkout = $checkout;
28
-    }
29
-
30
-
31
-    public function translate_js_strings()
32
-    {
33
-    }
34
-
35
-
36
-    public function enqueue_styles_and_scripts()
37
-    {
38
-    }
39
-
40
-
41
-    /**
42
-     * @return boolean
43
-     */
44
-    public function initialize_reg_step()
45
-    {
46
-        // there's actually no reg form to process if this is the final step
47
-        if ($this->is_current_step()) {
48
-            $this->checkout->step = $_REQUEST['step'] = $this->slug();
49
-            $this->checkout->action = $_REQUEST['action'] = 'process_reg_step';
50
-            $this->checkout->generate_reg_form = false;
51
-        }
52
-        return true;
53
-    }
54
-
55
-
56
-    /**
57
-     * @return string
58
-     * @throws \EE_Error
59
-     */
60
-    public function generate_reg_form()
61
-    {
62
-        // create empty form so that things don't break
63
-        $this->reg_form = new EE_Form_Section_Proper();
64
-        return '';
65
-    }
66
-
67
-
68
-    /**
69
-     * @return boolean
70
-     * @throws \RuntimeException
71
-     * @throws \EE_Error
72
-     */
73
-    public function process_reg_step()
74
-    {
75
-        // ensure all data gets refreshed from the db
76
-        $this->checkout->refresh_all_entities(true);
77
-        // ensures that all details and statuses for transaction, registration, and payments are updated
78
-        $txn_update_params = $this->_finalize_transaction();
79
-        // maybe send messages
80
-        $this->_set_notification_triggers();
81
-        // send messages
82
-        /** @type EE_Registration_Processor $registration_processor */
83
-        $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
84
-        $registration_processor->trigger_registration_update_notifications(
85
-            $this->checkout->transaction->primary_registration(),
86
-            $txn_update_params
87
-        );
88
-        // set a hook point
89
-        do_action(
90
-            'AHEE__EE_SPCO_Reg_Step_Finalize_Registration__process_reg_step__completed',
91
-            $this->checkout,
92
-            $txn_update_params
93
-        );
94
-        // check if transaction has a primary registrant and that it has a related Attendee object
95
-        if (! $this->_validate_primary_registrant()) {
96
-            return false;
97
-        }
98
-        // you don't have to go home but you can't stay here !
99
-        $this->checkout->redirect = true;
100
-        $this->checkout->continue_reg = true;
101
-        $this->checkout->json_response->set_redirect_url($this->checkout->redirect_url);
102
-        if (! (
103
-            $this->checkout->payment_method instanceof EE_Payment_Method
104
-            && $this->checkout->payment_method->is_off_site()
105
-        )) {
106
-            // mark this reg step as completed
107
-            $this->set_completed();
108
-        }
109
-        $this->checkout->set_exit_spco();
110
-        return true;
111
-    }
112
-
113
-
114
-    /**
115
-     * _finalize_transaction
116
-     * ensures that all details and statuses for transaction, registration, and payments are updated
117
-     *
118
-     * @return array
119
-     * @throws \RuntimeException
120
-     * @throws \EE_Error
121
-     */
122
-    protected function _finalize_transaction()
123
-    {
124
-        /** @type EE_Transaction_Processor $transaction_processor */
125
-        $transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
126
-        // set revisit flag in txn processor
127
-        $transaction_processor->set_revisit($this->checkout->revisit);
128
-        // at this point we'll consider a TXN to not have been abandoned
129
-        $this->checkout->transaction->toggle_abandoned_transaction_status();
130
-        if ($this->checkout->cart instanceof EE_Cart) {
131
-            // save TXN data to the cart
132
-            $this->checkout->cart->get_grand_total()->save_this_and_descendants_to_txn(
133
-                $this->checkout->transaction->ID()
134
-            );
135
-        }
136
-        // maybe update status, but don't save transaction just yet
137
-        $this->checkout->transaction->update_status_based_on_total_paid(false);
138
-        // this will result in the base session properties getting saved to the TXN_Session_data field
139
-        $session_data = EE_Registry::instance()->SSN->get_session_data(null, true);
140
-        // anonymize the last part of the IP address, now that the transaction is complete (we won't be using the IP address
141
-        // for spam or bot detection now)
142
-        if (function_exists('wp_privacy_anonymize_ip') && isset($session_data['ip_address'])) {
143
-            $session_data['ip_address'] = wp_privacy_anonymize_ip($session_data['ip_address']);
144
-        }
145
-        $this->checkout->transaction->set_txn_session_data($session_data);
146
-        // update the TXN if payment conditions have changed, but do NOT trigger notifications,
147
-        // because we will do that in process_reg_step() after setting some more triggers
148
-        return $transaction_processor->update_transaction_and_registrations_after_checkout_or_payment(
149
-            $this->checkout->transaction,
150
-            $this->checkout->payment,
151
-            $this->checkout->reg_cache_where_params,
152
-            false
153
-        );
154
-    }
155
-
156
-
157
-    /**
158
-     * If request is not a revisit, and an Off-Site gateway using IPNs has NOT been selected...
159
-     * OR
160
-     * if it IS a revisit and the TXN and/or one or more REG statuses have changed...
161
-     * then trigger notifications
162
-     *
163
-     * @return void
164
-     * @throws \EE_Error
165
-     */
166
-    protected function _set_notification_triggers()
167
-    {
168
-
169
-        if ($this->checkout->payment_method instanceof EE_Payment_Method) {
170
-            // let's start with the assumption that we need to trigger notifications
171
-            // then toggle this to false for conditions where we know we don't need to
172
-            $deliver_notifications = true;
173
-            if (// if SPCO revisit
174
-                filter_var($this->checkout->revisit, FILTER_VALIDATE_BOOLEAN)
175
-                // and TXN or REG statuses have NOT changed due to a payment
176
-                && ! (
177
-                    $this->checkout->transaction->txn_status_updated()
178
-                    || $this->checkout->any_reg_status_updated()
179
-                )
180
-            ) {
181
-                $deliver_notifications = false;
182
-            }
183
-            if ($this->checkout->payment_method->is_off_site()) {
184
-                /** @var EE_Gateway $gateway */
185
-                $gateway = $this->checkout->payment_method->type_obj()->get_gateway();
186
-                // and the gateway uses a separate request to process the IPN
187
-                if ($gateway instanceof EE_Offsite_Gateway
188
-                    && $gateway->handle_IPN_in_this_request(\EE_Registry::instance()->REQ->params(), true)
189
-                ) {
190
-                    // IPN request will handle triggering notifications
191
-                    $deliver_notifications = false;
192
-                    // no really... don't send any notices in this request
193
-                    remove_all_filters('FHEE__EED_Messages___maybe_registration__deliver_notifications');
194
-                    add_filter(
195
-                        'FHEE__EED_Messages___maybe_registration__deliver_notifications',
196
-                        '__return_false',
197
-                        15
198
-                    );
199
-                }
200
-            }
201
-            if ($deliver_notifications) {
202
-                // send out notifications
203
-                add_filter('FHEE__EED_Messages___maybe_registration__deliver_notifications', '__return_true', 10);
204
-            }
205
-        }
206
-    }
207
-
208
-
209
-    /**
210
-     * check if transaction has a primary registrant and that it has a related Attendee object
211
-     *
212
-     * @return boolean
213
-     * @throws \EE_Error
214
-     */
215
-    protected function _validate_primary_registrant()
216
-    {
217
-        if (! $this->checkout->transaction_has_primary_registrant()) {
218
-            EE_Error::add_error(
219
-                __('A valid Primary Registration for this Transaction could not be found.', 'event_espresso'),
220
-                __FILE__,
221
-                __FUNCTION__,
222
-                __LINE__
223
-            );
224
-            $this->checkout->redirect = false;
225
-            $this->checkout->continue_reg = false;
226
-            return false;
227
-        }
228
-        // setup URL for redirect
229
-        $this->checkout->redirect_url = add_query_arg(
230
-            array('e_reg_url_link' => $this->checkout->transaction->primary_registration()->reg_url_link()),
231
-            $this->checkout->thank_you_page_url
232
-        );
233
-        return true;
234
-    }
235
-
236
-
237
-    /**
238
-     * @return void
239
-     */
240
-    public function update_reg_step()
241
-    {
242
-        EE_Error::doing_it_wrong(
243
-            __CLASS__ . '::' . __FILE__,
244
-            __(
245
-                'Can not call update_reg_step() on the Finalize Registration reg step.',
246
-                'event_espresso'
247
-            ),
248
-            '4.6.0'
249
-        );
250
-    }
15
+	/**
16
+	 *    class constructor
17
+	 *
18
+	 * @access    public
19
+	 * @param    EE_Checkout $checkout
20
+	 */
21
+	public function __construct(EE_Checkout $checkout)
22
+	{
23
+		$this->_slug = 'finalize_registration';
24
+		$this->_name = __('Finalize Registration', 'event_espresso');
25
+		$this->_submit_button_text = $this->_name;
26
+		$this->_template = '';
27
+		$this->checkout = $checkout;
28
+	}
29
+
30
+
31
+	public function translate_js_strings()
32
+	{
33
+	}
34
+
35
+
36
+	public function enqueue_styles_and_scripts()
37
+	{
38
+	}
39
+
40
+
41
+	/**
42
+	 * @return boolean
43
+	 */
44
+	public function initialize_reg_step()
45
+	{
46
+		// there's actually no reg form to process if this is the final step
47
+		if ($this->is_current_step()) {
48
+			$this->checkout->step = $_REQUEST['step'] = $this->slug();
49
+			$this->checkout->action = $_REQUEST['action'] = 'process_reg_step';
50
+			$this->checkout->generate_reg_form = false;
51
+		}
52
+		return true;
53
+	}
54
+
55
+
56
+	/**
57
+	 * @return string
58
+	 * @throws \EE_Error
59
+	 */
60
+	public function generate_reg_form()
61
+	{
62
+		// create empty form so that things don't break
63
+		$this->reg_form = new EE_Form_Section_Proper();
64
+		return '';
65
+	}
66
+
67
+
68
+	/**
69
+	 * @return boolean
70
+	 * @throws \RuntimeException
71
+	 * @throws \EE_Error
72
+	 */
73
+	public function process_reg_step()
74
+	{
75
+		// ensure all data gets refreshed from the db
76
+		$this->checkout->refresh_all_entities(true);
77
+		// ensures that all details and statuses for transaction, registration, and payments are updated
78
+		$txn_update_params = $this->_finalize_transaction();
79
+		// maybe send messages
80
+		$this->_set_notification_triggers();
81
+		// send messages
82
+		/** @type EE_Registration_Processor $registration_processor */
83
+		$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
84
+		$registration_processor->trigger_registration_update_notifications(
85
+			$this->checkout->transaction->primary_registration(),
86
+			$txn_update_params
87
+		);
88
+		// set a hook point
89
+		do_action(
90
+			'AHEE__EE_SPCO_Reg_Step_Finalize_Registration__process_reg_step__completed',
91
+			$this->checkout,
92
+			$txn_update_params
93
+		);
94
+		// check if transaction has a primary registrant and that it has a related Attendee object
95
+		if (! $this->_validate_primary_registrant()) {
96
+			return false;
97
+		}
98
+		// you don't have to go home but you can't stay here !
99
+		$this->checkout->redirect = true;
100
+		$this->checkout->continue_reg = true;
101
+		$this->checkout->json_response->set_redirect_url($this->checkout->redirect_url);
102
+		if (! (
103
+			$this->checkout->payment_method instanceof EE_Payment_Method
104
+			&& $this->checkout->payment_method->is_off_site()
105
+		)) {
106
+			// mark this reg step as completed
107
+			$this->set_completed();
108
+		}
109
+		$this->checkout->set_exit_spco();
110
+		return true;
111
+	}
112
+
113
+
114
+	/**
115
+	 * _finalize_transaction
116
+	 * ensures that all details and statuses for transaction, registration, and payments are updated
117
+	 *
118
+	 * @return array
119
+	 * @throws \RuntimeException
120
+	 * @throws \EE_Error
121
+	 */
122
+	protected function _finalize_transaction()
123
+	{
124
+		/** @type EE_Transaction_Processor $transaction_processor */
125
+		$transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
126
+		// set revisit flag in txn processor
127
+		$transaction_processor->set_revisit($this->checkout->revisit);
128
+		// at this point we'll consider a TXN to not have been abandoned
129
+		$this->checkout->transaction->toggle_abandoned_transaction_status();
130
+		if ($this->checkout->cart instanceof EE_Cart) {
131
+			// save TXN data to the cart
132
+			$this->checkout->cart->get_grand_total()->save_this_and_descendants_to_txn(
133
+				$this->checkout->transaction->ID()
134
+			);
135
+		}
136
+		// maybe update status, but don't save transaction just yet
137
+		$this->checkout->transaction->update_status_based_on_total_paid(false);
138
+		// this will result in the base session properties getting saved to the TXN_Session_data field
139
+		$session_data = EE_Registry::instance()->SSN->get_session_data(null, true);
140
+		// anonymize the last part of the IP address, now that the transaction is complete (we won't be using the IP address
141
+		// for spam or bot detection now)
142
+		if (function_exists('wp_privacy_anonymize_ip') && isset($session_data['ip_address'])) {
143
+			$session_data['ip_address'] = wp_privacy_anonymize_ip($session_data['ip_address']);
144
+		}
145
+		$this->checkout->transaction->set_txn_session_data($session_data);
146
+		// update the TXN if payment conditions have changed, but do NOT trigger notifications,
147
+		// because we will do that in process_reg_step() after setting some more triggers
148
+		return $transaction_processor->update_transaction_and_registrations_after_checkout_or_payment(
149
+			$this->checkout->transaction,
150
+			$this->checkout->payment,
151
+			$this->checkout->reg_cache_where_params,
152
+			false
153
+		);
154
+	}
155
+
156
+
157
+	/**
158
+	 * If request is not a revisit, and an Off-Site gateway using IPNs has NOT been selected...
159
+	 * OR
160
+	 * if it IS a revisit and the TXN and/or one or more REG statuses have changed...
161
+	 * then trigger notifications
162
+	 *
163
+	 * @return void
164
+	 * @throws \EE_Error
165
+	 */
166
+	protected function _set_notification_triggers()
167
+	{
168
+
169
+		if ($this->checkout->payment_method instanceof EE_Payment_Method) {
170
+			// let's start with the assumption that we need to trigger notifications
171
+			// then toggle this to false for conditions where we know we don't need to
172
+			$deliver_notifications = true;
173
+			if (// if SPCO revisit
174
+				filter_var($this->checkout->revisit, FILTER_VALIDATE_BOOLEAN)
175
+				// and TXN or REG statuses have NOT changed due to a payment
176
+				&& ! (
177
+					$this->checkout->transaction->txn_status_updated()
178
+					|| $this->checkout->any_reg_status_updated()
179
+				)
180
+			) {
181
+				$deliver_notifications = false;
182
+			}
183
+			if ($this->checkout->payment_method->is_off_site()) {
184
+				/** @var EE_Gateway $gateway */
185
+				$gateway = $this->checkout->payment_method->type_obj()->get_gateway();
186
+				// and the gateway uses a separate request to process the IPN
187
+				if ($gateway instanceof EE_Offsite_Gateway
188
+					&& $gateway->handle_IPN_in_this_request(\EE_Registry::instance()->REQ->params(), true)
189
+				) {
190
+					// IPN request will handle triggering notifications
191
+					$deliver_notifications = false;
192
+					// no really... don't send any notices in this request
193
+					remove_all_filters('FHEE__EED_Messages___maybe_registration__deliver_notifications');
194
+					add_filter(
195
+						'FHEE__EED_Messages___maybe_registration__deliver_notifications',
196
+						'__return_false',
197
+						15
198
+					);
199
+				}
200
+			}
201
+			if ($deliver_notifications) {
202
+				// send out notifications
203
+				add_filter('FHEE__EED_Messages___maybe_registration__deliver_notifications', '__return_true', 10);
204
+			}
205
+		}
206
+	}
207
+
208
+
209
+	/**
210
+	 * check if transaction has a primary registrant and that it has a related Attendee object
211
+	 *
212
+	 * @return boolean
213
+	 * @throws \EE_Error
214
+	 */
215
+	protected function _validate_primary_registrant()
216
+	{
217
+		if (! $this->checkout->transaction_has_primary_registrant()) {
218
+			EE_Error::add_error(
219
+				__('A valid Primary Registration for this Transaction could not be found.', 'event_espresso'),
220
+				__FILE__,
221
+				__FUNCTION__,
222
+				__LINE__
223
+			);
224
+			$this->checkout->redirect = false;
225
+			$this->checkout->continue_reg = false;
226
+			return false;
227
+		}
228
+		// setup URL for redirect
229
+		$this->checkout->redirect_url = add_query_arg(
230
+			array('e_reg_url_link' => $this->checkout->transaction->primary_registration()->reg_url_link()),
231
+			$this->checkout->thank_you_page_url
232
+		);
233
+		return true;
234
+	}
235
+
236
+
237
+	/**
238
+	 * @return void
239
+	 */
240
+	public function update_reg_step()
241
+	{
242
+		EE_Error::doing_it_wrong(
243
+			__CLASS__ . '::' . __FILE__,
244
+			__(
245
+				'Can not call update_reg_step() on the Finalize Registration reg step.',
246
+				'event_espresso'
247
+			),
248
+			'4.6.0'
249
+		);
250
+	}
251 251
 }
Please login to merge, or discard this patch.
admin_pages/registrations/help_tours/Event_Checkin_Help_Tour.class.php 2 patches
Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -15,289 +15,289 @@
 block discarded – undo
15 15
 class Event_Checkin_Help_Tour extends EE_Help_Tour
16 16
 {
17 17
 
18
-    protected function _set_tour_properties()
19
-    {
20
-        $this->_label = __('Event Check-in Tour', 'event_espresso');
21
-        if (isset($this->_req_data['event_id'])) {
22
-            $this->_slug = 'event-checkin-overview-joyride';
23
-        } else {
24
-            $this->_slug = 'all-event-checkin-overview-joyride';
25
-        }
26
-    }
18
+	protected function _set_tour_properties()
19
+	{
20
+		$this->_label = __('Event Check-in Tour', 'event_espresso');
21
+		if (isset($this->_req_data['event_id'])) {
22
+			$this->_slug = 'event-checkin-overview-joyride';
23
+		} else {
24
+			$this->_slug = 'all-event-checkin-overview-joyride';
25
+		}
26
+	}
27 27
 
28 28
 
29
-    protected function _set_tour_stops()
30
-    {
31
-        $this->_stops = array(
32
-            10  => array(
33
-                'content' => $this->_start(),
34
-            ),
35
-            20  => array(
36
-                'id'      => '_REG_count',
37
-                'content' => $this->_reg_count_stop(),
38
-                'options' => array(
39
-                    'tipLocation'    => 'top',
40
-                    'tipAdjustmentX' => -5,
41
-                    'tipAdjustmentY' => -20,
42
-                ),
43
-            ),
44
-            30  => array(
45
-                'id'      => 'ATT_name',
46
-                'content' => $this->_attendee_name_stop(),
47
-                'options' => array(
48
-                    'tipLocation'    => 'top',
49
-                    'tipAdjustmentX' => -5,
50
-                    'tipAdjustmentY' => -20,
51
-                ),
52
-            ),
53
-            40  => array(
54
-                'id'      => 'ATT_email',
55
-                'content' => $this->_attendee_email_stop(),
56
-                'options' => array(
57
-                    'tipLocation'    => 'top',
58
-                    'tipAdjustmentX' => -5,
59
-                    'tipAdjustmentY' => -20,
60
-                ),
61
-            ),
62
-            50  => array(
63
-                'id'      => '_REG_date',
64
-                'content' => $this->_reg_date_stop(),
65
-                'options' => array(
66
-                    'tipLocation'    => 'top',
67
-                    'tipAdjustmentX' => -5,
68
-                    'tipAdjustmentY' => -20,
69
-                ),
70
-            ),
71
-            60  => array(
72
-                'id'      => '_REG_code',
73
-                'content' => $this->_reg_code_stop(),
74
-                'options' => array(
75
-                    'tipLocation'    => 'top',
76
-                    'tipAdjustmentX' => -5,
77
-                    'tipAdjustmentY' => -20,
78
-                ),
79
-            ),
80
-            80  => array(
81
-                'id'      => '_REG_final_price',
82
-                'content' => $this->_reg_final_price_stop(),
83
-                'options' => array(
84
-                    'tipLocation'    => 'top',
85
-                    'tipAdjustmentX' => -5,
86
-                    'tipAdjustmentY' => -20,
87
-                ),
88
-            ),
89
-            90  => array(
90
-                'id'      => 'TXN_paid',
91
-                'content' => $this->_txn_paid_stop(),
92
-                'options' => array(
93
-                    'tipLocation'    => 'left',
94
-                    'tipAdjustmentX' => 0,
95
-                    'tipAdjustmentY' => -50,
96
-                ),
97
-            ),
98
-            100 => array(
99
-                'id'      => 'TXN_total',
100
-                'content' => $this->_txn_total_stop(),
101
-                'options' => array(
102
-                    'tipLocation'    => 'left',
103
-                    'tipAdjustmentX' => 0,
104
-                    'tipAdjustmentY' => -50,
105
-                ),
106
-            ),
107
-            110 => array(
108
-                'id'      => 'PRC_name',
109
-                'content' => $this->_prc_name_stop(),
110
-                'options' => array(
111
-                    'tipLocation'    => 'left',
112
-                    'tipAdjustmentX' => 0,
113
-                    'tipAdjustmentY' => -50,
114
-                ),
115
-            ),
116
-            115 => array(
117
-                'id'      => 'actions',
118
-                'content' => $this->_actions_stop(),
119
-                'options' => array(
120
-                    'tipLocation'    => 'left',
121
-                    'tipAdjustmentX' => 0,
122
-                    'tipAdjustmentY' => -30,
123
-                ),
124
-            ),
125
-            120 => array(
126
-                'class'   => 'ee-list-table-legend-container',
127
-                'content' => $this->_legend_stop(),
128
-                'options' => array(
129
-                    'tipLocation'    => 'top',
130
-                    'tipAdjustmentX' => 15,
131
-                    'tipAdjustmentY' => -40,
132
-                ),
133
-            ),
134
-            125 => array(
135
-                'class'   => 'bulkactions',
136
-                'content' => $this->_bulkactions_stop(),
137
-                'options' => array(
138
-                    'tipLocation'    => 'bottom',
139
-                    'tipAdjustmentY' => -30,
140
-                    'tipAdjustmentX' => 15,
141
-                ),
142
-            ),
143
-            130 => array(
144
-                'id'      => 'event_id',
145
-                'content' => $this->_event_selector_stop(),
146
-                'options' => array(
147
-                    'tipLocation'    => 'right',
148
-                    'tipAdjustmentY' => -50,
149
-                    'tipAdjustmentX' => 25,
150
-                ),
151
-            ),
152
-            135 => array(
153
-                'id'      => 'DTT_ID',
154
-                'content' => $this->_dtt_selector_stop(),
155
-                'options' => array(
156
-                    'tipLocation'    => 'bottom',
157
-                    'tipAdjustmentY' => -30,
158
-                    'tipAdjustmentX' => 15,
159
-                ),
160
-            ),
161
-            140 => array(
162
-                'id'      => 'event-espresso_page_espresso_registrations-search-input',
163
-                'content' => $this->_search_stop(),
164
-                'options' => array(
165
-                    'tipLocation'    => 'left',
166
-                    'tipAdjustmentY' => -50,
167
-                    'tipAdjustmentX' => -15,
168
-                ),
169
-            ),
170
-        );
171
-    }
29
+	protected function _set_tour_stops()
30
+	{
31
+		$this->_stops = array(
32
+			10  => array(
33
+				'content' => $this->_start(),
34
+			),
35
+			20  => array(
36
+				'id'      => '_REG_count',
37
+				'content' => $this->_reg_count_stop(),
38
+				'options' => array(
39
+					'tipLocation'    => 'top',
40
+					'tipAdjustmentX' => -5,
41
+					'tipAdjustmentY' => -20,
42
+				),
43
+			),
44
+			30  => array(
45
+				'id'      => 'ATT_name',
46
+				'content' => $this->_attendee_name_stop(),
47
+				'options' => array(
48
+					'tipLocation'    => 'top',
49
+					'tipAdjustmentX' => -5,
50
+					'tipAdjustmentY' => -20,
51
+				),
52
+			),
53
+			40  => array(
54
+				'id'      => 'ATT_email',
55
+				'content' => $this->_attendee_email_stop(),
56
+				'options' => array(
57
+					'tipLocation'    => 'top',
58
+					'tipAdjustmentX' => -5,
59
+					'tipAdjustmentY' => -20,
60
+				),
61
+			),
62
+			50  => array(
63
+				'id'      => '_REG_date',
64
+				'content' => $this->_reg_date_stop(),
65
+				'options' => array(
66
+					'tipLocation'    => 'top',
67
+					'tipAdjustmentX' => -5,
68
+					'tipAdjustmentY' => -20,
69
+				),
70
+			),
71
+			60  => array(
72
+				'id'      => '_REG_code',
73
+				'content' => $this->_reg_code_stop(),
74
+				'options' => array(
75
+					'tipLocation'    => 'top',
76
+					'tipAdjustmentX' => -5,
77
+					'tipAdjustmentY' => -20,
78
+				),
79
+			),
80
+			80  => array(
81
+				'id'      => '_REG_final_price',
82
+				'content' => $this->_reg_final_price_stop(),
83
+				'options' => array(
84
+					'tipLocation'    => 'top',
85
+					'tipAdjustmentX' => -5,
86
+					'tipAdjustmentY' => -20,
87
+				),
88
+			),
89
+			90  => array(
90
+				'id'      => 'TXN_paid',
91
+				'content' => $this->_txn_paid_stop(),
92
+				'options' => array(
93
+					'tipLocation'    => 'left',
94
+					'tipAdjustmentX' => 0,
95
+					'tipAdjustmentY' => -50,
96
+				),
97
+			),
98
+			100 => array(
99
+				'id'      => 'TXN_total',
100
+				'content' => $this->_txn_total_stop(),
101
+				'options' => array(
102
+					'tipLocation'    => 'left',
103
+					'tipAdjustmentX' => 0,
104
+					'tipAdjustmentY' => -50,
105
+				),
106
+			),
107
+			110 => array(
108
+				'id'      => 'PRC_name',
109
+				'content' => $this->_prc_name_stop(),
110
+				'options' => array(
111
+					'tipLocation'    => 'left',
112
+					'tipAdjustmentX' => 0,
113
+					'tipAdjustmentY' => -50,
114
+				),
115
+			),
116
+			115 => array(
117
+				'id'      => 'actions',
118
+				'content' => $this->_actions_stop(),
119
+				'options' => array(
120
+					'tipLocation'    => 'left',
121
+					'tipAdjustmentX' => 0,
122
+					'tipAdjustmentY' => -30,
123
+				),
124
+			),
125
+			120 => array(
126
+				'class'   => 'ee-list-table-legend-container',
127
+				'content' => $this->_legend_stop(),
128
+				'options' => array(
129
+					'tipLocation'    => 'top',
130
+					'tipAdjustmentX' => 15,
131
+					'tipAdjustmentY' => -40,
132
+				),
133
+			),
134
+			125 => array(
135
+				'class'   => 'bulkactions',
136
+				'content' => $this->_bulkactions_stop(),
137
+				'options' => array(
138
+					'tipLocation'    => 'bottom',
139
+					'tipAdjustmentY' => -30,
140
+					'tipAdjustmentX' => 15,
141
+				),
142
+			),
143
+			130 => array(
144
+				'id'      => 'event_id',
145
+				'content' => $this->_event_selector_stop(),
146
+				'options' => array(
147
+					'tipLocation'    => 'right',
148
+					'tipAdjustmentY' => -50,
149
+					'tipAdjustmentX' => 25,
150
+				),
151
+			),
152
+			135 => array(
153
+				'id'      => 'DTT_ID',
154
+				'content' => $this->_dtt_selector_stop(),
155
+				'options' => array(
156
+					'tipLocation'    => 'bottom',
157
+					'tipAdjustmentY' => -30,
158
+					'tipAdjustmentX' => 15,
159
+				),
160
+			),
161
+			140 => array(
162
+				'id'      => 'event-espresso_page_espresso_registrations-search-input',
163
+				'content' => $this->_search_stop(),
164
+				'options' => array(
165
+					'tipLocation'    => 'left',
166
+					'tipAdjustmentY' => -50,
167
+					'tipAdjustmentX' => -15,
168
+				),
169
+			),
170
+		);
171
+	}
172 172
 
173 173
 
174
-    protected function _start()
175
-    {
176
-        $content = '<h3>' . __('Event Check-in', 'event_espresso') . '</h3>';
177
-        if (isset($this->_req_data['event_id'])) {
178
-            $content .= '<p>'
179
-                        . __(
180
-                            'This tour of the Event Check-in page will go over different areas of the screen to help you understand what they are used for.<br /><br /> Note: You are currently viewing the check-in for a specific event so you can toggle the check-in status for attendees.',
181
-                            'event_espresso'
182
-                        ) . '</p>';
183
-        } else {
184
-            $content .= '<p>'
185
-                        . __(
186
-                            'This tour of the event check-in page will go over different areas of the screen to help you understand what they are used for. <br /><br /> Note: You must select an event from the dropdown menu before you can toggle the check-in status for an attendee.',
187
-                            'event_espresso'
188
-                        ) . '</p>';
189
-        }
190
-        return $content;
191
-    }
174
+	protected function _start()
175
+	{
176
+		$content = '<h3>' . __('Event Check-in', 'event_espresso') . '</h3>';
177
+		if (isset($this->_req_data['event_id'])) {
178
+			$content .= '<p>'
179
+						. __(
180
+							'This tour of the Event Check-in page will go over different areas of the screen to help you understand what they are used for.<br /><br /> Note: You are currently viewing the check-in for a specific event so you can toggle the check-in status for attendees.',
181
+							'event_espresso'
182
+						) . '</p>';
183
+		} else {
184
+			$content .= '<p>'
185
+						. __(
186
+							'This tour of the event check-in page will go over different areas of the screen to help you understand what they are used for. <br /><br /> Note: You must select an event from the dropdown menu before you can toggle the check-in status for an attendee.',
187
+							'event_espresso'
188
+						) . '</p>';
189
+		}
190
+		return $content;
191
+	}
192 192
 
193
-    protected function _reg_count_stop()
194
-    {
195
-        return '<p>' . __('View registration number.', 'event_espresso') . '</p>';
196
-    }
193
+	protected function _reg_count_stop()
194
+	{
195
+		return '<p>' . __('View registration number.', 'event_espresso') . '</p>';
196
+	}
197 197
 
198
-    protected function _attendee_name_stop()
199
-    {
200
-        return '<p>'
201
-               . __(
202
-                   'View name of registrant. Can be sorted in ascending or descending order.',
203
-                   'event_espresso'
204
-               ) . '</p>';
205
-    }
198
+	protected function _attendee_name_stop()
199
+	{
200
+		return '<p>'
201
+			   . __(
202
+				   'View name of registrant. Can be sorted in ascending or descending order.',
203
+				   'event_espresso'
204
+			   ) . '</p>';
205
+	}
206 206
 
207
-    protected function _attendee_email_stop()
208
-    {
209
-        return '<p>' . __('View email address for a registrant.', 'event_espresso') . '</p>';
210
-    }
207
+	protected function _attendee_email_stop()
208
+	{
209
+		return '<p>' . __('View email address for a registrant.', 'event_espresso') . '</p>';
210
+	}
211 211
 
212
-    protected function _reg_date_stop()
213
-    {
214
-        return '<p>'
215
-               . __(
216
-                   'View registration date. Can be sorted in ascending or descending order.',
217
-                   'event_espresso'
218
-               ) . '</p>';
219
-    }
212
+	protected function _reg_date_stop()
213
+	{
214
+		return '<p>'
215
+			   . __(
216
+				   'View registration date. Can be sorted in ascending or descending order.',
217
+				   'event_espresso'
218
+			   ) . '</p>';
219
+	}
220 220
 
221
-    protected function _reg_code_stop()
222
-    {
223
-        return '<p>'
224
-               . __(
225
-                   'View registration code. Can be sorted in ascending or descending order.',
226
-                   'event_espresso'
227
-               ) . '</p>';
228
-    }
221
+	protected function _reg_code_stop()
222
+	{
223
+		return '<p>'
224
+			   . __(
225
+				   'View registration code. Can be sorted in ascending or descending order.',
226
+				   'event_espresso'
227
+			   ) . '</p>';
228
+	}
229 229
 
230
-    protected function _reg_final_price_stop()
231
-    {
232
-        return '<p>' . __('View price for ticket.', 'event_espresso') . '</p>';
233
-    }
230
+	protected function _reg_final_price_stop()
231
+	{
232
+		return '<p>' . __('View price for ticket.', 'event_espresso') . '</p>';
233
+	}
234 234
 
235
-    protected function _txn_paid_stop()
236
-    {
237
-        return '<p>' . __('View if registrant has paid for ticket.', 'event_espresso') . '</p>';
238
-    }
235
+	protected function _txn_paid_stop()
236
+	{
237
+		return '<p>' . __('View if registrant has paid for ticket.', 'event_espresso') . '</p>';
238
+	}
239 239
 
240
-    protected function _txn_total_stop()
241
-    {
242
-        return '<p>' . __('View total amount paid.', 'event_espresso') . '</p>';
243
-    }
240
+	protected function _txn_total_stop()
241
+	{
242
+		return '<p>' . __('View total amount paid.', 'event_espresso') . '</p>';
243
+	}
244 244
 
245
-    protected function _prc_name_stop()
246
-    {
247
-        return '<p>' . __('View type of ticket.', 'event_espresso') . '</p>';
248
-    }
245
+	protected function _prc_name_stop()
246
+	{
247
+		return '<p>' . __('View type of ticket.', 'event_espresso') . '</p>';
248
+	}
249 249
 
250
-    protected function _actions_stop()
251
-    {
252
-        return '<p>'
253
-               . __(
254
-                   'Perform an action to a registration. See legend in bottom left corner.',
255
-                   'event_espresso'
256
-               ) . '</p>';
257
-    }
250
+	protected function _actions_stop()
251
+	{
252
+		return '<p>'
253
+			   . __(
254
+				   'Perform an action to a registration. See legend in bottom left corner.',
255
+				   'event_espresso'
256
+			   ) . '</p>';
257
+	}
258 258
 
259
-    protected function _legend_stop()
260
-    {
261
-        return '<p>'
262
-               . __(
263
-                   'This is the legend that describes the different check-in statuses. Also shows available status for registrations.',
264
-                   'event_espresso'
265
-               ) . '</p>';
266
-    }
259
+	protected function _legend_stop()
260
+	{
261
+		return '<p>'
262
+			   . __(
263
+				   'This is the legend that describes the different check-in statuses. Also shows available status for registrations.',
264
+				   'event_espresso'
265
+			   ) . '</p>';
266
+	}
267 267
 
268
-    protected function _bulkactions_stop()
269
-    {
270
-        return '<p>'
271
-               . __(
272
-                   'Perform a bulk action to multiple registrations (only available when viewing check-in for a specific event).',
273
-                   'event_espresso'
274
-               ) . '</p>';
275
-    }
268
+	protected function _bulkactions_stop()
269
+	{
270
+		return '<p>'
271
+			   . __(
272
+				   'Perform a bulk action to multiple registrations (only available when viewing check-in for a specific event).',
273
+				   'event_espresso'
274
+			   ) . '</p>';
275
+	}
276 276
 
277
-    protected function _event_selector_stop()
278
-    {
279
-        return '<p>'
280
-               . __(
281
-                   'Select an event from this dropdown and click the filter button to see the check-in registration list for a specific event. You will then be able to toggle the check-in status for a registration.',
282
-                   'event_espresso'
283
-               ) . '</p>';
284
-    }
277
+	protected function _event_selector_stop()
278
+	{
279
+		return '<p>'
280
+			   . __(
281
+				   'Select an event from this dropdown and click the filter button to see the check-in registration list for a specific event. You will then be able to toggle the check-in status for a registration.',
282
+				   'event_espresso'
283
+			   ) . '</p>';
284
+	}
285 285
 
286
-    protected function _dtt_selector_stop()
287
-    {
288
-        return '<p>'
289
-               . __(
290
-                   'This dropdown shows you the date and time that a displayed registration is attached to. You can switch to a different event by selecting another date and clicking on the filter button. You can also switch out of this view by clicking on the reset filters button.',
291
-                   'event_espresso'
292
-               ) . '</p>';
293
-    }
286
+	protected function _dtt_selector_stop()
287
+	{
288
+		return '<p>'
289
+			   . __(
290
+				   'This dropdown shows you the date and time that a displayed registration is attached to. You can switch to a different event by selecting another date and clicking on the filter button. You can also switch out of this view by clicking on the reset filters button.',
291
+				   'event_espresso'
292
+			   ) . '</p>';
293
+	}
294 294
 
295
-    protected function _search_stop()
296
-    {
297
-        return '<p>'
298
-               . __(
299
-                   'Search through registrations. The following sources will be searched: Event Name, Event Description, First Name, Last Name, Biography, Email Address, Address, Comments, Notes, Registration Final Price, Registration Code, Registration Group Size, Ticket Name, and Ticket Description.',
300
-                   'event_espresso'
301
-               ) . '</p>';
302
-    }
295
+	protected function _search_stop()
296
+	{
297
+		return '<p>'
298
+			   . __(
299
+				   'Search through registrations. The following sources will be searched: Event Name, Event Description, First Name, Last Name, Biography, Email Address, Address, Comments, Notes, Registration Final Price, Registration Code, Registration Group Size, Ticket Name, and Ticket Description.',
300
+				   'event_espresso'
301
+			   ) . '</p>';
302
+	}
303 303
 }
Please login to merge, or discard this patch.
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -173,26 +173,26 @@  discard block
 block discarded – undo
173 173
 
174 174
     protected function _start()
175 175
     {
176
-        $content = '<h3>' . __('Event Check-in', 'event_espresso') . '</h3>';
176
+        $content = '<h3>'.__('Event Check-in', 'event_espresso').'</h3>';
177 177
         if (isset($this->_req_data['event_id'])) {
178 178
             $content .= '<p>'
179 179
                         . __(
180 180
                             'This tour of the Event Check-in page will go over different areas of the screen to help you understand what they are used for.<br /><br /> Note: You are currently viewing the check-in for a specific event so you can toggle the check-in status for attendees.',
181 181
                             'event_espresso'
182
-                        ) . '</p>';
182
+                        ).'</p>';
183 183
         } else {
184 184
             $content .= '<p>'
185 185
                         . __(
186 186
                             'This tour of the event check-in page will go over different areas of the screen to help you understand what they are used for. <br /><br /> Note: You must select an event from the dropdown menu before you can toggle the check-in status for an attendee.',
187 187
                             'event_espresso'
188
-                        ) . '</p>';
188
+                        ).'</p>';
189 189
         }
190 190
         return $content;
191 191
     }
192 192
 
193 193
     protected function _reg_count_stop()
194 194
     {
195
-        return '<p>' . __('View registration number.', 'event_espresso') . '</p>';
195
+        return '<p>'.__('View registration number.', 'event_espresso').'</p>';
196 196
     }
197 197
 
198 198
     protected function _attendee_name_stop()
@@ -201,12 +201,12 @@  discard block
 block discarded – undo
201 201
                . __(
202 202
                    'View name of registrant. Can be sorted in ascending or descending order.',
203 203
                    'event_espresso'
204
-               ) . '</p>';
204
+               ).'</p>';
205 205
     }
206 206
 
207 207
     protected function _attendee_email_stop()
208 208
     {
209
-        return '<p>' . __('View email address for a registrant.', 'event_espresso') . '</p>';
209
+        return '<p>'.__('View email address for a registrant.', 'event_espresso').'</p>';
210 210
     }
211 211
 
212 212
     protected function _reg_date_stop()
@@ -215,7 +215,7 @@  discard block
 block discarded – undo
215 215
                . __(
216 216
                    'View registration date. Can be sorted in ascending or descending order.',
217 217
                    'event_espresso'
218
-               ) . '</p>';
218
+               ).'</p>';
219 219
     }
220 220
 
221 221
     protected function _reg_code_stop()
@@ -224,27 +224,27 @@  discard block
 block discarded – undo
224 224
                . __(
225 225
                    'View registration code. Can be sorted in ascending or descending order.',
226 226
                    'event_espresso'
227
-               ) . '</p>';
227
+               ).'</p>';
228 228
     }
229 229
 
230 230
     protected function _reg_final_price_stop()
231 231
     {
232
-        return '<p>' . __('View price for ticket.', 'event_espresso') . '</p>';
232
+        return '<p>'.__('View price for ticket.', 'event_espresso').'</p>';
233 233
     }
234 234
 
235 235
     protected function _txn_paid_stop()
236 236
     {
237
-        return '<p>' . __('View if registrant has paid for ticket.', 'event_espresso') . '</p>';
237
+        return '<p>'.__('View if registrant has paid for ticket.', 'event_espresso').'</p>';
238 238
     }
239 239
 
240 240
     protected function _txn_total_stop()
241 241
     {
242
-        return '<p>' . __('View total amount paid.', 'event_espresso') . '</p>';
242
+        return '<p>'.__('View total amount paid.', 'event_espresso').'</p>';
243 243
     }
244 244
 
245 245
     protected function _prc_name_stop()
246 246
     {
247
-        return '<p>' . __('View type of ticket.', 'event_espresso') . '</p>';
247
+        return '<p>'.__('View type of ticket.', 'event_espresso').'</p>';
248 248
     }
249 249
 
250 250
     protected function _actions_stop()
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
                . __(
254 254
                    'Perform an action to a registration. See legend in bottom left corner.',
255 255
                    'event_espresso'
256
-               ) . '</p>';
256
+               ).'</p>';
257 257
     }
258 258
 
259 259
     protected function _legend_stop()
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
                . __(
263 263
                    'This is the legend that describes the different check-in statuses. Also shows available status for registrations.',
264 264
                    'event_espresso'
265
-               ) . '</p>';
265
+               ).'</p>';
266 266
     }
267 267
 
268 268
     protected function _bulkactions_stop()
@@ -271,7 +271,7 @@  discard block
 block discarded – undo
271 271
                . __(
272 272
                    'Perform a bulk action to multiple registrations (only available when viewing check-in for a specific event).',
273 273
                    'event_espresso'
274
-               ) . '</p>';
274
+               ).'</p>';
275 275
     }
276 276
 
277 277
     protected function _event_selector_stop()
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
                . __(
281 281
                    'Select an event from this dropdown and click the filter button to see the check-in registration list for a specific event. You will then be able to toggle the check-in status for a registration.',
282 282
                    'event_espresso'
283
-               ) . '</p>';
283
+               ).'</p>';
284 284
     }
285 285
 
286 286
     protected function _dtt_selector_stop()
@@ -289,7 +289,7 @@  discard block
 block discarded – undo
289 289
                . __(
290 290
                    'This dropdown shows you the date and time that a displayed registration is attached to. You can switch to a different event by selecting another date and clicking on the filter button. You can also switch out of this view by clicking on the reset filters button.',
291 291
                    'event_espresso'
292
-               ) . '</p>';
292
+               ).'</p>';
293 293
     }
294 294
 
295 295
     protected function _search_stop()
@@ -298,6 +298,6 @@  discard block
 block discarded – undo
298 298
                . __(
299 299
                    'Search through registrations. The following sources will be searched: Event Name, Event Description, First Name, Last Name, Biography, Email Address, Address, Comments, Notes, Registration Final Price, Registration Code, Registration Group Size, Ticket Name, and Ticket Description.',
300 300
                    'event_espresso'
301
-               ) . '</p>';
301
+               ).'</p>';
302 302
     }
303 303
 }
Please login to merge, or discard this patch.