@@ -1,7 +1,7 @@ |
||
1 | 1 | <div class="padding"> |
2 | - <h3><?php esc_html_e( 'Frequently Asked Questions about Event Espresso', 'event_espresso' ); ?></h3> |
|
2 | + <h3><?php esc_html_e('Frequently Asked Questions about Event Espresso', 'event_espresso'); ?></h3> |
|
3 | 3 | |
4 | - <h4><?php esc_html_e( 'New to Event Espresso?', 'event_espresso' ); ?></h4> |
|
4 | + <h4><?php esc_html_e('New to Event Espresso?', 'event_espresso'); ?></h4> |
|
5 | 5 | |
6 | - <p><?php printf( esc_html__( 'Check out the %1$squick start guide for Event Espresso 4%2$s. It has recommendations, tips, and tutorials so you can get your project started %3$squicker%4$s.', 'event_espresso' ), '<a href="https://eventespresso.com/wiki/welcome-to-event-espresso/#event-espresso-4" target="_blank">','</a>','<em>','</em>' ); ?></p> |
|
6 | + <p><?php printf(esc_html__('Check out the %1$squick start guide for Event Espresso 4%2$s. It has recommendations, tips, and tutorials so you can get your project started %3$squicker%4$s.', 'event_espresso'), '<a href="https://eventespresso.com/wiki/welcome-to-event-espresso/#event-espresso-4" target="_blank">', '</a>', '<em>', '</em>'); ?></p> |
|
7 | 7 | </div> |
8 | 8 | \ No newline at end of file |
@@ -3,33 +3,33 @@ |
||
3 | 3 | global $post; |
4 | 4 | ?> |
5 | 5 | <div class="event-content"> |
6 | -<?php if ( apply_filters( 'FHEE__content_espresso_events_details_template__display_entry_meta', TRUE )): ?> |
|
6 | +<?php if (apply_filters('FHEE__content_espresso_events_details_template__display_entry_meta', TRUE)): ?> |
|
7 | 7 | <div class="entry-meta"> |
8 | - <span class="tags-links"><?php espresso_event_categories( $post->ID, TRUE, TRUE ); ?></span> |
|
8 | + <span class="tags-links"><?php espresso_event_categories($post->ID, TRUE, TRUE); ?></span> |
|
9 | 9 | <?php |
10 | - if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : |
|
10 | + if ( ! post_password_required() && (comments_open() || get_comments_number())) : |
|
11 | 11 | ?> |
12 | - <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'event_espresso' ), __( '1 Comment', 'event_espresso' ), __( '% Comments', 'event_espresso' ) ); ?></span> |
|
12 | + <span class="comments-link"><?php comments_popup_link(__('Leave a comment', 'event_espresso'), __('1 Comment', 'event_espresso'), __('% Comments', 'event_espresso')); ?></span> |
|
13 | 13 | <?php |
14 | 14 | endif; |
15 | - edit_post_link( __( 'Edit', 'event_espresso' ), '<span class="edit-link">', '</span>' ); |
|
15 | + edit_post_link(__('Edit', 'event_espresso'), '<span class="edit-link">', '</span>'); |
|
16 | 16 | ?> |
17 | 17 | </div> |
18 | 18 | <?php endif; |
19 | - $event_phone = espresso_event_phone( $post->ID, FALSE ); |
|
20 | - if ( $event_phone != '' ) : ?> |
|
19 | + $event_phone = espresso_event_phone($post->ID, FALSE); |
|
20 | + if ($event_phone != '') : ?> |
|
21 | 21 | <p> |
22 | - <span class="small-text"><strong><?php _e( 'Event Phone:', 'event_espresso' ); ?> </strong></span> <?php echo $event_phone; ?> |
|
22 | + <span class="small-text"><strong><?php _e('Event Phone:', 'event_espresso'); ?> </strong></span> <?php echo $event_phone; ?> |
|
23 | 23 | </p> |
24 | -<?php endif; ?> |
|
24 | +<?php endif; ?> |
|
25 | 25 | <?php |
26 | - if ( apply_filters( 'FHEE__content_espresso_events_details_template__display_the_content', true ) ) { |
|
27 | - do_action( 'AHEE_event_details_before_the_content', $post ); |
|
26 | + if (apply_filters('FHEE__content_espresso_events_details_template__display_the_content', true)) { |
|
27 | + do_action('AHEE_event_details_before_the_content', $post); |
|
28 | 28 | echo apply_filters( |
29 | 29 | 'FHEE__content_espresso_events_details_template__the_content', |
30 | - espresso_event_content_or_excerpt( 55, null, false ) |
|
30 | + espresso_event_content_or_excerpt(55, null, false) |
|
31 | 31 | ); |
32 | - do_action( 'AHEE_event_details_after_the_content', $post ); |
|
32 | + do_action('AHEE_event_details_after_the_content', $post); |
|
33 | 33 | } |
34 | 34 | ?> |
35 | 35 | </div> |
@@ -30,224 +30,224 @@ |
||
30 | 30 | class AdminOptionsSettings extends FormHandler |
31 | 31 | { |
32 | 32 | |
33 | - protected $template_args = array(); |
|
34 | - |
|
35 | - /** |
|
36 | - * Form constructor. |
|
37 | - * |
|
38 | - * @param \EE_Registry $registry |
|
39 | - */ |
|
40 | - public function __construct(\EE_Registry $registry) { |
|
41 | - parent::__construct( |
|
42 | - esc_html__('Admin Options', 'event_espresso'), |
|
43 | - esc_html__('Admin Options', 'event_espresso'), |
|
44 | - 'admin_option_settings', |
|
45 | - '', |
|
46 | - FormHandler::DO_NOT_SETUP_FORM, |
|
47 | - $registry |
|
48 | - ); |
|
49 | - } |
|
50 | - |
|
51 | - |
|
52 | - |
|
53 | - /** |
|
54 | - * @param array $template_args |
|
55 | - */ |
|
56 | - public function setTemplateArgs(array $template_args) |
|
57 | - { |
|
58 | - $this->template_args = $template_args; |
|
59 | - } |
|
60 | - |
|
61 | - |
|
62 | - |
|
63 | - /** |
|
64 | - * creates and returns the actual form |
|
65 | - * |
|
66 | - * @return EE_Form_Section_Proper |
|
67 | - * @throws \EE_Error |
|
68 | - */ |
|
69 | - public function generate() |
|
70 | - { |
|
71 | - $form = new \EE_Form_Section_Proper( |
|
72 | - array( |
|
73 | - 'name' => 'admin_option_settings', |
|
74 | - 'html_id' => 'admin_option_settings', |
|
75 | - 'layout_strategy' => new EE_Admin_Two_Column_Layout(), |
|
76 | - 'subsections' => array( |
|
77 | - 'help_tour_activation_hdr' => new EE_Form_Section_HTML( |
|
78 | - EEH_HTML::h2( |
|
79 | - esc_html__('Help Tour Global Activation', 'event_espresso') |
|
80 | - . ' ' |
|
81 | - . EEH_HTML::span( |
|
82 | - EEH_Template::get_help_tab_link('help_tour_activation_info'), |
|
83 | - 'help_tour_activation' |
|
84 | - ), |
|
85 | - '', 'ee-admin-settings-hdr' |
|
86 | - ) |
|
87 | - ), |
|
88 | - 'help_tour_activation' => new EE_Yes_No_Input( |
|
89 | - array( |
|
90 | - 'html_label_text' => esc_html__('Activate Global Help Tours?', 'event_espresso'), |
|
91 | - 'html_help_text' => esc_html__( |
|
92 | - 'This toggles whether the Event Espresso help tours are active globally or not.', |
|
93 | - 'event_espresso' |
|
94 | - ), |
|
95 | - 'default' => isset($this->registry->CFG->admin->help_tour_activation) |
|
96 | - ? filter_var($this->registry->CFG->admin->help_tour_activation, FILTER_VALIDATE_BOOLEAN) |
|
97 | - : true, |
|
98 | - 'required' => false |
|
99 | - ) |
|
100 | - ), |
|
101 | - 'compatibility_hdr' => new EE_Form_Section_HTML( |
|
102 | - EEH_HTML::h2( |
|
103 | - esc_html__('Compatibility Settings', 'event_espresso'), |
|
104 | - '', 'ee-admin-settings-hdr' |
|
105 | - ) |
|
106 | - ), |
|
107 | - 'encode_session_data' => new EE_Yes_No_Input( |
|
108 | - array( |
|
109 | - 'html_label_text' => esc_html__('Encode Session Data?', 'event_espresso'), |
|
110 | - 'html_help_text' => sprintf( |
|
111 | - esc_html__( |
|
112 | - 'Some servers and database configurations can cause problems when saving the Event Espresso session data. Setting this option to "Yes" adds an extra layer of encoding to session data to prevent serialization errors, but can be incompatible with some server configurations.%1$sIf you receive "500 internal server" type errors during registration, try turning this option on.%1$sIf you get fatal PHP errors regarding missing base64 functions, then turn this option off.', |
|
113 | - 'event_espresso' |
|
114 | - ), |
|
115 | - '<br>' |
|
116 | - ), |
|
117 | - 'default' => $this->registry->CFG->admin->encode_session_data(), |
|
118 | - 'required' => false |
|
119 | - ) |
|
120 | - ), |
|
121 | - ) |
|
122 | - ) |
|
123 | - ); |
|
124 | - if ( |
|
125 | - $this->registry->CAP->current_user_can( |
|
126 | - 'manage_options', |
|
127 | - 'display_admin_settings_options_promote_and_affiliate' |
|
128 | - ) |
|
129 | - ) { |
|
130 | - $form->add_subsections( |
|
131 | - array( |
|
132 | - 'promote_ee_hdr' => new EE_Form_Section_HTML( |
|
133 | - EEH_HTML::h2( |
|
134 | - esc_html__('Promote Event Espresso', 'event_espresso') |
|
135 | - . ' ' |
|
136 | - . EEH_HTML::span( |
|
137 | - EEH_Template::get_help_tab_link('affiliate_info'), |
|
138 | - 'affiliate_info' |
|
139 | - ), |
|
140 | - '', 'ee-admin-settings-hdr' |
|
141 | - ) |
|
142 | - ), |
|
143 | - 'show_reg_footer' => new EE_Yes_No_Input( |
|
144 | - array( |
|
145 | - 'html_label_text' => esc_html__( |
|
146 | - 'Link to Event Espresso in your Registration Page?', |
|
147 | - 'event_espresso' |
|
148 | - ) |
|
149 | - . EEH_Template::get_help_tab_link('email_validation_info'), |
|
150 | - 'html_help_text' => esc_html__( |
|
151 | - 'adds an unobtrusive link to Event Espresso\'s website in the footer of your registration form. Get an affiliate link (see below) and make money if people click the link and purchase Event Espresso.', |
|
152 | - 'event_espresso' |
|
153 | - ), |
|
154 | - 'default' => isset($this->registry->CFG->admin->show_reg_footer) |
|
155 | - ? filter_var($this->registry->CFG->admin->show_reg_footer, FILTER_VALIDATE_BOOLEAN) |
|
156 | - : true, |
|
157 | - 'required' => false |
|
158 | - ) |
|
159 | - ), |
|
160 | - 'affiliate_id' => new EE_Text_Input( |
|
161 | - array( |
|
162 | - 'html_label_text' => sprintf( |
|
163 | - esc_html__('Event Espresso %sAffiliate%s ID', 'event_espresso'), |
|
164 | - '<a href="http://eventespresso.com/affiliates/" target="_blank">', |
|
165 | - '</a>' |
|
166 | - ), |
|
167 | - 'html_help_text' => esc_html__( |
|
168 | - 'Earn cash for promoting Event Espresso.', |
|
169 | - 'event_espresso' |
|
170 | - ), |
|
171 | - 'html_class' => 'regular-text', |
|
172 | - 'default' => isset($this->registry->CFG->admin->affiliate_id) |
|
173 | - ? $this->registry->CFG->admin->get_pretty('affiliate_id') |
|
174 | - : '', |
|
175 | - 'required' => false |
|
176 | - ) |
|
177 | - ), |
|
178 | - ), |
|
179 | - 'help_tour_activation_hdr' |
|
180 | - ); |
|
181 | - } |
|
182 | - return $form; |
|
183 | - } |
|
184 | - |
|
185 | - |
|
186 | - |
|
187 | - /** |
|
188 | - * takes the generated form and displays it along with ony other non-form HTML that may be required |
|
189 | - * returns a string of HTML that can be directly echoed in a template |
|
190 | - * |
|
191 | - * @return string |
|
192 | - * @throws LogicException |
|
193 | - * @throws \EE_Error |
|
194 | - */ |
|
195 | - public function display() |
|
196 | - { |
|
197 | - add_filter( |
|
198 | - 'FHEE__EventEspresso_core_libraries_form_sections_form_handlers_FormHandler__display__before_form', |
|
199 | - array($this, 'handleOldAdminOptionsSettingsAction') |
|
200 | - ); |
|
201 | - return parent::display(); |
|
202 | - } |
|
203 | - |
|
204 | - |
|
205 | - |
|
206 | - /** |
|
207 | - * @return string |
|
208 | - */ |
|
209 | - public function handleOldAdminOptionsSettingsAction() |
|
210 | - { |
|
211 | - ob_start(); |
|
212 | - do_action('AHEE__admin_option_settings__template__before', $this->template_args); |
|
213 | - return ob_get_clean(); |
|
214 | - } |
|
215 | - |
|
216 | - |
|
217 | - |
|
218 | - /** |
|
219 | - * handles processing the form submission |
|
220 | - * returns true or false depending on whether the form was processed successfully or not |
|
221 | - * |
|
222 | - * @param array $form_data |
|
223 | - * @return bool |
|
224 | - * @throws InvalidFormSubmissionException |
|
225 | - * @throws EE_Error |
|
226 | - * @throws LogicException |
|
227 | - * @throws InvalidArgumentException |
|
228 | - * @throws InvalidDataTypeException |
|
229 | - */ |
|
230 | - public function process($form_data = array()) |
|
231 | - { |
|
232 | - // process form |
|
233 | - $valid_data = (array)parent::process($form_data); |
|
234 | - if (empty($valid_data)) { |
|
235 | - return false; |
|
236 | - } |
|
237 | - $this->registry->CFG->admin->show_reg_footer = isset( $form_data['show_reg_footer'] ) |
|
238 | - ? absint( $form_data['show_reg_footer'] ) |
|
239 | - : $this->registry->CFG->admin->show_reg_footer; |
|
240 | - $this->registry->CFG->admin->affiliate_id = isset( $form_data['affiliate_id'] ) |
|
241 | - ? sanitize_text_field( $form_data['affiliate_id'] ) |
|
242 | - : $this->registry->CFG->admin->affiliate_id; |
|
243 | - $this->registry->CFG->admin->help_tour_activation = isset( $form_data['help_tour_activation'] ) |
|
244 | - ? absint( $form_data['help_tour_activation']) |
|
245 | - : $this->registry->CFG->admin->help_tour_activation; |
|
246 | - if (isset($form_data['encode_session_data'])) { |
|
247 | - $this->registry->CFG->admin->set_encode_session_data($form_data['encode_session_data']); |
|
248 | - } |
|
249 | - return false; |
|
250 | - } |
|
33 | + protected $template_args = array(); |
|
34 | + |
|
35 | + /** |
|
36 | + * Form constructor. |
|
37 | + * |
|
38 | + * @param \EE_Registry $registry |
|
39 | + */ |
|
40 | + public function __construct(\EE_Registry $registry) { |
|
41 | + parent::__construct( |
|
42 | + esc_html__('Admin Options', 'event_espresso'), |
|
43 | + esc_html__('Admin Options', 'event_espresso'), |
|
44 | + 'admin_option_settings', |
|
45 | + '', |
|
46 | + FormHandler::DO_NOT_SETUP_FORM, |
|
47 | + $registry |
|
48 | + ); |
|
49 | + } |
|
50 | + |
|
51 | + |
|
52 | + |
|
53 | + /** |
|
54 | + * @param array $template_args |
|
55 | + */ |
|
56 | + public function setTemplateArgs(array $template_args) |
|
57 | + { |
|
58 | + $this->template_args = $template_args; |
|
59 | + } |
|
60 | + |
|
61 | + |
|
62 | + |
|
63 | + /** |
|
64 | + * creates and returns the actual form |
|
65 | + * |
|
66 | + * @return EE_Form_Section_Proper |
|
67 | + * @throws \EE_Error |
|
68 | + */ |
|
69 | + public function generate() |
|
70 | + { |
|
71 | + $form = new \EE_Form_Section_Proper( |
|
72 | + array( |
|
73 | + 'name' => 'admin_option_settings', |
|
74 | + 'html_id' => 'admin_option_settings', |
|
75 | + 'layout_strategy' => new EE_Admin_Two_Column_Layout(), |
|
76 | + 'subsections' => array( |
|
77 | + 'help_tour_activation_hdr' => new EE_Form_Section_HTML( |
|
78 | + EEH_HTML::h2( |
|
79 | + esc_html__('Help Tour Global Activation', 'event_espresso') |
|
80 | + . ' ' |
|
81 | + . EEH_HTML::span( |
|
82 | + EEH_Template::get_help_tab_link('help_tour_activation_info'), |
|
83 | + 'help_tour_activation' |
|
84 | + ), |
|
85 | + '', 'ee-admin-settings-hdr' |
|
86 | + ) |
|
87 | + ), |
|
88 | + 'help_tour_activation' => new EE_Yes_No_Input( |
|
89 | + array( |
|
90 | + 'html_label_text' => esc_html__('Activate Global Help Tours?', 'event_espresso'), |
|
91 | + 'html_help_text' => esc_html__( |
|
92 | + 'This toggles whether the Event Espresso help tours are active globally or not.', |
|
93 | + 'event_espresso' |
|
94 | + ), |
|
95 | + 'default' => isset($this->registry->CFG->admin->help_tour_activation) |
|
96 | + ? filter_var($this->registry->CFG->admin->help_tour_activation, FILTER_VALIDATE_BOOLEAN) |
|
97 | + : true, |
|
98 | + 'required' => false |
|
99 | + ) |
|
100 | + ), |
|
101 | + 'compatibility_hdr' => new EE_Form_Section_HTML( |
|
102 | + EEH_HTML::h2( |
|
103 | + esc_html__('Compatibility Settings', 'event_espresso'), |
|
104 | + '', 'ee-admin-settings-hdr' |
|
105 | + ) |
|
106 | + ), |
|
107 | + 'encode_session_data' => new EE_Yes_No_Input( |
|
108 | + array( |
|
109 | + 'html_label_text' => esc_html__('Encode Session Data?', 'event_espresso'), |
|
110 | + 'html_help_text' => sprintf( |
|
111 | + esc_html__( |
|
112 | + 'Some servers and database configurations can cause problems when saving the Event Espresso session data. Setting this option to "Yes" adds an extra layer of encoding to session data to prevent serialization errors, but can be incompatible with some server configurations.%1$sIf you receive "500 internal server" type errors during registration, try turning this option on.%1$sIf you get fatal PHP errors regarding missing base64 functions, then turn this option off.', |
|
113 | + 'event_espresso' |
|
114 | + ), |
|
115 | + '<br>' |
|
116 | + ), |
|
117 | + 'default' => $this->registry->CFG->admin->encode_session_data(), |
|
118 | + 'required' => false |
|
119 | + ) |
|
120 | + ), |
|
121 | + ) |
|
122 | + ) |
|
123 | + ); |
|
124 | + if ( |
|
125 | + $this->registry->CAP->current_user_can( |
|
126 | + 'manage_options', |
|
127 | + 'display_admin_settings_options_promote_and_affiliate' |
|
128 | + ) |
|
129 | + ) { |
|
130 | + $form->add_subsections( |
|
131 | + array( |
|
132 | + 'promote_ee_hdr' => new EE_Form_Section_HTML( |
|
133 | + EEH_HTML::h2( |
|
134 | + esc_html__('Promote Event Espresso', 'event_espresso') |
|
135 | + . ' ' |
|
136 | + . EEH_HTML::span( |
|
137 | + EEH_Template::get_help_tab_link('affiliate_info'), |
|
138 | + 'affiliate_info' |
|
139 | + ), |
|
140 | + '', 'ee-admin-settings-hdr' |
|
141 | + ) |
|
142 | + ), |
|
143 | + 'show_reg_footer' => new EE_Yes_No_Input( |
|
144 | + array( |
|
145 | + 'html_label_text' => esc_html__( |
|
146 | + 'Link to Event Espresso in your Registration Page?', |
|
147 | + 'event_espresso' |
|
148 | + ) |
|
149 | + . EEH_Template::get_help_tab_link('email_validation_info'), |
|
150 | + 'html_help_text' => esc_html__( |
|
151 | + 'adds an unobtrusive link to Event Espresso\'s website in the footer of your registration form. Get an affiliate link (see below) and make money if people click the link and purchase Event Espresso.', |
|
152 | + 'event_espresso' |
|
153 | + ), |
|
154 | + 'default' => isset($this->registry->CFG->admin->show_reg_footer) |
|
155 | + ? filter_var($this->registry->CFG->admin->show_reg_footer, FILTER_VALIDATE_BOOLEAN) |
|
156 | + : true, |
|
157 | + 'required' => false |
|
158 | + ) |
|
159 | + ), |
|
160 | + 'affiliate_id' => new EE_Text_Input( |
|
161 | + array( |
|
162 | + 'html_label_text' => sprintf( |
|
163 | + esc_html__('Event Espresso %sAffiliate%s ID', 'event_espresso'), |
|
164 | + '<a href="http://eventespresso.com/affiliates/" target="_blank">', |
|
165 | + '</a>' |
|
166 | + ), |
|
167 | + 'html_help_text' => esc_html__( |
|
168 | + 'Earn cash for promoting Event Espresso.', |
|
169 | + 'event_espresso' |
|
170 | + ), |
|
171 | + 'html_class' => 'regular-text', |
|
172 | + 'default' => isset($this->registry->CFG->admin->affiliate_id) |
|
173 | + ? $this->registry->CFG->admin->get_pretty('affiliate_id') |
|
174 | + : '', |
|
175 | + 'required' => false |
|
176 | + ) |
|
177 | + ), |
|
178 | + ), |
|
179 | + 'help_tour_activation_hdr' |
|
180 | + ); |
|
181 | + } |
|
182 | + return $form; |
|
183 | + } |
|
184 | + |
|
185 | + |
|
186 | + |
|
187 | + /** |
|
188 | + * takes the generated form and displays it along with ony other non-form HTML that may be required |
|
189 | + * returns a string of HTML that can be directly echoed in a template |
|
190 | + * |
|
191 | + * @return string |
|
192 | + * @throws LogicException |
|
193 | + * @throws \EE_Error |
|
194 | + */ |
|
195 | + public function display() |
|
196 | + { |
|
197 | + add_filter( |
|
198 | + 'FHEE__EventEspresso_core_libraries_form_sections_form_handlers_FormHandler__display__before_form', |
|
199 | + array($this, 'handleOldAdminOptionsSettingsAction') |
|
200 | + ); |
|
201 | + return parent::display(); |
|
202 | + } |
|
203 | + |
|
204 | + |
|
205 | + |
|
206 | + /** |
|
207 | + * @return string |
|
208 | + */ |
|
209 | + public function handleOldAdminOptionsSettingsAction() |
|
210 | + { |
|
211 | + ob_start(); |
|
212 | + do_action('AHEE__admin_option_settings__template__before', $this->template_args); |
|
213 | + return ob_get_clean(); |
|
214 | + } |
|
215 | + |
|
216 | + |
|
217 | + |
|
218 | + /** |
|
219 | + * handles processing the form submission |
|
220 | + * returns true or false depending on whether the form was processed successfully or not |
|
221 | + * |
|
222 | + * @param array $form_data |
|
223 | + * @return bool |
|
224 | + * @throws InvalidFormSubmissionException |
|
225 | + * @throws EE_Error |
|
226 | + * @throws LogicException |
|
227 | + * @throws InvalidArgumentException |
|
228 | + * @throws InvalidDataTypeException |
|
229 | + */ |
|
230 | + public function process($form_data = array()) |
|
231 | + { |
|
232 | + // process form |
|
233 | + $valid_data = (array)parent::process($form_data); |
|
234 | + if (empty($valid_data)) { |
|
235 | + return false; |
|
236 | + } |
|
237 | + $this->registry->CFG->admin->show_reg_footer = isset( $form_data['show_reg_footer'] ) |
|
238 | + ? absint( $form_data['show_reg_footer'] ) |
|
239 | + : $this->registry->CFG->admin->show_reg_footer; |
|
240 | + $this->registry->CFG->admin->affiliate_id = isset( $form_data['affiliate_id'] ) |
|
241 | + ? sanitize_text_field( $form_data['affiliate_id'] ) |
|
242 | + : $this->registry->CFG->admin->affiliate_id; |
|
243 | + $this->registry->CFG->admin->help_tour_activation = isset( $form_data['help_tour_activation'] ) |
|
244 | + ? absint( $form_data['help_tour_activation']) |
|
245 | + : $this->registry->CFG->admin->help_tour_activation; |
|
246 | + if (isset($form_data['encode_session_data'])) { |
|
247 | + $this->registry->CFG->admin->set_encode_session_data($form_data['encode_session_data']); |
|
248 | + } |
|
249 | + return false; |
|
250 | + } |
|
251 | 251 | |
252 | 252 | } |
253 | 253 | // End of file AdminOptionsSettings.php |
@@ -230,18 +230,18 @@ |
||
230 | 230 | public function process($form_data = array()) |
231 | 231 | { |
232 | 232 | // process form |
233 | - $valid_data = (array)parent::process($form_data); |
|
233 | + $valid_data = (array) parent::process($form_data); |
|
234 | 234 | if (empty($valid_data)) { |
235 | 235 | return false; |
236 | 236 | } |
237 | - $this->registry->CFG->admin->show_reg_footer = isset( $form_data['show_reg_footer'] ) |
|
238 | - ? absint( $form_data['show_reg_footer'] ) |
|
237 | + $this->registry->CFG->admin->show_reg_footer = isset($form_data['show_reg_footer']) |
|
238 | + ? absint($form_data['show_reg_footer']) |
|
239 | 239 | : $this->registry->CFG->admin->show_reg_footer; |
240 | - $this->registry->CFG->admin->affiliate_id = isset( $form_data['affiliate_id'] ) |
|
241 | - ? sanitize_text_field( $form_data['affiliate_id'] ) |
|
240 | + $this->registry->CFG->admin->affiliate_id = isset($form_data['affiliate_id']) |
|
241 | + ? sanitize_text_field($form_data['affiliate_id']) |
|
242 | 242 | : $this->registry->CFG->admin->affiliate_id; |
243 | - $this->registry->CFG->admin->help_tour_activation = isset( $form_data['help_tour_activation'] ) |
|
244 | - ? absint( $form_data['help_tour_activation']) |
|
243 | + $this->registry->CFG->admin->help_tour_activation = isset($form_data['help_tour_activation']) |
|
244 | + ? absint($form_data['help_tour_activation']) |
|
245 | 245 | : $this->registry->CFG->admin->help_tour_activation; |
246 | 246 | if (isset($form_data['encode_session_data'])) { |
247 | 247 | $this->registry->CFG->admin->set_encode_session_data($form_data['encode_session_data']); |
@@ -8,19 +8,19 @@ discard block |
||
8 | 8 | * |
9 | 9 | * This input has a default validation strategy of plaintext (which can be removed after construction) |
10 | 10 | */ |
11 | -class EE_Text_Input extends EE_Form_Input_Base{ |
|
11 | +class EE_Text_Input extends EE_Form_Input_Base { |
|
12 | 12 | |
13 | 13 | |
14 | 14 | /** |
15 | 15 | * @param array $options |
16 | 16 | */ |
17 | - public function __construct($options = array()){ |
|
17 | + public function __construct($options = array()) { |
|
18 | 18 | $this->_set_display_strategy(new EE_Text_Input_Display_Strategy()); |
19 | 19 | $this->_set_normalization_strategy(new EE_Text_Normalization()); |
20 | 20 | parent::__construct($options); |
21 | 21 | //if the input hasn't specifically mentioned a more lenient validation strategy, |
22 | 22 | //apply plaintext validation strategy |
23 | - if( ! $this->has_validation_strategy( |
|
23 | + if ( ! $this->has_validation_strategy( |
|
24 | 24 | array( |
25 | 25 | 'EE_Full_HTML_Validation_Strategy', |
26 | 26 | 'EE_Simple_HTML_Validation_Strategy' |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | ) { |
30 | 30 | //by default we use the plaintext validation. If you want something else, |
31 | 31 | //just remove it after the input is constructed :P using EE_Form_Input_Base::remove_validation_strategy() |
32 | - $this->_add_validation_strategy( new EE_Plaintext_Validation_Strategy() ); |
|
32 | + $this->_add_validation_strategy(new EE_Plaintext_Validation_Strategy()); |
|
33 | 33 | } |
34 | 34 | } |
35 | 35 |
@@ -8,8 +8,8 @@ |
||
8 | 8 | foreach( $form_section->subsections() as $subsection ) { |
9 | 9 | if( $subsection instanceof EE_Form_Input_Base ) { |
10 | 10 | if( $subsection->get_sensitive_data_removal_strategy() instanceof EE_All_Sensitive_Data_Removal |
11 | - || $subsection->get_sensitive_data_removal_strategy() instanceof EE_CCV_Sensitive_Data_Removal |
|
12 | - || $subsection->get_display_strategy() instanceof EE_Hidden_Display_Strategy ){ |
|
11 | + || $subsection->get_sensitive_data_removal_strategy() instanceof EE_CCV_Sensitive_Data_Removal |
|
12 | + || $subsection->get_display_strategy() instanceof EE_Hidden_Display_Strategy ){ |
|
13 | 13 | continue; |
14 | 14 | } |
15 | 15 | if( $subsection->get_sensitive_data_removal_strategy() instanceof EE_Credit_Card_Sensitive_Data_Removal ) { |
@@ -1,38 +1,38 @@ |
||
1 | 1 | <div id="admin-side-mbox-billing-info-dv" class="admin-side-mbox-dv"> |
2 | -<?php if ( empty($billing_form) ) : ?> |
|
2 | +<?php if (empty($billing_form)) : ?> |
|
3 | 3 | <div class="clearfix"> |
4 | - <?php _e( 'There is no billing info for this transaction.', 'event_espresso' );?><br/> |
|
4 | + <?php _e('There is no billing info for this transaction.', 'event_espresso'); ?><br/> |
|
5 | 5 | </div> |
6 | 6 | <?php else : |
7 | - function ee_show_billing_info_cleaned( EE_Form_Section_Proper $form_section, $found_cc_data = false ) { |
|
8 | - foreach( $form_section->subsections() as $subsection ) { |
|
9 | - if( $subsection instanceof EE_Form_Input_Base ) { |
|
10 | - if( $subsection->get_sensitive_data_removal_strategy() instanceof EE_All_Sensitive_Data_Removal |
|
7 | + function ee_show_billing_info_cleaned(EE_Form_Section_Proper $form_section, $found_cc_data = false) { |
|
8 | + foreach ($form_section->subsections() as $subsection) { |
|
9 | + if ($subsection instanceof EE_Form_Input_Base) { |
|
10 | + if ($subsection->get_sensitive_data_removal_strategy() instanceof EE_All_Sensitive_Data_Removal |
|
11 | 11 | || $subsection->get_sensitive_data_removal_strategy() instanceof EE_CCV_Sensitive_Data_Removal |
12 | - || $subsection->get_display_strategy() instanceof EE_Hidden_Display_Strategy ){ |
|
12 | + || $subsection->get_display_strategy() instanceof EE_Hidden_Display_Strategy) { |
|
13 | 13 | continue; |
14 | 14 | } |
15 | - if( $subsection->get_sensitive_data_removal_strategy() instanceof EE_Credit_Card_Sensitive_Data_Removal ) { |
|
15 | + if ($subsection->get_sensitive_data_removal_strategy() instanceof EE_Credit_Card_Sensitive_Data_Removal) { |
|
16 | 16 | $found_cc_data = true; |
17 | 17 | } |
18 | 18 | ?> |
19 | 19 | <div class="clearfix"> |
20 | - <span class="admin-side-mbox-label-spn lt-grey-txt float-left"><?php echo $subsection->get_html_for_label();?></span><?php echo $subsection->pretty_value();?> |
|
20 | + <span class="admin-side-mbox-label-spn lt-grey-txt float-left"><?php echo $subsection->get_html_for_label(); ?></span><?php echo $subsection->pretty_value(); ?> |
|
21 | 21 | </div><?php |
22 | - } elseif( $subsection instanceof EE_Form_Section_Proper ) { |
|
23 | - $found_cc_data = ee_show_billing_info_cleaned( $subsection, $found_cc_data); |
|
22 | + } elseif ($subsection instanceof EE_Form_Section_Proper) { |
|
23 | + $found_cc_data = ee_show_billing_info_cleaned($subsection, $found_cc_data); |
|
24 | 24 | } |
25 | 25 | } |
26 | 26 | return $found_cc_data; |
27 | 27 | } |
28 | - $found_cc_data = ee_show_billing_info_cleaned( $billing_form ); |
|
29 | - if( apply_filters( |
|
28 | + $found_cc_data = ee_show_billing_info_cleaned($billing_form); |
|
29 | + if (apply_filters( |
|
30 | 30 | 'FHEE__txn_admin_details_side_meta_box_billing_info__show_default_note', |
31 | 31 | $found_cc_data, |
32 | - $billing_form ) ) {?> |
|
33 | - <p class="help"><?php _e( 'Note: Card expiry dates and CCV are not stored. Only the last 4 digits of card numbers are stored.', 'event_espresso' );?></p> |
|
32 | + $billing_form )) {?> |
|
33 | + <p class="help"><?php _e('Note: Card expiry dates and CCV are not stored. Only the last 4 digits of card numbers are stored.', 'event_espresso'); ?></p> |
|
34 | 34 | <?php } |
35 | - do_action( 'AHEE__txn_admin_details_side_meta_box_billing_info__billing_form_footer', $billing_form ); |
|
35 | + do_action('AHEE__txn_admin_details_side_meta_box_billing_info__billing_form_footer', $billing_form); |
|
36 | 36 | endif; ?> |
37 | 37 | |
38 | 38 | </div> |
@@ -3,7 +3,8 @@ discard block |
||
3 | 3 | <div class="clearfix"> |
4 | 4 | <?php _e( 'There is no billing info for this transaction.', 'event_espresso' );?><br/> |
5 | 5 | </div> |
6 | -<?php else : |
|
6 | +<?php else { |
|
7 | + : |
|
7 | 8 | function ee_show_billing_info_cleaned( EE_Form_Section_Proper $form_section, $found_cc_data = false ) { |
8 | 9 | foreach( $form_section->subsections() as $subsection ) { |
9 | 10 | if( $subsection instanceof EE_Form_Input_Base ) { |
@@ -11,6 +12,7 @@ discard block |
||
11 | 12 | || $subsection->get_sensitive_data_removal_strategy() instanceof EE_CCV_Sensitive_Data_Removal |
12 | 13 | || $subsection->get_display_strategy() instanceof EE_Hidden_Display_Strategy ){ |
13 | 14 | continue; |
15 | +} |
|
14 | 16 | } |
15 | 17 | if( $subsection->get_sensitive_data_removal_strategy() instanceof EE_Credit_Card_Sensitive_Data_Removal ) { |
16 | 18 | $found_cc_data = true; |
@@ -96,8 +96,8 @@ discard block |
||
96 | 96 | "display-{$this->cssId()}", |
97 | 97 | 'display-tckt-slctr-tkt-details display-the-hidden lt-grey-text smaller-text hide-if-no-js', |
98 | 98 | '', |
99 | - 'rel="' . $this->cssId() . '"' |
|
100 | - ) . \EEH_HTML::link( |
|
99 | + 'rel="'.$this->cssId().'"' |
|
100 | + ).\EEH_HTML::link( |
|
101 | 101 | '', |
102 | 102 | sprintf(__('hide%1$sdetails%1$s-', 'event_espresso'), ' '), |
103 | 103 | esc_attr( |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | "hide-{$this->cssId()}", |
110 | 110 | 'hide-tckt-slctr-tkt-details hide-the-displayed lt-grey-text smaller-text hide-if-no-js', |
111 | 111 | 'display:none;', |
112 | - 'rel="' . $this->cssId() . '"' |
|
112 | + 'rel="'.$this->cssId().'"' |
|
113 | 113 | ); |
114 | 114 | } |
115 | 115 | |
@@ -163,7 +163,7 @@ discard block |
||
163 | 163 | return \EEH_Template::locate_template( |
164 | 164 | apply_filters( |
165 | 165 | 'FHEE__EventEspresso_modules_ticket_selector_TicketDetails__display__template_path', |
166 | - TICKET_SELECTOR_TEMPLATES_PATH . 'ticket_details.template.php', |
|
166 | + TICKET_SELECTOR_TEMPLATES_PATH.'ticket_details.template.php', |
|
167 | 167 | $this->ticket |
168 | 168 | ), |
169 | 169 | $template_args |
@@ -17,198 +17,198 @@ |
||
17 | 17 | { |
18 | 18 | |
19 | 19 | |
20 | - /** |
|
21 | - * @var \EE_Ticket $ticket |
|
22 | - */ |
|
23 | - protected $ticket; |
|
24 | - |
|
25 | - /** |
|
26 | - * @var \EE_Ticket_Selector_Config $template_settings |
|
27 | - */ |
|
28 | - protected $template_settings; |
|
29 | - |
|
30 | - /** |
|
31 | - * @var string $date_format |
|
32 | - */ |
|
33 | - protected $date_format; |
|
34 | - |
|
35 | - /** |
|
36 | - * @var string $time_format |
|
37 | - */ |
|
38 | - protected $time_format; |
|
39 | - |
|
40 | - /** |
|
41 | - * @var boolean $event_is_expired |
|
42 | - */ |
|
43 | - protected $event_is_expired; |
|
44 | - |
|
45 | - |
|
46 | - |
|
47 | - /** |
|
48 | - * TicketDetails constructor. |
|
49 | - * |
|
50 | - * @param \EE_Ticket $ticket |
|
51 | - * @param \EE_Ticket_Selector_Config $template_settings |
|
52 | - * @param array $template_args |
|
53 | - */ |
|
54 | - public function __construct( |
|
55 | - \EE_Ticket $ticket, |
|
56 | - \EE_Ticket_Selector_Config $template_settings, |
|
57 | - array $template_args |
|
58 | - ) |
|
59 | - { |
|
60 | - $this->ticket = $ticket; |
|
61 | - $this->template_settings = $template_settings; |
|
62 | - $this->date_format = $template_args['date_format']; |
|
63 | - $this->time_format = $template_args['time_format']; |
|
64 | - $this->event_is_expired = $template_args['event_is_expired']; |
|
65 | - } |
|
66 | - |
|
67 | - |
|
68 | - |
|
69 | - /** |
|
70 | - * @return \EE_Ticket |
|
71 | - */ |
|
72 | - public function getTicket() |
|
73 | - { |
|
74 | - return $this->ticket; |
|
75 | - } |
|
76 | - |
|
77 | - |
|
78 | - |
|
79 | - /** |
|
80 | - * @return bool |
|
81 | - */ |
|
82 | - public function showTicketDetails() |
|
83 | - { |
|
84 | - return $this->template_settings->show_ticket_details; |
|
85 | - } |
|
86 | - |
|
87 | - |
|
88 | - |
|
89 | - /** |
|
90 | - * @return \EE_Ticket_Selector_Config |
|
91 | - */ |
|
92 | - public function getTemplateSettings() |
|
93 | - { |
|
94 | - return $this->template_settings; |
|
95 | - } |
|
96 | - |
|
97 | - |
|
98 | - |
|
99 | - /** |
|
100 | - * @return string |
|
101 | - */ |
|
102 | - public function getDateFormat() |
|
103 | - { |
|
104 | - return $this->date_format; |
|
105 | - } |
|
106 | - |
|
107 | - |
|
108 | - |
|
109 | - /** |
|
110 | - * @return string |
|
111 | - */ |
|
112 | - public function getTimeFormat() |
|
113 | - { |
|
114 | - return $this->time_format; |
|
115 | - } |
|
116 | - |
|
117 | - |
|
118 | - |
|
119 | - /** |
|
120 | - * @return string |
|
121 | - */ |
|
122 | - public function getShowHideLinks() |
|
123 | - { |
|
124 | - if ( ! $this->showTicketDetails()) { |
|
125 | - return ''; |
|
126 | - } |
|
127 | - return \EEH_HTML::link( |
|
128 | - '', |
|
129 | - sprintf(__('show%1$sdetails%1$s+', 'event_espresso'), ' '), |
|
130 | - esc_attr( |
|
131 | - apply_filters( |
|
132 | - 'FHEE__ticket_selector_chart_template__show_ticket_details_link_title', |
|
133 | - __('click to show additional ticket details', 'event_espresso') |
|
134 | - ) |
|
135 | - ), |
|
136 | - "display-{$this->cssId()}", |
|
137 | - 'display-tckt-slctr-tkt-details display-the-hidden lt-grey-text smaller-text hide-if-no-js', |
|
138 | - '', |
|
139 | - 'rel="' . $this->cssId() . '"' |
|
140 | - ) . \EEH_HTML::link( |
|
141 | - '', |
|
142 | - sprintf(__('hide%1$sdetails%1$s-', 'event_espresso'), ' '), |
|
143 | - esc_attr( |
|
144 | - apply_filters( |
|
145 | - 'FHEE__ticket_selector_chart_template__hide_ticket_details_link_title', |
|
146 | - __('click to hide additional ticket details', 'event_espresso') |
|
147 | - ) |
|
148 | - ), |
|
149 | - "hide-{$this->cssId()}", |
|
150 | - 'hide-tckt-slctr-tkt-details hide-the-displayed lt-grey-text smaller-text hide-if-no-js', |
|
151 | - 'display:none;', |
|
152 | - 'rel="' . $this->cssId() . '"' |
|
153 | - ); |
|
154 | - } |
|
155 | - |
|
156 | - |
|
157 | - |
|
158 | - /** |
|
159 | - * @return string |
|
160 | - */ |
|
161 | - public function cssId() |
|
162 | - { |
|
163 | - return apply_filters( |
|
164 | - 'FHEE__ticket_selector_chart_template__ticket_details_css_id', |
|
165 | - "tckt-slctr-tkt-details-{$this->ticket->get_event_ID()}-{$this->ticket->ID()}" |
|
166 | - ); |
|
167 | - } |
|
168 | - |
|
169 | - |
|
170 | - |
|
171 | - /** |
|
172 | - * @param float $ticket_price |
|
173 | - * @param int $remaining |
|
174 | - * @param int $cols |
|
175 | - * @return string |
|
176 | - */ |
|
177 | - public function display( |
|
178 | - $ticket_price = 0.00, |
|
179 | - $remaining, |
|
180 | - $cols = 2 |
|
181 | - ) { |
|
182 | - $template_args = array(); |
|
183 | - $template_args['ticket'] = $this->ticket; |
|
184 | - $template_args['ticket_price'] = $ticket_price; |
|
185 | - $template_args['remaining'] = $remaining; |
|
186 | - $template_args['cols'] = $cols; |
|
187 | - $template_args['show_ticket_details'] = $this->template_settings->show_ticket_details; |
|
188 | - $template_args['show_ticket_sale_columns'] = $this->template_settings->show_ticket_sale_columns; |
|
189 | - $template_args['ticket_details_row_class'] = espresso_get_object_css_class($this->ticket, '', 'details'); |
|
190 | - $template_args['ticket_details_css_id'] = $this->cssId(); |
|
191 | - $template_args['display_ticket_price'] = $ticket_price !== 0 && apply_filters( |
|
192 | - 'FHEE__ticket_selector_chart_template__display_ticket_price_details', |
|
193 | - true |
|
194 | - ); |
|
195 | - $template_args['price_breakdown_heading'] = apply_filters( |
|
196 | - 'FHEE__ticket_selector_chart_template__ticket_details_price_breakdown_heading', |
|
197 | - esc_html__('Price', 'event_espresso') |
|
198 | - ); |
|
199 | - $template_args['date_format'] = $this->date_format; |
|
200 | - $template_args['time_format'] = $this->time_format; |
|
201 | - $template_args['event_is_expired'] = $this->event_is_expired; |
|
202 | - |
|
203 | - return \EEH_Template::locate_template( |
|
204 | - apply_filters( |
|
205 | - 'FHEE__EventEspresso_modules_ticket_selector_TicketDetails__display__template_path', |
|
206 | - TICKET_SELECTOR_TEMPLATES_PATH . 'ticket_details.template.php', |
|
207 | - $this->ticket |
|
208 | - ), |
|
209 | - $template_args |
|
210 | - ); |
|
211 | - } |
|
20 | + /** |
|
21 | + * @var \EE_Ticket $ticket |
|
22 | + */ |
|
23 | + protected $ticket; |
|
24 | + |
|
25 | + /** |
|
26 | + * @var \EE_Ticket_Selector_Config $template_settings |
|
27 | + */ |
|
28 | + protected $template_settings; |
|
29 | + |
|
30 | + /** |
|
31 | + * @var string $date_format |
|
32 | + */ |
|
33 | + protected $date_format; |
|
34 | + |
|
35 | + /** |
|
36 | + * @var string $time_format |
|
37 | + */ |
|
38 | + protected $time_format; |
|
39 | + |
|
40 | + /** |
|
41 | + * @var boolean $event_is_expired |
|
42 | + */ |
|
43 | + protected $event_is_expired; |
|
44 | + |
|
45 | + |
|
46 | + |
|
47 | + /** |
|
48 | + * TicketDetails constructor. |
|
49 | + * |
|
50 | + * @param \EE_Ticket $ticket |
|
51 | + * @param \EE_Ticket_Selector_Config $template_settings |
|
52 | + * @param array $template_args |
|
53 | + */ |
|
54 | + public function __construct( |
|
55 | + \EE_Ticket $ticket, |
|
56 | + \EE_Ticket_Selector_Config $template_settings, |
|
57 | + array $template_args |
|
58 | + ) |
|
59 | + { |
|
60 | + $this->ticket = $ticket; |
|
61 | + $this->template_settings = $template_settings; |
|
62 | + $this->date_format = $template_args['date_format']; |
|
63 | + $this->time_format = $template_args['time_format']; |
|
64 | + $this->event_is_expired = $template_args['event_is_expired']; |
|
65 | + } |
|
66 | + |
|
67 | + |
|
68 | + |
|
69 | + /** |
|
70 | + * @return \EE_Ticket |
|
71 | + */ |
|
72 | + public function getTicket() |
|
73 | + { |
|
74 | + return $this->ticket; |
|
75 | + } |
|
76 | + |
|
77 | + |
|
78 | + |
|
79 | + /** |
|
80 | + * @return bool |
|
81 | + */ |
|
82 | + public function showTicketDetails() |
|
83 | + { |
|
84 | + return $this->template_settings->show_ticket_details; |
|
85 | + } |
|
86 | + |
|
87 | + |
|
88 | + |
|
89 | + /** |
|
90 | + * @return \EE_Ticket_Selector_Config |
|
91 | + */ |
|
92 | + public function getTemplateSettings() |
|
93 | + { |
|
94 | + return $this->template_settings; |
|
95 | + } |
|
96 | + |
|
97 | + |
|
98 | + |
|
99 | + /** |
|
100 | + * @return string |
|
101 | + */ |
|
102 | + public function getDateFormat() |
|
103 | + { |
|
104 | + return $this->date_format; |
|
105 | + } |
|
106 | + |
|
107 | + |
|
108 | + |
|
109 | + /** |
|
110 | + * @return string |
|
111 | + */ |
|
112 | + public function getTimeFormat() |
|
113 | + { |
|
114 | + return $this->time_format; |
|
115 | + } |
|
116 | + |
|
117 | + |
|
118 | + |
|
119 | + /** |
|
120 | + * @return string |
|
121 | + */ |
|
122 | + public function getShowHideLinks() |
|
123 | + { |
|
124 | + if ( ! $this->showTicketDetails()) { |
|
125 | + return ''; |
|
126 | + } |
|
127 | + return \EEH_HTML::link( |
|
128 | + '', |
|
129 | + sprintf(__('show%1$sdetails%1$s+', 'event_espresso'), ' '), |
|
130 | + esc_attr( |
|
131 | + apply_filters( |
|
132 | + 'FHEE__ticket_selector_chart_template__show_ticket_details_link_title', |
|
133 | + __('click to show additional ticket details', 'event_espresso') |
|
134 | + ) |
|
135 | + ), |
|
136 | + "display-{$this->cssId()}", |
|
137 | + 'display-tckt-slctr-tkt-details display-the-hidden lt-grey-text smaller-text hide-if-no-js', |
|
138 | + '', |
|
139 | + 'rel="' . $this->cssId() . '"' |
|
140 | + ) . \EEH_HTML::link( |
|
141 | + '', |
|
142 | + sprintf(__('hide%1$sdetails%1$s-', 'event_espresso'), ' '), |
|
143 | + esc_attr( |
|
144 | + apply_filters( |
|
145 | + 'FHEE__ticket_selector_chart_template__hide_ticket_details_link_title', |
|
146 | + __('click to hide additional ticket details', 'event_espresso') |
|
147 | + ) |
|
148 | + ), |
|
149 | + "hide-{$this->cssId()}", |
|
150 | + 'hide-tckt-slctr-tkt-details hide-the-displayed lt-grey-text smaller-text hide-if-no-js', |
|
151 | + 'display:none;', |
|
152 | + 'rel="' . $this->cssId() . '"' |
|
153 | + ); |
|
154 | + } |
|
155 | + |
|
156 | + |
|
157 | + |
|
158 | + /** |
|
159 | + * @return string |
|
160 | + */ |
|
161 | + public function cssId() |
|
162 | + { |
|
163 | + return apply_filters( |
|
164 | + 'FHEE__ticket_selector_chart_template__ticket_details_css_id', |
|
165 | + "tckt-slctr-tkt-details-{$this->ticket->get_event_ID()}-{$this->ticket->ID()}" |
|
166 | + ); |
|
167 | + } |
|
168 | + |
|
169 | + |
|
170 | + |
|
171 | + /** |
|
172 | + * @param float $ticket_price |
|
173 | + * @param int $remaining |
|
174 | + * @param int $cols |
|
175 | + * @return string |
|
176 | + */ |
|
177 | + public function display( |
|
178 | + $ticket_price = 0.00, |
|
179 | + $remaining, |
|
180 | + $cols = 2 |
|
181 | + ) { |
|
182 | + $template_args = array(); |
|
183 | + $template_args['ticket'] = $this->ticket; |
|
184 | + $template_args['ticket_price'] = $ticket_price; |
|
185 | + $template_args['remaining'] = $remaining; |
|
186 | + $template_args['cols'] = $cols; |
|
187 | + $template_args['show_ticket_details'] = $this->template_settings->show_ticket_details; |
|
188 | + $template_args['show_ticket_sale_columns'] = $this->template_settings->show_ticket_sale_columns; |
|
189 | + $template_args['ticket_details_row_class'] = espresso_get_object_css_class($this->ticket, '', 'details'); |
|
190 | + $template_args['ticket_details_css_id'] = $this->cssId(); |
|
191 | + $template_args['display_ticket_price'] = $ticket_price !== 0 && apply_filters( |
|
192 | + 'FHEE__ticket_selector_chart_template__display_ticket_price_details', |
|
193 | + true |
|
194 | + ); |
|
195 | + $template_args['price_breakdown_heading'] = apply_filters( |
|
196 | + 'FHEE__ticket_selector_chart_template__ticket_details_price_breakdown_heading', |
|
197 | + esc_html__('Price', 'event_espresso') |
|
198 | + ); |
|
199 | + $template_args['date_format'] = $this->date_format; |
|
200 | + $template_args['time_format'] = $this->time_format; |
|
201 | + $template_args['event_is_expired'] = $this->event_is_expired; |
|
202 | + |
|
203 | + return \EEH_Template::locate_template( |
|
204 | + apply_filters( |
|
205 | + 'FHEE__EventEspresso_modules_ticket_selector_TicketDetails__display__template_path', |
|
206 | + TICKET_SELECTOR_TEMPLATES_PATH . 'ticket_details.template.php', |
|
207 | + $this->ticket |
|
208 | + ), |
|
209 | + $template_args |
|
210 | + ); |
|
211 | + } |
|
212 | 212 | |
213 | 213 | } |
214 | 214 | // End of file TicketDetails.php |
@@ -1,29 +1,29 @@ |
||
1 | 1 | <div class="padding"> |
2 | 2 | <h3><?php esc_html_e('Need help with Event Espresso?', 'event_espresso'); ?></h3> |
3 | 3 | |
4 | - <h4><?php esc_html_e( 'You may be able to find an answer for your question or concern here:', 'event_espresso' ); ?></h4> |
|
4 | + <h4><?php esc_html_e('You may be able to find an answer for your question or concern here:', 'event_espresso'); ?></h4> |
|
5 | 5 | <ol> |
6 | - <li><strong><em><?php esc_html_e( 'A known issue.', 'event_espresso' ); ?></em></strong> <?php printf( esc_html__( 'Some themes and plugins have %1$sknown conflicts%2$s with Event Espresso. (You can also browse the %3$sEvent Espresso support pages%2$s or %4$sEvent Espresso support forums%2$s to see if other members have experienced and solved the problem.)', 'event_espresso' ), '<a href="https://eventespresso.com/wiki/known-third-party-plugin-theme-conflicts/" target="_blank">','</a>', '<a href="https://eventespresso.com/support/documentation/versioned-docs/?doc_ver=ee4" target="_blank">', '<a href="https://eventespresso.com/support/forums/" target="_blank">' ); ?></li> |
|
7 | - <li><strong><em><?php esc_html_e( 'A plugin conflict.', 'event_espresso' ); ?></em></strong> <?php esc_html_e( 'You can check to see if there is a plugin conflict by temporarily deactivating all plugins except for Event Espresso. If the problem goes away, then reactivate your plugins one by one until the issue returns. This will help you pinpoint the source of the conflict.', 'event_espresso' ); ?></li> |
|
6 | + <li><strong><em><?php esc_html_e('A known issue.', 'event_espresso'); ?></em></strong> <?php printf(esc_html__('Some themes and plugins have %1$sknown conflicts%2$s with Event Espresso. (You can also browse the %3$sEvent Espresso support pages%2$s or %4$sEvent Espresso support forums%2$s to see if other members have experienced and solved the problem.)', 'event_espresso'), '<a href="https://eventespresso.com/wiki/known-third-party-plugin-theme-conflicts/" target="_blank">', '</a>', '<a href="https://eventespresso.com/support/documentation/versioned-docs/?doc_ver=ee4" target="_blank">', '<a href="https://eventespresso.com/support/forums/" target="_blank">'); ?></li> |
|
7 | + <li><strong><em><?php esc_html_e('A plugin conflict.', 'event_espresso'); ?></em></strong> <?php esc_html_e('You can check to see if there is a plugin conflict by temporarily deactivating all plugins except for Event Espresso. If the problem goes away, then reactivate your plugins one by one until the issue returns. This will help you pinpoint the source of the conflict.', 'event_espresso'); ?></li> |
|
8 | 8 | <li> |
9 | - <strong><em><?php esc_html_e( 'A theme conflict.', 'event_espresso' ); ?></em></strong> |
|
9 | + <strong><em><?php esc_html_e('A theme conflict.', 'event_espresso'); ?></em></strong> |
|
10 | 10 | <?php |
11 | - $default_theme = wp_get_theme( WP_DEFAULT_THEME ); |
|
11 | + $default_theme = wp_get_theme(WP_DEFAULT_THEME); |
|
12 | 12 | |
13 | - if ( $default_theme->exists() ) { |
|
14 | - printf( esc_html__( 'If your problem is not a known issue or caused by a plugin, then try activating %s (the default WordPress theme).', 'event_espresso' ), $default_theme->get( 'Name' ) ); |
|
13 | + if ($default_theme->exists()) { |
|
14 | + printf(esc_html__('If your problem is not a known issue or caused by a plugin, then try activating %s (the default WordPress theme).', 'event_espresso'), $default_theme->get('Name')); |
|
15 | 15 | } else { |
16 | - esc_html_e( 'If your problem is not a known issue or caused by a plugin, then try activating the default WordPress theme.', 'event_espresso' ); |
|
16 | + esc_html_e('If your problem is not a known issue or caused by a plugin, then try activating the default WordPress theme.', 'event_espresso'); |
|
17 | 17 | } |
18 | 18 | ?> |
19 | - <?php esc_html_e( 'If this solves the problem for you, then something in your theme is causing this issue. Check to see if an update is available for your WordPress theme or reach out to the theme author.', 'event_espresso' ); ?> |
|
19 | + <?php esc_html_e('If this solves the problem for you, then something in your theme is causing this issue. Check to see if an update is available for your WordPress theme or reach out to the theme author.', 'event_espresso'); ?> |
|
20 | 20 | </li> |
21 | 21 | </ol> |
22 | 22 | |
23 | - <p><?php esc_html_e( 'If none of the suggestions above help you find a solution, then feel free to reach out to the support team at Event Espresso.', 'event_espresso' ); ?></p> |
|
24 | - <p><?php printf( esc_html__( 'Login to your account on EventEspresso.com and %1$screate a support post in our member support forums%2$s. Use a %3$sclear and descriptive title%4$s in your support post, %3$sdescribe the issue to the best of your knowledge%4$s, and %3$snever post any sensitive information such as login details%4$s. Be sure to also include %5$simportant information in the section below%2$s about your WordPress site.', 'event_espresso' ), '<a href="https://eventespresso.com/support/forums/" target="_blank">','</a>','<strong>','</strong>','<a href="#espresso_important_information_settings">' ); ?></p> |
|
23 | + <p><?php esc_html_e('If none of the suggestions above help you find a solution, then feel free to reach out to the support team at Event Espresso.', 'event_espresso'); ?></p> |
|
24 | + <p><?php printf(esc_html__('Login to your account on EventEspresso.com and %1$screate a support post in our member support forums%2$s. Use a %3$sclear and descriptive title%4$s in your support post, %3$sdescribe the issue to the best of your knowledge%4$s, and %3$snever post any sensitive information such as login details%4$s. Be sure to also include %5$simportant information in the section below%2$s about your WordPress site.', 'event_espresso'), '<a href="https://eventespresso.com/support/forums/" target="_blank">', '</a>', '<strong>', '</strong>', '<a href="#espresso_important_information_settings">'); ?></p> |
|
25 | 25 | |
26 | - <h4><?php esc_html_e( 'Have an emergency?', 'event_espresso' ); ?></h4> |
|
26 | + <h4><?php esc_html_e('Have an emergency?', 'event_espresso'); ?></h4> |
|
27 | 27 | |
28 | - <p><?php printf( esc_html__( 'We offer support tokens to members that need help with a time-sensitive issue. A support token will provide you with up to 30 minutes of one-on-one time with a team member at Event Espresso. If you have an emergency and need help quickly, then please %1$spurchase a support token%2$s.', 'event_espresso' ), '<a href="https://eventespresso.com/product/premium-support-token/?utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=help_support_tab&utm_content=support_token" target="_blank">','</a>' ); ?></p> |
|
28 | + <p><?php printf(esc_html__('We offer support tokens to members that need help with a time-sensitive issue. A support token will provide you with up to 30 minutes of one-on-one time with a team member at Event Espresso. If you have an emergency and need help quickly, then please %1$spurchase a support token%2$s.', 'event_espresso'), '<a href="https://eventespresso.com/product/premium-support-token/?utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=help_support_tab&utm_content=support_token" target="_blank">', '</a>'); ?></p> |
|
29 | 29 | </div> |
30 | 30 | \ No newline at end of file |
@@ -1,26 +1,26 @@ |
||
1 | 1 | <div class="padding"> |
2 | - <?php esc_html_e( 'If you want to integrate with Event Espresso or participate in building code, then you are in the right place. The following resources can help you get started.', 'event_espresso' ); ?> |
|
3 | - <h2><?php esc_html_e( 'Developer Resources', 'event_espresso' ); ?></h2> |
|
2 | + <?php esc_html_e('If you want to integrate with Event Espresso or participate in building code, then you are in the right place. The following resources can help you get started.', 'event_espresso'); ?> |
|
3 | + <h2><?php esc_html_e('Developer Resources', 'event_espresso'); ?></h2> |
|
4 | 4 | <ul> |
5 | - <li><?php printf( esc_html__( '%1$sEvent Espresso 4 Developer Documentation%2$s', 'event_espresso' ), '<a href="https://github.com/eventespresso/event-espresso-core/tree/master/docs#getting-started-with-the-ee-developer-docs" target="_blank">','</a>' ); ?></li> |
|
6 | - <li><?php printf( esc_html__( '%1$sEvent Espresso 4 Developer News%2$s', 'event_espresso' ), '<a href="http://developer.eventespresso.com/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
7 | - <li><?php printf( esc_html__( '%1$sApply%2$s to be listed as an %3$sEvent Espresso Professional%2$s', 'event_espresso' ), '<a href="https://eventespresso.com/developers/event-espresso-pros-application/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>','<a href="https://eventespresso.com/developers/event-espresso-pros/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">' ); ?></li> |
|
5 | + <li><?php printf(esc_html__('%1$sEvent Espresso 4 Developer Documentation%2$s', 'event_espresso'), '<a href="https://github.com/eventespresso/event-espresso-core/tree/master/docs#getting-started-with-the-ee-developer-docs" target="_blank">', '</a>'); ?></li> |
|
6 | + <li><?php printf(esc_html__('%1$sEvent Espresso 4 Developer News%2$s', 'event_espresso'), '<a href="http://developer.eventespresso.com/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
7 | + <li><?php printf(esc_html__('%1$sApply%2$s to be listed as an %3$sEvent Espresso Professional%2$s', 'event_espresso'), '<a href="https://eventespresso.com/developers/event-espresso-pros-application/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>', '<a href="https://eventespresso.com/developers/event-espresso-pros/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">'); ?></li> |
|
8 | 8 | </ul> |
9 | 9 | |
10 | - <h2><?php esc_html_e( 'Event Espresso 4 Articles for Developers', 'event_espresso' ); ?></h2> |
|
10 | + <h2><?php esc_html_e('Event Espresso 4 Articles for Developers', 'event_espresso'); ?></h2> |
|
11 | 11 | <ul> |
12 | - <li><?php printf( esc_html__( '%1$sCustom Post Types Usage%2$s', 'event_espresso' ), '<a href="https://eventespresso.com/2014/02/epsresso-brewery-custom-post-types-event-espresso/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
13 | - <li><?php printf( esc_html__( '%1$sTheme Development%2$s', 'event_espresso' ), '<a href="https://eventespresso.com/2014/02/developers-corner-theming-event-espresso-4/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
14 | - <li><?php printf( esc_html__( '%1$sCapability System%2$s', 'event_espresso' ), '<a href="http://developer.eventespresso.com/docs/ee-capability-system-overview/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
15 | - <li><?php printf( esc_html__( '%1$sPayment Method Development%2$s', 'event_espresso' ), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/L--Payment-Methods-and-Gateways/creating-a-payment-method.md" target="_blank">','</a>' ); ?></li> |
|
16 | - <li><?php printf( esc_html__( '%1$sMessages System in Event Espresso 4%2$s', 'event_espresso' ), '<a href="https://eventespresso.com/2014/03/messages-systemyour-tool-getting-word/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
17 | - <li><?php printf( esc_html__( '%1$sDatabase Model System%2$s (used for interfacing with EE4 data via WordPress plugins and server side querying)', 'event_espresso' ), '<a href="http://developer.eventespresso.com/docs/using-ee4-model-objects/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">','</a>' ); ?></li> |
|
12 | + <li><?php printf(esc_html__('%1$sCustom Post Types Usage%2$s', 'event_espresso'), '<a href="https://eventespresso.com/2014/02/epsresso-brewery-custom-post-types-event-espresso/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
13 | + <li><?php printf(esc_html__('%1$sTheme Development%2$s', 'event_espresso'), '<a href="https://eventespresso.com/2014/02/developers-corner-theming-event-espresso-4/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
14 | + <li><?php printf(esc_html__('%1$sCapability System%2$s', 'event_espresso'), '<a href="http://developer.eventespresso.com/docs/ee-capability-system-overview/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
15 | + <li><?php printf(esc_html__('%1$sPayment Method Development%2$s', 'event_espresso'), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/L--Payment-Methods-and-Gateways/creating-a-payment-method.md" target="_blank">', '</a>'); ?></li> |
|
16 | + <li><?php printf(esc_html__('%1$sMessages System in Event Espresso 4%2$s', 'event_espresso'), '<a href="https://eventespresso.com/2014/03/messages-systemyour-tool-getting-word/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
17 | + <li><?php printf(esc_html__('%1$sDatabase Model System%2$s (used for interfacing with EE4 data via WordPress plugins and server side querying)', 'event_espresso'), '<a href="http://developer.eventespresso.com/docs/using-ee4-model-objects/?ee_ver=ee4&utm_source=ee4_plugin_admin&utm_medium=link&utm_campaign=ee_support_page&utm_content=developers_tab" target="_blank">', '</a>'); ?></li> |
|
18 | 18 | </ul> |
19 | 19 | |
20 | - <h2><?php esc_html_e( 'REST API Resources', 'event_espresso' ); ?></h2> |
|
20 | + <h2><?php esc_html_e('REST API Resources', 'event_espresso'); ?></h2> |
|
21 | 21 | <ul> |
22 | - <li><?php printf( esc_html__( '%1$sREST API: Introduction%2$s', 'event_espresso' ), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/C--REST-API/ee4-rest-api-introduction.md" target="_blank">','</a>' ); ?></li> |
|
23 | - <li><?php printf( esc_html__( '%1$sREST API: Reading Data%2$s', 'event_espresso' ), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/C--REST-API/ee4-rest-api-reading-data.md" target="_blank">','</a>' ); ?></li> |
|
24 | - <li><?php printf( esc_html__( '%1$sBuilding an EE4 Add-on Using the REST API%2$s', 'event_espresso' ), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/T--Tutorials/building-an-ee4-addon-that-uses-angular-js-and-the-ee4-json-rest-api.md" target="_blank">','</a>' ); ?></li> |
|
22 | + <li><?php printf(esc_html__('%1$sREST API: Introduction%2$s', 'event_espresso'), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/C--REST-API/ee4-rest-api-introduction.md" target="_blank">', '</a>'); ?></li> |
|
23 | + <li><?php printf(esc_html__('%1$sREST API: Reading Data%2$s', 'event_espresso'), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/C--REST-API/ee4-rest-api-reading-data.md" target="_blank">', '</a>'); ?></li> |
|
24 | + <li><?php printf(esc_html__('%1$sBuilding an EE4 Add-on Using the REST API%2$s', 'event_espresso'), '<a href="https://github.com/eventespresso/event-espresso-core/blob/master/docs/T--Tutorials/building-an-ee4-addon-that-uses-angular-js-and-the-ee4-json-rest-api.md" target="_blank">', '</a>'); ?></li> |
|
25 | 25 | </ul> |
26 | 26 | </div> |
27 | 27 | \ No newline at end of file |
@@ -579,7 +579,7 @@ discard block |
||
579 | 579 | /** |
580 | 580 | * returns any events attached to this attendee ($_Event property); |
581 | 581 | * |
582 | - * @return array |
|
582 | + * @return EE_Base_Class[] |
|
583 | 583 | */ |
584 | 584 | public function events() |
585 | 585 | { |
@@ -594,7 +594,7 @@ discard block |
||
594 | 594 | * used to save the billing info |
595 | 595 | * |
596 | 596 | * @param EE_Payment_Method $payment_method the _gateway_name property on the gateway class |
597 | - * @return EE_Form_Section_Proper|null |
|
597 | + * @return null|EE_Billing_Info_Form |
|
598 | 598 | */ |
599 | 599 | public function billing_info_for_payment_method($payment_method) |
600 | 600 | { |
@@ -1,4 +1,4 @@ discard block |
||
1 | -<?php if (! defined('EVENT_ESPRESSO_VERSION')) { |
|
1 | +<?php if ( ! defined('EVENT_ESPRESSO_VERSION')) { |
|
2 | 2 | exit('No direct script access allowed'); |
3 | 3 | } |
4 | 4 | /** |
@@ -33,16 +33,16 @@ discard block |
||
33 | 33 | */ |
34 | 34 | protected function __construct($fieldValues = null, $bydb = false, $timezone = null, $date_formats = array()) |
35 | 35 | { |
36 | - if (! isset($fieldValues['ATT_full_name'])) { |
|
37 | - $fname = isset($fieldValues['ATT_fname']) ? $fieldValues['ATT_fname'] . ' ' : ''; |
|
36 | + if ( ! isset($fieldValues['ATT_full_name'])) { |
|
37 | + $fname = isset($fieldValues['ATT_fname']) ? $fieldValues['ATT_fname'].' ' : ''; |
|
38 | 38 | $lname = isset($fieldValues['ATT_lname']) ? $fieldValues['ATT_lname'] : ''; |
39 | - $fieldValues['ATT_full_name'] = $fname . $lname; |
|
39 | + $fieldValues['ATT_full_name'] = $fname.$lname; |
|
40 | 40 | } |
41 | - if (! isset($fieldValues['ATT_slug'])) { |
|
41 | + if ( ! isset($fieldValues['ATT_slug'])) { |
|
42 | 42 | // $fieldValues['ATT_slug'] = sanitize_key(wp_generate_password(20)); |
43 | 43 | $fieldValues['ATT_slug'] = sanitize_title($fieldValues['ATT_full_name']); |
44 | 44 | } |
45 | - if (! isset($fieldValues['ATT_short_bio']) && isset($fieldValues['ATT_bio'])) { |
|
45 | + if ( ! isset($fieldValues['ATT_short_bio']) && isset($fieldValues['ATT_bio'])) { |
|
46 | 46 | $fieldValues['ATT_short_bio'] = substr($fieldValues['ATT_bio'], 0, 50); |
47 | 47 | } |
48 | 48 | parent::__construct($fieldValues, $bydb, $timezone, $date_formats); |
@@ -251,7 +251,7 @@ discard block |
||
251 | 251 | */ |
252 | 252 | public function full_name($apply_html_entities = false) |
253 | 253 | { |
254 | - $full_name = $this->fname() . ' ' . $this->lname(); |
|
254 | + $full_name = $this->fname().' '.$this->lname(); |
|
255 | 255 | return $apply_html_entities ? htmlentities($full_name, ENT_QUOTES, 'UTF-8') : $full_name; |
256 | 256 | } |
257 | 257 | |
@@ -282,22 +282,22 @@ discard block |
||
282 | 282 | $initial_address_fields = array('ATT_address', 'ATT_address2', 'ATT_city',); |
283 | 283 | foreach ($initial_address_fields as $address_field_name) { |
284 | 284 | $address_fields_value = $this->get($address_field_name); |
285 | - if (! empty($address_fields_value)) { |
|
285 | + if ( ! empty($address_fields_value)) { |
|
286 | 286 | $full_address_array[] = $address_fields_value; |
287 | 287 | } |
288 | 288 | } |
289 | 289 | //now handle state and country |
290 | 290 | $state_obj = $this->state_obj(); |
291 | - if (! empty($state_obj)) { |
|
291 | + if ( ! empty($state_obj)) { |
|
292 | 292 | $full_address_array[] = $state_obj->name(); |
293 | 293 | } |
294 | 294 | $country_obj = $this->country_obj(); |
295 | - if (! empty($country_obj)) { |
|
295 | + if ( ! empty($country_obj)) { |
|
296 | 296 | $full_address_array[] = $country_obj->name(); |
297 | 297 | } |
298 | 298 | //lastly get the xip |
299 | 299 | $zip_value = $this->zip(); |
300 | - if (! empty($zip_value)) { |
|
300 | + if ( ! empty($zip_value)) { |
|
301 | 301 | $full_address_array[] = $zip_value; |
302 | 302 | } |
303 | 303 | return $full_address_array; |
@@ -531,7 +531,7 @@ discard block |
||
531 | 531 | public function get_most_recent_registration_for_event($event_id) |
532 | 532 | { |
533 | 533 | return $this->get_first_related('Registration', |
534 | - array(array('EVT_ID' => $event_id), 'order_by' => array('REG_date' => 'DESC')));//, '=', 'OBJECT_K' ); |
|
534 | + array(array('EVT_ID' => $event_id), 'order_by' => array('REG_date' => 'DESC'))); //, '=', 'OBJECT_K' ); |
|
535 | 535 | } |
536 | 536 | |
537 | 537 | |
@@ -557,11 +557,11 @@ discard block |
||
557 | 557 | public function billing_info_for_payment_method($payment_method) |
558 | 558 | { |
559 | 559 | $pm_type = $payment_method->type_obj(); |
560 | - if (! $pm_type instanceof EE_PMT_Base) { |
|
560 | + if ( ! $pm_type instanceof EE_PMT_Base) { |
|
561 | 561 | return null; |
562 | 562 | } |
563 | 563 | $billing_info = $this->get_post_meta($this->get_billing_info_postmeta_name($payment_method), true); |
564 | - if (! $billing_info) { |
|
564 | + if ( ! $billing_info) { |
|
565 | 565 | return null; |
566 | 566 | } |
567 | 567 | $billing_form = $pm_type->billing_form(); |
@@ -582,7 +582,7 @@ discard block |
||
582 | 582 | public function get_billing_info_postmeta_name($payment_method) |
583 | 583 | { |
584 | 584 | if ($payment_method->type_obj() instanceof EE_PMT_Base) { |
585 | - return 'billing_info_' . $payment_method->type_obj()->system_name(); |
|
585 | + return 'billing_info_'.$payment_method->type_obj()->system_name(); |
|
586 | 586 | } else { |
587 | 587 | return null; |
588 | 588 | } |
@@ -599,7 +599,7 @@ discard block |
||
599 | 599 | */ |
600 | 600 | public function save_and_clean_billing_info_for_payment_method($billing_form, $payment_method) |
601 | 601 | { |
602 | - if (! $billing_form instanceof EE_Billing_Attendee_Info_Form) { |
|
602 | + if ( ! $billing_form instanceof EE_Billing_Attendee_Info_Form) { |
|
603 | 603 | EE_Error::add_error(__('Cannot save billing info because there is none.', 'event_espresso')); |
604 | 604 | return false; |
605 | 605 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php if (! defined('EVENT_ESPRESSO_VERSION')) { |
2 | - exit('No direct script access allowed'); |
|
2 | + exit('No direct script access allowed'); |
|
3 | 3 | } |
4 | 4 | /** |
5 | 5 | * Event Espresso |
@@ -23,665 +23,665 @@ discard block |
||
23 | 23 | class EE_Attendee extends EE_CPT_Base implements EEI_Contact, EEI_Address, EEI_Admin_Links, EEI_Attendee |
24 | 24 | { |
25 | 25 | |
26 | - /** |
|
27 | - * Sets some dynamic defaults |
|
28 | - * |
|
29 | - * @param array $fieldValues |
|
30 | - * @param bool $bydb |
|
31 | - * @param string $timezone |
|
32 | - * @param array $date_formats |
|
33 | - */ |
|
34 | - protected function __construct($fieldValues = null, $bydb = false, $timezone = null, $date_formats = array()) |
|
35 | - { |
|
36 | - if (! isset($fieldValues['ATT_full_name'])) { |
|
37 | - $fname = isset($fieldValues['ATT_fname']) ? $fieldValues['ATT_fname'] . ' ' : ''; |
|
38 | - $lname = isset($fieldValues['ATT_lname']) ? $fieldValues['ATT_lname'] : ''; |
|
39 | - $fieldValues['ATT_full_name'] = $fname . $lname; |
|
40 | - } |
|
41 | - if (! isset($fieldValues['ATT_slug'])) { |
|
42 | - // $fieldValues['ATT_slug'] = sanitize_key(wp_generate_password(20)); |
|
43 | - $fieldValues['ATT_slug'] = sanitize_title($fieldValues['ATT_full_name']); |
|
44 | - } |
|
45 | - if (! isset($fieldValues['ATT_short_bio']) && isset($fieldValues['ATT_bio'])) { |
|
46 | - $fieldValues['ATT_short_bio'] = substr($fieldValues['ATT_bio'], 0, 50); |
|
47 | - } |
|
48 | - parent::__construct($fieldValues, $bydb, $timezone, $date_formats); |
|
49 | - } |
|
50 | - |
|
51 | - |
|
52 | - /** |
|
53 | - * @param array $props_n_values incoming values |
|
54 | - * @param string $timezone incoming timezone (if not set the timezone set for the website will be |
|
55 | - * used.) |
|
56 | - * @param array $date_formats incoming date_formats in an array where the first value is the |
|
57 | - * date_format and the second value is the time format |
|
58 | - * @return EE_Attendee |
|
59 | - */ |
|
60 | - public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array()) |
|
61 | - { |
|
62 | - $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats); |
|
63 | - return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats); |
|
64 | - } |
|
65 | - |
|
66 | - |
|
67 | - /** |
|
68 | - * @param array $props_n_values incoming values from the database |
|
69 | - * @param string $timezone incoming timezone as set by the model. If not set the timezone for |
|
70 | - * the website will be used. |
|
71 | - * @return EE_Attendee |
|
72 | - */ |
|
73 | - public static function new_instance_from_db($props_n_values = array(), $timezone = null) |
|
74 | - { |
|
75 | - return new self($props_n_values, true, $timezone); |
|
76 | - } |
|
77 | - |
|
78 | - |
|
79 | - /** |
|
80 | - * Set Attendee First Name |
|
81 | - * |
|
82 | - * @access public |
|
83 | - * @param string $fname |
|
84 | - */ |
|
85 | - public function set_fname($fname = '') |
|
86 | - { |
|
87 | - $this->set('ATT_fname', $fname); |
|
88 | - } |
|
89 | - |
|
90 | - |
|
91 | - /** |
|
92 | - * Set Attendee Last Name |
|
93 | - * |
|
94 | - * @access public |
|
95 | - * @param string $lname |
|
96 | - */ |
|
97 | - public function set_lname($lname = '') |
|
98 | - { |
|
99 | - $this->set('ATT_lname', $lname); |
|
100 | - } |
|
101 | - |
|
102 | - |
|
103 | - /** |
|
104 | - * Set Attendee Address |
|
105 | - * |
|
106 | - * @access public |
|
107 | - * @param string $address |
|
108 | - */ |
|
109 | - public function set_address($address = '') |
|
110 | - { |
|
111 | - $this->set('ATT_address', $address); |
|
112 | - } |
|
113 | - |
|
114 | - |
|
115 | - /** |
|
116 | - * Set Attendee Address2 |
|
117 | - * |
|
118 | - * @access public |
|
119 | - * @param string $address2 |
|
120 | - */ |
|
121 | - public function set_address2($address2 = '') |
|
122 | - { |
|
123 | - $this->set('ATT_address2', $address2); |
|
124 | - } |
|
125 | - |
|
126 | - |
|
127 | - /** |
|
128 | - * Set Attendee City |
|
129 | - * |
|
130 | - * @access public |
|
131 | - * @param string $city |
|
132 | - */ |
|
133 | - public function set_city($city = '') |
|
134 | - { |
|
135 | - $this->set('ATT_city', $city); |
|
136 | - } |
|
137 | - |
|
138 | - |
|
139 | - /** |
|
140 | - * Set Attendee State ID |
|
141 | - * |
|
142 | - * @access public |
|
143 | - * @param int $STA_ID |
|
144 | - */ |
|
145 | - public function set_state($STA_ID = 0) |
|
146 | - { |
|
147 | - $this->set('STA_ID', $STA_ID); |
|
148 | - } |
|
149 | - |
|
150 | - |
|
151 | - /** |
|
152 | - * Set Attendee Country ISO Code |
|
153 | - * |
|
154 | - * @access public |
|
155 | - * @param string $CNT_ISO |
|
156 | - */ |
|
157 | - public function set_country($CNT_ISO = '') |
|
158 | - { |
|
159 | - $this->set('CNT_ISO', $CNT_ISO); |
|
160 | - } |
|
161 | - |
|
162 | - |
|
163 | - /** |
|
164 | - * Set Attendee Zip/Postal Code |
|
165 | - * |
|
166 | - * @access public |
|
167 | - * @param string $zip |
|
168 | - */ |
|
169 | - public function set_zip($zip = '') |
|
170 | - { |
|
171 | - $this->set('ATT_zip', $zip); |
|
172 | - } |
|
173 | - |
|
174 | - |
|
175 | - /** |
|
176 | - * Set Attendee Email Address |
|
177 | - * |
|
178 | - * @access public |
|
179 | - * @param string $email |
|
180 | - */ |
|
181 | - public function set_email($email = '') |
|
182 | - { |
|
183 | - $this->set('ATT_email', $email); |
|
184 | - } |
|
185 | - |
|
186 | - |
|
187 | - /** |
|
188 | - * Set Attendee Phone |
|
189 | - * |
|
190 | - * @access public |
|
191 | - * @param string $phone |
|
192 | - */ |
|
193 | - public function set_phone($phone = '') |
|
194 | - { |
|
195 | - $this->set('ATT_phone', $phone); |
|
196 | - } |
|
197 | - |
|
198 | - |
|
199 | - /** |
|
200 | - * set deleted |
|
201 | - * |
|
202 | - * @access public |
|
203 | - * @param bool $ATT_deleted |
|
204 | - */ |
|
205 | - public function set_deleted($ATT_deleted = false) |
|
206 | - { |
|
207 | - $this->set('ATT_deleted', $ATT_deleted); |
|
208 | - } |
|
209 | - |
|
210 | - |
|
211 | - /** |
|
212 | - * Returns the value for the post_author id saved with the cpt |
|
213 | - * |
|
214 | - * @since 4.5.0 |
|
215 | - * @return int |
|
216 | - */ |
|
217 | - public function wp_user() |
|
218 | - { |
|
219 | - return $this->get('ATT_author'); |
|
220 | - } |
|
221 | - |
|
222 | - |
|
223 | - /** |
|
224 | - * get Attendee First Name |
|
225 | - * |
|
226 | - * @access public |
|
227 | - * @return string |
|
228 | - */ |
|
229 | - public function fname() |
|
230 | - { |
|
231 | - return $this->get('ATT_fname'); |
|
232 | - } |
|
233 | - |
|
234 | - |
|
235 | - /** |
|
236 | - * echoes out the attendee's first name |
|
237 | - * |
|
238 | - * @return void |
|
239 | - */ |
|
240 | - public function e_full_name() |
|
241 | - { |
|
242 | - echo $this->full_name(); |
|
243 | - } |
|
244 | - |
|
245 | - |
|
246 | - /** |
|
247 | - * Returns the first and last name concatenated together with a space. |
|
248 | - * |
|
249 | - * @param bool $apply_html_entities |
|
250 | - * @return string |
|
251 | - */ |
|
252 | - public function full_name($apply_html_entities = false) |
|
253 | - { |
|
254 | - $full_name = $this->fname() . ' ' . $this->lname(); |
|
255 | - return $apply_html_entities ? htmlentities($full_name, ENT_QUOTES, 'UTF-8') : $full_name; |
|
256 | - } |
|
257 | - |
|
258 | - |
|
259 | - /** |
|
260 | - * This returns the value of the `ATT_full_name` field which is usually equivalent to calling `full_name()` unless |
|
261 | - * the post_title field has been directly modified in the db for the post (espresso_attendees post type) for this |
|
262 | - * attendee. |
|
263 | - * |
|
264 | - * @param bool $apply_html_entities |
|
265 | - * @return string |
|
266 | - */ |
|
267 | - public function ATT_full_name($apply_html_entities = false) |
|
268 | - { |
|
269 | - return $apply_html_entities |
|
270 | - ? htmlentities($this->get('ATT_full_name'), ENT_QUOTES, 'UTF-8') |
|
271 | - : $this->get('ATT_full_name'); |
|
272 | - } |
|
273 | - |
|
274 | - |
|
275 | - /** |
|
276 | - * get Attendee Last Name |
|
277 | - * |
|
278 | - * @access public |
|
279 | - * @return string |
|
280 | - */ |
|
281 | - public function lname() |
|
282 | - { |
|
283 | - return $this->get('ATT_lname'); |
|
284 | - } |
|
285 | - |
|
286 | - |
|
287 | - /** |
|
288 | - * Gets the attendee's full address as an array so client code can decide hwo to display it |
|
289 | - * |
|
290 | - * @return array numerically indexed, with each part of the address that is known. |
|
291 | - * Eg, if the user only responded to state and country, |
|
292 | - * it would be array(0=>'Alabama',1=>'USA') |
|
293 | - * @return array |
|
294 | - */ |
|
295 | - public function full_address_as_array() |
|
296 | - { |
|
297 | - $full_address_array = array(); |
|
298 | - $initial_address_fields = array('ATT_address', 'ATT_address2', 'ATT_city',); |
|
299 | - foreach ($initial_address_fields as $address_field_name) { |
|
300 | - $address_fields_value = $this->get($address_field_name); |
|
301 | - if (! empty($address_fields_value)) { |
|
302 | - $full_address_array[] = $address_fields_value; |
|
303 | - } |
|
304 | - } |
|
305 | - //now handle state and country |
|
306 | - $state_obj = $this->state_obj(); |
|
307 | - if (! empty($state_obj)) { |
|
308 | - $full_address_array[] = $state_obj->name(); |
|
309 | - } |
|
310 | - $country_obj = $this->country_obj(); |
|
311 | - if (! empty($country_obj)) { |
|
312 | - $full_address_array[] = $country_obj->name(); |
|
313 | - } |
|
314 | - //lastly get the xip |
|
315 | - $zip_value = $this->zip(); |
|
316 | - if (! empty($zip_value)) { |
|
317 | - $full_address_array[] = $zip_value; |
|
318 | - } |
|
319 | - return $full_address_array; |
|
320 | - } |
|
321 | - |
|
322 | - |
|
323 | - /** |
|
324 | - * get Attendee Address |
|
325 | - * |
|
326 | - * @return string |
|
327 | - */ |
|
328 | - public function address() |
|
329 | - { |
|
330 | - return $this->get('ATT_address'); |
|
331 | - } |
|
332 | - |
|
333 | - |
|
334 | - /** |
|
335 | - * get Attendee Address2 |
|
336 | - * |
|
337 | - * @return string |
|
338 | - */ |
|
339 | - public function address2() |
|
340 | - { |
|
341 | - return $this->get('ATT_address2'); |
|
342 | - } |
|
343 | - |
|
344 | - |
|
345 | - /** |
|
346 | - * get Attendee City |
|
347 | - * |
|
348 | - * @return string |
|
349 | - */ |
|
350 | - public function city() |
|
351 | - { |
|
352 | - return $this->get('ATT_city'); |
|
353 | - } |
|
354 | - |
|
355 | - |
|
356 | - /** |
|
357 | - * get Attendee State ID |
|
358 | - * |
|
359 | - * @return string |
|
360 | - */ |
|
361 | - public function state_ID() |
|
362 | - { |
|
363 | - return $this->get('STA_ID'); |
|
364 | - } |
|
365 | - |
|
366 | - |
|
367 | - /** |
|
368 | - * @return string |
|
369 | - */ |
|
370 | - public function state_abbrev() |
|
371 | - { |
|
372 | - return $this->state_obj() instanceof EE_State ? $this->state_obj()->abbrev() : ''; |
|
373 | - } |
|
374 | - |
|
375 | - |
|
376 | - /** |
|
377 | - * Gets the state set to this attendee |
|
378 | - * |
|
379 | - * @return EE_State |
|
380 | - */ |
|
381 | - public function state_obj() |
|
382 | - { |
|
383 | - return $this->get_first_related('State'); |
|
384 | - } |
|
385 | - |
|
386 | - |
|
387 | - /** |
|
388 | - * Returns the state's name, otherwise 'Unknown' |
|
389 | - * |
|
390 | - * @return string |
|
391 | - */ |
|
392 | - public function state_name() |
|
393 | - { |
|
394 | - if ($this->state_obj()) { |
|
395 | - return $this->state_obj()->name(); |
|
396 | - } else { |
|
397 | - return ''; |
|
398 | - } |
|
399 | - } |
|
400 | - |
|
401 | - |
|
402 | - /** |
|
403 | - * either displays the state abbreviation or the state name, as determined |
|
404 | - * by the "FHEE__EEI_Address__state__use_abbreviation" filter. |
|
405 | - * defaults to abbreviation |
|
406 | - * |
|
407 | - * @return string |
|
408 | - */ |
|
409 | - public function state() |
|
410 | - { |
|
411 | - if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) { |
|
412 | - return $this->state_abbrev(); |
|
413 | - } else { |
|
414 | - return $this->state_name(); |
|
415 | - } |
|
416 | - } |
|
417 | - |
|
418 | - |
|
419 | - /** |
|
420 | - * get Attendee Country ISO Code |
|
421 | - * |
|
422 | - * @return string |
|
423 | - */ |
|
424 | - public function country_ID() |
|
425 | - { |
|
426 | - return $this->get('CNT_ISO'); |
|
427 | - } |
|
428 | - |
|
429 | - |
|
430 | - /** |
|
431 | - * Gets country set for this attendee |
|
432 | - * |
|
433 | - * @return EE_Country |
|
434 | - */ |
|
435 | - public function country_obj() |
|
436 | - { |
|
437 | - return $this->get_first_related('Country'); |
|
438 | - } |
|
439 | - |
|
440 | - |
|
441 | - /** |
|
442 | - * Returns the country's name if known, otherwise 'Unknown' |
|
443 | - * |
|
444 | - * @return string |
|
445 | - */ |
|
446 | - public function country_name() |
|
447 | - { |
|
448 | - if ($this->country_obj()) { |
|
449 | - return $this->country_obj()->name(); |
|
450 | - } else { |
|
451 | - return ''; |
|
452 | - } |
|
453 | - } |
|
454 | - |
|
455 | - |
|
456 | - /** |
|
457 | - * either displays the country ISO2 code or the country name, as determined |
|
458 | - * by the "FHEE__EEI_Address__country__use_abbreviation" filter. |
|
459 | - * defaults to abbreviation |
|
460 | - * |
|
461 | - * @return string |
|
462 | - */ |
|
463 | - public function country() |
|
464 | - { |
|
465 | - if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) { |
|
466 | - return $this->country_ID(); |
|
467 | - } else { |
|
468 | - return $this->country_name(); |
|
469 | - } |
|
470 | - } |
|
471 | - |
|
472 | - |
|
473 | - /** |
|
474 | - * get Attendee Zip/Postal Code |
|
475 | - * |
|
476 | - * @return string |
|
477 | - */ |
|
478 | - public function zip() |
|
479 | - { |
|
480 | - return $this->get('ATT_zip'); |
|
481 | - } |
|
482 | - |
|
483 | - |
|
484 | - /** |
|
485 | - * get Attendee Email Address |
|
486 | - * |
|
487 | - * @return string |
|
488 | - */ |
|
489 | - public function email() |
|
490 | - { |
|
491 | - return $this->get('ATT_email'); |
|
492 | - } |
|
493 | - |
|
494 | - |
|
495 | - /** |
|
496 | - * get Attendee Phone # |
|
497 | - * |
|
498 | - * @return string |
|
499 | - */ |
|
500 | - public function phone() |
|
501 | - { |
|
502 | - return $this->get('ATT_phone'); |
|
503 | - } |
|
504 | - |
|
505 | - |
|
506 | - /** |
|
507 | - * get deleted |
|
508 | - * |
|
509 | - * @return bool |
|
510 | - */ |
|
511 | - public function deleted() |
|
512 | - { |
|
513 | - return $this->get('ATT_deleted'); |
|
514 | - } |
|
515 | - |
|
516 | - |
|
517 | - /** |
|
518 | - * Gets registrations of this attendee |
|
519 | - * |
|
520 | - * @param array $query_params |
|
521 | - * @return EE_Registration[] |
|
522 | - */ |
|
523 | - public function get_registrations($query_params = array()) |
|
524 | - { |
|
525 | - return $this->get_many_related('Registration', $query_params); |
|
526 | - } |
|
527 | - |
|
528 | - |
|
529 | - /** |
|
530 | - * Gets the most recent registration of this attendee |
|
531 | - * |
|
532 | - * @return EE_Registration |
|
533 | - */ |
|
534 | - public function get_most_recent_registration() |
|
535 | - { |
|
536 | - return $this->get_first_related('Registration', |
|
537 | - array('order_by' => array('REG_date' => 'DESC'))); //null, 'REG_date', 'DESC', '=', 'OBJECT_K'); |
|
538 | - } |
|
539 | - |
|
540 | - |
|
541 | - /** |
|
542 | - * Gets the most recent registration for this attend at this event |
|
543 | - * |
|
544 | - * @param int $event_id |
|
545 | - * @return EE_Registration |
|
546 | - */ |
|
547 | - public function get_most_recent_registration_for_event($event_id) |
|
548 | - { |
|
549 | - return $this->get_first_related('Registration', |
|
550 | - array(array('EVT_ID' => $event_id), 'order_by' => array('REG_date' => 'DESC')));//, '=', 'OBJECT_K' ); |
|
551 | - } |
|
552 | - |
|
553 | - |
|
554 | - /** |
|
555 | - * returns any events attached to this attendee ($_Event property); |
|
556 | - * |
|
557 | - * @return array |
|
558 | - */ |
|
559 | - public function events() |
|
560 | - { |
|
561 | - return $this->get_many_related('Event'); |
|
562 | - } |
|
563 | - |
|
564 | - |
|
565 | - /** |
|
566 | - * Gets the billing info array where keys match espresso_reg_page_billing_inputs(), |
|
567 | - * and keys are their cleaned values. @see EE_Attendee::save_and_clean_billing_info_for_payment_method() which was |
|
568 | - * used to save the billing info |
|
569 | - * |
|
570 | - * @param EE_Payment_Method $payment_method the _gateway_name property on the gateway class |
|
571 | - * @return EE_Form_Section_Proper|null |
|
572 | - */ |
|
573 | - public function billing_info_for_payment_method($payment_method) |
|
574 | - { |
|
575 | - $pm_type = $payment_method->type_obj(); |
|
576 | - if (! $pm_type instanceof EE_PMT_Base) { |
|
577 | - return null; |
|
578 | - } |
|
579 | - $billing_info = $this->get_post_meta($this->get_billing_info_postmeta_name($payment_method), true); |
|
580 | - if (! $billing_info) { |
|
581 | - return null; |
|
582 | - } |
|
583 | - $billing_form = $pm_type->billing_form(); |
|
584 | - if ($billing_form instanceof EE_Form_Section_Proper) { |
|
585 | - $billing_form->receive_form_submission(array($billing_form->name() => $billing_info), false); |
|
586 | - } |
|
587 | - return $billing_form; |
|
588 | - } |
|
589 | - |
|
590 | - |
|
591 | - /** |
|
592 | - * Gets the postmeta key that holds this attendee's billing info for the |
|
593 | - * specified payment method |
|
594 | - * |
|
595 | - * @param EE_Payment_Method $payment_method |
|
596 | - * @return string |
|
597 | - */ |
|
598 | - public function get_billing_info_postmeta_name($payment_method) |
|
599 | - { |
|
600 | - if ($payment_method->type_obj() instanceof EE_PMT_Base) { |
|
601 | - return 'billing_info_' . $payment_method->type_obj()->system_name(); |
|
602 | - } else { |
|
603 | - return null; |
|
604 | - } |
|
605 | - } |
|
606 | - |
|
607 | - |
|
608 | - /** |
|
609 | - * Saves the billing info to the attendee. @see EE_Attendee::billing_info_for_payment_method() which is used to |
|
610 | - * retrieve it |
|
611 | - * |
|
612 | - * @param EE_Billing_Attendee_Info_Form $billing_form |
|
613 | - * @param EE_Payment_Method $payment_method |
|
614 | - * @return boolean |
|
615 | - */ |
|
616 | - public function save_and_clean_billing_info_for_payment_method($billing_form, $payment_method) |
|
617 | - { |
|
618 | - if (! $billing_form instanceof EE_Billing_Attendee_Info_Form) { |
|
619 | - EE_Error::add_error(__('Cannot save billing info because there is none.', 'event_espresso')); |
|
620 | - return false; |
|
621 | - } |
|
622 | - $billing_form->clean_sensitive_data(); |
|
623 | - return update_post_meta($this->ID(), $this->get_billing_info_postmeta_name($payment_method), |
|
624 | - $billing_form->input_values(true)); |
|
625 | - } |
|
626 | - |
|
627 | - |
|
628 | - /** |
|
629 | - * Return the link to the admin details for the object. |
|
630 | - * |
|
631 | - * @return string |
|
632 | - */ |
|
633 | - public function get_admin_details_link() |
|
634 | - { |
|
635 | - return $this->get_admin_edit_link(); |
|
636 | - } |
|
637 | - |
|
638 | - |
|
639 | - /** |
|
640 | - * Returns the link to the editor for the object. Sometimes this is the same as the details. |
|
641 | - * |
|
642 | - * @return string |
|
643 | - */ |
|
644 | - public function get_admin_edit_link() |
|
645 | - { |
|
646 | - EE_Registry::instance()->load_helper('URL'); |
|
647 | - return EEH_URL::add_query_args_and_nonce( |
|
648 | - array( |
|
649 | - 'page' => 'espresso_registrations', |
|
650 | - 'action' => 'edit_attendee', |
|
651 | - 'post' => $this->ID(), |
|
652 | - ), |
|
653 | - admin_url('admin.php') |
|
654 | - ); |
|
655 | - } |
|
656 | - |
|
657 | - |
|
658 | - /** |
|
659 | - * Returns the link to a settings page for the object. |
|
660 | - * |
|
661 | - * @return string |
|
662 | - */ |
|
663 | - public function get_admin_settings_link() |
|
664 | - { |
|
665 | - return $this->get_admin_edit_link(); |
|
666 | - } |
|
667 | - |
|
668 | - |
|
669 | - /** |
|
670 | - * Returns the link to the "overview" for the object (typically the "list table" view). |
|
671 | - * |
|
672 | - * @return string |
|
673 | - */ |
|
674 | - public function get_admin_overview_link() |
|
675 | - { |
|
676 | - EE_Registry::instance()->load_helper('URL'); |
|
677 | - return EEH_URL::add_query_args_and_nonce( |
|
678 | - array( |
|
679 | - 'page' => 'espresso_registrations', |
|
680 | - 'action' => 'contact_list', |
|
681 | - ), |
|
682 | - admin_url('admin.php') |
|
683 | - ); |
|
684 | - } |
|
26 | + /** |
|
27 | + * Sets some dynamic defaults |
|
28 | + * |
|
29 | + * @param array $fieldValues |
|
30 | + * @param bool $bydb |
|
31 | + * @param string $timezone |
|
32 | + * @param array $date_formats |
|
33 | + */ |
|
34 | + protected function __construct($fieldValues = null, $bydb = false, $timezone = null, $date_formats = array()) |
|
35 | + { |
|
36 | + if (! isset($fieldValues['ATT_full_name'])) { |
|
37 | + $fname = isset($fieldValues['ATT_fname']) ? $fieldValues['ATT_fname'] . ' ' : ''; |
|
38 | + $lname = isset($fieldValues['ATT_lname']) ? $fieldValues['ATT_lname'] : ''; |
|
39 | + $fieldValues['ATT_full_name'] = $fname . $lname; |
|
40 | + } |
|
41 | + if (! isset($fieldValues['ATT_slug'])) { |
|
42 | + // $fieldValues['ATT_slug'] = sanitize_key(wp_generate_password(20)); |
|
43 | + $fieldValues['ATT_slug'] = sanitize_title($fieldValues['ATT_full_name']); |
|
44 | + } |
|
45 | + if (! isset($fieldValues['ATT_short_bio']) && isset($fieldValues['ATT_bio'])) { |
|
46 | + $fieldValues['ATT_short_bio'] = substr($fieldValues['ATT_bio'], 0, 50); |
|
47 | + } |
|
48 | + parent::__construct($fieldValues, $bydb, $timezone, $date_formats); |
|
49 | + } |
|
50 | + |
|
51 | + |
|
52 | + /** |
|
53 | + * @param array $props_n_values incoming values |
|
54 | + * @param string $timezone incoming timezone (if not set the timezone set for the website will be |
|
55 | + * used.) |
|
56 | + * @param array $date_formats incoming date_formats in an array where the first value is the |
|
57 | + * date_format and the second value is the time format |
|
58 | + * @return EE_Attendee |
|
59 | + */ |
|
60 | + public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array()) |
|
61 | + { |
|
62 | + $has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats); |
|
63 | + return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats); |
|
64 | + } |
|
65 | + |
|
66 | + |
|
67 | + /** |
|
68 | + * @param array $props_n_values incoming values from the database |
|
69 | + * @param string $timezone incoming timezone as set by the model. If not set the timezone for |
|
70 | + * the website will be used. |
|
71 | + * @return EE_Attendee |
|
72 | + */ |
|
73 | + public static function new_instance_from_db($props_n_values = array(), $timezone = null) |
|
74 | + { |
|
75 | + return new self($props_n_values, true, $timezone); |
|
76 | + } |
|
77 | + |
|
78 | + |
|
79 | + /** |
|
80 | + * Set Attendee First Name |
|
81 | + * |
|
82 | + * @access public |
|
83 | + * @param string $fname |
|
84 | + */ |
|
85 | + public function set_fname($fname = '') |
|
86 | + { |
|
87 | + $this->set('ATT_fname', $fname); |
|
88 | + } |
|
89 | + |
|
90 | + |
|
91 | + /** |
|
92 | + * Set Attendee Last Name |
|
93 | + * |
|
94 | + * @access public |
|
95 | + * @param string $lname |
|
96 | + */ |
|
97 | + public function set_lname($lname = '') |
|
98 | + { |
|
99 | + $this->set('ATT_lname', $lname); |
|
100 | + } |
|
101 | + |
|
102 | + |
|
103 | + /** |
|
104 | + * Set Attendee Address |
|
105 | + * |
|
106 | + * @access public |
|
107 | + * @param string $address |
|
108 | + */ |
|
109 | + public function set_address($address = '') |
|
110 | + { |
|
111 | + $this->set('ATT_address', $address); |
|
112 | + } |
|
113 | + |
|
114 | + |
|
115 | + /** |
|
116 | + * Set Attendee Address2 |
|
117 | + * |
|
118 | + * @access public |
|
119 | + * @param string $address2 |
|
120 | + */ |
|
121 | + public function set_address2($address2 = '') |
|
122 | + { |
|
123 | + $this->set('ATT_address2', $address2); |
|
124 | + } |
|
125 | + |
|
126 | + |
|
127 | + /** |
|
128 | + * Set Attendee City |
|
129 | + * |
|
130 | + * @access public |
|
131 | + * @param string $city |
|
132 | + */ |
|
133 | + public function set_city($city = '') |
|
134 | + { |
|
135 | + $this->set('ATT_city', $city); |
|
136 | + } |
|
137 | + |
|
138 | + |
|
139 | + /** |
|
140 | + * Set Attendee State ID |
|
141 | + * |
|
142 | + * @access public |
|
143 | + * @param int $STA_ID |
|
144 | + */ |
|
145 | + public function set_state($STA_ID = 0) |
|
146 | + { |
|
147 | + $this->set('STA_ID', $STA_ID); |
|
148 | + } |
|
149 | + |
|
150 | + |
|
151 | + /** |
|
152 | + * Set Attendee Country ISO Code |
|
153 | + * |
|
154 | + * @access public |
|
155 | + * @param string $CNT_ISO |
|
156 | + */ |
|
157 | + public function set_country($CNT_ISO = '') |
|
158 | + { |
|
159 | + $this->set('CNT_ISO', $CNT_ISO); |
|
160 | + } |
|
161 | + |
|
162 | + |
|
163 | + /** |
|
164 | + * Set Attendee Zip/Postal Code |
|
165 | + * |
|
166 | + * @access public |
|
167 | + * @param string $zip |
|
168 | + */ |
|
169 | + public function set_zip($zip = '') |
|
170 | + { |
|
171 | + $this->set('ATT_zip', $zip); |
|
172 | + } |
|
173 | + |
|
174 | + |
|
175 | + /** |
|
176 | + * Set Attendee Email Address |
|
177 | + * |
|
178 | + * @access public |
|
179 | + * @param string $email |
|
180 | + */ |
|
181 | + public function set_email($email = '') |
|
182 | + { |
|
183 | + $this->set('ATT_email', $email); |
|
184 | + } |
|
185 | + |
|
186 | + |
|
187 | + /** |
|
188 | + * Set Attendee Phone |
|
189 | + * |
|
190 | + * @access public |
|
191 | + * @param string $phone |
|
192 | + */ |
|
193 | + public function set_phone($phone = '') |
|
194 | + { |
|
195 | + $this->set('ATT_phone', $phone); |
|
196 | + } |
|
197 | + |
|
198 | + |
|
199 | + /** |
|
200 | + * set deleted |
|
201 | + * |
|
202 | + * @access public |
|
203 | + * @param bool $ATT_deleted |
|
204 | + */ |
|
205 | + public function set_deleted($ATT_deleted = false) |
|
206 | + { |
|
207 | + $this->set('ATT_deleted', $ATT_deleted); |
|
208 | + } |
|
209 | + |
|
210 | + |
|
211 | + /** |
|
212 | + * Returns the value for the post_author id saved with the cpt |
|
213 | + * |
|
214 | + * @since 4.5.0 |
|
215 | + * @return int |
|
216 | + */ |
|
217 | + public function wp_user() |
|
218 | + { |
|
219 | + return $this->get('ATT_author'); |
|
220 | + } |
|
221 | + |
|
222 | + |
|
223 | + /** |
|
224 | + * get Attendee First Name |
|
225 | + * |
|
226 | + * @access public |
|
227 | + * @return string |
|
228 | + */ |
|
229 | + public function fname() |
|
230 | + { |
|
231 | + return $this->get('ATT_fname'); |
|
232 | + } |
|
233 | + |
|
234 | + |
|
235 | + /** |
|
236 | + * echoes out the attendee's first name |
|
237 | + * |
|
238 | + * @return void |
|
239 | + */ |
|
240 | + public function e_full_name() |
|
241 | + { |
|
242 | + echo $this->full_name(); |
|
243 | + } |
|
244 | + |
|
245 | + |
|
246 | + /** |
|
247 | + * Returns the first and last name concatenated together with a space. |
|
248 | + * |
|
249 | + * @param bool $apply_html_entities |
|
250 | + * @return string |
|
251 | + */ |
|
252 | + public function full_name($apply_html_entities = false) |
|
253 | + { |
|
254 | + $full_name = $this->fname() . ' ' . $this->lname(); |
|
255 | + return $apply_html_entities ? htmlentities($full_name, ENT_QUOTES, 'UTF-8') : $full_name; |
|
256 | + } |
|
257 | + |
|
258 | + |
|
259 | + /** |
|
260 | + * This returns the value of the `ATT_full_name` field which is usually equivalent to calling `full_name()` unless |
|
261 | + * the post_title field has been directly modified in the db for the post (espresso_attendees post type) for this |
|
262 | + * attendee. |
|
263 | + * |
|
264 | + * @param bool $apply_html_entities |
|
265 | + * @return string |
|
266 | + */ |
|
267 | + public function ATT_full_name($apply_html_entities = false) |
|
268 | + { |
|
269 | + return $apply_html_entities |
|
270 | + ? htmlentities($this->get('ATT_full_name'), ENT_QUOTES, 'UTF-8') |
|
271 | + : $this->get('ATT_full_name'); |
|
272 | + } |
|
273 | + |
|
274 | + |
|
275 | + /** |
|
276 | + * get Attendee Last Name |
|
277 | + * |
|
278 | + * @access public |
|
279 | + * @return string |
|
280 | + */ |
|
281 | + public function lname() |
|
282 | + { |
|
283 | + return $this->get('ATT_lname'); |
|
284 | + } |
|
285 | + |
|
286 | + |
|
287 | + /** |
|
288 | + * Gets the attendee's full address as an array so client code can decide hwo to display it |
|
289 | + * |
|
290 | + * @return array numerically indexed, with each part of the address that is known. |
|
291 | + * Eg, if the user only responded to state and country, |
|
292 | + * it would be array(0=>'Alabama',1=>'USA') |
|
293 | + * @return array |
|
294 | + */ |
|
295 | + public function full_address_as_array() |
|
296 | + { |
|
297 | + $full_address_array = array(); |
|
298 | + $initial_address_fields = array('ATT_address', 'ATT_address2', 'ATT_city',); |
|
299 | + foreach ($initial_address_fields as $address_field_name) { |
|
300 | + $address_fields_value = $this->get($address_field_name); |
|
301 | + if (! empty($address_fields_value)) { |
|
302 | + $full_address_array[] = $address_fields_value; |
|
303 | + } |
|
304 | + } |
|
305 | + //now handle state and country |
|
306 | + $state_obj = $this->state_obj(); |
|
307 | + if (! empty($state_obj)) { |
|
308 | + $full_address_array[] = $state_obj->name(); |
|
309 | + } |
|
310 | + $country_obj = $this->country_obj(); |
|
311 | + if (! empty($country_obj)) { |
|
312 | + $full_address_array[] = $country_obj->name(); |
|
313 | + } |
|
314 | + //lastly get the xip |
|
315 | + $zip_value = $this->zip(); |
|
316 | + if (! empty($zip_value)) { |
|
317 | + $full_address_array[] = $zip_value; |
|
318 | + } |
|
319 | + return $full_address_array; |
|
320 | + } |
|
321 | + |
|
322 | + |
|
323 | + /** |
|
324 | + * get Attendee Address |
|
325 | + * |
|
326 | + * @return string |
|
327 | + */ |
|
328 | + public function address() |
|
329 | + { |
|
330 | + return $this->get('ATT_address'); |
|
331 | + } |
|
332 | + |
|
333 | + |
|
334 | + /** |
|
335 | + * get Attendee Address2 |
|
336 | + * |
|
337 | + * @return string |
|
338 | + */ |
|
339 | + public function address2() |
|
340 | + { |
|
341 | + return $this->get('ATT_address2'); |
|
342 | + } |
|
343 | + |
|
344 | + |
|
345 | + /** |
|
346 | + * get Attendee City |
|
347 | + * |
|
348 | + * @return string |
|
349 | + */ |
|
350 | + public function city() |
|
351 | + { |
|
352 | + return $this->get('ATT_city'); |
|
353 | + } |
|
354 | + |
|
355 | + |
|
356 | + /** |
|
357 | + * get Attendee State ID |
|
358 | + * |
|
359 | + * @return string |
|
360 | + */ |
|
361 | + public function state_ID() |
|
362 | + { |
|
363 | + return $this->get('STA_ID'); |
|
364 | + } |
|
365 | + |
|
366 | + |
|
367 | + /** |
|
368 | + * @return string |
|
369 | + */ |
|
370 | + public function state_abbrev() |
|
371 | + { |
|
372 | + return $this->state_obj() instanceof EE_State ? $this->state_obj()->abbrev() : ''; |
|
373 | + } |
|
374 | + |
|
375 | + |
|
376 | + /** |
|
377 | + * Gets the state set to this attendee |
|
378 | + * |
|
379 | + * @return EE_State |
|
380 | + */ |
|
381 | + public function state_obj() |
|
382 | + { |
|
383 | + return $this->get_first_related('State'); |
|
384 | + } |
|
385 | + |
|
386 | + |
|
387 | + /** |
|
388 | + * Returns the state's name, otherwise 'Unknown' |
|
389 | + * |
|
390 | + * @return string |
|
391 | + */ |
|
392 | + public function state_name() |
|
393 | + { |
|
394 | + if ($this->state_obj()) { |
|
395 | + return $this->state_obj()->name(); |
|
396 | + } else { |
|
397 | + return ''; |
|
398 | + } |
|
399 | + } |
|
400 | + |
|
401 | + |
|
402 | + /** |
|
403 | + * either displays the state abbreviation or the state name, as determined |
|
404 | + * by the "FHEE__EEI_Address__state__use_abbreviation" filter. |
|
405 | + * defaults to abbreviation |
|
406 | + * |
|
407 | + * @return string |
|
408 | + */ |
|
409 | + public function state() |
|
410 | + { |
|
411 | + if (apply_filters('FHEE__EEI_Address__state__use_abbreviation', true, $this->state_obj())) { |
|
412 | + return $this->state_abbrev(); |
|
413 | + } else { |
|
414 | + return $this->state_name(); |
|
415 | + } |
|
416 | + } |
|
417 | + |
|
418 | + |
|
419 | + /** |
|
420 | + * get Attendee Country ISO Code |
|
421 | + * |
|
422 | + * @return string |
|
423 | + */ |
|
424 | + public function country_ID() |
|
425 | + { |
|
426 | + return $this->get('CNT_ISO'); |
|
427 | + } |
|
428 | + |
|
429 | + |
|
430 | + /** |
|
431 | + * Gets country set for this attendee |
|
432 | + * |
|
433 | + * @return EE_Country |
|
434 | + */ |
|
435 | + public function country_obj() |
|
436 | + { |
|
437 | + return $this->get_first_related('Country'); |
|
438 | + } |
|
439 | + |
|
440 | + |
|
441 | + /** |
|
442 | + * Returns the country's name if known, otherwise 'Unknown' |
|
443 | + * |
|
444 | + * @return string |
|
445 | + */ |
|
446 | + public function country_name() |
|
447 | + { |
|
448 | + if ($this->country_obj()) { |
|
449 | + return $this->country_obj()->name(); |
|
450 | + } else { |
|
451 | + return ''; |
|
452 | + } |
|
453 | + } |
|
454 | + |
|
455 | + |
|
456 | + /** |
|
457 | + * either displays the country ISO2 code or the country name, as determined |
|
458 | + * by the "FHEE__EEI_Address__country__use_abbreviation" filter. |
|
459 | + * defaults to abbreviation |
|
460 | + * |
|
461 | + * @return string |
|
462 | + */ |
|
463 | + public function country() |
|
464 | + { |
|
465 | + if (apply_filters('FHEE__EEI_Address__country__use_abbreviation', true, $this->country_obj())) { |
|
466 | + return $this->country_ID(); |
|
467 | + } else { |
|
468 | + return $this->country_name(); |
|
469 | + } |
|
470 | + } |
|
471 | + |
|
472 | + |
|
473 | + /** |
|
474 | + * get Attendee Zip/Postal Code |
|
475 | + * |
|
476 | + * @return string |
|
477 | + */ |
|
478 | + public function zip() |
|
479 | + { |
|
480 | + return $this->get('ATT_zip'); |
|
481 | + } |
|
482 | + |
|
483 | + |
|
484 | + /** |
|
485 | + * get Attendee Email Address |
|
486 | + * |
|
487 | + * @return string |
|
488 | + */ |
|
489 | + public function email() |
|
490 | + { |
|
491 | + return $this->get('ATT_email'); |
|
492 | + } |
|
493 | + |
|
494 | + |
|
495 | + /** |
|
496 | + * get Attendee Phone # |
|
497 | + * |
|
498 | + * @return string |
|
499 | + */ |
|
500 | + public function phone() |
|
501 | + { |
|
502 | + return $this->get('ATT_phone'); |
|
503 | + } |
|
504 | + |
|
505 | + |
|
506 | + /** |
|
507 | + * get deleted |
|
508 | + * |
|
509 | + * @return bool |
|
510 | + */ |
|
511 | + public function deleted() |
|
512 | + { |
|
513 | + return $this->get('ATT_deleted'); |
|
514 | + } |
|
515 | + |
|
516 | + |
|
517 | + /** |
|
518 | + * Gets registrations of this attendee |
|
519 | + * |
|
520 | + * @param array $query_params |
|
521 | + * @return EE_Registration[] |
|
522 | + */ |
|
523 | + public function get_registrations($query_params = array()) |
|
524 | + { |
|
525 | + return $this->get_many_related('Registration', $query_params); |
|
526 | + } |
|
527 | + |
|
528 | + |
|
529 | + /** |
|
530 | + * Gets the most recent registration of this attendee |
|
531 | + * |
|
532 | + * @return EE_Registration |
|
533 | + */ |
|
534 | + public function get_most_recent_registration() |
|
535 | + { |
|
536 | + return $this->get_first_related('Registration', |
|
537 | + array('order_by' => array('REG_date' => 'DESC'))); //null, 'REG_date', 'DESC', '=', 'OBJECT_K'); |
|
538 | + } |
|
539 | + |
|
540 | + |
|
541 | + /** |
|
542 | + * Gets the most recent registration for this attend at this event |
|
543 | + * |
|
544 | + * @param int $event_id |
|
545 | + * @return EE_Registration |
|
546 | + */ |
|
547 | + public function get_most_recent_registration_for_event($event_id) |
|
548 | + { |
|
549 | + return $this->get_first_related('Registration', |
|
550 | + array(array('EVT_ID' => $event_id), 'order_by' => array('REG_date' => 'DESC')));//, '=', 'OBJECT_K' ); |
|
551 | + } |
|
552 | + |
|
553 | + |
|
554 | + /** |
|
555 | + * returns any events attached to this attendee ($_Event property); |
|
556 | + * |
|
557 | + * @return array |
|
558 | + */ |
|
559 | + public function events() |
|
560 | + { |
|
561 | + return $this->get_many_related('Event'); |
|
562 | + } |
|
563 | + |
|
564 | + |
|
565 | + /** |
|
566 | + * Gets the billing info array where keys match espresso_reg_page_billing_inputs(), |
|
567 | + * and keys are their cleaned values. @see EE_Attendee::save_and_clean_billing_info_for_payment_method() which was |
|
568 | + * used to save the billing info |
|
569 | + * |
|
570 | + * @param EE_Payment_Method $payment_method the _gateway_name property on the gateway class |
|
571 | + * @return EE_Form_Section_Proper|null |
|
572 | + */ |
|
573 | + public function billing_info_for_payment_method($payment_method) |
|
574 | + { |
|
575 | + $pm_type = $payment_method->type_obj(); |
|
576 | + if (! $pm_type instanceof EE_PMT_Base) { |
|
577 | + return null; |
|
578 | + } |
|
579 | + $billing_info = $this->get_post_meta($this->get_billing_info_postmeta_name($payment_method), true); |
|
580 | + if (! $billing_info) { |
|
581 | + return null; |
|
582 | + } |
|
583 | + $billing_form = $pm_type->billing_form(); |
|
584 | + if ($billing_form instanceof EE_Form_Section_Proper) { |
|
585 | + $billing_form->receive_form_submission(array($billing_form->name() => $billing_info), false); |
|
586 | + } |
|
587 | + return $billing_form; |
|
588 | + } |
|
589 | + |
|
590 | + |
|
591 | + /** |
|
592 | + * Gets the postmeta key that holds this attendee's billing info for the |
|
593 | + * specified payment method |
|
594 | + * |
|
595 | + * @param EE_Payment_Method $payment_method |
|
596 | + * @return string |
|
597 | + */ |
|
598 | + public function get_billing_info_postmeta_name($payment_method) |
|
599 | + { |
|
600 | + if ($payment_method->type_obj() instanceof EE_PMT_Base) { |
|
601 | + return 'billing_info_' . $payment_method->type_obj()->system_name(); |
|
602 | + } else { |
|
603 | + return null; |
|
604 | + } |
|
605 | + } |
|
606 | + |
|
607 | + |
|
608 | + /** |
|
609 | + * Saves the billing info to the attendee. @see EE_Attendee::billing_info_for_payment_method() which is used to |
|
610 | + * retrieve it |
|
611 | + * |
|
612 | + * @param EE_Billing_Attendee_Info_Form $billing_form |
|
613 | + * @param EE_Payment_Method $payment_method |
|
614 | + * @return boolean |
|
615 | + */ |
|
616 | + public function save_and_clean_billing_info_for_payment_method($billing_form, $payment_method) |
|
617 | + { |
|
618 | + if (! $billing_form instanceof EE_Billing_Attendee_Info_Form) { |
|
619 | + EE_Error::add_error(__('Cannot save billing info because there is none.', 'event_espresso')); |
|
620 | + return false; |
|
621 | + } |
|
622 | + $billing_form->clean_sensitive_data(); |
|
623 | + return update_post_meta($this->ID(), $this->get_billing_info_postmeta_name($payment_method), |
|
624 | + $billing_form->input_values(true)); |
|
625 | + } |
|
626 | + |
|
627 | + |
|
628 | + /** |
|
629 | + * Return the link to the admin details for the object. |
|
630 | + * |
|
631 | + * @return string |
|
632 | + */ |
|
633 | + public function get_admin_details_link() |
|
634 | + { |
|
635 | + return $this->get_admin_edit_link(); |
|
636 | + } |
|
637 | + |
|
638 | + |
|
639 | + /** |
|
640 | + * Returns the link to the editor for the object. Sometimes this is the same as the details. |
|
641 | + * |
|
642 | + * @return string |
|
643 | + */ |
|
644 | + public function get_admin_edit_link() |
|
645 | + { |
|
646 | + EE_Registry::instance()->load_helper('URL'); |
|
647 | + return EEH_URL::add_query_args_and_nonce( |
|
648 | + array( |
|
649 | + 'page' => 'espresso_registrations', |
|
650 | + 'action' => 'edit_attendee', |
|
651 | + 'post' => $this->ID(), |
|
652 | + ), |
|
653 | + admin_url('admin.php') |
|
654 | + ); |
|
655 | + } |
|
656 | + |
|
657 | + |
|
658 | + /** |
|
659 | + * Returns the link to a settings page for the object. |
|
660 | + * |
|
661 | + * @return string |
|
662 | + */ |
|
663 | + public function get_admin_settings_link() |
|
664 | + { |
|
665 | + return $this->get_admin_edit_link(); |
|
666 | + } |
|
667 | + |
|
668 | + |
|
669 | + /** |
|
670 | + * Returns the link to the "overview" for the object (typically the "list table" view). |
|
671 | + * |
|
672 | + * @return string |
|
673 | + */ |
|
674 | + public function get_admin_overview_link() |
|
675 | + { |
|
676 | + EE_Registry::instance()->load_helper('URL'); |
|
677 | + return EEH_URL::add_query_args_and_nonce( |
|
678 | + array( |
|
679 | + 'page' => 'espresso_registrations', |
|
680 | + 'action' => 'contact_list', |
|
681 | + ), |
|
682 | + admin_url('admin.php') |
|
683 | + ); |
|
684 | + } |
|
685 | 685 | |
686 | 686 | |
687 | 687 | } |