Completed
Branch dependabot/npm_and_yarn/wordpr... (bfaa54)
by
unknown
19:48 queued 17:30
created
core/domain/entities/shortcodes/EspressoEvents.php 1 patch
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -30,132 +30,132 @@
 block discarded – undo
30 30
 {
31 31
 
32 32
 
33
-    /**
34
-     * the actual shortcode tag that gets registered with WordPress
35
-     *
36
-     * @return string
37
-     */
38
-    public function getTag()
39
-    {
40
-        return 'ESPRESSO_EVENTS';
41
-    }
33
+	/**
34
+	 * the actual shortcode tag that gets registered with WordPress
35
+	 *
36
+	 * @return string
37
+	 */
38
+	public function getTag()
39
+	{
40
+		return 'ESPRESSO_EVENTS';
41
+	}
42 42
 
43 43
 
44
-    /**
45
-     * the time in seconds to cache the results of the processShortcode() method
46
-     * 0 means the processShortcode() results will NOT be cached at all
47
-     *
48
-     * @return int
49
-     */
50
-    public function cacheExpiration()
51
-    {
52
-        return 0;
53
-    }
44
+	/**
45
+	 * the time in seconds to cache the results of the processShortcode() method
46
+	 * 0 means the processShortcode() results will NOT be cached at all
47
+	 *
48
+	 * @return int
49
+	 */
50
+	public function cacheExpiration()
51
+	{
52
+		return 0;
53
+	}
54 54
 
55 55
 
56
-    /**
57
-     * a place for adding any initialization code that needs to run prior to wp_header().
58
-     * this may be required for shortcodes that utilize a corresponding module,
59
-     * and need to enqueue assets for that module
60
-     *
61
-     * @return void
62
-     */
63
-    public function initializeShortcode()
64
-    {
65
-        EED_Events_Archive::instance()->event_list();
66
-        $this->shortcodeHasBeenInitialized();
67
-    }
56
+	/**
57
+	 * a place for adding any initialization code that needs to run prior to wp_header().
58
+	 * this may be required for shortcodes that utilize a corresponding module,
59
+	 * and need to enqueue assets for that module
60
+	 *
61
+	 * @return void
62
+	 */
63
+	public function initializeShortcode()
64
+	{
65
+		EED_Events_Archive::instance()->event_list();
66
+		$this->shortcodeHasBeenInitialized();
67
+	}
68 68
 
69 69
 
70
-    /**
71
-     * callback that runs when the shortcode is encountered in post content.
72
-     * IMPORTANT !!!
73
-     * remember that shortcode content should be RETURNED and NOT echoed out
74
-     *
75
-     * @param array $attributes
76
-     * @return string
77
-     */
78
-    public function processShortcode($attributes = array())
79
-    {
80
-        // grab attributes and merge with defaults
81
-        $attributes = $this->getAttributes($attributes);
82
-        // make sure we use the_excerpt()
83
-        add_filter('FHEE__EES_Espresso_Events__process_shortcode__true', '__return_true');
84
-        // apply query filters
85
-        add_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true');
86
-        // run the query
87
-        global $wp_query;
88
-        // yes we have to overwrite the main wp query, but it's ok...
89
-        // we're going to reset it again below, so everything will be Hunky Dory (amazing album)
90
-        $wp_query = new EventListQuery($attributes);
91
-        // check what template is loaded and load filters accordingly
92
-        EED_Events_Archive::instance()->template_include('loop-espresso_events.php');
93
-        // load our template
94
-        $event_list = EEH_Template::locate_template(
95
-            'loop-espresso_events.php',
96
-            array(),
97
-            true,
98
-            true
99
-        );
100
-        // now reset the query and post data
101
-        wp_reset_query();
102
-        wp_reset_postdata();
103
-        EED_Events_Archive::remove_all_events_archive_filters();
104
-        // remove query filters
105
-        remove_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true');
106
-        // pull our content from the output buffer and return it
107
-        return $event_list;
108
-    }
70
+	/**
71
+	 * callback that runs when the shortcode is encountered in post content.
72
+	 * IMPORTANT !!!
73
+	 * remember that shortcode content should be RETURNED and NOT echoed out
74
+	 *
75
+	 * @param array $attributes
76
+	 * @return string
77
+	 */
78
+	public function processShortcode($attributes = array())
79
+	{
80
+		// grab attributes and merge with defaults
81
+		$attributes = $this->getAttributes($attributes);
82
+		// make sure we use the_excerpt()
83
+		add_filter('FHEE__EES_Espresso_Events__process_shortcode__true', '__return_true');
84
+		// apply query filters
85
+		add_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true');
86
+		// run the query
87
+		global $wp_query;
88
+		// yes we have to overwrite the main wp query, but it's ok...
89
+		// we're going to reset it again below, so everything will be Hunky Dory (amazing album)
90
+		$wp_query = new EventListQuery($attributes);
91
+		// check what template is loaded and load filters accordingly
92
+		EED_Events_Archive::instance()->template_include('loop-espresso_events.php');
93
+		// load our template
94
+		$event_list = EEH_Template::locate_template(
95
+			'loop-espresso_events.php',
96
+			array(),
97
+			true,
98
+			true
99
+		);
100
+		// now reset the query and post data
101
+		wp_reset_query();
102
+		wp_reset_postdata();
103
+		EED_Events_Archive::remove_all_events_archive_filters();
104
+		// remove query filters
105
+		remove_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true');
106
+		// pull our content from the output buffer and return it
107
+		return $event_list;
108
+	}
109 109
 
110 110
 
111
-    /**
112
-     * merge incoming attributes with filtered defaults
113
-     *
114
-     * @param array $attributes
115
-     * @return array
116
-     */
117
-    private function getAttributes(array $attributes)
118
-    {
119
-        return array_merge(
120
-            (array) apply_filters(
121
-                'EES_Espresso_Events__process_shortcode__default_espresso_events_shortcode_atts',
122
-                array(
123
-                    'title'         => '',
124
-                    'limit'         => 10,
125
-                    'css_class'     => '',
126
-                    'show_expired'  => false,
127
-                    'month'         => '',
128
-                    'category_slug' => '',
129
-                    'order_by'      => 'start_date',
130
-                    'sort'          => 'ASC',
131
-                    'show_title'    => true,
132
-                )
133
-            ),
134
-            $attributes
135
-        );
136
-    }
111
+	/**
112
+	 * merge incoming attributes with filtered defaults
113
+	 *
114
+	 * @param array $attributes
115
+	 * @return array
116
+	 */
117
+	private function getAttributes(array $attributes)
118
+	{
119
+		return array_merge(
120
+			(array) apply_filters(
121
+				'EES_Espresso_Events__process_shortcode__default_espresso_events_shortcode_atts',
122
+				array(
123
+					'title'         => '',
124
+					'limit'         => 10,
125
+					'css_class'     => '',
126
+					'show_expired'  => false,
127
+					'month'         => '',
128
+					'category_slug' => '',
129
+					'order_by'      => 'start_date',
130
+					'sort'          => 'ASC',
131
+					'show_title'    => true,
132
+				)
133
+			),
134
+			$attributes
135
+		);
136
+	}
137 137
 
138 138
 
139
-    /**
140
-     * array for defining custom attribute sanitization callbacks,
141
-     * where keys match keys in your attributes array,
142
-     * and values represent the sanitization function you wish to be applied to that attribute.
143
-     * So for example, if you had an integer attribute named "event_id"
144
-     * that you wanted to be sanitized using absint(),
145
-     * then you would pass the following for your $custom_sanitization array:
146
-     *      array('event_id' => 'absint')
147
-     *
148
-     * @return array
149
-     */
150
-    protected function customAttributeSanitizationMap()
151
-    {
152
-        // the following get sanitized/whitelisted in EEH_Event_Query
153
-        return array(
154
-            'category_slug' => 'skip_sanitization',
155
-            'show_expired'  => 'skip_sanitization',
156
-            'order_by'      => 'skip_sanitization',
157
-            'month'         => 'skip_sanitization',
158
-            'sort'          => 'skip_sanitization',
159
-        );
160
-    }
139
+	/**
140
+	 * array for defining custom attribute sanitization callbacks,
141
+	 * where keys match keys in your attributes array,
142
+	 * and values represent the sanitization function you wish to be applied to that attribute.
143
+	 * So for example, if you had an integer attribute named "event_id"
144
+	 * that you wanted to be sanitized using absint(),
145
+	 * then you would pass the following for your $custom_sanitization array:
146
+	 *      array('event_id' => 'absint')
147
+	 *
148
+	 * @return array
149
+	 */
150
+	protected function customAttributeSanitizationMap()
151
+	{
152
+		// the following get sanitized/whitelisted in EEH_Event_Query
153
+		return array(
154
+			'category_slug' => 'skip_sanitization',
155
+			'show_expired'  => 'skip_sanitization',
156
+			'order_by'      => 'skip_sanitization',
157
+			'month'         => 'skip_sanitization',
158
+			'sort'          => 'skip_sanitization',
159
+		);
160
+	}
161 161
 }
Please login to merge, or discard this patch.
core/domain/entities/GenericAddress.php 1 patch
Indentation   +201 added lines, -201 removed lines patch added patch discarded remove patch
@@ -12,205 +12,205 @@
 block discarded – undo
12 12
  */
13 13
 class GenericAddress implements \EEI_Address
14 14
 {
15
-    // phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore
16
-    private $_address = '';
17
-
18
-    private $_address2 = '';
19
-
20
-    private $_city = '';
21
-
22
-    private $_state_ID = '';
23
-
24
-    private $_state_obj = '';
25
-
26
-    private $_zip = '';
27
-
28
-    private $_country_ID = '';
29
-
30
-    private $_country_obj = '';
31
-    // phpcs:enable
32
-
33
-    // phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
34
-    /**
35
-     * @param string               $address
36
-     * @param string               $address2
37
-     * @param string               $city
38
-     * @param \EE_State | string   $state
39
-     * @param string               $zip
40
-     * @param \EE_Country | string $country
41
-     * @return GenericAddress
42
-     */
43
-    public function __construct($address, $address2, $city, $state, $zip, $country)
44
-    {
45
-        $this->_address = $address;
46
-        $this->_address2 = $address2;
47
-        $this->_city = $city;
48
-        if ($state instanceof \EE_State) {
49
-            $this->_state_obj = $state;
50
-        } else {
51
-            $this->_state_ID = $state;
52
-            $this->_state_obj = $this->_get_state_obj();
53
-        }
54
-        $this->_zip = $zip;
55
-        if ($country instanceof \EE_Country) {
56
-            $this->_country_obj = $country;
57
-        } else {
58
-            $this->_country_ID = $country;
59
-            $this->_country_obj = $this->_get_country_obj();
60
-        }
61
-    }
62
-
63
-
64
-    /**
65
-     * @return string
66
-     */
67
-    public function address()
68
-    {
69
-        return $this->_address;
70
-    }
71
-
72
-
73
-    /**
74
-     * @return string
75
-     */
76
-    public function address2()
77
-    {
78
-        return $this->_address2;
79
-    }
80
-
81
-
82
-    /**
83
-     * @return string
84
-     */
85
-    public function city()
86
-    {
87
-        return $this->_city;
88
-    }
89
-
90
-    // phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
91
-
92
-    /**
93
-     * @return \EE_State
94
-     */
95
-    private function _get_state_obj()
96
-    {
97
-        return $this->_state_obj instanceof \EE_State
98
-            ? $this->_state_obj
99
-            : \EE_Registry::instance()->load_model('State')->get_one_by_ID($this->_state_ID);
100
-    }
101
-
102
-
103
-    /**
104
-     * @return string
105
-     */
106
-    public function state_ID()
107
-    {
108
-        return $this->_state_ID;
109
-    }
110
-
111
-
112
-    /**
113
-     * @return string
114
-     */
115
-    public function state_abbrev()
116
-    {
117
-        return $this->state_obj() instanceof \EE_State
118
-            ? $this->state_obj()->abbrev()
119
-            : '';
120
-    }
121
-
122
-
123
-    /**
124
-     * @return string
125
-     */
126
-    public function state_name()
127
-    {
128
-        return $this->state_obj() instanceof \EE_State
129
-            ? $this->state_obj()->name()
130
-            : '';
131
-    }
132
-
133
-
134
-    /**
135
-     * @return \EE_State
136
-     */
137
-    public function state_obj()
138
-    {
139
-        return $this->_state_obj;
140
-    }
141
-
142
-
143
-    /**
144
-     * @return string
145
-     */
146
-    public function state()
147
-    {
148
-        if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) {
149
-            return $this->state_obj()->abbrev();
150
-        } else {
151
-            return $this->state_name();
152
-        }
153
-    }
154
-
155
-
156
-    /**
157
-     * @return \EE_Country
158
-     */
159
-    private function _get_country_obj()
160
-    {
161
-        return $this->_country_obj instanceof \EE_Country
162
-            ? $this->_country_obj
163
-            : \EE_Registry::instance()->load_model('Country')->get_one_by_ID($this->_country_ID);
164
-    }
165
-
166
-
167
-    /**
168
-     * @return string
169
-     */
170
-    public function country_ID()
171
-    {
172
-        return $this->_country_ID;
173
-    }
174
-
175
-
176
-    /**
177
-     * @return string
178
-     */
179
-    public function country_name()
180
-    {
181
-        return $this->country_obj() instanceof \EE_Country
182
-            ? $this->country_obj()->name()
183
-            : '';
184
-    }
185
-
186
-
187
-    /**
188
-     * @return \EE_Country
189
-     */
190
-    public function country_obj()
191
-    {
192
-        return $this->_country_obj;
193
-    }
194
-
195
-
196
-    /**
197
-     * @return string
198
-     */
199
-    public function country()
200
-    {
201
-        if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) {
202
-            return $this->country_ID();
203
-        } else {
204
-            return $this->country_name();
205
-        }
206
-    }
207
-
208
-
209
-    /**
210
-     * @return string
211
-     */
212
-    public function zip()
213
-    {
214
-        return $this->_zip;
215
-    }
15
+	// phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore
16
+	private $_address = '';
17
+
18
+	private $_address2 = '';
19
+
20
+	private $_city = '';
21
+
22
+	private $_state_ID = '';
23
+
24
+	private $_state_obj = '';
25
+
26
+	private $_zip = '';
27
+
28
+	private $_country_ID = '';
29
+
30
+	private $_country_obj = '';
31
+	// phpcs:enable
32
+
33
+	// phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
34
+	/**
35
+	 * @param string               $address
36
+	 * @param string               $address2
37
+	 * @param string               $city
38
+	 * @param \EE_State | string   $state
39
+	 * @param string               $zip
40
+	 * @param \EE_Country | string $country
41
+	 * @return GenericAddress
42
+	 */
43
+	public function __construct($address, $address2, $city, $state, $zip, $country)
44
+	{
45
+		$this->_address = $address;
46
+		$this->_address2 = $address2;
47
+		$this->_city = $city;
48
+		if ($state instanceof \EE_State) {
49
+			$this->_state_obj = $state;
50
+		} else {
51
+			$this->_state_ID = $state;
52
+			$this->_state_obj = $this->_get_state_obj();
53
+		}
54
+		$this->_zip = $zip;
55
+		if ($country instanceof \EE_Country) {
56
+			$this->_country_obj = $country;
57
+		} else {
58
+			$this->_country_ID = $country;
59
+			$this->_country_obj = $this->_get_country_obj();
60
+		}
61
+	}
62
+
63
+
64
+	/**
65
+	 * @return string
66
+	 */
67
+	public function address()
68
+	{
69
+		return $this->_address;
70
+	}
71
+
72
+
73
+	/**
74
+	 * @return string
75
+	 */
76
+	public function address2()
77
+	{
78
+		return $this->_address2;
79
+	}
80
+
81
+
82
+	/**
83
+	 * @return string
84
+	 */
85
+	public function city()
86
+	{
87
+		return $this->_city;
88
+	}
89
+
90
+	// phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
91
+
92
+	/**
93
+	 * @return \EE_State
94
+	 */
95
+	private function _get_state_obj()
96
+	{
97
+		return $this->_state_obj instanceof \EE_State
98
+			? $this->_state_obj
99
+			: \EE_Registry::instance()->load_model('State')->get_one_by_ID($this->_state_ID);
100
+	}
101
+
102
+
103
+	/**
104
+	 * @return string
105
+	 */
106
+	public function state_ID()
107
+	{
108
+		return $this->_state_ID;
109
+	}
110
+
111
+
112
+	/**
113
+	 * @return string
114
+	 */
115
+	public function state_abbrev()
116
+	{
117
+		return $this->state_obj() instanceof \EE_State
118
+			? $this->state_obj()->abbrev()
119
+			: '';
120
+	}
121
+
122
+
123
+	/**
124
+	 * @return string
125
+	 */
126
+	public function state_name()
127
+	{
128
+		return $this->state_obj() instanceof \EE_State
129
+			? $this->state_obj()->name()
130
+			: '';
131
+	}
132
+
133
+
134
+	/**
135
+	 * @return \EE_State
136
+	 */
137
+	public function state_obj()
138
+	{
139
+		return $this->_state_obj;
140
+	}
141
+
142
+
143
+	/**
144
+	 * @return string
145
+	 */
146
+	public function state()
147
+	{
148
+		if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) {
149
+			return $this->state_obj()->abbrev();
150
+		} else {
151
+			return $this->state_name();
152
+		}
153
+	}
154
+
155
+
156
+	/**
157
+	 * @return \EE_Country
158
+	 */
159
+	private function _get_country_obj()
160
+	{
161
+		return $this->_country_obj instanceof \EE_Country
162
+			? $this->_country_obj
163
+			: \EE_Registry::instance()->load_model('Country')->get_one_by_ID($this->_country_ID);
164
+	}
165
+
166
+
167
+	/**
168
+	 * @return string
169
+	 */
170
+	public function country_ID()
171
+	{
172
+		return $this->_country_ID;
173
+	}
174
+
175
+
176
+	/**
177
+	 * @return string
178
+	 */
179
+	public function country_name()
180
+	{
181
+		return $this->country_obj() instanceof \EE_Country
182
+			? $this->country_obj()->name()
183
+			: '';
184
+	}
185
+
186
+
187
+	/**
188
+	 * @return \EE_Country
189
+	 */
190
+	public function country_obj()
191
+	{
192
+		return $this->_country_obj;
193
+	}
194
+
195
+
196
+	/**
197
+	 * @return string
198
+	 */
199
+	public function country()
200
+	{
201
+		if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) {
202
+			return $this->country_ID();
203
+		} else {
204
+			return $this->country_name();
205
+		}
206
+	}
207
+
208
+
209
+	/**
210
+	 * @return string
211
+	 */
212
+	public function zip()
213
+	{
214
+		return $this->_zip;
215
+	}
216 216
 }
Please login to merge, or discard this patch.
core/domain/services/wp_queries/EventListQuery.php 2 patches
Indentation   +194 added lines, -194 removed lines patch added patch discarded remove patch
@@ -16,198 +16,198 @@
 block discarded – undo
16 16
 class EventListQuery extends WP_Query
17 17
 {
18 18
 
19
-    /**
20
-     * @var string $title
21
-     */
22
-    private $title;
23
-
24
-    /**
25
-     * @var integer $limit
26
-     */
27
-    private $limit = 10;
28
-
29
-    /**
30
-     * @var string $css_class
31
-     */
32
-    private $css_class;
33
-
34
-    /**
35
-     * @var boolean $show_expired
36
-     */
37
-    private $show_expired = false;
38
-
39
-    /**
40
-     * @var string $month
41
-     */
42
-    private $month;
43
-
44
-    /**
45
-     * @var string $category_slug
46
-     */
47
-    private $category_slug;
48
-
49
-    /**
50
-     * @var string $order_by
51
-     */
52
-    private $order_by;
53
-
54
-    /**
55
-     * @var string $sort
56
-     */
57
-    private $sort;
58
-
59
-    /**
60
-     * @var boolean $show_title
61
-     */
62
-    private $show_title = true;
63
-
64
-
65
-    /**
66
-     * EE_Event_List_Query Constructor     *
67
-     *
68
-     * @param array $args
69
-     */
70
-    public function __construct($args = array())
71
-    {
72
-        $args = $this->parseArgs((array) $args);
73
-        $this->setupEventQueryHelper();
74
-        $this->setupFilters();
75
-        $args = $this->getQueryArgs($args);
76
-        // run the query
77
-        parent::__construct($args);
78
-    }
79
-
80
-
81
-    /**
82
-     * @param array $args
83
-     * @return array
84
-     */
85
-    private function parseArgs(array $args)
86
-    {
87
-        // incoming args could be a mix of WP query args + EE shortcode args
88
-        foreach ($args as $property => $value) {
89
-            // if the arg is a property of this class, then it's an EE shortcode arg
90
-            if (property_exists($this, $property) && ! property_exists('WP_Query', $property)) {
91
-                // set the property value
92
-                $this->{$property} = $value;
93
-                // then remove it from the array of args that will later be passed to WP_Query()
94
-                unset($args[ $property ]);
95
-            }
96
-        }
97
-        return $args;
98
-    }
99
-
100
-
101
-    private function setupEventQueryHelper()
102
-    {
103
-        // add query filters
104
-        EEH_Event_Query::add_query_filters();
105
-        // set params that will get used by the filters
106
-        EEH_Event_Query::set_query_params(
107
-            $this->month,
108
-            $this->category_slug,
109
-            $this->show_expired,
110
-            $this->order_by,
111
-            $this->sort
112
-        );
113
-    }
114
-
115
-
116
-    private function setupFilters()
117
-    {
118
-        // first off, let's remove any filters from previous queries
119
-        remove_filter(
120
-            'FHEE__archive_espresso_events_template__show_header',
121
-            array($this, 'show_event_list_title')
122
-        );
123
-        remove_filter(
124
-            'FHEE__archive_espresso_events_template__upcoming_events_h1',
125
-            array($this, 'event_list_title')
126
-        );
127
-        remove_all_filters('FHEE__content_espresso_events__event_class');
128
-        // Event List Title ?
129
-        add_filter(
130
-            'FHEE__archive_espresso_events_template__show_header',
131
-            array($this, 'show_event_list_title')
132
-        );
133
-        add_filter(
134
-            'FHEE__archive_espresso_events_template__upcoming_events_h1',
135
-            array($this, 'event_list_title'),
136
-            10,
137
-            1
138
-        );
139
-        // add the css class
140
-        add_filter(
141
-            'FHEE__content_espresso_events__event_class',
142
-            array($this, 'event_list_css'),
143
-            10,
144
-            1
145
-        );
146
-    }
147
-
148
-
149
-    private function getQueryArgs(array $args)
150
-    {
151
-        // the current "page" we are viewing
152
-        $paged = max(1, get_query_var('paged'));
153
-        // Force these args
154
-        return array_merge(
155
-            $args,
156
-            array(
157
-                'post_type'              => 'espresso_events',
158
-                'posts_per_page'         => $this->limit,
159
-                'update_post_term_cache' => false,
160
-                'update_post_meta_cache' => false,
161
-                'paged'                  => $paged,
162
-                'offset'                 => ($paged - 1) * $this->limit,
163
-            )
164
-        );
165
-    }
166
-
167
-    // phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
168
-
169
-    /**
170
-     * show_event_list_title
171
-     *
172
-     * @return boolean
173
-     */
174
-    public function show_event_list_title()
175
-    {
176
-        return filter_var(
177
-            $this->show_title,
178
-            FILTER_VALIDATE_BOOLEAN
179
-        );
180
-    }
181
-
182
-
183
-    /**
184
-     * callback for FHEE__archive_espresso_events_template__upcoming_events_h1 filter
185
-     *
186
-     * @param string $event_list_title
187
-     * @return    string
188
-     */
189
-    public function event_list_title($event_list_title = '')
190
-    {
191
-        if (! empty($this->title)) {
192
-            return $this->title;
193
-        }
194
-        return $event_list_title;
195
-    }
196
-
197
-
198
-    /**
199
-     * callback for FHEE__content_espresso_events__event_class filter
200
-     *
201
-     * @param string $event_list_css
202
-     * @return string
203
-     */
204
-    public function event_list_css($event_list_css = '')
205
-    {
206
-        $event_list_css .= ! empty($event_list_css) ? ' ' : '';
207
-        $event_list_css .= ! empty($this->css_class) ? $this->css_class : '';
208
-        $event_list_css .= ! empty($event_list_css) ? ' ' : '';
209
-        $event_list_css .= ! empty($this->category_slug) ? $this->category_slug : '';
210
-        return $event_list_css;
211
-    }
212
-    // phpcs:enable
19
+	/**
20
+	 * @var string $title
21
+	 */
22
+	private $title;
23
+
24
+	/**
25
+	 * @var integer $limit
26
+	 */
27
+	private $limit = 10;
28
+
29
+	/**
30
+	 * @var string $css_class
31
+	 */
32
+	private $css_class;
33
+
34
+	/**
35
+	 * @var boolean $show_expired
36
+	 */
37
+	private $show_expired = false;
38
+
39
+	/**
40
+	 * @var string $month
41
+	 */
42
+	private $month;
43
+
44
+	/**
45
+	 * @var string $category_slug
46
+	 */
47
+	private $category_slug;
48
+
49
+	/**
50
+	 * @var string $order_by
51
+	 */
52
+	private $order_by;
53
+
54
+	/**
55
+	 * @var string $sort
56
+	 */
57
+	private $sort;
58
+
59
+	/**
60
+	 * @var boolean $show_title
61
+	 */
62
+	private $show_title = true;
63
+
64
+
65
+	/**
66
+	 * EE_Event_List_Query Constructor     *
67
+	 *
68
+	 * @param array $args
69
+	 */
70
+	public function __construct($args = array())
71
+	{
72
+		$args = $this->parseArgs((array) $args);
73
+		$this->setupEventQueryHelper();
74
+		$this->setupFilters();
75
+		$args = $this->getQueryArgs($args);
76
+		// run the query
77
+		parent::__construct($args);
78
+	}
79
+
80
+
81
+	/**
82
+	 * @param array $args
83
+	 * @return array
84
+	 */
85
+	private function parseArgs(array $args)
86
+	{
87
+		// incoming args could be a mix of WP query args + EE shortcode args
88
+		foreach ($args as $property => $value) {
89
+			// if the arg is a property of this class, then it's an EE shortcode arg
90
+			if (property_exists($this, $property) && ! property_exists('WP_Query', $property)) {
91
+				// set the property value
92
+				$this->{$property} = $value;
93
+				// then remove it from the array of args that will later be passed to WP_Query()
94
+				unset($args[ $property ]);
95
+			}
96
+		}
97
+		return $args;
98
+	}
99
+
100
+
101
+	private function setupEventQueryHelper()
102
+	{
103
+		// add query filters
104
+		EEH_Event_Query::add_query_filters();
105
+		// set params that will get used by the filters
106
+		EEH_Event_Query::set_query_params(
107
+			$this->month,
108
+			$this->category_slug,
109
+			$this->show_expired,
110
+			$this->order_by,
111
+			$this->sort
112
+		);
113
+	}
114
+
115
+
116
+	private function setupFilters()
117
+	{
118
+		// first off, let's remove any filters from previous queries
119
+		remove_filter(
120
+			'FHEE__archive_espresso_events_template__show_header',
121
+			array($this, 'show_event_list_title')
122
+		);
123
+		remove_filter(
124
+			'FHEE__archive_espresso_events_template__upcoming_events_h1',
125
+			array($this, 'event_list_title')
126
+		);
127
+		remove_all_filters('FHEE__content_espresso_events__event_class');
128
+		// Event List Title ?
129
+		add_filter(
130
+			'FHEE__archive_espresso_events_template__show_header',
131
+			array($this, 'show_event_list_title')
132
+		);
133
+		add_filter(
134
+			'FHEE__archive_espresso_events_template__upcoming_events_h1',
135
+			array($this, 'event_list_title'),
136
+			10,
137
+			1
138
+		);
139
+		// add the css class
140
+		add_filter(
141
+			'FHEE__content_espresso_events__event_class',
142
+			array($this, 'event_list_css'),
143
+			10,
144
+			1
145
+		);
146
+	}
147
+
148
+
149
+	private function getQueryArgs(array $args)
150
+	{
151
+		// the current "page" we are viewing
152
+		$paged = max(1, get_query_var('paged'));
153
+		// Force these args
154
+		return array_merge(
155
+			$args,
156
+			array(
157
+				'post_type'              => 'espresso_events',
158
+				'posts_per_page'         => $this->limit,
159
+				'update_post_term_cache' => false,
160
+				'update_post_meta_cache' => false,
161
+				'paged'                  => $paged,
162
+				'offset'                 => ($paged - 1) * $this->limit,
163
+			)
164
+		);
165
+	}
166
+
167
+	// phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
168
+
169
+	/**
170
+	 * show_event_list_title
171
+	 *
172
+	 * @return boolean
173
+	 */
174
+	public function show_event_list_title()
175
+	{
176
+		return filter_var(
177
+			$this->show_title,
178
+			FILTER_VALIDATE_BOOLEAN
179
+		);
180
+	}
181
+
182
+
183
+	/**
184
+	 * callback for FHEE__archive_espresso_events_template__upcoming_events_h1 filter
185
+	 *
186
+	 * @param string $event_list_title
187
+	 * @return    string
188
+	 */
189
+	public function event_list_title($event_list_title = '')
190
+	{
191
+		if (! empty($this->title)) {
192
+			return $this->title;
193
+		}
194
+		return $event_list_title;
195
+	}
196
+
197
+
198
+	/**
199
+	 * callback for FHEE__content_espresso_events__event_class filter
200
+	 *
201
+	 * @param string $event_list_css
202
+	 * @return string
203
+	 */
204
+	public function event_list_css($event_list_css = '')
205
+	{
206
+		$event_list_css .= ! empty($event_list_css) ? ' ' : '';
207
+		$event_list_css .= ! empty($this->css_class) ? $this->css_class : '';
208
+		$event_list_css .= ! empty($event_list_css) ? ' ' : '';
209
+		$event_list_css .= ! empty($this->category_slug) ? $this->category_slug : '';
210
+		return $event_list_css;
211
+	}
212
+	// phpcs:enable
213 213
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
                 // set the property value
92 92
                 $this->{$property} = $value;
93 93
                 // then remove it from the array of args that will later be passed to WP_Query()
94
-                unset($args[ $property ]);
94
+                unset($args[$property]);
95 95
             }
96 96
         }
97 97
         return $args;
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
      */
189 189
     public function event_list_title($event_list_title = '')
190 190
     {
191
-        if (! empty($this->title)) {
191
+        if ( ! empty($this->title)) {
192 192
             return $this->title;
193 193
         }
194 194
         return $event_list_title;
Please login to merge, or discard this patch.
core/domain/services/validation/email/strategies/Basic.php 2 patches
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -15,112 +15,112 @@
 block discarded – undo
15 15
 class Basic implements EmailValidatorInterface
16 16
 {
17 17
 
18
-    /**
19
-     * @param string $email_address
20
-     * @return bool
21
-     * @throws EmailValidationException
22
-     */
23
-    public function validate($email_address)
24
-    {
25
-        if (! preg_match('/^.+\@\S+$/', $email_address)) {
26
-            // email not in correct {string}@{string} format
27
-            throw new EmailValidationException(
28
-                esc_html__('Email does not have the required @ sign.', 'event_espresso')
29
-            );
30
-        }
31
-        $atIndex = $this->getAtIndex($email_address);
32
-        $local = $this->getLocalPartOfEmail($email_address, $atIndex);
33
-        $localLen = strlen($local);
34
-        if ($localLen < 1) {
35
-            // no local part
36
-            throw new EmailValidationException(
37
-                esc_html__('Email local-part (before the @) is required.', 'event_espresso')
38
-            );
39
-        }
40
-        if ($localLen > 64) {
41
-            // local part length exceeded
42
-            throw new EmailValidationException(
43
-                esc_html__('Email local-part (before the @) is too long.', 'event_espresso')
44
-            );
45
-        }
46
-        if ($local[0] === '.') {
47
-            // local part starts with '.'
48
-            throw new EmailValidationException(
49
-                esc_html__('Email local-part (before the @) must not begin with a period.', 'event_espresso')
50
-            );
51
-        }
52
-        if ($local[ $localLen - 1 ] === '.') {
53
-            // local part starts or ends with '.'
54
-            throw new EmailValidationException(
55
-                esc_html__('Email local-part (before the @) must not end with a period.', 'event_espresso')
56
-            );
57
-        }
58
-        if (preg_match('/\\.\\./', $local)) {
59
-            // local part has two consecutive dots
60
-            throw new EmailValidationException(
61
-                esc_html__(
62
-                    'Email local-part (before the @) must not have two consecutive periods.',
63
-                    'event_espresso'
64
-                )
65
-            );
66
-        }
67
-        $domain = $this->getDomainPartOfEmail($email_address, $atIndex);
68
-        $domainLen = strlen($domain);
69
-        if ($domainLen < 1) {
70
-            throw new EmailValidationException(
71
-                esc_html__('Email domain (after the @) is required.', 'event_espresso')
72
-            );
73
-        }
74
-        if ($domainLen > 255) {
75
-            // domain part length exceeded
76
-            throw new EmailValidationException(
77
-                esc_html__('Email domain (after the @) is too long.', 'event_espresso')
78
-            );
79
-        }
80
-        if (preg_match('/\\.\\./', $domain)) {
81
-            // domain part has two consecutive dots
82
-            throw new EmailValidationException(
83
-                esc_html__('Email domain (after the @) must not have two consecutive periods.', 'event_espresso')
84
-            );
85
-        }
86
-        return true;
87
-    }
18
+	/**
19
+	 * @param string $email_address
20
+	 * @return bool
21
+	 * @throws EmailValidationException
22
+	 */
23
+	public function validate($email_address)
24
+	{
25
+		if (! preg_match('/^.+\@\S+$/', $email_address)) {
26
+			// email not in correct {string}@{string} format
27
+			throw new EmailValidationException(
28
+				esc_html__('Email does not have the required @ sign.', 'event_espresso')
29
+			);
30
+		}
31
+		$atIndex = $this->getAtIndex($email_address);
32
+		$local = $this->getLocalPartOfEmail($email_address, $atIndex);
33
+		$localLen = strlen($local);
34
+		if ($localLen < 1) {
35
+			// no local part
36
+			throw new EmailValidationException(
37
+				esc_html__('Email local-part (before the @) is required.', 'event_espresso')
38
+			);
39
+		}
40
+		if ($localLen > 64) {
41
+			// local part length exceeded
42
+			throw new EmailValidationException(
43
+				esc_html__('Email local-part (before the @) is too long.', 'event_espresso')
44
+			);
45
+		}
46
+		if ($local[0] === '.') {
47
+			// local part starts with '.'
48
+			throw new EmailValidationException(
49
+				esc_html__('Email local-part (before the @) must not begin with a period.', 'event_espresso')
50
+			);
51
+		}
52
+		if ($local[ $localLen - 1 ] === '.') {
53
+			// local part starts or ends with '.'
54
+			throw new EmailValidationException(
55
+				esc_html__('Email local-part (before the @) must not end with a period.', 'event_espresso')
56
+			);
57
+		}
58
+		if (preg_match('/\\.\\./', $local)) {
59
+			// local part has two consecutive dots
60
+			throw new EmailValidationException(
61
+				esc_html__(
62
+					'Email local-part (before the @) must not have two consecutive periods.',
63
+					'event_espresso'
64
+				)
65
+			);
66
+		}
67
+		$domain = $this->getDomainPartOfEmail($email_address, $atIndex);
68
+		$domainLen = strlen($domain);
69
+		if ($domainLen < 1) {
70
+			throw new EmailValidationException(
71
+				esc_html__('Email domain (after the @) is required.', 'event_espresso')
72
+			);
73
+		}
74
+		if ($domainLen > 255) {
75
+			// domain part length exceeded
76
+			throw new EmailValidationException(
77
+				esc_html__('Email domain (after the @) is too long.', 'event_espresso')
78
+			);
79
+		}
80
+		if (preg_match('/\\.\\./', $domain)) {
81
+			// domain part has two consecutive dots
82
+			throw new EmailValidationException(
83
+				esc_html__('Email domain (after the @) must not have two consecutive periods.', 'event_espresso')
84
+			);
85
+		}
86
+		return true;
87
+	}
88 88
 
89 89
 
90
-    /**
91
-     * returns the location of the @ symbol
92
-     *
93
-     * @param string $email_address
94
-     * @return bool|string
95
-     */
96
-    protected function getAtIndex($email_address)
97
-    {
98
-        return strrpos($email_address, '@');
99
-    }
90
+	/**
91
+	 * returns the location of the @ symbol
92
+	 *
93
+	 * @param string $email_address
94
+	 * @return bool|string
95
+	 */
96
+	protected function getAtIndex($email_address)
97
+	{
98
+		return strrpos($email_address, '@');
99
+	}
100 100
 
101 101
 
102
-    /**
103
-     * Gets the local part of the email
104
-     *
105
-     * @param string   $email_address
106
-     * @param bool|int $atIndex
107
-     * @return bool|string
108
-     */
109
-    protected function getLocalPartOfEmail($email_address, $atIndex)
110
-    {
111
-        return substr($email_address, 0, $atIndex);
112
-    }
102
+	/**
103
+	 * Gets the local part of the email
104
+	 *
105
+	 * @param string   $email_address
106
+	 * @param bool|int $atIndex
107
+	 * @return bool|string
108
+	 */
109
+	protected function getLocalPartOfEmail($email_address, $atIndex)
110
+	{
111
+		return substr($email_address, 0, $atIndex);
112
+	}
113 113
 
114 114
 
115
-    /**
116
-     * Gets the domain part of the email
117
-     *
118
-     * @param string   $email_address
119
-     * @param bool|int $atIndex
120
-     * @return bool|string
121
-     */
122
-    protected function getDomainPartOfEmail($email_address, $atIndex)
123
-    {
124
-        return substr($email_address, $atIndex + 1);
125
-    }
115
+	/**
116
+	 * Gets the domain part of the email
117
+	 *
118
+	 * @param string   $email_address
119
+	 * @param bool|int $atIndex
120
+	 * @return bool|string
121
+	 */
122
+	protected function getDomainPartOfEmail($email_address, $atIndex)
123
+	{
124
+		return substr($email_address, $atIndex + 1);
125
+	}
126 126
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
      */
23 23
     public function validate($email_address)
24 24
     {
25
-        if (! preg_match('/^.+\@\S+$/', $email_address)) {
25
+        if ( ! preg_match('/^.+\@\S+$/', $email_address)) {
26 26
             // email not in correct {string}@{string} format
27 27
             throw new EmailValidationException(
28 28
                 esc_html__('Email does not have the required @ sign.', 'event_espresso')
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
                 esc_html__('Email local-part (before the @) must not begin with a period.', 'event_espresso')
50 50
             );
51 51
         }
52
-        if ($local[ $localLen - 1 ] === '.') {
52
+        if ($local[$localLen - 1] === '.') {
53 53
             // local part starts or ends with '.'
54 54
             throw new EmailValidationException(
55 55
                 esc_html__('Email local-part (before the @) must not end with a period.', 'event_espresso')
Please login to merge, or discard this patch.
core/domain/services/registration/CreateRegistrationService.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -70,14 +70,14 @@
 block discarded – undo
70 70
                 'REG_code'        => $reg_code,
71 71
             )
72 72
         );
73
-        if (! $registration instanceof EE_Registration) {
73
+        if ( ! $registration instanceof EE_Registration) {
74 74
             throw new UnexpectedEntityException($registration, 'EE_Registration');
75 75
         }
76 76
         // save registration so that we have an ID
77 77
         $registration->save();
78 78
         // track reservation on reg but don't adjust ticket and datetime reserved counts
79 79
         // because that is done as soon as the tickets are added/removed from the cart
80
-        $registration->reserve_ticket(false, 'CreateRegistrationService:' . __LINE__);
80
+        $registration->reserve_ticket(false, 'CreateRegistrationService:'.__LINE__);
81 81
         $registration->_add_relation_to($event, 'Event', array(), $event->ID());
82 82
         $registration->_add_relation_to($ticket, 'Ticket', array(), $ticket->ID());
83 83
         $transaction->_add_relation_to($registration, 'Registration', array(), $registration->ID());
Please login to merge, or discard this patch.
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -29,102 +29,102 @@
 block discarded – undo
29 29
 {
30 30
 
31 31
 
32
-    /**
33
-     * @param EE_Event        $event
34
-     * @param EE_Transaction  $transaction
35
-     * @param EE_Ticket       $ticket
36
-     * @param EE_Line_Item    $ticket_line_item
37
-     * @param                 $reg_count
38
-     * @param                 $reg_group_size
39
-     * @param string          $reg_status
40
-     * @return EE_Registration
41
-     * @throws OutOfRangeException
42
-     * @throws EE_Error
43
-     * @throws UnexpectedEntityException
44
-     */
45
-    public function create(
46
-        EE_Event $event,
47
-        EE_Transaction $transaction,
48
-        EE_Ticket $ticket,
49
-        EE_Line_Item $ticket_line_item,
50
-        $reg_count,
51
-        $reg_group_size,
52
-        $reg_status = EEM_Registration::status_id_incomplete
53
-    ) {
54
-        $registrations = $transaction->registrations();
55
-        $reg_count = $reg_count ? $reg_count : count($registrations) + 1;
56
-        $reg_url_link = new RegUrlLink($reg_count, $ticket_line_item);
57
-        $reg_code = new RegCode($reg_url_link, $transaction, $ticket);
58
-        // generate new EE_Registration
59
-        $registration = EE_Registration::new_instance(
60
-            array(
61
-                'EVT_ID'          => $event->ID(),
62
-                'TXN_ID'          => $transaction->ID(),
63
-                'TKT_ID'          => $ticket->ID(),
64
-                'STS_ID'          => $reg_status,
65
-                'REG_final_price' => $this->resolveFinalPrice($transaction, $ticket, $ticket_line_item),
66
-                'REG_session'     => EE_Registry::instance()->SSN->id(),
67
-                'REG_count'       => $reg_count,
68
-                'REG_group_size'  => $reg_group_size ? $reg_group_size : $this->incrementRegGroupSize($registrations),
69
-                'REG_url_link'    => $reg_url_link,
70
-                'REG_code'        => $reg_code,
71
-            )
72
-        );
73
-        if (! $registration instanceof EE_Registration) {
74
-            throw new UnexpectedEntityException($registration, 'EE_Registration');
75
-        }
76
-        // save registration so that we have an ID
77
-        $registration->save();
78
-        // track reservation on reg but don't adjust ticket and datetime reserved counts
79
-        // because that is done as soon as the tickets are added/removed from the cart
80
-        $registration->reserve_ticket(false, 'CreateRegistrationService:' . __LINE__);
81
-        $registration->_add_relation_to($event, 'Event', array(), $event->ID());
82
-        $registration->_add_relation_to($ticket, 'Ticket', array(), $ticket->ID());
83
-        $transaction->_add_relation_to($registration, 'Registration', array(), $registration->ID());
84
-        $registration->save();
85
-        return $registration;
86
-    }
32
+	/**
33
+	 * @param EE_Event        $event
34
+	 * @param EE_Transaction  $transaction
35
+	 * @param EE_Ticket       $ticket
36
+	 * @param EE_Line_Item    $ticket_line_item
37
+	 * @param                 $reg_count
38
+	 * @param                 $reg_group_size
39
+	 * @param string          $reg_status
40
+	 * @return EE_Registration
41
+	 * @throws OutOfRangeException
42
+	 * @throws EE_Error
43
+	 * @throws UnexpectedEntityException
44
+	 */
45
+	public function create(
46
+		EE_Event $event,
47
+		EE_Transaction $transaction,
48
+		EE_Ticket $ticket,
49
+		EE_Line_Item $ticket_line_item,
50
+		$reg_count,
51
+		$reg_group_size,
52
+		$reg_status = EEM_Registration::status_id_incomplete
53
+	) {
54
+		$registrations = $transaction->registrations();
55
+		$reg_count = $reg_count ? $reg_count : count($registrations) + 1;
56
+		$reg_url_link = new RegUrlLink($reg_count, $ticket_line_item);
57
+		$reg_code = new RegCode($reg_url_link, $transaction, $ticket);
58
+		// generate new EE_Registration
59
+		$registration = EE_Registration::new_instance(
60
+			array(
61
+				'EVT_ID'          => $event->ID(),
62
+				'TXN_ID'          => $transaction->ID(),
63
+				'TKT_ID'          => $ticket->ID(),
64
+				'STS_ID'          => $reg_status,
65
+				'REG_final_price' => $this->resolveFinalPrice($transaction, $ticket, $ticket_line_item),
66
+				'REG_session'     => EE_Registry::instance()->SSN->id(),
67
+				'REG_count'       => $reg_count,
68
+				'REG_group_size'  => $reg_group_size ? $reg_group_size : $this->incrementRegGroupSize($registrations),
69
+				'REG_url_link'    => $reg_url_link,
70
+				'REG_code'        => $reg_code,
71
+			)
72
+		);
73
+		if (! $registration instanceof EE_Registration) {
74
+			throw new UnexpectedEntityException($registration, 'EE_Registration');
75
+		}
76
+		// save registration so that we have an ID
77
+		$registration->save();
78
+		// track reservation on reg but don't adjust ticket and datetime reserved counts
79
+		// because that is done as soon as the tickets are added/removed from the cart
80
+		$registration->reserve_ticket(false, 'CreateRegistrationService:' . __LINE__);
81
+		$registration->_add_relation_to($event, 'Event', array(), $event->ID());
82
+		$registration->_add_relation_to($ticket, 'Ticket', array(), $ticket->ID());
83
+		$transaction->_add_relation_to($registration, 'Registration', array(), $registration->ID());
84
+		$registration->save();
85
+		return $registration;
86
+	}
87 87
 
88 88
 
89
-    /**
90
-     * @param EE_Transaction $transaction
91
-     * @param EE_Ticket      $ticket
92
-     * @param EE_Line_Item   $ticket_line_item
93
-     * @return float
94
-     * @throws EE_Error
95
-     * @throws OutOfRangeException
96
-     */
97
-    protected function resolveFinalPrice(
98
-        EE_Transaction $transaction,
99
-        EE_Ticket $ticket,
100
-        EE_Line_Item $ticket_line_item
101
-    ) {
102
-        $final_price = EEH_Line_Item::calculate_final_price_for_ticket_line_item(
103
-            $transaction->total_line_item(),
104
-            $ticket_line_item
105
-        );
106
-        $final_price = $final_price !== null ? $final_price : $ticket->get_ticket_total_with_taxes();
107
-        return (float) $final_price;
108
-    }
89
+	/**
90
+	 * @param EE_Transaction $transaction
91
+	 * @param EE_Ticket      $ticket
92
+	 * @param EE_Line_Item   $ticket_line_item
93
+	 * @return float
94
+	 * @throws EE_Error
95
+	 * @throws OutOfRangeException
96
+	 */
97
+	protected function resolveFinalPrice(
98
+		EE_Transaction $transaction,
99
+		EE_Ticket $ticket,
100
+		EE_Line_Item $ticket_line_item
101
+	) {
102
+		$final_price = EEH_Line_Item::calculate_final_price_for_ticket_line_item(
103
+			$transaction->total_line_item(),
104
+			$ticket_line_item
105
+		);
106
+		$final_price = $final_price !== null ? $final_price : $ticket->get_ticket_total_with_taxes();
107
+		return (float) $final_price;
108
+	}
109 109
 
110 110
 
111
-    /**
112
-     * @param  EE_Registration[] $registrations
113
-     * @param  boolean           $update_existing_registrations
114
-     * @return int
115
-     * @throws EE_Error
116
-     */
117
-    protected function incrementRegGroupSize(array $registrations, $update_existing_registrations = true)
118
-    {
119
-        $new_reg_group_size = count($registrations) + 1;
120
-        if ($update_existing_registrations) {
121
-            foreach ($registrations as $registration) {
122
-                if ($registration instanceof EE_Registration) {
123
-                    $registration->set_group_size($new_reg_group_size);
124
-                    $registration->save();
125
-                }
126
-            }
127
-        }
128
-        return $new_reg_group_size;
129
-    }
111
+	/**
112
+	 * @param  EE_Registration[] $registrations
113
+	 * @param  boolean           $update_existing_registrations
114
+	 * @return int
115
+	 * @throws EE_Error
116
+	 */
117
+	protected function incrementRegGroupSize(array $registrations, $update_existing_registrations = true)
118
+	{
119
+		$new_reg_group_size = count($registrations) + 1;
120
+		if ($update_existing_registrations) {
121
+			foreach ($registrations as $registration) {
122
+				if ($registration instanceof EE_Registration) {
123
+					$registration->set_group_size($new_reg_group_size);
124
+					$registration->save();
125
+				}
126
+			}
127
+		}
128
+		return $new_reg_group_size;
129
+	}
130 130
 }
Please login to merge, or discard this patch.
core/domain/services/registration/CopyRegistrationService.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
         $reindexed_answers = array();
84 84
         foreach ($answers as $answer) {
85 85
             if ($answer instanceof EE_Answer) {
86
-                $reindexed_answers[ $answer->question_ID() ] = $answer->value();
86
+                $reindexed_answers[$answer->question_ID()] = $answer->value();
87 87
             }
88 88
         }
89 89
         return $reindexed_answers;
@@ -103,8 +103,8 @@  discard block
 block discarded – undo
103 103
         EE_Registration $registration,
104 104
         $previous_answers
105 105
     ) {
106
-        $old_answer_value = isset($previous_answers[ $question->ID() ])
107
-            ? $previous_answers[ $question->ID() ]
106
+        $old_answer_value = isset($previous_answers[$question->ID()])
107
+            ? $previous_answers[$question->ID()]
108 108
             : '';
109 109
         $new_answer = EE_Answer::new_instance(
110 110
             array(
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
                 'ANS_value' => $old_answer_value,
114 114
             )
115 115
         );
116
-        if (! $new_answer instanceof EE_Answer) {
116
+        if ( ! $new_answer instanceof EE_Answer) {
117 117
             throw new UnexpectedEntityException($new_answer, 'EE_Answer');
118 118
         }
119 119
         $new_answer->save();
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
                         'RPY_amount' => $payment_amount,
151 151
                     )
152 152
                 );
153
-                if (! $new_registration_payment instanceof EE_Registration_Payment) {
153
+                if ( ! $new_registration_payment instanceof EE_Registration_Payment) {
154 154
                     throw new UnexpectedEntityException($new_registration_payment, 'EE_Registration_Payment');
155 155
                 }
156 156
                 $new_registration_payment->save();
Please login to merge, or discard this patch.
Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -27,152 +27,152 @@
 block discarded – undo
27 27
 {
28 28
 
29 29
 
30
-    /**
31
-     * @param EE_Registration $target_registration
32
-     * @param EE_Registration $registration_to_copy
33
-     * @return bool
34
-     * @throws UnexpectedEntityException
35
-     * @throws EntityNotFoundException
36
-     * @throws RuntimeException
37
-     * @throws EE_Error
38
-     */
39
-    public function copyRegistrationDetails(
40
-        EE_Registration $target_registration,
41
-        EE_Registration $registration_to_copy
42
-    ) {
43
-        // copy attendee
44
-        $target_registration->set_attendee_id($registration_to_copy->attendee_ID());
45
-        $target_registration->updateStatusBasedOnTotalPaid(false);
46
-        $target_registration->save();
47
-        // get answers to previous reg questions
48
-        $answers = $this->reindexAnswersByQuestionId($registration_to_copy->answers());
49
-        // get questions to new event reg form
50
-        $new_event = $target_registration->event();
51
-        $field_name = 'Event_Question_Group.'
52
-            . EEM_Event_Question_Group::instance()->fieldNameForContext(
53
-                $registration_to_copy->is_primary_registrant()
54
-            );
55
-        $question_groups = $new_event->question_groups([
56
-                [
57
-                    'Event.EVT_ID' => $new_event->ID(),
58
-                    $field_name => true,
59
-                ],
60
-                'order_by' => ['QSG_order' => 'ASC'],
61
-            ]);
62
-        foreach ($question_groups as $question_group) {
63
-            if ($question_group instanceof \EE_Question_Group) {
64
-                foreach ($question_group->questions() as $question) {
65
-                    if ($question instanceof EE_Question) {
66
-                        $this->generateNewAnswer(
67
-                            $question,
68
-                            $target_registration,
69
-                            $answers
70
-                        );
71
-                    }
72
-                }
73
-            }
74
-        }
75
-        return true;
76
-    }
30
+	/**
31
+	 * @param EE_Registration $target_registration
32
+	 * @param EE_Registration $registration_to_copy
33
+	 * @return bool
34
+	 * @throws UnexpectedEntityException
35
+	 * @throws EntityNotFoundException
36
+	 * @throws RuntimeException
37
+	 * @throws EE_Error
38
+	 */
39
+	public function copyRegistrationDetails(
40
+		EE_Registration $target_registration,
41
+		EE_Registration $registration_to_copy
42
+	) {
43
+		// copy attendee
44
+		$target_registration->set_attendee_id($registration_to_copy->attendee_ID());
45
+		$target_registration->updateStatusBasedOnTotalPaid(false);
46
+		$target_registration->save();
47
+		// get answers to previous reg questions
48
+		$answers = $this->reindexAnswersByQuestionId($registration_to_copy->answers());
49
+		// get questions to new event reg form
50
+		$new_event = $target_registration->event();
51
+		$field_name = 'Event_Question_Group.'
52
+			. EEM_Event_Question_Group::instance()->fieldNameForContext(
53
+				$registration_to_copy->is_primary_registrant()
54
+			);
55
+		$question_groups = $new_event->question_groups([
56
+				[
57
+					'Event.EVT_ID' => $new_event->ID(),
58
+					$field_name => true,
59
+				],
60
+				'order_by' => ['QSG_order' => 'ASC'],
61
+			]);
62
+		foreach ($question_groups as $question_group) {
63
+			if ($question_group instanceof \EE_Question_Group) {
64
+				foreach ($question_group->questions() as $question) {
65
+					if ($question instanceof EE_Question) {
66
+						$this->generateNewAnswer(
67
+							$question,
68
+							$target_registration,
69
+							$answers
70
+						);
71
+					}
72
+				}
73
+			}
74
+		}
75
+		return true;
76
+	}
77 77
 
78 78
 
79
-    /**
80
-     * @param EE_Answer[] $answers
81
-     * @return array
82
-     * @throws EE_Error
83
-     */
84
-    protected function reindexAnswersByQuestionId(array $answers)
85
-    {
86
-        $reindexed_answers = array();
87
-        foreach ($answers as $answer) {
88
-            if ($answer instanceof EE_Answer) {
89
-                $reindexed_answers[ $answer->question_ID() ] = $answer->value();
90
-            }
91
-        }
92
-        return $reindexed_answers;
93
-    }
79
+	/**
80
+	 * @param EE_Answer[] $answers
81
+	 * @return array
82
+	 * @throws EE_Error
83
+	 */
84
+	protected function reindexAnswersByQuestionId(array $answers)
85
+	{
86
+		$reindexed_answers = array();
87
+		foreach ($answers as $answer) {
88
+			if ($answer instanceof EE_Answer) {
89
+				$reindexed_answers[ $answer->question_ID() ] = $answer->value();
90
+			}
91
+		}
92
+		return $reindexed_answers;
93
+	}
94 94
 
95 95
 
96
-    /**
97
-     * @param EE_Question      $question
98
-     * @param EE_Registration  $registration
99
-     * @param                  $previous_answers
100
-     * @return EE_Answer
101
-     * @throws UnexpectedEntityException
102
-     * @throws EE_Error
103
-     */
104
-    protected function generateNewAnswer(
105
-        EE_Question $question,
106
-        EE_Registration $registration,
107
-        $previous_answers
108
-    ) {
109
-        $old_answer_value = isset($previous_answers[ $question->ID() ])
110
-            ? $previous_answers[ $question->ID() ]
111
-            : '';
112
-        $new_answer = EE_Answer::new_instance(
113
-            array(
114
-                'QST_ID'    => $question->ID(),
115
-                'REG_ID'    => $registration->ID(),
116
-                'ANS_value' => $old_answer_value,
117
-            )
118
-        );
119
-        if (! $new_answer instanceof EE_Answer) {
120
-            throw new UnexpectedEntityException($new_answer, 'EE_Answer');
121
-        }
122
-        $new_answer->save();
123
-        return $new_answer;
124
-    }
96
+	/**
97
+	 * @param EE_Question      $question
98
+	 * @param EE_Registration  $registration
99
+	 * @param                  $previous_answers
100
+	 * @return EE_Answer
101
+	 * @throws UnexpectedEntityException
102
+	 * @throws EE_Error
103
+	 */
104
+	protected function generateNewAnswer(
105
+		EE_Question $question,
106
+		EE_Registration $registration,
107
+		$previous_answers
108
+	) {
109
+		$old_answer_value = isset($previous_answers[ $question->ID() ])
110
+			? $previous_answers[ $question->ID() ]
111
+			: '';
112
+		$new_answer = EE_Answer::new_instance(
113
+			array(
114
+				'QST_ID'    => $question->ID(),
115
+				'REG_ID'    => $registration->ID(),
116
+				'ANS_value' => $old_answer_value,
117
+			)
118
+		);
119
+		if (! $new_answer instanceof EE_Answer) {
120
+			throw new UnexpectedEntityException($new_answer, 'EE_Answer');
121
+		}
122
+		$new_answer->save();
123
+		return $new_answer;
124
+	}
125 125
 
126 126
 
127
-    /**
128
-     * @param EE_Registration $target_registration
129
-     * @param EE_Registration $registration_to_copy
130
-     * @return bool
131
-     * @throws RuntimeException
132
-     * @throws UnexpectedEntityException
133
-     * @throws EE_Error
134
-     */
135
-    public function copyPaymentDetails(
136
-        EE_Registration $target_registration,
137
-        EE_Registration $registration_to_copy
138
-    ) {
139
-        $save = false;
140
-        $previous_registration_payments = $registration_to_copy->registration_payments();
141
-        $new_registration_payment_total = 0;
142
-        $registration_to_copy_total = $registration_to_copy->paid();
143
-        foreach ($previous_registration_payments as $previous_registration_payment) {
144
-            if (
145
-                $previous_registration_payment instanceof EE_Registration_Payment
146
-                && $previous_registration_payment->payment() instanceof EE_Payment
147
-                && $previous_registration_payment->payment()->is_approved()
148
-            ) {
149
-                $payment_amount = $previous_registration_payment->amount();
150
-                $new_registration_payment = EE_Registration_Payment::new_instance(
151
-                    array(
152
-                        'REG_ID'     => $target_registration->ID(),
153
-                        'PAY_ID'     => $previous_registration_payment->payment()->ID(),
154
-                        'RPY_amount' => $payment_amount,
155
-                    )
156
-                );
157
-                if (! $new_registration_payment instanceof EE_Registration_Payment) {
158
-                    throw new UnexpectedEntityException($new_registration_payment, 'EE_Registration_Payment');
159
-                }
160
-                $new_registration_payment->save();
161
-                // if new reg payment is good, then set old reg payment amount to zero
162
-                $previous_registration_payment->set_amount(0);
163
-                $previous_registration_payment->save();
164
-                // now  increment/decrement payment amounts
165
-                $new_registration_payment_total += $payment_amount;
166
-                $registration_to_copy_total -= $payment_amount;
167
-                $save = true;
168
-            }
169
-        }
170
-        if ($save) {
171
-            $target_registration->set_paid($new_registration_payment_total);
172
-            $target_registration->save();
173
-            $registration_to_copy->set_paid($registration_to_copy_total);
174
-            $registration_to_copy->save();
175
-        }
176
-        return true;
177
-    }
127
+	/**
128
+	 * @param EE_Registration $target_registration
129
+	 * @param EE_Registration $registration_to_copy
130
+	 * @return bool
131
+	 * @throws RuntimeException
132
+	 * @throws UnexpectedEntityException
133
+	 * @throws EE_Error
134
+	 */
135
+	public function copyPaymentDetails(
136
+		EE_Registration $target_registration,
137
+		EE_Registration $registration_to_copy
138
+	) {
139
+		$save = false;
140
+		$previous_registration_payments = $registration_to_copy->registration_payments();
141
+		$new_registration_payment_total = 0;
142
+		$registration_to_copy_total = $registration_to_copy->paid();
143
+		foreach ($previous_registration_payments as $previous_registration_payment) {
144
+			if (
145
+				$previous_registration_payment instanceof EE_Registration_Payment
146
+				&& $previous_registration_payment->payment() instanceof EE_Payment
147
+				&& $previous_registration_payment->payment()->is_approved()
148
+			) {
149
+				$payment_amount = $previous_registration_payment->amount();
150
+				$new_registration_payment = EE_Registration_Payment::new_instance(
151
+					array(
152
+						'REG_ID'     => $target_registration->ID(),
153
+						'PAY_ID'     => $previous_registration_payment->payment()->ID(),
154
+						'RPY_amount' => $payment_amount,
155
+					)
156
+				);
157
+				if (! $new_registration_payment instanceof EE_Registration_Payment) {
158
+					throw new UnexpectedEntityException($new_registration_payment, 'EE_Registration_Payment');
159
+				}
160
+				$new_registration_payment->save();
161
+				// if new reg payment is good, then set old reg payment amount to zero
162
+				$previous_registration_payment->set_amount(0);
163
+				$previous_registration_payment->save();
164
+				// now  increment/decrement payment amounts
165
+				$new_registration_payment_total += $payment_amount;
166
+				$registration_to_copy_total -= $payment_amount;
167
+				$save = true;
168
+			}
169
+		}
170
+		if ($save) {
171
+			$target_registration->set_paid($new_registration_payment_total);
172
+			$target_registration->save();
173
+			$registration_to_copy->set_paid($registration_to_copy_total);
174
+			$registration_to_copy->save();
175
+		}
176
+		return true;
177
+	}
178 178
 }
Please login to merge, or discard this patch.
domain/services/attendee/forms/AttendeeContactDetailsMetaboxFormHandler.php 1 patch
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -27,84 +27,84 @@
 block discarded – undo
27 27
 {
28 28
 
29 29
 
30
-    protected $attendee;
30
+	protected $attendee;
31 31
 
32 32
 
33
-    /**
34
-     * AttendeeContactDetailsMetaboxFormHandler constructor.
35
-     *
36
-     * @param EE_Attendee $attendee
37
-     * @param EE_Registry $registry
38
-     * @throws DomainException
39
-     * @throws InvalidDataTypeException
40
-     * @throws InvalidArgumentException
41
-     */
42
-    public function __construct(EE_Attendee $attendee, EE_Registry $registry)
43
-    {
44
-        $this->attendee = $attendee;
45
-        $label = esc_html__('Contact Details', 'event_espresso');
46
-        parent::__construct(
47
-            $label,
48
-            $label,
49
-            'attendee_contact_details',
50
-            '',
51
-            FormHandler::DO_NOT_SETUP_FORM,
52
-            $registry
53
-        );
54
-    }
33
+	/**
34
+	 * AttendeeContactDetailsMetaboxFormHandler constructor.
35
+	 *
36
+	 * @param EE_Attendee $attendee
37
+	 * @param EE_Registry $registry
38
+	 * @throws DomainException
39
+	 * @throws InvalidDataTypeException
40
+	 * @throws InvalidArgumentException
41
+	 */
42
+	public function __construct(EE_Attendee $attendee, EE_Registry $registry)
43
+	{
44
+		$this->attendee = $attendee;
45
+		$label = esc_html__('Contact Details', 'event_espresso');
46
+		parent::__construct(
47
+			$label,
48
+			$label,
49
+			'attendee_contact_details',
50
+			'',
51
+			FormHandler::DO_NOT_SETUP_FORM,
52
+			$registry
53
+		);
54
+	}
55 55
 
56
-    /**
57
-     * creates and returns the actual form
58
-     *
59
-     * @return EE_Form_Section_Proper
60
-     * @throws EE_Error
61
-     */
62
-    public function generate()
63
-    {
64
-        return new EE_Form_Section_Proper(
65
-            array(
66
-                'name'            => 'attendee_contact_details',
67
-                'html_id'         => 'attendee-contact-details',
68
-                'html_class'      => 'form-table',
69
-                'layout_strategy' => new EE_Admin_One_Column_Layout(),
70
-                'subsections'     => array(
71
-                    'ATT_email' => new EE_Email_Input(
72
-                        array(
73
-                            'default'         => $this->attendee->email(),
74
-                            'html_label_text' => esc_html__('Email Address', 'event_espresso'),
75
-                            'required'        => true,
76
-                        )
77
-                    ),
78
-                    'ATT_phone' => new EE_Text_Input(
79
-                        array(
80
-                            'default'         => $this->attendee->phone(),
81
-                            'html_label_text' => esc_html__('Phone Number', 'event_espresso'),
82
-                        )
83
-                    ),
84
-                ),
85
-            )
86
-        );
87
-    }
56
+	/**
57
+	 * creates and returns the actual form
58
+	 *
59
+	 * @return EE_Form_Section_Proper
60
+	 * @throws EE_Error
61
+	 */
62
+	public function generate()
63
+	{
64
+		return new EE_Form_Section_Proper(
65
+			array(
66
+				'name'            => 'attendee_contact_details',
67
+				'html_id'         => 'attendee-contact-details',
68
+				'html_class'      => 'form-table',
69
+				'layout_strategy' => new EE_Admin_One_Column_Layout(),
70
+				'subsections'     => array(
71
+					'ATT_email' => new EE_Email_Input(
72
+						array(
73
+							'default'         => $this->attendee->email(),
74
+							'html_label_text' => esc_html__('Email Address', 'event_espresso'),
75
+							'required'        => true,
76
+						)
77
+					),
78
+					'ATT_phone' => new EE_Text_Input(
79
+						array(
80
+							'default'         => $this->attendee->phone(),
81
+							'html_label_text' => esc_html__('Phone Number', 'event_espresso'),
82
+						)
83
+					),
84
+				),
85
+			)
86
+		);
87
+	}
88 88
 
89 89
 
90
-    /**
91
-     * Process form data.
92
-     *
93
-     * @param array $form_data
94
-     * @return bool
95
-     * @throws EE_Error
96
-     * @throws InvalidFormSubmissionException
97
-     * @throws LogicException
98
-     */
99
-    public function process($form_data = array())
100
-    {
101
-        $valid_data = (array) parent::process($form_data);
102
-        if (empty($valid_data)) {
103
-            return false;
104
-        }
105
-        $this->attendee->set_email($valid_data['ATT_email']);
106
-        $this->attendee->set_phone($valid_data['ATT_phone']);
107
-        $updated = $this->attendee->save();
108
-        return $updated !== false;
109
-    }
90
+	/**
91
+	 * Process form data.
92
+	 *
93
+	 * @param array $form_data
94
+	 * @return bool
95
+	 * @throws EE_Error
96
+	 * @throws InvalidFormSubmissionException
97
+	 * @throws LogicException
98
+	 */
99
+	public function process($form_data = array())
100
+	{
101
+		$valid_data = (array) parent::process($form_data);
102
+		if (empty($valid_data)) {
103
+			return false;
104
+		}
105
+		$this->attendee->set_email($valid_data['ATT_email']);
106
+		$this->attendee->set_phone($valid_data['ATT_phone']);
107
+		$updated = $this->attendee->save();
108
+		return $updated !== false;
109
+	}
110 110
 }
Please login to merge, or discard this patch.
core/domain/values/EmailAddress.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -15,56 +15,56 @@
 block discarded – undo
15 15
 class EmailAddress
16 16
 {
17 17
 
18
-    /**
19
-     * @var string $email_address
20
-     */
21
-    private $email_address;
18
+	/**
19
+	 * @var string $email_address
20
+	 */
21
+	private $email_address;
22 22
 
23 23
 
24
-    /**
25
-     * EmailAddress constructor.
26
-     *
27
-     * @param string                  $email_address
28
-     * @param EmailValidatorInterface $validator
29
-     * @throws EmailValidationException
30
-     */
31
-    public function __construct($email_address, EmailValidatorInterface $validator)
32
-    {
33
-        $validator->validate($email_address);
34
-        $this->email_address = $email_address;
35
-    }
24
+	/**
25
+	 * EmailAddress constructor.
26
+	 *
27
+	 * @param string                  $email_address
28
+	 * @param EmailValidatorInterface $validator
29
+	 * @throws EmailValidationException
30
+	 */
31
+	public function __construct($email_address, EmailValidatorInterface $validator)
32
+	{
33
+		$validator->validate($email_address);
34
+		$this->email_address = $email_address;
35
+	}
36 36
 
37 37
 
38
-    /**
39
-     * returns the string value for this EmailAddress
40
-     *
41
-     * @return string
42
-     */
43
-    public function get()
44
-    {
45
-        return $this->email_address;
46
-    }
38
+	/**
39
+	 * returns the string value for this EmailAddress
40
+	 *
41
+	 * @return string
42
+	 */
43
+	public function get()
44
+	{
45
+		return $this->email_address;
46
+	}
47 47
 
48 48
 
49
-    /**
50
-     * compare another EmailAddress to this one to determine if they are the same
51
-     *
52
-     * @param EmailAddress $address
53
-     * @return bool
54
-     */
55
-    public function equals(EmailAddress $address)
56
-    {
57
-        return strtolower((string) $this) === strtolower((string) $address);
58
-    }
49
+	/**
50
+	 * compare another EmailAddress to this one to determine if they are the same
51
+	 *
52
+	 * @param EmailAddress $address
53
+	 * @return bool
54
+	 */
55
+	public function equals(EmailAddress $address)
56
+	{
57
+		return strtolower((string) $this) === strtolower((string) $address);
58
+	}
59 59
 
60 60
 
61
-    /**
62
-     * allows an EmailAddress object to be used as a string
63
-     *
64
-     * @return string
65
-     */
66
-    public function __toString()
67
-    {
68
-        return $this->email_address;
69
-    }
61
+	/**
62
+	 * allows an EmailAddress object to be used as a string
63
+	 *
64
+	 * @return string
65
+	 */
66
+	public function __toString()
67
+	{
68
+		return $this->email_address;
69
+	}
70 70
 }
Please login to merge, or discard this patch.
acceptance_tests/Helpers/MessagesAdmin.php 1 patch
Indentation   +290 added lines, -290 removed lines patch added patch discarded remove patch
@@ -10,294 +10,294 @@
 block discarded – undo
10 10
  */
11 11
 trait MessagesAdmin
12 12
 {
13
-    /**
14
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
15
-     *                                  a string.
16
-     */
17
-    public function amOnMessagesActivityListTablePage($additional_params = '')
18
-    {
19
-        $this->actor()->amOnAdminPage(MessagesPage::messageActivityListTableUrl($additional_params));
20
-    }
21
-
22
-    /**
23
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
24
-     *                                  a string.
25
-     */
26
-    public function amOnDefaultMessageTemplateListTablePage($additional_params = '')
27
-    {
28
-        $this->actor()->amOnAdminPage(MessagesPage::defaultMessageTemplateListTableUrl($additional_params));
29
-    }
30
-
31
-
32
-    /**
33
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
34
-     *                                  a string.
35
-     */
36
-    public function amOnCustomMessageTemplateListTablePage($additional_params = '')
37
-    {
38
-        $this->actor()->amOnAdminPage(MessagesPage::customMessageTemplateListTableUrl($additional_params));
39
-    }
40
-
41
-
42
-    /**
43
-     * Directs to message settings page
44
-     */
45
-    public function amOnMessageSettingsPage()
46
-    {
47
-        $this->actor()->amOnAdminPage(MessagesPage::messageSettingsUrl());
48
-    }
49
-
50
-
51
-    public function activateMessageTypeForMessenger($message_type_slug, $messenger_slug = 'email')
52
-    {
53
-        $this->actor()->dragAndDrop(
54
-            MessagesPage::draggableSettingsBoxSelectorForMessageTypeAndMessenger($message_type_slug, $messenger_slug),
55
-            MessagesPage::MESSAGES_SETTINGS_ACTIVE_MESSAGE_TYPES_CONTAINER_SELECTOR
56
-        );
57
-    }
58
-
59
-
60
-    /**
61
-     * Assumes you are already on the list table page that has the ui for editing the template.
62
-     * @param string $message_type_slug
63
-     * @param string $context [optional] if you want to click directly to the given context in the editor
64
-     */
65
-    public function clickToEditMessageTemplateByMessageType($message_type_slug, $context = '')
66
-    {
67
-        $this->actor()->click(MessagesPage::editMessageTemplateClassByMessageType($message_type_slug, $context));
68
-    }
69
-
70
-
71
-    /**
72
-     * Use this action to verify that the count for the given text in the specified field is as expected.  For example
73
-     * filling the condition of, "There should only be 1 instance of `[email protected]` in all the 'to' column.
74
-     *
75
-     * @param int    $expected_occurence_count
76
-     * @param string $text_to_check_for
77
-     * @param string $field
78
-     * @param string $message_type_label
79
-     * @param string $message_status
80
-     * @param string $messenger
81
-     * @param string $context
82
-     */
83
-    public function verifyMatchingCountofTextInMessageActivityListTableFor(
84
-        $expected_occurence_count,
85
-        $text_to_check_for,
86
-        $field,
87
-        $message_type_label,
88
-        $message_status = MessagesPage::MESSAGE_STATUS_SENT,
89
-        $messenger = 'Email',
90
-        $context = 'Event Admin'
91
-    ) {
92
-        $elements = $this->actor()->grabMultiple(MessagesPage::messagesActivityListTableCellSelectorFor(
93
-            $field,
94
-            $message_type_label,
95
-            $message_status,
96
-            $messenger,
97
-            $context,
98
-            $text_to_check_for,
99
-            0
100
-        ));
101
-        $actual_count = count($elements);
102
-        $this->actor()->assertEquals(
103
-            $expected_occurence_count,
104
-            $actual_count,
105
-            sprintf(
106
-                'Expected %s of the %s text for the %s field but there were actually %s counted.',
107
-                $expected_occurence_count,
108
-                $text_to_check_for,
109
-                $field,
110
-                $actual_count
111
-            )
112
-        );
113
-    }
114
-
115
-
116
-    /**
117
-     * This will create a custom message template for the given messenger and message type from the context of the
118
-     * default (global) message template list table.
119
-     * Also takes care of verifying the template was created.
120
-     * @param string $message_type_label
121
-     * @param string $messenger_label
122
-     */
123
-    public function createCustomMessageTemplateFromDefaultFor($message_type_label, $messenger_label)
124
-    {
125
-        $this->amOnDefaultMessageTemplateListTablePage();
126
-        $this->actor()->click(
127
-            MessagesPage::createCustomButtonForMessageTypeAndMessenger(
128
-                $message_type_label,
129
-                $messenger_label
130
-            )
131
-        );
132
-        $this->actor()->seeInField('#title', 'New Custom Template');
133
-    }
134
-
135
-
136
-    /**
137
-     * This switches the context of the current messages template to the given reference.
138
-     * @param string $context_reference  This should be the visible label for the option.
139
-     */
140
-    public function switchContextTo($context_reference)
141
-    {
142
-        $this->actor()->selectOption(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR, $context_reference);
143
-        $this->actor()->click(MessagesPage::MESSAGES_CONTEXT_SWITCHER_BUTTON_SELECTOR);
144
-        $this->actor()->waitForText($context_reference, 10, 'h1');
145
-    }
146
-
147
-
148
-    /**
149
-     * Toggles Context so its turned off or on (depending on where it started) and verifies the expected state after
150
-     * toggling.
151
-     *
152
-     * @param string $context_string           What context is being switched (used for the expected state text)
153
-     * @param bool   $expected_state_is_active Used to indicate whether the expected state is active (true) or inactive
154
-     *                                         (false)
155
-     */
156
-    public function toggleContextState($context_string, $expected_state_is_active = true)
157
-    {
158
-        $this->actor()->scrollTo(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR);
159
-        $this->actor()->click(MessagesPage::MESSAGES_CONTEXT_ACTIVE_STATE_TOGGLE);
160
-        if ($expected_state_is_active) {
161
-            $this->actor()->waitForText("The template for $context_string is currently active.");
162
-        } else {
163
-            $this->actor()->waitForText("The template for $context_string is currently inactive");
164
-        }
165
-    }
166
-
167
-
168
-    /**
169
-     * Triggers saving the message template.
170
-     * @param bool $and_close   Use to indicate to click the Save and Close button.
171
-     */
172
-    public function saveMessageTemplate($and_close = false)
173
-    {
174
-        $this->actor()->scrollTo(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR);
175
-        if ($and_close) {
176
-            $this->actor()->click('Save and Close');
177
-        } else {
178
-            $this->actor()->click('Save');
179
-        }
180
-        $this->actor()->waitForText('successfully updated');
181
-    }
182
-
183
-
184
-    /**
185
-     * This takes care of clicking the View Message icon for the given parameters.
186
-     * Assumes you are already viewing the messages activity list table.
187
-     * @param        $message_type_label
188
-     * @param        $message_status
189
-     * @param string $messenger
190
-     * @param string $context
191
-     * @param int    $number_in_set
192
-     */
193
-    public function viewMessageInMessagesListTableFor(
194
-        $message_type_label,
195
-        $message_status = MessagesPage::MESSAGE_STATUS_SENT,
196
-        $messenger = 'Email',
197
-        $context = 'Event Admin',
198
-        $number_in_set = 1
199
-    ) {
200
-        $this->actor()->click(MessagesPage::messagesActivityListTableViewButtonSelectorFor(
201
-            $message_type_label,
202
-            $message_status,
203
-            $messenger,
204
-            $context,
205
-            $number_in_set
206
-        ));
207
-    }
208
-
209
-
210
-    /**
211
-     * Takes care of deleting a message matching the given parameters via the message activity list table.
212
-     * Assumes you are already viewing the messages activity list table.
213
-     * @param        $message_type_label
214
-     * @param        $message_status
215
-     * @param string $messenger
216
-     * @param string $context
217
-     * @param int    $number_in_set
218
-     */
219
-    public function deleteMessageInMessagesListTableFor(
220
-        $message_type_label,
221
-        $message_status = MessagesPage::MESSAGE_STATUS_SENT,
222
-        $messenger = 'Email',
223
-        $context = 'Event Admin',
224
-        $number_in_set = 1
225
-    ) {
226
-        $delete_action_selector = MessagesPage::messagesActivityListTableDeleteActionSelectorFor(
227
-            $message_type_label,
228
-            $message_status,
229
-            $messenger,
230
-            $context,
231
-            $number_in_set
232
-        );
233
-        $cell_selector = MessagesPage::messagesActivityListTableCellSelectorFor(
234
-            'to',
235
-            $message_type_label,
236
-            $message_status,
237
-            $messenger,
238
-            $context,
239
-            '',
240
-            $number_in_set
241
-        );
242
-        $this->actor()->scrollTo($cell_selector, 0, -30);
243
-        $this->actor()->moveMouseOver(
244
-            $cell_selector,
245
-            5,
246
-            5
247
-        );
248
-        $this->actor()->waitForElementVisible(
249
-            $delete_action_selector
250
-        );
251
-        $this->actor()->click(
252
-            $delete_action_selector
253
-        );
254
-        $this->actor()->waitForText('successfully deleted', 20);
255
-    }
256
-
257
-
258
-    /**
259
-     * Assuming you have already triggered the view modal for a single message from the context of the message activity
260
-     * list table, this will take care of validating the given text is in that window.
261
-     * @param string $text_to_view
262
-     */
263
-    public function seeTextInViewMessageModal($text_to_view, $should_not_see = false)
264
-    {
265
-        $this->actor()->wait(2);
266
-        $this->actor()->waitForElementVisible('.ee-admin-dialog-container-inner-content');
267
-        $this->actor()->switchToIframe('message-view-window');
268
-        $should_not_see ? $this->actor()->dontSee($text_to_view) : $this->actor()->see($text_to_view);
269
-        $this->actor()->switchToIframe();
270
-    }
271
-
272
-
273
-    /**
274
-     * This returns the value for the link at the given selector in the message modal.
275
-     * @param string $selector (any selector string accepted by WebDriver)
276
-     */
277
-    public function observeLinkAtSelectorInMessageModal($selector)
278
-    {
279
-        $this->actor()->wait(2);
280
-        $this->actor()->waitForElementVisible('.ee-admin-dialog-container-inner-content');
281
-        $this->actor()->switchToIframe('message-view-window');
282
-        $link = $this->actor()->observeLinkUrlAt($selector);
283
-        $this->actor()->switchToIframe();
284
-        return $link;
285
-    }
286
-
287
-
288
-    /**
289
-     * Assuming you have already triggered the view modal for a single message from the context of the message activity
290
-     * list table, this will take care of validating the given text is NOT that window.
291
-     * @param string $text_to_view
292
-     */
293
-    public function dontSeeTextInViewMessageModal($text_to_view)
294
-    {
295
-        $this->seeTextInViewMessageModal($text_to_view, true);
296
-    }
297
-
298
-
299
-    public function dismissMessageModal()
300
-    {
301
-        $this->actor()->executeJs('window.dialogHelper.closeModal()');
302
-    }
13
+	/**
14
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
15
+	 *                                  a string.
16
+	 */
17
+	public function amOnMessagesActivityListTablePage($additional_params = '')
18
+	{
19
+		$this->actor()->amOnAdminPage(MessagesPage::messageActivityListTableUrl($additional_params));
20
+	}
21
+
22
+	/**
23
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
24
+	 *                                  a string.
25
+	 */
26
+	public function amOnDefaultMessageTemplateListTablePage($additional_params = '')
27
+	{
28
+		$this->actor()->amOnAdminPage(MessagesPage::defaultMessageTemplateListTableUrl($additional_params));
29
+	}
30
+
31
+
32
+	/**
33
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
34
+	 *                                  a string.
35
+	 */
36
+	public function amOnCustomMessageTemplateListTablePage($additional_params = '')
37
+	{
38
+		$this->actor()->amOnAdminPage(MessagesPage::customMessageTemplateListTableUrl($additional_params));
39
+	}
40
+
41
+
42
+	/**
43
+	 * Directs to message settings page
44
+	 */
45
+	public function amOnMessageSettingsPage()
46
+	{
47
+		$this->actor()->amOnAdminPage(MessagesPage::messageSettingsUrl());
48
+	}
49
+
50
+
51
+	public function activateMessageTypeForMessenger($message_type_slug, $messenger_slug = 'email')
52
+	{
53
+		$this->actor()->dragAndDrop(
54
+			MessagesPage::draggableSettingsBoxSelectorForMessageTypeAndMessenger($message_type_slug, $messenger_slug),
55
+			MessagesPage::MESSAGES_SETTINGS_ACTIVE_MESSAGE_TYPES_CONTAINER_SELECTOR
56
+		);
57
+	}
58
+
59
+
60
+	/**
61
+	 * Assumes you are already on the list table page that has the ui for editing the template.
62
+	 * @param string $message_type_slug
63
+	 * @param string $context [optional] if you want to click directly to the given context in the editor
64
+	 */
65
+	public function clickToEditMessageTemplateByMessageType($message_type_slug, $context = '')
66
+	{
67
+		$this->actor()->click(MessagesPage::editMessageTemplateClassByMessageType($message_type_slug, $context));
68
+	}
69
+
70
+
71
+	/**
72
+	 * Use this action to verify that the count for the given text in the specified field is as expected.  For example
73
+	 * filling the condition of, "There should only be 1 instance of `[email protected]` in all the 'to' column.
74
+	 *
75
+	 * @param int    $expected_occurence_count
76
+	 * @param string $text_to_check_for
77
+	 * @param string $field
78
+	 * @param string $message_type_label
79
+	 * @param string $message_status
80
+	 * @param string $messenger
81
+	 * @param string $context
82
+	 */
83
+	public function verifyMatchingCountofTextInMessageActivityListTableFor(
84
+		$expected_occurence_count,
85
+		$text_to_check_for,
86
+		$field,
87
+		$message_type_label,
88
+		$message_status = MessagesPage::MESSAGE_STATUS_SENT,
89
+		$messenger = 'Email',
90
+		$context = 'Event Admin'
91
+	) {
92
+		$elements = $this->actor()->grabMultiple(MessagesPage::messagesActivityListTableCellSelectorFor(
93
+			$field,
94
+			$message_type_label,
95
+			$message_status,
96
+			$messenger,
97
+			$context,
98
+			$text_to_check_for,
99
+			0
100
+		));
101
+		$actual_count = count($elements);
102
+		$this->actor()->assertEquals(
103
+			$expected_occurence_count,
104
+			$actual_count,
105
+			sprintf(
106
+				'Expected %s of the %s text for the %s field but there were actually %s counted.',
107
+				$expected_occurence_count,
108
+				$text_to_check_for,
109
+				$field,
110
+				$actual_count
111
+			)
112
+		);
113
+	}
114
+
115
+
116
+	/**
117
+	 * This will create a custom message template for the given messenger and message type from the context of the
118
+	 * default (global) message template list table.
119
+	 * Also takes care of verifying the template was created.
120
+	 * @param string $message_type_label
121
+	 * @param string $messenger_label
122
+	 */
123
+	public function createCustomMessageTemplateFromDefaultFor($message_type_label, $messenger_label)
124
+	{
125
+		$this->amOnDefaultMessageTemplateListTablePage();
126
+		$this->actor()->click(
127
+			MessagesPage::createCustomButtonForMessageTypeAndMessenger(
128
+				$message_type_label,
129
+				$messenger_label
130
+			)
131
+		);
132
+		$this->actor()->seeInField('#title', 'New Custom Template');
133
+	}
134
+
135
+
136
+	/**
137
+	 * This switches the context of the current messages template to the given reference.
138
+	 * @param string $context_reference  This should be the visible label for the option.
139
+	 */
140
+	public function switchContextTo($context_reference)
141
+	{
142
+		$this->actor()->selectOption(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR, $context_reference);
143
+		$this->actor()->click(MessagesPage::MESSAGES_CONTEXT_SWITCHER_BUTTON_SELECTOR);
144
+		$this->actor()->waitForText($context_reference, 10, 'h1');
145
+	}
146
+
147
+
148
+	/**
149
+	 * Toggles Context so its turned off or on (depending on where it started) and verifies the expected state after
150
+	 * toggling.
151
+	 *
152
+	 * @param string $context_string           What context is being switched (used for the expected state text)
153
+	 * @param bool   $expected_state_is_active Used to indicate whether the expected state is active (true) or inactive
154
+	 *                                         (false)
155
+	 */
156
+	public function toggleContextState($context_string, $expected_state_is_active = true)
157
+	{
158
+		$this->actor()->scrollTo(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR);
159
+		$this->actor()->click(MessagesPage::MESSAGES_CONTEXT_ACTIVE_STATE_TOGGLE);
160
+		if ($expected_state_is_active) {
161
+			$this->actor()->waitForText("The template for $context_string is currently active.");
162
+		} else {
163
+			$this->actor()->waitForText("The template for $context_string is currently inactive");
164
+		}
165
+	}
166
+
167
+
168
+	/**
169
+	 * Triggers saving the message template.
170
+	 * @param bool $and_close   Use to indicate to click the Save and Close button.
171
+	 */
172
+	public function saveMessageTemplate($and_close = false)
173
+	{
174
+		$this->actor()->scrollTo(MessagesPage::MESSAGES_CONTEXT_SWITCHER_SELECTOR);
175
+		if ($and_close) {
176
+			$this->actor()->click('Save and Close');
177
+		} else {
178
+			$this->actor()->click('Save');
179
+		}
180
+		$this->actor()->waitForText('successfully updated');
181
+	}
182
+
183
+
184
+	/**
185
+	 * This takes care of clicking the View Message icon for the given parameters.
186
+	 * Assumes you are already viewing the messages activity list table.
187
+	 * @param        $message_type_label
188
+	 * @param        $message_status
189
+	 * @param string $messenger
190
+	 * @param string $context
191
+	 * @param int    $number_in_set
192
+	 */
193
+	public function viewMessageInMessagesListTableFor(
194
+		$message_type_label,
195
+		$message_status = MessagesPage::MESSAGE_STATUS_SENT,
196
+		$messenger = 'Email',
197
+		$context = 'Event Admin',
198
+		$number_in_set = 1
199
+	) {
200
+		$this->actor()->click(MessagesPage::messagesActivityListTableViewButtonSelectorFor(
201
+			$message_type_label,
202
+			$message_status,
203
+			$messenger,
204
+			$context,
205
+			$number_in_set
206
+		));
207
+	}
208
+
209
+
210
+	/**
211
+	 * Takes care of deleting a message matching the given parameters via the message activity list table.
212
+	 * Assumes you are already viewing the messages activity list table.
213
+	 * @param        $message_type_label
214
+	 * @param        $message_status
215
+	 * @param string $messenger
216
+	 * @param string $context
217
+	 * @param int    $number_in_set
218
+	 */
219
+	public function deleteMessageInMessagesListTableFor(
220
+		$message_type_label,
221
+		$message_status = MessagesPage::MESSAGE_STATUS_SENT,
222
+		$messenger = 'Email',
223
+		$context = 'Event Admin',
224
+		$number_in_set = 1
225
+	) {
226
+		$delete_action_selector = MessagesPage::messagesActivityListTableDeleteActionSelectorFor(
227
+			$message_type_label,
228
+			$message_status,
229
+			$messenger,
230
+			$context,
231
+			$number_in_set
232
+		);
233
+		$cell_selector = MessagesPage::messagesActivityListTableCellSelectorFor(
234
+			'to',
235
+			$message_type_label,
236
+			$message_status,
237
+			$messenger,
238
+			$context,
239
+			'',
240
+			$number_in_set
241
+		);
242
+		$this->actor()->scrollTo($cell_selector, 0, -30);
243
+		$this->actor()->moveMouseOver(
244
+			$cell_selector,
245
+			5,
246
+			5
247
+		);
248
+		$this->actor()->waitForElementVisible(
249
+			$delete_action_selector
250
+		);
251
+		$this->actor()->click(
252
+			$delete_action_selector
253
+		);
254
+		$this->actor()->waitForText('successfully deleted', 20);
255
+	}
256
+
257
+
258
+	/**
259
+	 * Assuming you have already triggered the view modal for a single message from the context of the message activity
260
+	 * list table, this will take care of validating the given text is in that window.
261
+	 * @param string $text_to_view
262
+	 */
263
+	public function seeTextInViewMessageModal($text_to_view, $should_not_see = false)
264
+	{
265
+		$this->actor()->wait(2);
266
+		$this->actor()->waitForElementVisible('.ee-admin-dialog-container-inner-content');
267
+		$this->actor()->switchToIframe('message-view-window');
268
+		$should_not_see ? $this->actor()->dontSee($text_to_view) : $this->actor()->see($text_to_view);
269
+		$this->actor()->switchToIframe();
270
+	}
271
+
272
+
273
+	/**
274
+	 * This returns the value for the link at the given selector in the message modal.
275
+	 * @param string $selector (any selector string accepted by WebDriver)
276
+	 */
277
+	public function observeLinkAtSelectorInMessageModal($selector)
278
+	{
279
+		$this->actor()->wait(2);
280
+		$this->actor()->waitForElementVisible('.ee-admin-dialog-container-inner-content');
281
+		$this->actor()->switchToIframe('message-view-window');
282
+		$link = $this->actor()->observeLinkUrlAt($selector);
283
+		$this->actor()->switchToIframe();
284
+		return $link;
285
+	}
286
+
287
+
288
+	/**
289
+	 * Assuming you have already triggered the view modal for a single message from the context of the message activity
290
+	 * list table, this will take care of validating the given text is NOT that window.
291
+	 * @param string $text_to_view
292
+	 */
293
+	public function dontSeeTextInViewMessageModal($text_to_view)
294
+	{
295
+		$this->seeTextInViewMessageModal($text_to_view, true);
296
+	}
297
+
298
+
299
+	public function dismissMessageModal()
300
+	{
301
+		$this->actor()->executeJs('window.dialogHelper.closeModal()');
302
+	}
303 303
 }
Please login to merge, or discard this patch.