@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if (!defined('EVENT_ESPRESSO_VERSION') ) |
|
2 | +if ( ! defined('EVENT_ESPRESSO_VERSION')) |
|
3 | 3 | exit('NO direct script access allowed'); |
4 | 4 | |
5 | 5 | /** |
@@ -32,15 +32,15 @@ discard block |
||
32 | 32 | |
33 | 33 | |
34 | 34 | |
35 | - public function __construct( $routing = TRUE ) { |
|
36 | - parent::__construct( $routing ); |
|
37 | - define( 'EE_ABOUT_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND . 'about/templates/' ); |
|
35 | + public function __construct($routing = TRUE) { |
|
36 | + parent::__construct($routing); |
|
37 | + define('EE_ABOUT_CAF_TEMPLATE_PATH', EE_CORE_CAF_ADMIN_EXTEND.'about/templates/'); |
|
38 | 38 | } |
39 | 39 | |
40 | 40 | |
41 | 41 | |
42 | 42 | protected function _extend_page_config() { |
43 | - $this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND . 'about'; |
|
43 | + $this->_admin_base_path = EE_CORE_CAF_ADMIN_EXTEND.'about'; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | protected function _set_page_routes() { |
@@ -112,11 +112,11 @@ discard block |
||
112 | 112 | protected function _whats_new() { |
113 | 113 | $steps = EE_Maintenance_Mode::instance()->level() != EE_Maintenance_Mode::level_2_complete_maintenance ? $this->_get_started_steps() : FALSE; |
114 | 114 | $steps = $steps !== FALSE ? $steps : ''; |
115 | - $this->_admin_page_title = sprintf( __('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
|
115 | + $this->_admin_page_title = sprintf(__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION); |
|
116 | 116 | $settings_message = $steps; |
117 | - $this->_template_args['admin_page_subtitle'] = __('Thank you for choosing Event Espresso, the most powerful Event Management plugin for WordPress.', 'event_espresso'). $settings_message ; |
|
118 | - $template = is_readable(EE_ABOUT_CAF_TEMPLATE_PATH . 'whats_new.template.php') ? EE_ABOUT_CAF_TEMPLATE_PATH . 'whats_new.template.php' : EE_ABOUT_TEMPLATE_PATH . 'whats_new.template.php'; |
|
119 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
117 | + $this->_template_args['admin_page_subtitle'] = __('Thank you for choosing Event Espresso, the most powerful Event Management plugin for WordPress.', 'event_espresso').$settings_message; |
|
118 | + $template = is_readable(EE_ABOUT_CAF_TEMPLATE_PATH.'whats_new.template.php') ? EE_ABOUT_CAF_TEMPLATE_PATH.'whats_new.template.php' : EE_ABOUT_TEMPLATE_PATH.'whats_new.template.php'; |
|
119 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
120 | 120 | $this->display_about_admin_page(); |
121 | 121 | } |
122 | 122 | |
@@ -124,32 +124,32 @@ discard block |
||
124 | 124 | protected function _overview() { |
125 | 125 | $this->_admin_page_title = __('About Event Espresso', 'event_espresso'); |
126 | 126 | $this->_template_args['admin_page_subtitle'] = __('Thank you for choosing Event Espresso, the most powerful Event Management plugin for WordPress.', 'event_espresso'); |
127 | - $template = is_readable(EE_ABOUT_CAF_TEMPLATE_PATH . 'ee4-overview.template.php') ? EE_ABOUT_CAF_TEMPLATE_PATH . 'ee4-overview.template.php' : EE_ABOUT_TEMPLATE_PATH . 'ee4-overview.template.php'; |
|
128 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
127 | + $template = is_readable(EE_ABOUT_CAF_TEMPLATE_PATH.'ee4-overview.template.php') ? EE_ABOUT_CAF_TEMPLATE_PATH.'ee4-overview.template.php' : EE_ABOUT_TEMPLATE_PATH.'ee4-overview.template.php'; |
|
128 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
129 | 129 | $this->display_about_admin_page(); |
130 | 130 | } |
131 | 131 | |
132 | 132 | protected function _credits() { |
133 | 133 | // $this->_template_args['admin_page_title'] = sprintf( __('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
134 | 134 | $this->_template_args['admin_page_subtitle'] = __('Thank you for choosing Event Espresso, the most powerful Event Management plugin for WordPress.', 'event_espresso'); |
135 | - $template = EE_ABOUT_TEMPLATE_PATH . 'credits.template.php'; |
|
136 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
135 | + $template = EE_ABOUT_TEMPLATE_PATH.'credits.template.php'; |
|
136 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
137 | 137 | $this->display_about_admin_page(); |
138 | 138 | } |
139 | 139 | |
140 | 140 | protected function _decafvpro() { |
141 | - $this->_template_args['admin_page_title'] = sprintf( __('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
|
141 | + $this->_template_args['admin_page_title'] = sprintf(__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION); |
|
142 | 142 | $this->_template_args['admin_page_subtitle'] = sprintf(__('Event Espresso lets you focus on doing %swhat you love%s — %sorganizing your events%s', 'event_espresso'), '<em>', '</em>', '<strong>', '</strong>'); |
143 | - $template = EE_ABOUT_TEMPLATE_PATH . 'decafvpro.template.php'; |
|
144 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
143 | + $template = EE_ABOUT_TEMPLATE_PATH.'decafvpro.template.php'; |
|
144 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
145 | 145 | $this->display_about_admin_page(); |
146 | 146 | } |
147 | 147 | |
148 | 148 | protected function _reviews() { |
149 | 149 | $this->_template_args['admin_page_title'] = __('Rave Reviews About Event Espresso 4', 'event_espresso'); |
150 | 150 | $this->_template_args['admin_page_subtitle'] = __('At Event Espresso, customer satisfaction is our ultimate goal.', 'event_espresso'); |
151 | - $template = EE_ABOUT_TEMPLATE_PATH . 'reviews.template.php'; |
|
152 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
151 | + $template = EE_ABOUT_TEMPLATE_PATH.'reviews.template.php'; |
|
152 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
153 | 153 | $this->display_about_admin_page(); |
154 | 154 | } |
155 | 155 | } |
@@ -1,8 +1,8 @@ discard block |
||
1 | 1 | <div class="changelog"> |
2 | 2 | <h2 class="about-headline-callout"><?php esc_html_e('Welcome to Event Espresso 4!', 'event_espresso'); ?></h2> |
3 | - <p><?php echo sprintf( esc_html__('Manage your events from your WordPress dashboard. Reduce your admin, reduce your costs, make your life easier! This is the Caffeinated/Regular version of Event Espresso, but we also have a hosted version called %sEvent Smart%s for customers that want to cut back on their hosting and security expenses.', 'event_espresso'),'<a href="https://eventsmart.com//?utm_source=ee4_decaf&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Caffeinated">','</a>'); ?></p> |
|
3 | + <p><?php echo sprintf(esc_html__('Manage your events from your WordPress dashboard. Reduce your admin, reduce your costs, make your life easier! This is the Caffeinated/Regular version of Event Espresso, but we also have a hosted version called %sEvent Smart%s for customers that want to cut back on their hosting and security expenses.', 'event_espresso'), '<a href="https://eventsmart.com//?utm_source=ee4_decaf&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Caffeinated">', '</a>'); ?></p> |
|
4 | 4 | <h2><?php esc_html_e('Powering 40,000+ event websites; $100 million in ticket sales per year!', 'event_espresso'); ?></h2> |
5 | - <p><?php echo sprintf( esc_html__('Event Espresso is a %sWordPress event manager%s which makes it easy for you to register attendees for classes, workshops, events, trainings, conferences or concerts, all from your WordPress website. Event Espresso events are created from the WordPress admin area. You can create signup forms to collect information about your attendees, accept payments, and create reports. The lite version of the plugin provides everything that you need to manage your event using WordPress.', 'event_espresso'),'<a href="http://eventespresso.com/?utm_source=wordpress_org&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Decaf" rel="nofollow">','</a>'); ?></p> |
|
5 | + <p><?php echo sprintf(esc_html__('Event Espresso is a %sWordPress event manager%s which makes it easy for you to register attendees for classes, workshops, events, trainings, conferences or concerts, all from your WordPress website. Event Espresso events are created from the WordPress admin area. You can create signup forms to collect information about your attendees, accept payments, and create reports. The lite version of the plugin provides everything that you need to manage your event using WordPress.', 'event_espresso'), '<a href="http://eventespresso.com/?utm_source=wordpress_org&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Decaf" rel="nofollow">', '</a>'); ?></p> |
|
6 | 6 | <div class="feature-section col three-col about-updates"> |
7 | 7 | <div class="col-1"> |
8 | 8 | <img src="<?php echo EE_GLOBAL_ASSETS_URL; ?>images/screenshots/publish_meta_box.jpg"> |
@@ -60,11 +60,11 @@ discard block |
||
60 | 60 | <h2 class="about-headline-callout"><?php esc_html_e('People Like You Manage Event Registration with WordPress', 'event_espresso'); ?></h2> |
61 | 61 | <div class="feature-section col two-col"> |
62 | 62 | <div class="grid_6"> |
63 | - <p><?php echo sprintf( esc_html__('Trusted by thousands, Event Espresso is the best WordPress event online registration and ticketing manager plugin–and the best supported with full-time support. Turn your existing blog or website into a %sfully-featured event management website%s and a new way to make money. With Event Espresso you get it all; everything from custom registration forms and emails, seating limits, multiple price options, and discount codes to printable tickets.', 'event_espresso'),'<strong>','</strong>'); ?></p> |
|
63 | + <p><?php echo sprintf(esc_html__('Trusted by thousands, Event Espresso is the best WordPress event online registration and ticketing manager plugin–and the best supported with full-time support. Turn your existing blog or website into a %sfully-featured event management website%s and a new way to make money. With Event Espresso you get it all; everything from custom registration forms and emails, seating limits, multiple price options, and discount codes to printable tickets.', 'event_espresso'), '<strong>', '</strong>'); ?></p> |
|
64 | 64 | <p><?php esc_html_e('Event Espresso works perfectly for classes, workshops, fundraisers, sporting, trainings, conferences, networking, religion, social, non-profit, and nearly any other type of event.', 'event_espresso'); ?></p> |
65 | 65 | </div> |
66 | 66 | <div class="grid_6"> |
67 | - <p><?php echo sprintf( esc_html__('Our online event registration software can %smake your organization more profitable and efficient%s by helping you save money on registration and ticketing fees, reduce the countless hours of time you spend manually processing registrations, create a “green” and paperless event registration process and you will be open for business to accept registrations and payment 24/7.', 'event_espresso'),'<strong>','</strong>'); ?></p> |
|
67 | + <p><?php echo sprintf(esc_html__('Our online event registration software can %smake your organization more profitable and efficient%s by helping you save money on registration and ticketing fees, reduce the countless hours of time you spend manually processing registrations, create a “green” and paperless event registration process and you will be open for business to accept registrations and payment 24/7.', 'event_espresso'), '<strong>', '</strong>'); ?></p> |
|
68 | 68 | <p><?php esc_html_e('If you\'re doing event registration and ticketing any other way, then you’re wasting time and money. We offer packages and prices to fit any budget, so get started with your online event registration and ticketing management system today.', 'event_espresso'); ?></p> |
69 | 69 | </div> |
70 | 70 | </div> |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | <h3><?php esc_html_e('Turn your blog into a complete event registration and management system', 'event_espresso'); ?></h3> |
75 | 75 | <p><?php esc_html_e('Create a beautiful event page with ticket selection, venue details, and an integrated single page checkout system. With WordPress, Event Espresso, and Espresso Arabica 2014 (based on the "Twenty Fourteen" theme by WordPress), your events will certainly sell out faster than ever!', 'event_espresso'); ?></p> |
76 | 76 | <p><?php esc_html_e('With a striking design that does not compromise the simplicity of WordPress and Event Espresso 4, Espresso Arabica 2014 will be the best event theme on the market.', 'event_espresso'); ?></p> |
77 | - <p><?php echo sprintf( esc_html__('%sLearn more >>%s', 'event_espresso'), '<a href="http://eventespresso.com/wiki/setup-event-espresso-arabica-theme/">', '</a>' ); ?></p> |
|
77 | + <p><?php echo sprintf(esc_html__('%sLearn more >>%s', 'event_espresso'), '<a href="http://eventespresso.com/wiki/setup-event-espresso-arabica-theme/">', '</a>'); ?></p> |
|
78 | 78 | </div> |
79 | 79 | <div><img src="<?php echo EE_GLOBAL_ASSETS_URL; ?>images/screenshots/single-event-page.jpg"></div> |
80 | 80 | </div> |
@@ -1,5 +1,5 @@ discard block |
||
1 | -<h2 style="text-align: left;"><?php esc_html_e( 'Who uses Event Espresso?', 'event_espresso'); ?></h2> |
|
2 | -<p><?php echo sprintf( esc_html__('Event Espresso is used by over 40,000 event organizers across the world. They host %sconferences%s, %sart classes%s, training courses, concerts, fundraisers, workshops, %sfilm festivals%s, %spaint and wine%s, and more.', 'event_espresso'), '<a href="https://eventespresso.com/use-cases/conferences/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>', '<a href="https://eventespresso.com/use-cases/art-classes/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>','<a href="https://eventespresso.com/use-cases/film-festival-ticketing-software/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">','</a>','<a href="https://eventespresso.com/use-cases/paint-wine-party-ticketing-software/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">','</a>');?></p> |
|
1 | +<h2 style="text-align: left;"><?php esc_html_e('Who uses Event Espresso?', 'event_espresso'); ?></h2> |
|
2 | +<p><?php echo sprintf(esc_html__('Event Espresso is used by over 40,000 event organizers across the world. They host %sconferences%s, %sart classes%s, training courses, concerts, fundraisers, workshops, %sfilm festivals%s, %spaint and wine%s, and more.', 'event_espresso'), '<a href="https://eventespresso.com/use-cases/conferences/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>', '<a href="https://eventespresso.com/use-cases/art-classes/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>', '<a href="https://eventespresso.com/use-cases/film-festival-ticketing-software/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>', '<a href="https://eventespresso.com/use-cases/paint-wine-party-ticketing-software/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>'); ?></p> |
|
3 | 3 | |
4 | 4 | <div class="changelog"> |
5 | 5 | <h2 class="about-headline-callout"><?php _e('Rave Reviews About Event Espresso 4', 'event_espresso'); ?></h2> |
@@ -61,9 +61,9 @@ discard block |
||
61 | 61 | |
62 | 62 | </div> |
63 | 63 | <?php |
64 | - if ( !defined('EE_CAF_URL') ) { |
|
64 | + if ( ! defined('EE_CAF_URL')) { |
|
65 | 65 | ?> |
66 | - <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e( 'Upgrade Now!', 'event_espresso' ) ?></a></div> |
|
66 | + <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e('Upgrade Now!', 'event_espresso') ?></a></div> |
|
67 | 67 | <?php |
68 | 68 | } |
69 | 69 | ?> |
@@ -124,9 +124,9 @@ discard block |
||
124 | 124 | |
125 | 125 | </div> |
126 | 126 | <?php |
127 | - if ( !defined('EE_CAF_URL') ) { |
|
127 | + if ( ! defined('EE_CAF_URL')) { |
|
128 | 128 | ?> |
129 | - <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e( 'Upgrade Now!', 'event_espresso' ) ?></a></div> |
|
129 | + <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e('Upgrade Now!', 'event_espresso') ?></a></div> |
|
130 | 130 | <?php |
131 | 131 | } |
132 | 132 | ?> |
@@ -179,9 +179,9 @@ discard block |
||
179 | 179 | </div> |
180 | 180 | </div> |
181 | 181 | <?php |
182 | - if ( !defined('EE_CAF_URL') ) { |
|
182 | + if ( ! defined('EE_CAF_URL')) { |
|
183 | 183 | ?> |
184 | - <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e( 'Upgrade Now!', 'event_espresso' ) ?></a></div> |
|
184 | + <div align="right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=reviews+tab" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e('Upgrade Now!', 'event_espresso') ?></a></div> |
|
185 | 185 | <?php |
186 | 186 | } |
187 | 187 | ?> |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <div class="changelog"> |
2 | 2 | <?php |
3 | 3 | //maintenance mode on? |
4 | - if ( EE_Maintenance_Mode::instance()->level() == EE_Maintenance_Mode::level_2_complete_maintenance ) { |
|
4 | + if (EE_Maintenance_Mode::instance()->level() == EE_Maintenance_Mode::level_2_complete_maintenance) { |
|
5 | 5 | ?> |
6 | 6 | <div class="ee-attention"> |
7 | - <h2 class="ee-maintenance-mode-callout"><?php esc_html_e('Event Espresso is in full maintenance mode.' , 'event_espresso'); ?></h2> |
|
7 | + <h2 class="ee-maintenance-mode-callout"><?php esc_html_e('Event Espresso is in full maintenance mode.', 'event_espresso'); ?></h2> |
|
8 | 8 | <p> |
9 | 9 | <?php |
10 | 10 | printf( |
@@ -20,9 +20,9 @@ discard block |
||
20 | 20 | ?> |
21 | 21 | |
22 | 22 | <h2 class="about-headline-callout"><?php esc_html_e('Welcome to the Decaf (free) Version of Event Espresso 4!', 'event_espresso'); ?></h2> |
23 | - <p><?php echo sprintf( esc_html__('Manage your events from your WordPress dashboard. Reduce your admin, reduce your costs, make your life easier! This is the Decaf version of Event Espresso, but we also have a premium version called %sEvent Espreso 4 Regular%s and a hosted version called %sEvent Smart%s (SaaS).', 'event_espresso'),'<a href="?page=espresso_about&action=decafvpro">','</a>','<a href="https://eventsmart.com//?utm_source=ee4_decaf&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Decaf">','</a>'); ?></p> |
|
23 | + <p><?php echo sprintf(esc_html__('Manage your events from your WordPress dashboard. Reduce your admin, reduce your costs, make your life easier! This is the Decaf version of Event Espresso, but we also have a premium version called %sEvent Espreso 4 Regular%s and a hosted version called %sEvent Smart%s (SaaS).', 'event_espresso'), '<a href="?page=espresso_about&action=decafvpro">', '</a>', '<a href="https://eventsmart.com//?utm_source=ee4_decaf&utm_medium=link&utm_campaign=espresso_about_tab&utm_content=EE4+Decaf">', '</a>'); ?></p> |
|
24 | 24 | <h2><?php esc_html_e('Powering 40,000+ event websites; $100 million in ticket sales per year!', 'event_espresso'); ?></h2> |
25 | - <p><?php echo sprintf( esc_html__('Event Espresso is a %sWordPress event manager%s which makes it easy for you to register attendees for classes, workshops, events, trainings, conferences or concerts, all from your WordPress website. Event Espresso events are created from the WordPress admin area. You can create signup forms to collect information about your attendees, accept payments, and create reports. The Decaf (free) version of the plugin provides everything that you need to manage your event using WordPress.', 'event_espresso'),'<a href="http://eventespresso.com/?utm_source=wordpress_org&utm_medium=link&utm_campaign=plugin_description_tab&utm_content=EE4+Decaf">','</a>'); ?></p> |
|
25 | + <p><?php echo sprintf(esc_html__('Event Espresso is a %sWordPress event manager%s which makes it easy for you to register attendees for classes, workshops, events, trainings, conferences or concerts, all from your WordPress website. Event Espresso events are created from the WordPress admin area. You can create signup forms to collect information about your attendees, accept payments, and create reports. The Decaf (free) version of the plugin provides everything that you need to manage your event using WordPress.', 'event_espresso'), '<a href="http://eventespresso.com/?utm_source=wordpress_org&utm_medium=link&utm_campaign=plugin_description_tab&utm_content=EE4+Decaf">', '</a>'); ?></p> |
|
26 | 26 | <div class="feature-section col three-col about-updates"> |
27 | 27 | <div class="col-1"> |
28 | 28 | <img src="<?php echo EE_GLOBAL_ASSETS_URL; ?>images/screenshots/publish_meta_box.jpg"> |
@@ -80,11 +80,11 @@ discard block |
||
80 | 80 | <h2 class="about-headline-callout"><?php esc_html_e('People Like You Manage Event Registration with WordPress', 'event_espresso'); ?></h2> |
81 | 81 | <div class="feature-section col two-col"> |
82 | 82 | <div class="grid_6"> |
83 | - <p><?php echo sprintf( esc_html__('Trusted by thousands, Event Espresso is the best WordPress event online registration and ticketing manager plugin–and the best supported with full-time support. Turn your existing blog or website into a %sfully-featured event management website%s and a new way to make money. With Event Espresso you get it all; everything from custom registration forms and emails, seating limits, multiple price options, and discount codes to printable tickets.', 'event_espresso'),'<strong>','</strong>'); ?></p> |
|
83 | + <p><?php echo sprintf(esc_html__('Trusted by thousands, Event Espresso is the best WordPress event online registration and ticketing manager plugin–and the best supported with full-time support. Turn your existing blog or website into a %sfully-featured event management website%s and a new way to make money. With Event Espresso you get it all; everything from custom registration forms and emails, seating limits, multiple price options, and discount codes to printable tickets.', 'event_espresso'), '<strong>', '</strong>'); ?></p> |
|
84 | 84 | <p><?php esc_html_e('Event Espresso works perfectly for classes, workshops, fundraisers, sporting, trainings, conferences, networking, religion, social, non-profit, and nearly any other type of event.', 'event_espresso'); ?></p> |
85 | 85 | </div> |
86 | 86 | <div class="grid_6"> |
87 | - <p><?php echo sprintf( esc_html__('Our online event registration software can %smake your organization more profitable and efficient%s by helping you save money on registration and ticketing fees, reduce the countless hours of time you spend manually processing registrations, create a “green” and paperless event registration process and you will be open for business to accept registrations and payment 24/7.', 'event_espresso'),'<strong>','</strong>'); ?></p> |
|
87 | + <p><?php echo sprintf(esc_html__('Our online event registration software can %smake your organization more profitable and efficient%s by helping you save money on registration and ticketing fees, reduce the countless hours of time you spend manually processing registrations, create a “green” and paperless event registration process and you will be open for business to accept registrations and payment 24/7.', 'event_espresso'), '<strong>', '</strong>'); ?></p> |
|
88 | 88 | <p><?php esc_html_e('If you\'re doing event registration and ticketing any other way, then you’re wasting time and money. We offer packages and prices to fit any budget, so get started with your online event registration and ticketing management system today.', 'event_espresso'); ?></p> |
89 | 89 | </div> |
90 | 90 | </div> |
@@ -94,7 +94,7 @@ discard block |
||
94 | 94 | <h3><?php esc_html_e('Turn your blog into a complete event registration and management system', 'event_espresso'); ?></h3> |
95 | 95 | <p><?php esc_html_e('Create a beautiful event page with ticket selection, venue details, and an integrated single page checkout system. With WordPress, Event Espresso, and Espresso Arabica 2014 (based on the "Twenty Fourteen" theme by WordPress), your events will certainly sell out faster than ever!', 'event_espresso'); ?></p> |
96 | 96 | <p><?php esc_html_e('With a striking design that does not compromise the simplicity of WordPress and Event Espresso 4, Espresso Arabica 2014 will be the best event theme on the market.', 'event_espresso'); ?></p> |
97 | - <p><?php echo sprintf( esc_html__('%sLearn more >>%s', 'event_espresso'), '<a href="http://eventespresso.com/wiki/setup-event-espresso-arabica-theme/">', '</a>' ); ?></p> |
|
97 | + <p><?php echo sprintf(esc_html__('%sLearn more >>%s', 'event_espresso'), '<a href="http://eventespresso.com/wiki/setup-event-espresso-arabica-theme/">', '</a>'); ?></p> |
|
98 | 98 | </div> |
99 | 99 | <div><img src="<?php echo EE_GLOBAL_ASSETS_URL; ?>images/screenshots/single-event-page.jpg"></div> |
100 | 100 | </div> |
@@ -1,4 +1,4 @@ discard block |
||
1 | -<p><?php echo sprintf( esc_html__('We offer a free version of Event Espresso 4 called Decaf which is a good fit for basic events. Need more features like custom registration forms and advanced email notifications? %sUpgrade to Event Espresso 4 (Regular)%s.', 'event_espresso'),'<a href="https://eventespresso.com/pricing/?ee_ver=ee4&utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">','</a>');?><br> |
|
1 | +<p><?php echo sprintf(esc_html__('We offer a free version of Event Espresso 4 called Decaf which is a good fit for basic events. Need more features like custom registration forms and advanced email notifications? %sUpgrade to Event Espresso 4 (Regular)%s.', 'event_espresso'), '<a href="https://eventespresso.com/pricing/?ee_ver=ee4&utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular">', '</a>'); ?><br> |
|
2 | 2 | |
3 | 3 | <?php |
4 | 4 | |
@@ -8,43 +8,43 @@ discard block |
||
8 | 8 | |
9 | 9 | $features = array( |
10 | 10 | 'pricing-options' => array( |
11 | - 'label' => esc_html__( 'Handle multiple dates and pricing options', 'event_espresso' ), |
|
11 | + 'label' => esc_html__('Handle multiple dates and pricing options', 'event_espresso'), |
|
12 | 12 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
13 | 13 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
14 | 14 | 'class' => 'alternate' |
15 | 15 | ), |
16 | 16 | 'custom-registration' => array( |
17 | - 'label' => esc_html__( 'Create custom registration forms', 'event_espresso' ), |
|
17 | + 'label' => esc_html__('Create custom registration forms', 'event_espresso'), |
|
18 | 18 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
19 | 19 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
20 | 20 | 'class' => 'none' |
21 | 21 | ), |
22 | 22 | 'advanced-notifications' => array( |
23 | - 'label' => esc_html__( 'Customize advanced email notifications', 'event_espresso' ), |
|
23 | + 'label' => esc_html__('Customize advanced email notifications', 'event_espresso'), |
|
24 | 24 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
25 | 25 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
26 | 26 | 'class' => 'alternate' |
27 | 27 | ), |
28 | 28 | 'manage-taxes' => array( |
29 | - 'label' => esc_html__( 'Manage taxes', 'event_espresso' ), |
|
29 | + 'label' => esc_html__('Manage taxes', 'event_espresso'), |
|
30 | 30 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
31 | 31 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
32 | 32 | 'class' => 'none' |
33 | 33 | ), |
34 | 34 | 'typography' => array( |
35 | - 'label' => esc_html__( 'Additional payment methods available', 'event_espresso' ), |
|
35 | + 'label' => esc_html__('Additional payment methods available', 'event_espresso'), |
|
36 | 36 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
37 | 37 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
38 | 38 | 'class' => 'alternate' |
39 | 39 | ), |
40 | 40 | 'add-on-compatibility' => array( |
41 | - 'label' => esc_html__( 'Compatibility with add-ons', 'event_espresso' ), |
|
41 | + 'label' => esc_html__('Compatibility with add-ons', 'event_espresso'), |
|
42 | 42 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
43 | 43 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
44 | 44 | 'class' => 'none' |
45 | 45 | ), |
46 | 46 | 'best-support' => array( |
47 | - 'label' => esc_html__( 'Best in class support', 'event_espresso' ), |
|
47 | + 'label' => esc_html__('Best in class support', 'event_espresso'), |
|
48 | 48 | 'decaf' => '<span class="dashicons dashicons-no-alt"></span>', |
49 | 49 | 'regular' => '<span class="dashicons dashicons-yes"></span></i>', |
50 | 50 | 'class' => 'alternate' |
@@ -56,12 +56,12 @@ discard block |
||
56 | 56 | <thead> |
57 | 57 | <tr> |
58 | 58 | <th></th> |
59 | - <th><?php esc_html_e( 'Decaf', 'event_espresso' ) ?></th> |
|
60 | - <th><?php esc_html_e( 'Regular', 'event_espresso' ) ?></th> |
|
59 | + <th><?php esc_html_e('Decaf', 'event_espresso') ?></th> |
|
60 | + <th><?php esc_html_e('Regular', 'event_espresso') ?></th> |
|
61 | 61 | </tr> |
62 | 62 | </thead> |
63 | 63 | <tbody> |
64 | - <?php foreach ( $features as $feature ): ?> |
|
64 | + <?php foreach ($features as $feature): ?> |
|
65 | 65 | <tr class="<?php echo $feature['class']; ?>"> |
66 | 66 | <td class="feature"> |
67 | 67 | <h3> |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | <?php endforeach; ?> |
79 | 79 | <tr> |
80 | 80 | <td></td> |
81 | - <td colspan="2" class="text-right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e( 'Upgrade Now!', 'event_espresso' ) ?></a></td> |
|
81 | + <td colspan="2" class="text-right"><a href="https://eventespresso.com/pricing/?utm_source=wordpress_org&utm_medium=link&utm_campaign=decaf_about_page&utm_content=Decaf+vs+Regular" target="_blank" class="button button-primary button-hero"><span class="dashicons dashicons-cart"></span><?php esc_html_e('Upgrade Now!', 'event_espresso') ?></a></td> |
|
82 | 82 | </tr> |
83 | 83 | </tbody> |
84 | 84 | </table> |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if (!defined('EVENT_ESPRESSO_VERSION') ) |
|
2 | +if ( ! defined('EVENT_ESPRESSO_VERSION')) |
|
3 | 3 | exit('NO direct script access allowed'); |
4 | 4 | |
5 | 5 | /** |
@@ -139,11 +139,11 @@ discard block |
||
139 | 139 | //Copied from _whats_new() |
140 | 140 | $steps = EE_Maintenance_Mode::instance()->level() != EE_Maintenance_Mode::level_2_complete_maintenance ? $this->_get_started_steps() : FALSE; |
141 | 141 | $steps = $steps !== FALSE ? $steps : ''; |
142 | - $this->_admin_page_title = sprintf( esc_html__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
|
142 | + $this->_admin_page_title = sprintf(esc_html__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION); |
|
143 | 143 | $settings_message = $steps; |
144 | - $this->_template_args['admin_page_subtitle'] = esc_html__('Thank you for choosing Event Espresso, the most powerful, and free, Event Management plugin for WordPress.', 'event_espresso' ) . $settings_message; |
|
145 | - $template = EE_ABOUT_TEMPLATE_PATH . 'ee4-overview.template.php'; |
|
146 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
144 | + $this->_template_args['admin_page_subtitle'] = esc_html__('Thank you for choosing Event Espresso, the most powerful, and free, Event Management plugin for WordPress.', 'event_espresso').$settings_message; |
|
145 | + $template = EE_ABOUT_TEMPLATE_PATH.'ee4-overview.template.php'; |
|
146 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
147 | 147 | $this->display_about_admin_page(); |
148 | 148 | } |
149 | 149 | |
@@ -151,36 +151,36 @@ discard block |
||
151 | 151 | |
152 | 152 | protected function _get_started_steps() { |
153 | 153 | $steps = '<h2>'.esc_html__('Getting Started').'</h2>'; |
154 | - $step_one = '<p>'.sprintf( esc_html__('%sStep 1%s: Visit your %sOrganization Settings%s and add/update your details.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_general_settings">', '</a>') .'</strong></p>'; |
|
155 | - $step_two = '<p>'.sprintf( esc_html__('%sStep 2%s: Setup your %sPayment Methods%s.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_payment_settings">', '</a>') .'</strong></p>'; |
|
156 | - $step_three = '<p>'.sprintf( esc_html__('%sStep 3%s: Create your %sFirst Event%s.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_events&action=create_new">', '</a>') .'</strong></p>'; |
|
154 | + $step_one = '<p>'.sprintf(esc_html__('%sStep 1%s: Visit your %sOrganization Settings%s and add/update your details.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_general_settings">', '</a>').'</strong></p>'; |
|
155 | + $step_two = '<p>'.sprintf(esc_html__('%sStep 2%s: Setup your %sPayment Methods%s.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_payment_settings">', '</a>').'</strong></p>'; |
|
156 | + $step_three = '<p>'.sprintf(esc_html__('%sStep 3%s: Create your %sFirst Event%s.', 'event_espresso'), '<strong>', '</strong>', '<a href="admin.php?page=espresso_events&action=create_new">', '</a>').'</strong></p>'; |
|
157 | 157 | |
158 | 158 | //done? |
159 | 159 | $done_step_one = EE_Registry::instance()->CFG->organization->address_1 == '123 Onna Road' ? FALSE : TRUE; |
160 | - $active_invoice_pm = EEM_Payment_Method::instance()->get_one_active( EEM_Payment_Method::scope_cart, array( array( 'PMD_type' => 'Invoice' ) ) ); |
|
161 | - $active_pms_count = EEM_Payment_Method::instance()->count_active( EEM_Payment_Method::scope_cart ); |
|
160 | + $active_invoice_pm = EEM_Payment_Method::instance()->get_one_active(EEM_Payment_Method::scope_cart, array(array('PMD_type' => 'Invoice'))); |
|
161 | + $active_pms_count = EEM_Payment_Method::instance()->count_active(EEM_Payment_Method::scope_cart); |
|
162 | 162 | //done step two if a non-invoice paymetn method is active; or there is more than one PM active, or |
163 | 163 | //if only the invoice is active but it's clearly been updated |
164 | - $done_step_two = $active_pms_count > 1 || |
|
165 | - ( $active_pms_count === 1 && ! $active_invoice_pm ) || |
|
166 | - ( $active_invoice_pm instanceof EE_Payment_Method && ( |
|
167 | - $active_invoice_pm->get_extra_meta( 'pdf_payee_name', TRUE, '' ) || |
|
168 | - $active_invoice_pm->get_extra_meta( 'pdf_payee_email', TRUE, '' ) || |
|
169 | - $active_invoice_pm->get_extra_meta( 'pdf_payee_tax_number', TRUE, '' ) || |
|
170 | - $active_invoice_pm->get_extra_meta( 'pdf_payee_address', TRUE, '' ) || |
|
171 | - $active_invoice_pm->get_extra_meta( 'page_extra_info', TRUE, '' ) |
|
164 | + $done_step_two = $active_pms_count > 1 || |
|
165 | + ($active_pms_count === 1 && ! $active_invoice_pm) || |
|
166 | + ($active_invoice_pm instanceof EE_Payment_Method && ( |
|
167 | + $active_invoice_pm->get_extra_meta('pdf_payee_name', TRUE, '') || |
|
168 | + $active_invoice_pm->get_extra_meta('pdf_payee_email', TRUE, '') || |
|
169 | + $active_invoice_pm->get_extra_meta('pdf_payee_tax_number', TRUE, '') || |
|
170 | + $active_invoice_pm->get_extra_meta('pdf_payee_address', TRUE, '') || |
|
171 | + $active_invoice_pm->get_extra_meta('page_extra_info', TRUE, '') |
|
172 | 172 | ) |
173 | 173 | ); |
174 | 174 | $done_step_three = EE_Registry::instance()->load_model('Event')->count() > 0 ? TRUE : FALSE; |
175 | 175 | |
176 | 176 | //if ALL steps are done, let's just return FALSE so we don't display anything |
177 | - if ( $done_step_one && $done_step_two && $done_step_three ) |
|
177 | + if ($done_step_one && $done_step_two && $done_step_three) |
|
178 | 178 | return FALSE; |
179 | 179 | |
180 | 180 | //now let's put it together |
181 | - $steps .= sprintf( '%s' . $step_one . '%s', $done_step_one ? '<strike>' : '', $done_step_one ? '</strike>': '' ); |
|
182 | - $steps .= sprintf( '%s' . $step_two . '%s', $done_step_two ? '<strike>' : '', $done_step_two ? '</strike>': '' ); |
|
183 | - $steps .= sprintf( '%s' . $step_three . '%s', $done_step_three ? '<strike>' : '', $done_step_three ? '</strike>': '' ); |
|
181 | + $steps .= sprintf('%s'.$step_one.'%s', $done_step_one ? '<strike>' : '', $done_step_one ? '</strike>' : ''); |
|
182 | + $steps .= sprintf('%s'.$step_two.'%s', $done_step_two ? '<strike>' : '', $done_step_two ? '</strike>' : ''); |
|
183 | + $steps .= sprintf('%s'.$step_three.'%s', $done_step_three ? '<strike>' : '', $done_step_three ? '</strike>' : ''); |
|
184 | 184 | |
185 | 185 | return $steps; |
186 | 186 | } |
@@ -188,27 +188,27 @@ discard block |
||
188 | 188 | |
189 | 189 | |
190 | 190 | protected function _credits() { |
191 | - $this->_template_args['admin_page_title'] = sprintf( __('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
|
191 | + $this->_template_args['admin_page_title'] = sprintf(__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION); |
|
192 | 192 | $this->_template_args['admin_page_subtitle'] = __('Thank you for choosing Event Espresso Decaf, the most powerful, and free, Event Management plugin for WordPress.', 'event_espresso'); |
193 | - $template = EE_ABOUT_TEMPLATE_PATH . 'credits.template.php'; |
|
194 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
193 | + $template = EE_ABOUT_TEMPLATE_PATH.'credits.template.php'; |
|
194 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
195 | 195 | $this->display_about_admin_page(); |
196 | 196 | } |
197 | 197 | |
198 | 198 | |
199 | 199 | protected function _decafvpro() { |
200 | - $this->_template_args['admin_page_title'] = sprintf( __('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION ); |
|
200 | + $this->_template_args['admin_page_title'] = sprintf(__('Welcome to Event Espresso %s', 'event_espresso'), EVENT_ESPRESSO_VERSION); |
|
201 | 201 | $this->_template_args['admin_page_subtitle'] = sprintf(__('Event Espresso lets you focus on doing %swhat you love%s — %sorganizing your events%s', 'event_espresso'), '<em>', '</em>', '<strong>', '</strong>'); |
202 | - $template = EE_ABOUT_TEMPLATE_PATH . 'decafvpro.template.php'; |
|
203 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
202 | + $template = EE_ABOUT_TEMPLATE_PATH.'decafvpro.template.php'; |
|
203 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
204 | 204 | $this->display_about_admin_page(); |
205 | 205 | } |
206 | 206 | |
207 | 207 | protected function _reviews() { |
208 | 208 | $this->_template_args['admin_page_title'] = __('Rave Reviews About Event Espresso 4', 'event_espresso'); |
209 | 209 | $this->_template_args['admin_page_subtitle'] = __('At Event Espresso, customer satisfaction is our ultimate goal.', 'event_espresso'); |
210 | - $template = EE_ABOUT_TEMPLATE_PATH . 'reviews.template.php'; |
|
211 | - $this->_template_args['about_admin_page_content'] = EEH_Template::display_template( $template, $this->_template_args, TRUE ); |
|
210 | + $template = EE_ABOUT_TEMPLATE_PATH.'reviews.template.php'; |
|
211 | + $this->_template_args['about_admin_page_content'] = EEH_Template::display_template($template, $this->_template_args, TRUE); |
|
212 | 212 | $this->display_about_admin_page(); |
213 | 213 | } |
214 | 214 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | use EventEspresso\widgets\EspressoWidget; |
4 | 4 | |
5 | 5 | if ( ! defined('EVENT_ESPRESSO_VERSION')) { |
6 | - exit('No direct script access allowed'); |
|
6 | + exit('No direct script access allowed'); |
|
7 | 7 | } |
8 | 8 | |
9 | 9 | /** |
@@ -26,385 +26,385 @@ discard block |
||
26 | 26 | final class EE_Front_Controller |
27 | 27 | { |
28 | 28 | |
29 | - /** |
|
30 | - * @var string $_template_path |
|
31 | - */ |
|
32 | - private $_template_path; |
|
33 | - |
|
34 | - /** |
|
35 | - * @var string $_template |
|
36 | - */ |
|
37 | - private $_template; |
|
38 | - |
|
39 | - /** |
|
40 | - * @type EE_Registry $Registry |
|
41 | - */ |
|
42 | - protected $Registry; |
|
43 | - |
|
44 | - /** |
|
45 | - * @type EE_Request_Handler $Request_Handler |
|
46 | - */ |
|
47 | - protected $Request_Handler; |
|
48 | - |
|
49 | - /** |
|
50 | - * @type EE_Module_Request_Router $Module_Request_Router |
|
51 | - */ |
|
52 | - protected $Module_Request_Router; |
|
53 | - |
|
54 | - |
|
55 | - /** |
|
56 | - * class constructor |
|
57 | - * should fire after shortcode, module, addon, or other plugin's default priority init phases have run |
|
58 | - * |
|
59 | - * @access public |
|
60 | - * @param \EE_Registry $Registry |
|
61 | - * @param \EE_Request_Handler $Request_Handler |
|
62 | - * @param \EE_Module_Request_Router $Module_Request_Router |
|
63 | - */ |
|
64 | - public function __construct( |
|
65 | - EE_Registry $Registry, |
|
66 | - EE_Request_Handler $Request_Handler, |
|
67 | - EE_Module_Request_Router $Module_Request_Router |
|
68 | - ) { |
|
69 | - $this->Registry = $Registry; |
|
70 | - $this->Request_Handler = $Request_Handler; |
|
71 | - $this->Module_Request_Router = $Module_Request_Router; |
|
72 | - // determine how to integrate WP_Query with the EE models |
|
73 | - add_action('AHEE__EE_System__initialize', array($this, 'employ_CPT_Strategy')); |
|
74 | - // load other resources and begin to actually run shortcodes and modules |
|
75 | - add_action('wp_loaded', array($this, 'wp_loaded'), 5); |
|
76 | - // analyse the incoming WP request |
|
77 | - add_action('parse_request', array($this, 'get_request'), 1, 1); |
|
78 | - // process request with module factory |
|
79 | - add_action('pre_get_posts', array($this, 'pre_get_posts'), 10, 1); |
|
80 | - // before headers sent |
|
81 | - add_action('wp', array($this, 'wp'), 5); |
|
82 | - // primarily used to process any content shortcodes |
|
83 | - add_action('template_redirect', array($this, 'templateRedirect'), 999); |
|
84 | - // header |
|
85 | - add_action('wp_head', array($this, 'header_meta_tag'), 5); |
|
86 | - add_action('wp_print_scripts', array($this, 'wp_print_scripts'), 10); |
|
87 | - add_filter('template_include', array($this, 'template_include'), 1); |
|
88 | - // display errors |
|
89 | - add_action('loop_start', array($this, 'display_errors'), 2); |
|
90 | - // the content |
|
91 | - // add_filter( 'the_content', array( $this, 'the_content' ), 5, 1 ); |
|
92 | - //exclude our private cpt comments |
|
93 | - add_filter('comments_clauses', array($this, 'filter_wp_comments'), 10, 1); |
|
94 | - //make sure any ajax requests will respect the url schema when requests are made against admin-ajax.php (http:// or https://) |
|
95 | - add_filter('admin_url', array($this, 'maybe_force_admin_ajax_ssl'), 200, 1); |
|
96 | - // action hook EE |
|
97 | - do_action('AHEE__EE_Front_Controller__construct__done', $this); |
|
98 | - // for checking that browser cookies are enabled |
|
99 | - if (apply_filters('FHEE__EE_Front_Controller____construct__set_test_cookie', true)) { |
|
100 | - setcookie('ee_cookie_test', uniqid('ect',true), time() + DAY_IN_SECONDS, '/'); |
|
101 | - } |
|
102 | - } |
|
103 | - |
|
104 | - |
|
105 | - /** |
|
106 | - * @return EE_Request_Handler |
|
107 | - */ |
|
108 | - public function Request_Handler() |
|
109 | - { |
|
110 | - return $this->Request_Handler; |
|
111 | - } |
|
112 | - |
|
113 | - |
|
114 | - /** |
|
115 | - * @return EE_Module_Request_Router |
|
116 | - */ |
|
117 | - public function Module_Request_Router() |
|
118 | - { |
|
119 | - return $this->Module_Request_Router; |
|
120 | - } |
|
121 | - |
|
122 | - |
|
123 | - |
|
124 | - /** |
|
125 | - * @return LegacyShortcodesManager |
|
126 | - */ |
|
127 | - public function getLegacyShortcodesManager() |
|
128 | - { |
|
129 | - return EE_Config::getLegacyShortcodesManager(); |
|
130 | - } |
|
131 | - |
|
132 | - |
|
133 | - |
|
134 | - |
|
135 | - |
|
136 | - /*********************************************** INIT ACTION HOOK ***********************************************/ |
|
137 | - |
|
138 | - |
|
139 | - |
|
140 | - /** |
|
141 | - * filter_wp_comments |
|
142 | - * This simply makes sure that any "private" EE CPTs do not have their comments show up in any wp comment |
|
143 | - * widgets/queries done on frontend |
|
144 | - * |
|
145 | - * @param array $clauses array of comment clauses setup by WP_Comment_Query |
|
146 | - * @return array array of comment clauses with modifications. |
|
147 | - */ |
|
148 | - public function filter_wp_comments($clauses) |
|
149 | - { |
|
150 | - global $wpdb; |
|
151 | - if (strpos($clauses['join'], $wpdb->posts) !== false) { |
|
152 | - $cpts = EE_Register_CPTs::get_private_CPTs(); |
|
153 | - foreach ($cpts as $cpt => $details) { |
|
154 | - $clauses['where'] .= $wpdb->prepare(" AND $wpdb->posts.post_type != %s", $cpt); |
|
155 | - } |
|
156 | - } |
|
157 | - return $clauses; |
|
158 | - } |
|
159 | - |
|
160 | - |
|
161 | - /** |
|
162 | - * employ_CPT_Strategy |
|
163 | - * |
|
164 | - * @access public |
|
165 | - * @return void |
|
166 | - */ |
|
167 | - public function employ_CPT_Strategy() |
|
168 | - { |
|
169 | - if (apply_filters('FHEE__EE_Front_Controller__employ_CPT_Strategy', true)) { |
|
170 | - $this->Registry->load_core('CPT_Strategy'); |
|
171 | - } |
|
172 | - } |
|
173 | - |
|
174 | - |
|
175 | - /** |
|
176 | - * this just makes sure that if the site is using ssl that we force that for any admin ajax calls from frontend |
|
177 | - * |
|
178 | - * @param string $url incoming url |
|
179 | - * @return string final assembled url |
|
180 | - */ |
|
181 | - public function maybe_force_admin_ajax_ssl($url) |
|
182 | - { |
|
183 | - if (is_ssl() && preg_match('/admin-ajax.php/', $url)) { |
|
184 | - $url = str_replace('http://', 'https://', $url); |
|
185 | - } |
|
186 | - return $url; |
|
187 | - } |
|
188 | - |
|
189 | - |
|
190 | - |
|
191 | - |
|
192 | - |
|
193 | - |
|
194 | - /*********************************************** WP_LOADED ACTION HOOK ***********************************************/ |
|
195 | - |
|
196 | - |
|
197 | - /** |
|
198 | - * wp_loaded - should fire after shortcode, module, addon, or other plugin's have been registered and their |
|
199 | - * default priority init phases have run |
|
200 | - * |
|
201 | - * @access public |
|
202 | - * @return void |
|
203 | - */ |
|
204 | - public function wp_loaded() |
|
205 | - { |
|
206 | - } |
|
207 | - |
|
208 | - |
|
209 | - |
|
210 | - |
|
211 | - |
|
212 | - /*********************************************** PARSE_REQUEST HOOK ***********************************************/ |
|
213 | - /** |
|
214 | - * _get_request |
|
215 | - * |
|
216 | - * @access public |
|
217 | - * @param WP $WP |
|
218 | - * @return void |
|
219 | - */ |
|
220 | - public function get_request(WP $WP) |
|
221 | - { |
|
222 | - do_action('AHEE__EE_Front_Controller__get_request__start'); |
|
223 | - $this->Request_Handler->parse_request($WP); |
|
224 | - do_action('AHEE__EE_Front_Controller__get_request__complete'); |
|
225 | - } |
|
226 | - |
|
227 | - |
|
228 | - |
|
229 | - /** |
|
230 | - * pre_get_posts - basically a module factory for instantiating modules and selecting the final view template |
|
231 | - * |
|
232 | - * @access public |
|
233 | - * @param WP_Query $WP_Query |
|
234 | - * @return void |
|
235 | - */ |
|
236 | - public function pre_get_posts($WP_Query) |
|
237 | - { |
|
238 | - // only load Module_Request_Router if this is the main query |
|
239 | - if ( |
|
240 | - $this->Module_Request_Router instanceof EE_Module_Request_Router |
|
241 | - && $WP_Query->is_main_query() |
|
242 | - ) { |
|
243 | - // cycle thru module routes |
|
244 | - while ($route = $this->Module_Request_Router->get_route($WP_Query)) { |
|
245 | - // determine module and method for route |
|
246 | - $module = $this->Module_Request_Router->resolve_route($route[0], $route[1]); |
|
247 | - if ($module instanceof EED_Module) { |
|
248 | - // get registered view for route |
|
249 | - $this->_template_path = $this->Module_Request_Router->get_view($route); |
|
250 | - // grab module name |
|
251 | - $module_name = $module->module_name(); |
|
252 | - // map the module to the module objects |
|
253 | - $this->Registry->modules->{$module_name} = $module; |
|
254 | - } |
|
255 | - } |
|
256 | - } |
|
257 | - } |
|
258 | - |
|
259 | - |
|
260 | - |
|
261 | - |
|
262 | - |
|
263 | - /*********************************************** WP HOOK ***********************************************/ |
|
264 | - |
|
265 | - |
|
266 | - /** |
|
267 | - * wp - basically last chance to do stuff before headers sent |
|
268 | - * |
|
269 | - * @access public |
|
270 | - * @return void |
|
271 | - */ |
|
272 | - public function wp() |
|
273 | - { |
|
274 | - } |
|
275 | - |
|
276 | - |
|
277 | - |
|
278 | - /*********************** GET_HEADER && WP_HEAD HOOK ***********************/ |
|
279 | - |
|
280 | - |
|
281 | - |
|
282 | - /** |
|
283 | - * callback for the "template_redirect" hook point |
|
284 | - * checks sidebars for EE widgets |
|
285 | - * loads resources and assets accordingly |
|
286 | - * |
|
287 | - * @return void |
|
288 | - */ |
|
289 | - public function templateRedirect() |
|
290 | - { |
|
291 | - global $wp_query; |
|
292 | - if (empty($wp_query->posts)){ |
|
293 | - return; |
|
294 | - } |
|
295 | - // if we already know this is an espresso page, then load assets |
|
296 | - $load_assets = $this->Request_Handler->is_espresso_page(); |
|
297 | - // if we are already loading assets then just move along, otherwise check for widgets |
|
298 | - $load_assets = $load_assets ? $load_assets : $this->espresso_widgets_in_active_sidebars(); |
|
299 | - if ( $load_assets){ |
|
300 | - add_action('wp_enqueue_scripts', array($this, 'enqueueStyle'), 10); |
|
301 | - add_action('wp_print_footer_scripts', array($this, 'enqueueScripts'), 10); |
|
302 | - } |
|
303 | - } |
|
304 | - |
|
305 | - |
|
306 | - |
|
307 | - /** |
|
308 | - * builds list of active widgets then scans active sidebars looking for them |
|
309 | - * returns true is an EE widget is found in an active sidebar |
|
310 | - * Please Note: this does NOT mean that the sidebar or widget |
|
311 | - * is actually in use in a given template, as that is unfortunately not known |
|
312 | - * until a sidebar and it's widgets are actually loaded |
|
313 | - * |
|
314 | - * @return boolean |
|
315 | - */ |
|
316 | - private function espresso_widgets_in_active_sidebars() |
|
317 | - { |
|
318 | - $espresso_widgets = array(); |
|
319 | - foreach ($this->Registry->widgets as $widget_class => $widget) { |
|
320 | - $id_base = EspressoWidget::getIdBase($widget_class); |
|
321 | - if (is_active_widget(false, false, $id_base)) { |
|
322 | - $espresso_widgets[] = $id_base; |
|
323 | - } |
|
324 | - } |
|
325 | - $all_sidebar_widgets = wp_get_sidebars_widgets(); |
|
326 | - foreach ($all_sidebar_widgets as $sidebar_name => $sidebar_widgets) { |
|
327 | - if (is_array($sidebar_widgets) && ! empty($sidebar_widgets)) { |
|
328 | - foreach ($sidebar_widgets as $sidebar_widget) { |
|
329 | - foreach ($espresso_widgets as $espresso_widget) { |
|
330 | - if (strpos($sidebar_widget, $espresso_widget) !== false) { |
|
331 | - return true; |
|
332 | - } |
|
333 | - } |
|
334 | - } |
|
335 | - } |
|
336 | - } |
|
337 | - return false; |
|
338 | - } |
|
339 | - |
|
340 | - |
|
341 | - |
|
342 | - |
|
343 | - /** |
|
344 | - * header_meta_tag |
|
345 | - * |
|
346 | - * @access public |
|
347 | - * @return void |
|
348 | - */ |
|
349 | - public function header_meta_tag() |
|
350 | - { |
|
351 | - print( |
|
352 | - apply_filters( |
|
353 | - 'FHEE__EE_Front_Controller__header_meta_tag', |
|
354 | - '<meta name="generator" content="Event Espresso Version ' . EVENT_ESPRESSO_VERSION . "\" />\n") |
|
355 | - ); |
|
356 | - |
|
357 | - //let's exclude all event type taxonomy term archive pages from search engine indexing |
|
358 | - //@see https://events.codebasehq.com/projects/event-espresso/tickets/10249 |
|
359 | - //also exclude all critical pages from indexing |
|
360 | - if ( |
|
361 | - ( |
|
362 | - is_tax('espresso_event_type') |
|
363 | - && get_option( 'blog_public' ) !== '0' |
|
364 | - ) |
|
365 | - || is_page(EE_Registry::instance()->CFG->core->get_critical_pages_array()) |
|
366 | - ) { |
|
367 | - print( |
|
368 | - apply_filters( |
|
369 | - 'FHEE__EE_Front_Controller__header_meta_tag__noindex_for_event_type', |
|
370 | - '<meta name="robots" content="noindex,follow" />' . "\n" |
|
371 | - ) |
|
372 | - ); |
|
373 | - } |
|
374 | - } |
|
375 | - |
|
376 | - |
|
377 | - |
|
378 | - /** |
|
379 | - * wp_print_scripts |
|
380 | - * |
|
381 | - * @return void |
|
382 | - */ |
|
383 | - public function wp_print_scripts() |
|
384 | - { |
|
385 | - global $post; |
|
386 | - if ( |
|
387 | - isset($post->EE_Event) |
|
388 | - && $post->EE_Event instanceof EE_Event |
|
389 | - && get_post_type() === 'espresso_events' |
|
390 | - && is_singular() |
|
391 | - ) { |
|
392 | - \EEH_Schema::add_json_linked_data_for_event($post->EE_Event); |
|
393 | - } |
|
394 | - } |
|
395 | - |
|
396 | - |
|
397 | - |
|
398 | - public function enqueueStyle() |
|
399 | - { |
|
400 | - wp_enqueue_style('espresso_default'); |
|
401 | - wp_enqueue_style('espresso_custom_css'); |
|
402 | - } |
|
403 | - |
|
404 | - |
|
405 | - |
|
406 | - |
|
407 | - /*********************************************** THE_CONTENT FILTER HOOK ********************************************** |
|
29 | + /** |
|
30 | + * @var string $_template_path |
|
31 | + */ |
|
32 | + private $_template_path; |
|
33 | + |
|
34 | + /** |
|
35 | + * @var string $_template |
|
36 | + */ |
|
37 | + private $_template; |
|
38 | + |
|
39 | + /** |
|
40 | + * @type EE_Registry $Registry |
|
41 | + */ |
|
42 | + protected $Registry; |
|
43 | + |
|
44 | + /** |
|
45 | + * @type EE_Request_Handler $Request_Handler |
|
46 | + */ |
|
47 | + protected $Request_Handler; |
|
48 | + |
|
49 | + /** |
|
50 | + * @type EE_Module_Request_Router $Module_Request_Router |
|
51 | + */ |
|
52 | + protected $Module_Request_Router; |
|
53 | + |
|
54 | + |
|
55 | + /** |
|
56 | + * class constructor |
|
57 | + * should fire after shortcode, module, addon, or other plugin's default priority init phases have run |
|
58 | + * |
|
59 | + * @access public |
|
60 | + * @param \EE_Registry $Registry |
|
61 | + * @param \EE_Request_Handler $Request_Handler |
|
62 | + * @param \EE_Module_Request_Router $Module_Request_Router |
|
63 | + */ |
|
64 | + public function __construct( |
|
65 | + EE_Registry $Registry, |
|
66 | + EE_Request_Handler $Request_Handler, |
|
67 | + EE_Module_Request_Router $Module_Request_Router |
|
68 | + ) { |
|
69 | + $this->Registry = $Registry; |
|
70 | + $this->Request_Handler = $Request_Handler; |
|
71 | + $this->Module_Request_Router = $Module_Request_Router; |
|
72 | + // determine how to integrate WP_Query with the EE models |
|
73 | + add_action('AHEE__EE_System__initialize', array($this, 'employ_CPT_Strategy')); |
|
74 | + // load other resources and begin to actually run shortcodes and modules |
|
75 | + add_action('wp_loaded', array($this, 'wp_loaded'), 5); |
|
76 | + // analyse the incoming WP request |
|
77 | + add_action('parse_request', array($this, 'get_request'), 1, 1); |
|
78 | + // process request with module factory |
|
79 | + add_action('pre_get_posts', array($this, 'pre_get_posts'), 10, 1); |
|
80 | + // before headers sent |
|
81 | + add_action('wp', array($this, 'wp'), 5); |
|
82 | + // primarily used to process any content shortcodes |
|
83 | + add_action('template_redirect', array($this, 'templateRedirect'), 999); |
|
84 | + // header |
|
85 | + add_action('wp_head', array($this, 'header_meta_tag'), 5); |
|
86 | + add_action('wp_print_scripts', array($this, 'wp_print_scripts'), 10); |
|
87 | + add_filter('template_include', array($this, 'template_include'), 1); |
|
88 | + // display errors |
|
89 | + add_action('loop_start', array($this, 'display_errors'), 2); |
|
90 | + // the content |
|
91 | + // add_filter( 'the_content', array( $this, 'the_content' ), 5, 1 ); |
|
92 | + //exclude our private cpt comments |
|
93 | + add_filter('comments_clauses', array($this, 'filter_wp_comments'), 10, 1); |
|
94 | + //make sure any ajax requests will respect the url schema when requests are made against admin-ajax.php (http:// or https://) |
|
95 | + add_filter('admin_url', array($this, 'maybe_force_admin_ajax_ssl'), 200, 1); |
|
96 | + // action hook EE |
|
97 | + do_action('AHEE__EE_Front_Controller__construct__done', $this); |
|
98 | + // for checking that browser cookies are enabled |
|
99 | + if (apply_filters('FHEE__EE_Front_Controller____construct__set_test_cookie', true)) { |
|
100 | + setcookie('ee_cookie_test', uniqid('ect',true), time() + DAY_IN_SECONDS, '/'); |
|
101 | + } |
|
102 | + } |
|
103 | + |
|
104 | + |
|
105 | + /** |
|
106 | + * @return EE_Request_Handler |
|
107 | + */ |
|
108 | + public function Request_Handler() |
|
109 | + { |
|
110 | + return $this->Request_Handler; |
|
111 | + } |
|
112 | + |
|
113 | + |
|
114 | + /** |
|
115 | + * @return EE_Module_Request_Router |
|
116 | + */ |
|
117 | + public function Module_Request_Router() |
|
118 | + { |
|
119 | + return $this->Module_Request_Router; |
|
120 | + } |
|
121 | + |
|
122 | + |
|
123 | + |
|
124 | + /** |
|
125 | + * @return LegacyShortcodesManager |
|
126 | + */ |
|
127 | + public function getLegacyShortcodesManager() |
|
128 | + { |
|
129 | + return EE_Config::getLegacyShortcodesManager(); |
|
130 | + } |
|
131 | + |
|
132 | + |
|
133 | + |
|
134 | + |
|
135 | + |
|
136 | + /*********************************************** INIT ACTION HOOK ***********************************************/ |
|
137 | + |
|
138 | + |
|
139 | + |
|
140 | + /** |
|
141 | + * filter_wp_comments |
|
142 | + * This simply makes sure that any "private" EE CPTs do not have their comments show up in any wp comment |
|
143 | + * widgets/queries done on frontend |
|
144 | + * |
|
145 | + * @param array $clauses array of comment clauses setup by WP_Comment_Query |
|
146 | + * @return array array of comment clauses with modifications. |
|
147 | + */ |
|
148 | + public function filter_wp_comments($clauses) |
|
149 | + { |
|
150 | + global $wpdb; |
|
151 | + if (strpos($clauses['join'], $wpdb->posts) !== false) { |
|
152 | + $cpts = EE_Register_CPTs::get_private_CPTs(); |
|
153 | + foreach ($cpts as $cpt => $details) { |
|
154 | + $clauses['where'] .= $wpdb->prepare(" AND $wpdb->posts.post_type != %s", $cpt); |
|
155 | + } |
|
156 | + } |
|
157 | + return $clauses; |
|
158 | + } |
|
159 | + |
|
160 | + |
|
161 | + /** |
|
162 | + * employ_CPT_Strategy |
|
163 | + * |
|
164 | + * @access public |
|
165 | + * @return void |
|
166 | + */ |
|
167 | + public function employ_CPT_Strategy() |
|
168 | + { |
|
169 | + if (apply_filters('FHEE__EE_Front_Controller__employ_CPT_Strategy', true)) { |
|
170 | + $this->Registry->load_core('CPT_Strategy'); |
|
171 | + } |
|
172 | + } |
|
173 | + |
|
174 | + |
|
175 | + /** |
|
176 | + * this just makes sure that if the site is using ssl that we force that for any admin ajax calls from frontend |
|
177 | + * |
|
178 | + * @param string $url incoming url |
|
179 | + * @return string final assembled url |
|
180 | + */ |
|
181 | + public function maybe_force_admin_ajax_ssl($url) |
|
182 | + { |
|
183 | + if (is_ssl() && preg_match('/admin-ajax.php/', $url)) { |
|
184 | + $url = str_replace('http://', 'https://', $url); |
|
185 | + } |
|
186 | + return $url; |
|
187 | + } |
|
188 | + |
|
189 | + |
|
190 | + |
|
191 | + |
|
192 | + |
|
193 | + |
|
194 | + /*********************************************** WP_LOADED ACTION HOOK ***********************************************/ |
|
195 | + |
|
196 | + |
|
197 | + /** |
|
198 | + * wp_loaded - should fire after shortcode, module, addon, or other plugin's have been registered and their |
|
199 | + * default priority init phases have run |
|
200 | + * |
|
201 | + * @access public |
|
202 | + * @return void |
|
203 | + */ |
|
204 | + public function wp_loaded() |
|
205 | + { |
|
206 | + } |
|
207 | + |
|
208 | + |
|
209 | + |
|
210 | + |
|
211 | + |
|
212 | + /*********************************************** PARSE_REQUEST HOOK ***********************************************/ |
|
213 | + /** |
|
214 | + * _get_request |
|
215 | + * |
|
216 | + * @access public |
|
217 | + * @param WP $WP |
|
218 | + * @return void |
|
219 | + */ |
|
220 | + public function get_request(WP $WP) |
|
221 | + { |
|
222 | + do_action('AHEE__EE_Front_Controller__get_request__start'); |
|
223 | + $this->Request_Handler->parse_request($WP); |
|
224 | + do_action('AHEE__EE_Front_Controller__get_request__complete'); |
|
225 | + } |
|
226 | + |
|
227 | + |
|
228 | + |
|
229 | + /** |
|
230 | + * pre_get_posts - basically a module factory for instantiating modules and selecting the final view template |
|
231 | + * |
|
232 | + * @access public |
|
233 | + * @param WP_Query $WP_Query |
|
234 | + * @return void |
|
235 | + */ |
|
236 | + public function pre_get_posts($WP_Query) |
|
237 | + { |
|
238 | + // only load Module_Request_Router if this is the main query |
|
239 | + if ( |
|
240 | + $this->Module_Request_Router instanceof EE_Module_Request_Router |
|
241 | + && $WP_Query->is_main_query() |
|
242 | + ) { |
|
243 | + // cycle thru module routes |
|
244 | + while ($route = $this->Module_Request_Router->get_route($WP_Query)) { |
|
245 | + // determine module and method for route |
|
246 | + $module = $this->Module_Request_Router->resolve_route($route[0], $route[1]); |
|
247 | + if ($module instanceof EED_Module) { |
|
248 | + // get registered view for route |
|
249 | + $this->_template_path = $this->Module_Request_Router->get_view($route); |
|
250 | + // grab module name |
|
251 | + $module_name = $module->module_name(); |
|
252 | + // map the module to the module objects |
|
253 | + $this->Registry->modules->{$module_name} = $module; |
|
254 | + } |
|
255 | + } |
|
256 | + } |
|
257 | + } |
|
258 | + |
|
259 | + |
|
260 | + |
|
261 | + |
|
262 | + |
|
263 | + /*********************************************** WP HOOK ***********************************************/ |
|
264 | + |
|
265 | + |
|
266 | + /** |
|
267 | + * wp - basically last chance to do stuff before headers sent |
|
268 | + * |
|
269 | + * @access public |
|
270 | + * @return void |
|
271 | + */ |
|
272 | + public function wp() |
|
273 | + { |
|
274 | + } |
|
275 | + |
|
276 | + |
|
277 | + |
|
278 | + /*********************** GET_HEADER && WP_HEAD HOOK ***********************/ |
|
279 | + |
|
280 | + |
|
281 | + |
|
282 | + /** |
|
283 | + * callback for the "template_redirect" hook point |
|
284 | + * checks sidebars for EE widgets |
|
285 | + * loads resources and assets accordingly |
|
286 | + * |
|
287 | + * @return void |
|
288 | + */ |
|
289 | + public function templateRedirect() |
|
290 | + { |
|
291 | + global $wp_query; |
|
292 | + if (empty($wp_query->posts)){ |
|
293 | + return; |
|
294 | + } |
|
295 | + // if we already know this is an espresso page, then load assets |
|
296 | + $load_assets = $this->Request_Handler->is_espresso_page(); |
|
297 | + // if we are already loading assets then just move along, otherwise check for widgets |
|
298 | + $load_assets = $load_assets ? $load_assets : $this->espresso_widgets_in_active_sidebars(); |
|
299 | + if ( $load_assets){ |
|
300 | + add_action('wp_enqueue_scripts', array($this, 'enqueueStyle'), 10); |
|
301 | + add_action('wp_print_footer_scripts', array($this, 'enqueueScripts'), 10); |
|
302 | + } |
|
303 | + } |
|
304 | + |
|
305 | + |
|
306 | + |
|
307 | + /** |
|
308 | + * builds list of active widgets then scans active sidebars looking for them |
|
309 | + * returns true is an EE widget is found in an active sidebar |
|
310 | + * Please Note: this does NOT mean that the sidebar or widget |
|
311 | + * is actually in use in a given template, as that is unfortunately not known |
|
312 | + * until a sidebar and it's widgets are actually loaded |
|
313 | + * |
|
314 | + * @return boolean |
|
315 | + */ |
|
316 | + private function espresso_widgets_in_active_sidebars() |
|
317 | + { |
|
318 | + $espresso_widgets = array(); |
|
319 | + foreach ($this->Registry->widgets as $widget_class => $widget) { |
|
320 | + $id_base = EspressoWidget::getIdBase($widget_class); |
|
321 | + if (is_active_widget(false, false, $id_base)) { |
|
322 | + $espresso_widgets[] = $id_base; |
|
323 | + } |
|
324 | + } |
|
325 | + $all_sidebar_widgets = wp_get_sidebars_widgets(); |
|
326 | + foreach ($all_sidebar_widgets as $sidebar_name => $sidebar_widgets) { |
|
327 | + if (is_array($sidebar_widgets) && ! empty($sidebar_widgets)) { |
|
328 | + foreach ($sidebar_widgets as $sidebar_widget) { |
|
329 | + foreach ($espresso_widgets as $espresso_widget) { |
|
330 | + if (strpos($sidebar_widget, $espresso_widget) !== false) { |
|
331 | + return true; |
|
332 | + } |
|
333 | + } |
|
334 | + } |
|
335 | + } |
|
336 | + } |
|
337 | + return false; |
|
338 | + } |
|
339 | + |
|
340 | + |
|
341 | + |
|
342 | + |
|
343 | + /** |
|
344 | + * header_meta_tag |
|
345 | + * |
|
346 | + * @access public |
|
347 | + * @return void |
|
348 | + */ |
|
349 | + public function header_meta_tag() |
|
350 | + { |
|
351 | + print( |
|
352 | + apply_filters( |
|
353 | + 'FHEE__EE_Front_Controller__header_meta_tag', |
|
354 | + '<meta name="generator" content="Event Espresso Version ' . EVENT_ESPRESSO_VERSION . "\" />\n") |
|
355 | + ); |
|
356 | + |
|
357 | + //let's exclude all event type taxonomy term archive pages from search engine indexing |
|
358 | + //@see https://events.codebasehq.com/projects/event-espresso/tickets/10249 |
|
359 | + //also exclude all critical pages from indexing |
|
360 | + if ( |
|
361 | + ( |
|
362 | + is_tax('espresso_event_type') |
|
363 | + && get_option( 'blog_public' ) !== '0' |
|
364 | + ) |
|
365 | + || is_page(EE_Registry::instance()->CFG->core->get_critical_pages_array()) |
|
366 | + ) { |
|
367 | + print( |
|
368 | + apply_filters( |
|
369 | + 'FHEE__EE_Front_Controller__header_meta_tag__noindex_for_event_type', |
|
370 | + '<meta name="robots" content="noindex,follow" />' . "\n" |
|
371 | + ) |
|
372 | + ); |
|
373 | + } |
|
374 | + } |
|
375 | + |
|
376 | + |
|
377 | + |
|
378 | + /** |
|
379 | + * wp_print_scripts |
|
380 | + * |
|
381 | + * @return void |
|
382 | + */ |
|
383 | + public function wp_print_scripts() |
|
384 | + { |
|
385 | + global $post; |
|
386 | + if ( |
|
387 | + isset($post->EE_Event) |
|
388 | + && $post->EE_Event instanceof EE_Event |
|
389 | + && get_post_type() === 'espresso_events' |
|
390 | + && is_singular() |
|
391 | + ) { |
|
392 | + \EEH_Schema::add_json_linked_data_for_event($post->EE_Event); |
|
393 | + } |
|
394 | + } |
|
395 | + |
|
396 | + |
|
397 | + |
|
398 | + public function enqueueStyle() |
|
399 | + { |
|
400 | + wp_enqueue_style('espresso_default'); |
|
401 | + wp_enqueue_style('espresso_custom_css'); |
|
402 | + } |
|
403 | + |
|
404 | + |
|
405 | + |
|
406 | + |
|
407 | + /*********************************************** THE_CONTENT FILTER HOOK ********************************************** |
|
408 | 408 | |
409 | 409 | |
410 | 410 | |
@@ -415,108 +415,108 @@ discard block |
||
415 | 415 | // * @param $the_content |
416 | 416 | // * @return string |
417 | 417 | // */ |
418 | - // public function the_content( $the_content ) { |
|
419 | - // // nothing gets loaded at this point unless other systems turn this hookpoint on by using: add_filter( 'FHEE_run_EE_the_content', '__return_true' ); |
|
420 | - // if ( apply_filters( 'FHEE_run_EE_the_content', FALSE ) ) { |
|
421 | - // } |
|
422 | - // return $the_content; |
|
423 | - // } |
|
424 | - |
|
425 | - |
|
426 | - |
|
427 | - /*********************************************** WP_FOOTER ***********************************************/ |
|
428 | - |
|
429 | - |
|
430 | - |
|
431 | - public function enqueueScripts() |
|
432 | - { |
|
433 | - wp_enqueue_script('espresso_core'); |
|
434 | - } |
|
435 | - |
|
436 | - |
|
437 | - |
|
438 | - /** |
|
439 | - * display_errors |
|
440 | - * |
|
441 | - * @access public |
|
442 | - * @return void |
|
443 | - * @throws DomainException |
|
444 | - */ |
|
445 | - public function display_errors() |
|
446 | - { |
|
447 | - static $shown_already = false; |
|
448 | - do_action('AHEE__EE_Front_Controller__display_errors__begin'); |
|
449 | - if ( |
|
450 | - ! $shown_already |
|
451 | - && apply_filters('FHEE__EE_Front_Controller__display_errors', true) |
|
452 | - && is_main_query() |
|
453 | - && ! is_feed() |
|
454 | - && in_the_loop() |
|
455 | - && $this->Request_Handler->is_espresso_page() |
|
456 | - ) { |
|
457 | - echo EE_Error::get_notices(); |
|
458 | - $shown_already = true; |
|
459 | - EEH_Template::display_template(EE_TEMPLATES . 'espresso-ajax-notices.template.php'); |
|
460 | - } |
|
461 | - do_action('AHEE__EE_Front_Controller__display_errors__end'); |
|
462 | - } |
|
463 | - |
|
464 | - |
|
465 | - |
|
466 | - |
|
467 | - |
|
468 | - /*********************************************** UTILITIES ***********************************************/ |
|
469 | - /** |
|
470 | - * template_include |
|
471 | - * |
|
472 | - * @access public |
|
473 | - * @param string $template_include_path |
|
474 | - * @return string |
|
475 | - */ |
|
476 | - public function template_include($template_include_path = null) |
|
477 | - { |
|
478 | - if ($this->Request_Handler->is_espresso_page()) { |
|
479 | - $this->_template_path = ! empty($this->_template_path) ? basename($this->_template_path) : basename($template_include_path); |
|
480 | - $template_path = EEH_Template::locate_template($this->_template_path, array(), false); |
|
481 | - $this->_template_path = ! empty($template_path) ? $template_path : $template_include_path; |
|
482 | - $this->_template = basename($this->_template_path); |
|
483 | - return $this->_template_path; |
|
484 | - } |
|
485 | - return $template_include_path; |
|
486 | - } |
|
487 | - |
|
488 | - |
|
489 | - /** |
|
490 | - * get_selected_template |
|
491 | - * |
|
492 | - * @access public |
|
493 | - * @param bool $with_path |
|
494 | - * @return string |
|
495 | - */ |
|
496 | - public function get_selected_template($with_path = false) |
|
497 | - { |
|
498 | - return $with_path ? $this->_template_path : $this->_template; |
|
499 | - } |
|
500 | - |
|
501 | - |
|
502 | - |
|
503 | - /** |
|
504 | - * @deprecated 4.9.26 |
|
505 | - * @param string $shortcode_class |
|
506 | - * @param \WP $wp |
|
507 | - */ |
|
508 | - public function initialize_shortcode($shortcode_class = '', WP $wp = null) |
|
509 | - { |
|
510 | - \EE_Error::doing_it_wrong( |
|
511 | - __METHOD__, |
|
512 | - __( |
|
513 | - 'Usage is deprecated. Please use \EventEspresso\core\services\shortcodes\LegacyShortcodesManager::initializeShortcode() instead.', |
|
514 | - 'event_espresso' |
|
515 | - ), |
|
516 | - '4.9.26' |
|
517 | - ); |
|
518 | - $this->getLegacyShortcodesManager()->initializeShortcode($shortcode_class, $wp); |
|
519 | - } |
|
418 | + // public function the_content( $the_content ) { |
|
419 | + // // nothing gets loaded at this point unless other systems turn this hookpoint on by using: add_filter( 'FHEE_run_EE_the_content', '__return_true' ); |
|
420 | + // if ( apply_filters( 'FHEE_run_EE_the_content', FALSE ) ) { |
|
421 | + // } |
|
422 | + // return $the_content; |
|
423 | + // } |
|
424 | + |
|
425 | + |
|
426 | + |
|
427 | + /*********************************************** WP_FOOTER ***********************************************/ |
|
428 | + |
|
429 | + |
|
430 | + |
|
431 | + public function enqueueScripts() |
|
432 | + { |
|
433 | + wp_enqueue_script('espresso_core'); |
|
434 | + } |
|
435 | + |
|
436 | + |
|
437 | + |
|
438 | + /** |
|
439 | + * display_errors |
|
440 | + * |
|
441 | + * @access public |
|
442 | + * @return void |
|
443 | + * @throws DomainException |
|
444 | + */ |
|
445 | + public function display_errors() |
|
446 | + { |
|
447 | + static $shown_already = false; |
|
448 | + do_action('AHEE__EE_Front_Controller__display_errors__begin'); |
|
449 | + if ( |
|
450 | + ! $shown_already |
|
451 | + && apply_filters('FHEE__EE_Front_Controller__display_errors', true) |
|
452 | + && is_main_query() |
|
453 | + && ! is_feed() |
|
454 | + && in_the_loop() |
|
455 | + && $this->Request_Handler->is_espresso_page() |
|
456 | + ) { |
|
457 | + echo EE_Error::get_notices(); |
|
458 | + $shown_already = true; |
|
459 | + EEH_Template::display_template(EE_TEMPLATES . 'espresso-ajax-notices.template.php'); |
|
460 | + } |
|
461 | + do_action('AHEE__EE_Front_Controller__display_errors__end'); |
|
462 | + } |
|
463 | + |
|
464 | + |
|
465 | + |
|
466 | + |
|
467 | + |
|
468 | + /*********************************************** UTILITIES ***********************************************/ |
|
469 | + /** |
|
470 | + * template_include |
|
471 | + * |
|
472 | + * @access public |
|
473 | + * @param string $template_include_path |
|
474 | + * @return string |
|
475 | + */ |
|
476 | + public function template_include($template_include_path = null) |
|
477 | + { |
|
478 | + if ($this->Request_Handler->is_espresso_page()) { |
|
479 | + $this->_template_path = ! empty($this->_template_path) ? basename($this->_template_path) : basename($template_include_path); |
|
480 | + $template_path = EEH_Template::locate_template($this->_template_path, array(), false); |
|
481 | + $this->_template_path = ! empty($template_path) ? $template_path : $template_include_path; |
|
482 | + $this->_template = basename($this->_template_path); |
|
483 | + return $this->_template_path; |
|
484 | + } |
|
485 | + return $template_include_path; |
|
486 | + } |
|
487 | + |
|
488 | + |
|
489 | + /** |
|
490 | + * get_selected_template |
|
491 | + * |
|
492 | + * @access public |
|
493 | + * @param bool $with_path |
|
494 | + * @return string |
|
495 | + */ |
|
496 | + public function get_selected_template($with_path = false) |
|
497 | + { |
|
498 | + return $with_path ? $this->_template_path : $this->_template; |
|
499 | + } |
|
500 | + |
|
501 | + |
|
502 | + |
|
503 | + /** |
|
504 | + * @deprecated 4.9.26 |
|
505 | + * @param string $shortcode_class |
|
506 | + * @param \WP $wp |
|
507 | + */ |
|
508 | + public function initialize_shortcode($shortcode_class = '', WP $wp = null) |
|
509 | + { |
|
510 | + \EE_Error::doing_it_wrong( |
|
511 | + __METHOD__, |
|
512 | + __( |
|
513 | + 'Usage is deprecated. Please use \EventEspresso\core\services\shortcodes\LegacyShortcodesManager::initializeShortcode() instead.', |
|
514 | + 'event_espresso' |
|
515 | + ), |
|
516 | + '4.9.26' |
|
517 | + ); |
|
518 | + $this->getLegacyShortcodesManager()->initializeShortcode($shortcode_class, $wp); |
|
519 | + } |
|
520 | 520 | |
521 | 521 | } |
522 | 522 | // End of file EE_Front_Controller.core.php |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | do_action('AHEE__EE_Front_Controller__construct__done', $this); |
98 | 98 | // for checking that browser cookies are enabled |
99 | 99 | if (apply_filters('FHEE__EE_Front_Controller____construct__set_test_cookie', true)) { |
100 | - setcookie('ee_cookie_test', uniqid('ect',true), time() + DAY_IN_SECONDS, '/'); |
|
100 | + setcookie('ee_cookie_test', uniqid('ect', true), time() + DAY_IN_SECONDS, '/'); |
|
101 | 101 | } |
102 | 102 | } |
103 | 103 | |
@@ -289,14 +289,14 @@ discard block |
||
289 | 289 | public function templateRedirect() |
290 | 290 | { |
291 | 291 | global $wp_query; |
292 | - if (empty($wp_query->posts)){ |
|
292 | + if (empty($wp_query->posts)) { |
|
293 | 293 | return; |
294 | 294 | } |
295 | 295 | // if we already know this is an espresso page, then load assets |
296 | 296 | $load_assets = $this->Request_Handler->is_espresso_page(); |
297 | 297 | // if we are already loading assets then just move along, otherwise check for widgets |
298 | 298 | $load_assets = $load_assets ? $load_assets : $this->espresso_widgets_in_active_sidebars(); |
299 | - if ( $load_assets){ |
|
299 | + if ($load_assets) { |
|
300 | 300 | add_action('wp_enqueue_scripts', array($this, 'enqueueStyle'), 10); |
301 | 301 | add_action('wp_print_footer_scripts', array($this, 'enqueueScripts'), 10); |
302 | 302 | } |
@@ -351,7 +351,7 @@ discard block |
||
351 | 351 | print( |
352 | 352 | apply_filters( |
353 | 353 | 'FHEE__EE_Front_Controller__header_meta_tag', |
354 | - '<meta name="generator" content="Event Espresso Version ' . EVENT_ESPRESSO_VERSION . "\" />\n") |
|
354 | + '<meta name="generator" content="Event Espresso Version '.EVENT_ESPRESSO_VERSION."\" />\n") |
|
355 | 355 | ); |
356 | 356 | |
357 | 357 | //let's exclude all event type taxonomy term archive pages from search engine indexing |
@@ -360,14 +360,14 @@ discard block |
||
360 | 360 | if ( |
361 | 361 | ( |
362 | 362 | is_tax('espresso_event_type') |
363 | - && get_option( 'blog_public' ) !== '0' |
|
363 | + && get_option('blog_public') !== '0' |
|
364 | 364 | ) |
365 | 365 | || is_page(EE_Registry::instance()->CFG->core->get_critical_pages_array()) |
366 | 366 | ) { |
367 | 367 | print( |
368 | 368 | apply_filters( |
369 | 369 | 'FHEE__EE_Front_Controller__header_meta_tag__noindex_for_event_type', |
370 | - '<meta name="robots" content="noindex,follow" />' . "\n" |
|
370 | + '<meta name="robots" content="noindex,follow" />'."\n" |
|
371 | 371 | ) |
372 | 372 | ); |
373 | 373 | } |
@@ -456,7 +456,7 @@ discard block |
||
456 | 456 | ) { |
457 | 457 | echo EE_Error::get_notices(); |
458 | 458 | $shown_already = true; |
459 | - EEH_Template::display_template(EE_TEMPLATES . 'espresso-ajax-notices.template.php'); |
|
459 | + EEH_Template::display_template(EE_TEMPLATES.'espresso-ajax-notices.template.php'); |
|
460 | 460 | } |
461 | 461 | do_action('AHEE__EE_Front_Controller__display_errors__end'); |
462 | 462 | } |
@@ -18,122 +18,122 @@ |
||
18 | 18 | class EE_Register_Payment_Method implements EEI_Plugin_API |
19 | 19 | { |
20 | 20 | |
21 | - /** |
|
22 | - * Holds values for registered payment methods |
|
23 | - * |
|
24 | - * @var array |
|
25 | - */ |
|
26 | - protected static $_settings = array(); |
|
21 | + /** |
|
22 | + * Holds values for registered payment methods |
|
23 | + * |
|
24 | + * @var array |
|
25 | + */ |
|
26 | + protected static $_settings = array(); |
|
27 | 27 | |
28 | 28 | |
29 | 29 | |
30 | - /** |
|
31 | - * Method for registering new EE_PMT_Base children |
|
32 | - * |
|
33 | - * @since 4.5.0 |
|
34 | - * @param string $payment_method_id a unique identifier for this set of modules Required. |
|
35 | - * @param array $setup_args an array of arguments provided for registering modules Required.{ |
|
36 | - * @type string[] $payment_method_paths each element is the folder containing the EE_PMT_Base child class |
|
37 | - * (eg, 'public_html/wp-content/plugins/my_plugin/Payomatic/' which contains |
|
38 | - * the files EE_PMT_Payomatic.pm.php) |
|
39 | - * } |
|
40 | - * @throws EE_Error |
|
41 | - * @type array payment_method_paths an array of full server paths to folders containing any EE_PMT_Base |
|
42 | - * children, or to the EED_Module files themselves |
|
43 | - * @return void |
|
44 | - */ |
|
45 | - public static function register($payment_method_id = null, $setup_args = array()) |
|
46 | - { |
|
47 | - //required fields MUST be present, so let's make sure they are. |
|
48 | - if (empty($payment_method_id) || ! is_array($setup_args) || empty($setup_args['payment_method_paths'])) { |
|
49 | - throw new EE_Error( |
|
50 | - esc_html__( |
|
51 | - 'In order to register Payment Methods with EE_Register_Payment_Method::register(), you must include a "payment_method_id" (a unique identifier for this set of modules), and an array containing the following keys: "payment_method_paths" (an array of full server paths to folders that contain modules, or to the module files themselves)', |
|
52 | - 'event_espresso' |
|
53 | - ) |
|
54 | - ); |
|
55 | - } |
|
56 | - //make sure we don't register twice |
|
57 | - if (isset(self::$_settings[$payment_method_id])) { |
|
58 | - return; |
|
59 | - } |
|
60 | - //make sure this was called in the right place! |
|
61 | - if ( |
|
62 | - ! did_action('AHEE__EE_System__load_espresso_addons') |
|
63 | - || did_action('AHEE__EE_System__register_shortcodes_modules_and_widgets') |
|
64 | - ) { |
|
65 | - EE_Error::doing_it_wrong( |
|
66 | - __METHOD__, |
|
67 | - esc_html__( |
|
68 | - 'An attempt to register modules has failed because it was not registered at the correct time. Please use the "AHEE__EE_System__register_shortcodes_modules_and_widgets" hook to register modules.', |
|
69 | - 'event_espresso' |
|
70 | - ), |
|
71 | - '4.3.0' |
|
72 | - ); |
|
73 | - } |
|
74 | - //setup $_settings array from incoming values. |
|
75 | - self::$_settings[$payment_method_id] = array( |
|
76 | - // array of full server paths to any EE_PMT_Base children used |
|
77 | - 'payment_method_paths' => isset($setup_args['payment_method_paths']) |
|
78 | - ? (array)$setup_args['payment_method_paths'] |
|
79 | - : array(), |
|
80 | - ); |
|
81 | - // add to list of modules to be registered |
|
82 | - add_filter( |
|
83 | - 'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register', |
|
84 | - array('EE_Register_Payment_Method', 'add_payment_methods') |
|
85 | - ); |
|
86 | - /** |
|
87 | - * If EE_Payment_Method_Manager::register_payment_methods has already been called, |
|
88 | - * we need it to be called again (because it's missing the payment method we JUST registered here). |
|
89 | - * We are assuming EE_Register_payment_method::register() will be called only once |
|
90 | - * per payment method from an addon, so going with that assumption we should always do this. |
|
91 | - * If that assumption is false, we should verify this newly-registered payment method |
|
92 | - * isn't on the EE_Payment_Method_Manager::_payment_method_types array before calling this |
|
93 | - * (this code should be changed to improve performance) |
|
94 | - */ |
|
95 | - if (did_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods')) { |
|
96 | - EE_Registry::instance()->load_lib('Payment_Method_Manager'); |
|
97 | - EE_Payment_Method_Manager::instance()->maybe_register_payment_methods(true); |
|
98 | - } |
|
99 | - } |
|
30 | + /** |
|
31 | + * Method for registering new EE_PMT_Base children |
|
32 | + * |
|
33 | + * @since 4.5.0 |
|
34 | + * @param string $payment_method_id a unique identifier for this set of modules Required. |
|
35 | + * @param array $setup_args an array of arguments provided for registering modules Required.{ |
|
36 | + * @type string[] $payment_method_paths each element is the folder containing the EE_PMT_Base child class |
|
37 | + * (eg, 'public_html/wp-content/plugins/my_plugin/Payomatic/' which contains |
|
38 | + * the files EE_PMT_Payomatic.pm.php) |
|
39 | + * } |
|
40 | + * @throws EE_Error |
|
41 | + * @type array payment_method_paths an array of full server paths to folders containing any EE_PMT_Base |
|
42 | + * children, or to the EED_Module files themselves |
|
43 | + * @return void |
|
44 | + */ |
|
45 | + public static function register($payment_method_id = null, $setup_args = array()) |
|
46 | + { |
|
47 | + //required fields MUST be present, so let's make sure they are. |
|
48 | + if (empty($payment_method_id) || ! is_array($setup_args) || empty($setup_args['payment_method_paths'])) { |
|
49 | + throw new EE_Error( |
|
50 | + esc_html__( |
|
51 | + 'In order to register Payment Methods with EE_Register_Payment_Method::register(), you must include a "payment_method_id" (a unique identifier for this set of modules), and an array containing the following keys: "payment_method_paths" (an array of full server paths to folders that contain modules, or to the module files themselves)', |
|
52 | + 'event_espresso' |
|
53 | + ) |
|
54 | + ); |
|
55 | + } |
|
56 | + //make sure we don't register twice |
|
57 | + if (isset(self::$_settings[$payment_method_id])) { |
|
58 | + return; |
|
59 | + } |
|
60 | + //make sure this was called in the right place! |
|
61 | + if ( |
|
62 | + ! did_action('AHEE__EE_System__load_espresso_addons') |
|
63 | + || did_action('AHEE__EE_System__register_shortcodes_modules_and_widgets') |
|
64 | + ) { |
|
65 | + EE_Error::doing_it_wrong( |
|
66 | + __METHOD__, |
|
67 | + esc_html__( |
|
68 | + 'An attempt to register modules has failed because it was not registered at the correct time. Please use the "AHEE__EE_System__register_shortcodes_modules_and_widgets" hook to register modules.', |
|
69 | + 'event_espresso' |
|
70 | + ), |
|
71 | + '4.3.0' |
|
72 | + ); |
|
73 | + } |
|
74 | + //setup $_settings array from incoming values. |
|
75 | + self::$_settings[$payment_method_id] = array( |
|
76 | + // array of full server paths to any EE_PMT_Base children used |
|
77 | + 'payment_method_paths' => isset($setup_args['payment_method_paths']) |
|
78 | + ? (array)$setup_args['payment_method_paths'] |
|
79 | + : array(), |
|
80 | + ); |
|
81 | + // add to list of modules to be registered |
|
82 | + add_filter( |
|
83 | + 'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register', |
|
84 | + array('EE_Register_Payment_Method', 'add_payment_methods') |
|
85 | + ); |
|
86 | + /** |
|
87 | + * If EE_Payment_Method_Manager::register_payment_methods has already been called, |
|
88 | + * we need it to be called again (because it's missing the payment method we JUST registered here). |
|
89 | + * We are assuming EE_Register_payment_method::register() will be called only once |
|
90 | + * per payment method from an addon, so going with that assumption we should always do this. |
|
91 | + * If that assumption is false, we should verify this newly-registered payment method |
|
92 | + * isn't on the EE_Payment_Method_Manager::_payment_method_types array before calling this |
|
93 | + * (this code should be changed to improve performance) |
|
94 | + */ |
|
95 | + if (did_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods')) { |
|
96 | + EE_Registry::instance()->load_lib('Payment_Method_Manager'); |
|
97 | + EE_Payment_Method_Manager::instance()->maybe_register_payment_methods(true); |
|
98 | + } |
|
99 | + } |
|
100 | 100 | |
101 | 101 | |
102 | 102 | |
103 | - /** |
|
104 | - * Filters the list of payment methods to add ours. |
|
105 | - * and they're just full filepaths to FOLDERS containing a payment method class file. Eg. |
|
106 | - * |
|
107 | - * @param array $payment_method_folders array of paths to all payment methods that require registering |
|
108 | - * @return array |
|
109 | - */ |
|
110 | - public static function add_payment_methods($payment_method_folders) |
|
111 | - { |
|
112 | - foreach (self::$_settings as $settings) { |
|
113 | - $payment_method_folders = array_merge( |
|
114 | - $payment_method_folders, |
|
115 | - $settings['payment_method_paths'] |
|
116 | - ); |
|
117 | - } |
|
118 | - return $payment_method_folders; |
|
119 | - } |
|
103 | + /** |
|
104 | + * Filters the list of payment methods to add ours. |
|
105 | + * and they're just full filepaths to FOLDERS containing a payment method class file. Eg. |
|
106 | + * |
|
107 | + * @param array $payment_method_folders array of paths to all payment methods that require registering |
|
108 | + * @return array |
|
109 | + */ |
|
110 | + public static function add_payment_methods($payment_method_folders) |
|
111 | + { |
|
112 | + foreach (self::$_settings as $settings) { |
|
113 | + $payment_method_folders = array_merge( |
|
114 | + $payment_method_folders, |
|
115 | + $settings['payment_method_paths'] |
|
116 | + ); |
|
117 | + } |
|
118 | + return $payment_method_folders; |
|
119 | + } |
|
120 | 120 | |
121 | 121 | |
122 | 122 | |
123 | - /** |
|
124 | - * This deregisters a module that was previously registered with a specific $module_id. |
|
125 | - * |
|
126 | - * @since 4.3.0 |
|
127 | - * |
|
128 | - * @param string $module_id the name for the module that was previously registered |
|
129 | - * @return void |
|
130 | - */ |
|
131 | - public static function deregister($module_id = null) |
|
132 | - { |
|
133 | - if (isset(self::$_settings[$module_id])) { |
|
134 | - unset(self::$_settings[$module_id]); |
|
135 | - } |
|
136 | - } |
|
123 | + /** |
|
124 | + * This deregisters a module that was previously registered with a specific $module_id. |
|
125 | + * |
|
126 | + * @since 4.3.0 |
|
127 | + * |
|
128 | + * @param string $module_id the name for the module that was previously registered |
|
129 | + * @return void |
|
130 | + */ |
|
131 | + public static function deregister($module_id = null) |
|
132 | + { |
|
133 | + if (isset(self::$_settings[$module_id])) { |
|
134 | + unset(self::$_settings[$module_id]); |
|
135 | + } |
|
136 | + } |
|
137 | 137 | |
138 | 138 | } |
139 | 139 | // End of file EE_Register_Payment_Method.lib.php |
@@ -75,7 +75,7 @@ |
||
75 | 75 | self::$_settings[$payment_method_id] = array( |
76 | 76 | // array of full server paths to any EE_PMT_Base children used |
77 | 77 | 'payment_method_paths' => isset($setup_args['payment_method_paths']) |
78 | - ? (array)$setup_args['payment_method_paths'] |
|
78 | + ? (array) $setup_args['payment_method_paths'] |
|
79 | 79 | : array(), |
80 | 80 | ); |
81 | 81 | // add to list of modules to be registered |
@@ -17,420 +17,420 @@ discard block |
||
17 | 17 | class EE_Payment_Method_Manager |
18 | 18 | { |
19 | 19 | |
20 | - /** |
|
21 | - * @var EE_Payment_Method_Manager $_instance |
|
22 | - */ |
|
23 | - private static $_instance; |
|
24 | - |
|
25 | - /** |
|
26 | - * @var array keys are class names without 'EE_PMT_', values are their filepaths |
|
27 | - */ |
|
28 | - protected $_payment_method_types = array(); |
|
29 | - |
|
30 | - |
|
31 | - |
|
32 | - /** |
|
33 | - * @singleton method used to instantiate class object |
|
34 | - * @return EE_Payment_Method_Manager instance |
|
35 | - */ |
|
36 | - public static function instance() |
|
37 | - { |
|
38 | - // check if class object is instantiated, and instantiated properly |
|
39 | - if (! self::$_instance instanceof EE_Payment_Method_Manager) { |
|
40 | - self::$_instance = new self(); |
|
41 | - } |
|
42 | - EE_Registry::instance()->load_lib('PMT_Base'); |
|
43 | - return self::$_instance; |
|
44 | - } |
|
45 | - |
|
46 | - |
|
47 | - |
|
48 | - /** |
|
49 | - * Resets the instance and returns a new one |
|
50 | - * |
|
51 | - * @return EE_Payment_Method_Manager |
|
52 | - */ |
|
53 | - public static function reset() |
|
54 | - { |
|
55 | - self::$_instance = null; |
|
56 | - return self::instance(); |
|
57 | - } |
|
58 | - |
|
59 | - |
|
60 | - |
|
61 | - /** |
|
62 | - * If necessary, re-register payment methods |
|
63 | - * |
|
64 | - * @param boolean $force_recheck whether to recheck for payment method types, |
|
65 | - * or just re-use the PMTs we found last time we checked during this request (if |
|
66 | - * we have not yet checked during this request, then we need to check anyways) |
|
67 | - */ |
|
68 | - public function maybe_register_payment_methods($force_recheck = false) |
|
69 | - { |
|
70 | - if (! $this->_payment_method_types || $force_recheck) { |
|
71 | - $this->_register_payment_methods(); |
|
72 | - //if in admin lets ensure caps are set. |
|
73 | - if (is_admin()) { |
|
74 | - add_filter('FHEE__EE_Capabilities__init_caps_map__caps', array($this, 'add_payment_method_caps')); |
|
75 | - EE_Registry::instance()->CAP->init_caps(); |
|
76 | - } |
|
77 | - } |
|
78 | - } |
|
79 | - |
|
80 | - |
|
81 | - |
|
82 | - /** |
|
83 | - * register_payment_methods |
|
84 | - * |
|
85 | - * @return array |
|
86 | - */ |
|
87 | - protected function _register_payment_methods() |
|
88 | - { |
|
89 | - // grab list of installed modules |
|
90 | - $pm_to_register = glob(EE_PAYMENT_METHODS . '*', GLOB_ONLYDIR); |
|
91 | - // filter list of modules to register |
|
92 | - $pm_to_register = apply_filters( |
|
93 | - 'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register', |
|
94 | - $pm_to_register |
|
95 | - ); |
|
96 | - // loop through folders |
|
97 | - foreach ($pm_to_register as $pm_path) { |
|
98 | - $this->register_payment_method($pm_path); |
|
99 | - } |
|
100 | - do_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods'); |
|
101 | - // filter list of installed modules |
|
102 | - //keep them organized alphabetically by the payment method type's name |
|
103 | - ksort($this->_payment_method_types); |
|
104 | - return apply_filters( |
|
105 | - 'FHEE__EE_Payment_Method_Manager__register_payment_methods__installed_payment_methods', |
|
106 | - $this->_payment_method_types |
|
107 | - ); |
|
108 | - } |
|
109 | - |
|
110 | - |
|
111 | - |
|
112 | - /** |
|
113 | - * register_payment_method- makes core aware of this payment method |
|
114 | - * |
|
115 | - * @param string $payment_method_path - full path up to and including payment method folder |
|
116 | - * @return boolean |
|
117 | - */ |
|
118 | - public function register_payment_method($payment_method_path = '') |
|
119 | - { |
|
120 | - do_action('AHEE__EE_Payment_Method_Manager__register_payment_method__begin', $payment_method_path); |
|
121 | - $module_ext = '.pm.php'; |
|
122 | - // make all separators match |
|
123 | - $payment_method_path = rtrim(str_replace('/\\', DS, $payment_method_path), DS); |
|
124 | - // grab and sanitize module name |
|
125 | - $module_dir = basename($payment_method_path); |
|
126 | - // create classname from module directory name |
|
127 | - $module = str_replace(array('_', ' '), array(' ', '_'), $module_dir); |
|
128 | - // add class prefix |
|
129 | - $module_class = 'EE_PMT_' . $module; |
|
130 | - // does the module exist ? |
|
131 | - if (! is_readable($payment_method_path . DS . $module_class . $module_ext)) { |
|
132 | - $msg = sprintf( |
|
133 | - esc_html__( |
|
134 | - 'The requested %s payment method file could not be found or is not readable due to file permissions.', |
|
135 | - 'event_espresso' |
|
136 | - ), $module |
|
137 | - ); |
|
138 | - EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
139 | - return false; |
|
140 | - } |
|
141 | - // load the module class file |
|
142 | - require_once($payment_method_path . DS . $module_class . $module_ext); |
|
143 | - // verify that class exists |
|
144 | - if (! class_exists($module_class)) { |
|
145 | - $msg = sprintf( |
|
146 | - esc_html__('The requested %s module class does not exist.', 'event_espresso'), |
|
147 | - $module_class |
|
148 | - ); |
|
149 | - EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
150 | - return false; |
|
151 | - } |
|
152 | - // add to array of registered modules |
|
153 | - $this->_payment_method_types[$module] = $payment_method_path . DS . $module_class . $module_ext; |
|
154 | - return true; |
|
155 | - } |
|
156 | - |
|
157 | - |
|
158 | - |
|
159 | - /** |
|
160 | - * Checks if a payment method has been registered, and if so includes it |
|
161 | - * |
|
162 | - * @param string $payment_method_name like 'PayPal_Pro', (ie classname without the prefix 'EEPM_') |
|
163 | - * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
164 | - * @return boolean |
|
165 | - */ |
|
166 | - public function payment_method_type_exists($payment_method_name, $force_recheck = false) |
|
167 | - { |
|
168 | - if ( |
|
169 | - $force_recheck |
|
170 | - || ! is_array($this->_payment_method_types) |
|
171 | - || ! isset($this->_payment_method_types[$payment_method_name]) |
|
172 | - ) { |
|
173 | - $this->maybe_register_payment_methods($force_recheck); |
|
174 | - } |
|
175 | - if (isset($this->_payment_method_types[$payment_method_name])) { |
|
176 | - require_once($this->_payment_method_types[$payment_method_name]); |
|
177 | - return true; |
|
178 | - } |
|
179 | - return false; |
|
180 | - } |
|
181 | - |
|
182 | - |
|
183 | - |
|
184 | - /** |
|
185 | - * Returns all the class names of the various payment method types |
|
186 | - * |
|
187 | - * @param boolean $with_prefixes TRUE: get payment method type class names; false just their 'names' |
|
188 | - * (what you'd find in wp_esp_payment_method.PMD_type) |
|
189 | - * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
190 | - * @return array |
|
191 | - */ |
|
192 | - public function payment_method_type_names($with_prefixes = false, $force_recheck = false) |
|
193 | - { |
|
194 | - $this->maybe_register_payment_methods($force_recheck); |
|
195 | - if ($with_prefixes) { |
|
196 | - $classnames = array_keys($this->_payment_method_types); |
|
197 | - $payment_methods = array(); |
|
198 | - foreach ($classnames as $classname) { |
|
199 | - $payment_methods[] = $this->payment_method_class_from_type($classname); |
|
200 | - } |
|
201 | - return $payment_methods; |
|
202 | - } |
|
203 | - return array_keys($this->_payment_method_types); |
|
204 | - } |
|
205 | - |
|
206 | - |
|
207 | - |
|
208 | - /** |
|
209 | - * Gets an object of each payment method type, none of which are bound to a |
|
210 | - * payment method instance |
|
211 | - * |
|
212 | - * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
213 | - * @return EE_PMT_Base[] |
|
214 | - */ |
|
215 | - public function payment_method_types($force_recheck = false) |
|
216 | - { |
|
217 | - $this->maybe_register_payment_methods($force_recheck); |
|
218 | - $payment_method_objects = array(); |
|
219 | - foreach ($this->payment_method_type_names(true) as $classname) { |
|
220 | - $payment_method_objects[] = new $classname; |
|
221 | - } |
|
222 | - return $payment_method_objects; |
|
223 | - } |
|
224 | - |
|
225 | - |
|
226 | - |
|
227 | - /** |
|
228 | - * Changes the payment method's classname into the payment method type's name |
|
229 | - * (as used on the payment method's table's PMD_type field) |
|
230 | - * |
|
231 | - * @param string $classname |
|
232 | - * @return string |
|
233 | - */ |
|
234 | - public function payment_method_type_sans_class_prefix($classname) |
|
235 | - { |
|
236 | - return str_replace('EE_PMT_', '', $classname); |
|
237 | - } |
|
238 | - |
|
239 | - |
|
240 | - |
|
241 | - /** |
|
242 | - * Does the opposite of payment-method_type_sans_prefix |
|
243 | - * |
|
244 | - * @param string $type |
|
245 | - * @return string |
|
246 | - */ |
|
247 | - public function payment_method_class_from_type($type) |
|
248 | - { |
|
249 | - $this->maybe_register_payment_methods(); |
|
250 | - return 'EE_PMT_' . $type; |
|
251 | - } |
|
252 | - |
|
253 | - |
|
254 | - |
|
255 | - /** |
|
256 | - * Activates a payment method of the given type. |
|
257 | - * |
|
258 | - * @param string $payment_method_type the PMT_type; for EE_PMT_Invoice this would be 'Invoice' |
|
259 | - * @return EE_Payment_Method |
|
260 | - * @throws EE_Error |
|
261 | - */ |
|
262 | - public function activate_a_payment_method_of_type($payment_method_type) |
|
263 | - { |
|
264 | - $payment_method = EEM_Payment_Method::instance()->get_one_of_type($payment_method_type); |
|
265 | - if (! $payment_method instanceof EE_Payment_Method) { |
|
266 | - $pm_type_class = $this->payment_method_class_from_type($payment_method_type); |
|
267 | - if (class_exists($pm_type_class)) { |
|
268 | - /** @var $pm_type_obj EE_PMT_Base */ |
|
269 | - $pm_type_obj = new $pm_type_class; |
|
270 | - $payment_method = EEM_Payment_Method::instance()->get_one_by_slug($pm_type_obj->system_name()); |
|
271 | - if (! $payment_method) { |
|
272 | - $payment_method = $this->create_payment_method_of_type($pm_type_obj); |
|
273 | - } |
|
274 | - $payment_method->set_type($payment_method_type); |
|
275 | - $this->initialize_payment_method($payment_method); |
|
276 | - } else { |
|
277 | - throw new EE_Error( |
|
278 | - sprintf( |
|
279 | - esc_html__( |
|
280 | - 'There is no payment method of type %1$s, so it could not be activated', |
|
281 | - 'event_espresso' |
|
282 | - ), |
|
283 | - $pm_type_class |
|
284 | - ) |
|
285 | - ); |
|
286 | - } |
|
287 | - } |
|
288 | - $payment_method->set_active(); |
|
289 | - $payment_method->save(); |
|
290 | - if ($payment_method->type() === 'Invoice') { |
|
291 | - /** @type EE_Message_Resource_Manager $message_resource_manager */ |
|
292 | - $message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
293 | - $message_resource_manager->ensure_message_type_is_active('invoice', 'html'); |
|
294 | - $message_resource_manager->ensure_messenger_is_active('pdf'); |
|
295 | - EE_Error::add_persistent_admin_notice( |
|
296 | - 'invoice_pm_requirements_notice', |
|
297 | - sprintf( |
|
298 | - esc_html__( |
|
299 | - 'The Invoice payment method has been activated. It requires the invoice message type, html messenger, and pdf messenger be activated as well for the %1$smessages system%2$s, so it has been automatically verified that they are also active.', |
|
300 | - 'event_espresso' |
|
301 | - ), |
|
302 | - '<a href="' . admin_url('admin.php?page=espresso_messages') . '">', |
|
303 | - '</a>' |
|
304 | - ), |
|
305 | - true |
|
306 | - ); |
|
307 | - } |
|
308 | - return $payment_method; |
|
309 | - } |
|
310 | - |
|
311 | - |
|
312 | - |
|
313 | - /** |
|
314 | - * Creates a payment method of the specified type. Does not save it. |
|
315 | - * |
|
316 | - * @global WP_User $current_user |
|
317 | - * @param EE_PMT_Base $pm_type_obj |
|
318 | - * @return EE_Payment_Method |
|
319 | - * @throws EE_Error |
|
320 | - */ |
|
321 | - public function create_payment_method_of_type($pm_type_obj) |
|
322 | - { |
|
323 | - global $current_user; |
|
324 | - $payment_method = EE_Payment_Method::new_instance( |
|
325 | - array( |
|
326 | - 'PMD_type' => $pm_type_obj->system_name(), |
|
327 | - 'PMD_name' => $pm_type_obj->pretty_name(), |
|
328 | - 'PMD_admin_name' => $pm_type_obj->pretty_name(), |
|
329 | - 'PMD_slug' => $pm_type_obj->system_name(),//automatically converted to slug |
|
330 | - 'PMD_wp_user' => $current_user->ID, |
|
331 | - 'PMD_order' => EEM_Payment_Method::instance()->count( |
|
332 | - array(array('PMD_type' => array('!=', 'Admin_Only'))) |
|
333 | - ) * 10, |
|
334 | - ) |
|
335 | - ); |
|
336 | - return $payment_method; |
|
337 | - } |
|
338 | - |
|
339 | - |
|
340 | - |
|
341 | - /** |
|
342 | - * Sets the initial payment method properties (including extra meta) |
|
343 | - * |
|
344 | - * @param EE_Payment_Method $payment_method |
|
345 | - * @return EE_Payment_Method |
|
346 | - * @throws EE_Error |
|
347 | - */ |
|
348 | - public function initialize_payment_method($payment_method) |
|
349 | - { |
|
350 | - $pm_type_obj = $payment_method->type_obj(); |
|
351 | - $payment_method->set_description($pm_type_obj->default_description()); |
|
352 | - if (! $payment_method->button_url()) { |
|
353 | - $payment_method->set_button_url($pm_type_obj->default_button_url()); |
|
354 | - } |
|
355 | - //now add setup its default extra meta properties |
|
356 | - $extra_metas = $pm_type_obj->settings_form()->extra_meta_inputs(); |
|
357 | - if (! empty($extra_metas)) { |
|
358 | - //verify the payment method has an ID before adding extra meta |
|
359 | - if (! $payment_method->ID()) { |
|
360 | - $payment_method->save(); |
|
361 | - } |
|
362 | - foreach ($extra_metas as $meta_name => $input) { |
|
363 | - $payment_method->update_extra_meta($meta_name, $input->raw_value()); |
|
364 | - } |
|
365 | - } |
|
366 | - return $payment_method; |
|
367 | - } |
|
368 | - |
|
369 | - |
|
370 | - |
|
371 | - /** |
|
372 | - * Makes sure the payment method is related to the specified payment method |
|
373 | - * |
|
374 | - * @deprecated in 4.9.40 because the currency payment method table is being deprecated |
|
375 | - * @param EE_Payment_Method $payment_method |
|
376 | - * @return EE_Payment_Method |
|
377 | - * @throws EE_Error |
|
378 | - */ |
|
379 | - public function set_usable_currencies_on_payment_method($payment_method) |
|
380 | - { |
|
381 | - EE_Error::doing_it_wrong( |
|
382 | - 'EE_Payment_Method_Manager::set_usable_currencies_on_payment_method', |
|
383 | - esc_html__( |
|
384 | - 'We no longer define what currencies are usable by payment methods. Its not used nor efficient.', |
|
385 | - 'event_espresso' |
|
386 | - ), |
|
387 | - '4.9.40' |
|
388 | - ); |
|
389 | - return $payment_method; |
|
390 | - } |
|
391 | - |
|
392 | - |
|
393 | - |
|
394 | - /** |
|
395 | - * Deactivates a payment method of the given payment method slug. |
|
396 | - * |
|
397 | - * @param string $payment_method_slug The slug for the payment method to deactivate. |
|
398 | - * @return int count of rows updated. |
|
399 | - * @throws EE_Error |
|
400 | - */ |
|
401 | - public function deactivate_payment_method($payment_method_slug) |
|
402 | - { |
|
403 | - EE_Log::instance()->log( |
|
404 | - __FILE__, |
|
405 | - __FUNCTION__, |
|
406 | - sprintf( |
|
407 | - esc_html__( |
|
408 | - 'Payment method with slug %1$s is being deactivated by site admin', |
|
409 | - 'event_espresso' |
|
410 | - ), |
|
411 | - $payment_method_slug |
|
412 | - ), |
|
413 | - 'payment_method_change' |
|
414 | - ); |
|
415 | - $count_updated = EEM_Payment_Method::instance()->update( |
|
416 | - array('PMD_scope' => array()), |
|
417 | - array(array('PMD_slug' => $payment_method_slug)) |
|
418 | - ); |
|
419 | - return $count_updated; |
|
420 | - } |
|
421 | - |
|
422 | - |
|
423 | - |
|
424 | - /** |
|
425 | - * callback for FHEE__EE_Capabilities__init_caps_map__caps filter to add dynamic payment method |
|
426 | - * access caps. |
|
427 | - * |
|
428 | - * @param array $caps capabilities being filtered |
|
429 | - * @return array |
|
430 | - */ |
|
431 | - public function add_payment_method_caps($caps) |
|
432 | - { |
|
433 | - /* add dynamic caps from payment methods |
|
20 | + /** |
|
21 | + * @var EE_Payment_Method_Manager $_instance |
|
22 | + */ |
|
23 | + private static $_instance; |
|
24 | + |
|
25 | + /** |
|
26 | + * @var array keys are class names without 'EE_PMT_', values are their filepaths |
|
27 | + */ |
|
28 | + protected $_payment_method_types = array(); |
|
29 | + |
|
30 | + |
|
31 | + |
|
32 | + /** |
|
33 | + * @singleton method used to instantiate class object |
|
34 | + * @return EE_Payment_Method_Manager instance |
|
35 | + */ |
|
36 | + public static function instance() |
|
37 | + { |
|
38 | + // check if class object is instantiated, and instantiated properly |
|
39 | + if (! self::$_instance instanceof EE_Payment_Method_Manager) { |
|
40 | + self::$_instance = new self(); |
|
41 | + } |
|
42 | + EE_Registry::instance()->load_lib('PMT_Base'); |
|
43 | + return self::$_instance; |
|
44 | + } |
|
45 | + |
|
46 | + |
|
47 | + |
|
48 | + /** |
|
49 | + * Resets the instance and returns a new one |
|
50 | + * |
|
51 | + * @return EE_Payment_Method_Manager |
|
52 | + */ |
|
53 | + public static function reset() |
|
54 | + { |
|
55 | + self::$_instance = null; |
|
56 | + return self::instance(); |
|
57 | + } |
|
58 | + |
|
59 | + |
|
60 | + |
|
61 | + /** |
|
62 | + * If necessary, re-register payment methods |
|
63 | + * |
|
64 | + * @param boolean $force_recheck whether to recheck for payment method types, |
|
65 | + * or just re-use the PMTs we found last time we checked during this request (if |
|
66 | + * we have not yet checked during this request, then we need to check anyways) |
|
67 | + */ |
|
68 | + public function maybe_register_payment_methods($force_recheck = false) |
|
69 | + { |
|
70 | + if (! $this->_payment_method_types || $force_recheck) { |
|
71 | + $this->_register_payment_methods(); |
|
72 | + //if in admin lets ensure caps are set. |
|
73 | + if (is_admin()) { |
|
74 | + add_filter('FHEE__EE_Capabilities__init_caps_map__caps', array($this, 'add_payment_method_caps')); |
|
75 | + EE_Registry::instance()->CAP->init_caps(); |
|
76 | + } |
|
77 | + } |
|
78 | + } |
|
79 | + |
|
80 | + |
|
81 | + |
|
82 | + /** |
|
83 | + * register_payment_methods |
|
84 | + * |
|
85 | + * @return array |
|
86 | + */ |
|
87 | + protected function _register_payment_methods() |
|
88 | + { |
|
89 | + // grab list of installed modules |
|
90 | + $pm_to_register = glob(EE_PAYMENT_METHODS . '*', GLOB_ONLYDIR); |
|
91 | + // filter list of modules to register |
|
92 | + $pm_to_register = apply_filters( |
|
93 | + 'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register', |
|
94 | + $pm_to_register |
|
95 | + ); |
|
96 | + // loop through folders |
|
97 | + foreach ($pm_to_register as $pm_path) { |
|
98 | + $this->register_payment_method($pm_path); |
|
99 | + } |
|
100 | + do_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods'); |
|
101 | + // filter list of installed modules |
|
102 | + //keep them organized alphabetically by the payment method type's name |
|
103 | + ksort($this->_payment_method_types); |
|
104 | + return apply_filters( |
|
105 | + 'FHEE__EE_Payment_Method_Manager__register_payment_methods__installed_payment_methods', |
|
106 | + $this->_payment_method_types |
|
107 | + ); |
|
108 | + } |
|
109 | + |
|
110 | + |
|
111 | + |
|
112 | + /** |
|
113 | + * register_payment_method- makes core aware of this payment method |
|
114 | + * |
|
115 | + * @param string $payment_method_path - full path up to and including payment method folder |
|
116 | + * @return boolean |
|
117 | + */ |
|
118 | + public function register_payment_method($payment_method_path = '') |
|
119 | + { |
|
120 | + do_action('AHEE__EE_Payment_Method_Manager__register_payment_method__begin', $payment_method_path); |
|
121 | + $module_ext = '.pm.php'; |
|
122 | + // make all separators match |
|
123 | + $payment_method_path = rtrim(str_replace('/\\', DS, $payment_method_path), DS); |
|
124 | + // grab and sanitize module name |
|
125 | + $module_dir = basename($payment_method_path); |
|
126 | + // create classname from module directory name |
|
127 | + $module = str_replace(array('_', ' '), array(' ', '_'), $module_dir); |
|
128 | + // add class prefix |
|
129 | + $module_class = 'EE_PMT_' . $module; |
|
130 | + // does the module exist ? |
|
131 | + if (! is_readable($payment_method_path . DS . $module_class . $module_ext)) { |
|
132 | + $msg = sprintf( |
|
133 | + esc_html__( |
|
134 | + 'The requested %s payment method file could not be found or is not readable due to file permissions.', |
|
135 | + 'event_espresso' |
|
136 | + ), $module |
|
137 | + ); |
|
138 | + EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
139 | + return false; |
|
140 | + } |
|
141 | + // load the module class file |
|
142 | + require_once($payment_method_path . DS . $module_class . $module_ext); |
|
143 | + // verify that class exists |
|
144 | + if (! class_exists($module_class)) { |
|
145 | + $msg = sprintf( |
|
146 | + esc_html__('The requested %s module class does not exist.', 'event_espresso'), |
|
147 | + $module_class |
|
148 | + ); |
|
149 | + EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
150 | + return false; |
|
151 | + } |
|
152 | + // add to array of registered modules |
|
153 | + $this->_payment_method_types[$module] = $payment_method_path . DS . $module_class . $module_ext; |
|
154 | + return true; |
|
155 | + } |
|
156 | + |
|
157 | + |
|
158 | + |
|
159 | + /** |
|
160 | + * Checks if a payment method has been registered, and if so includes it |
|
161 | + * |
|
162 | + * @param string $payment_method_name like 'PayPal_Pro', (ie classname without the prefix 'EEPM_') |
|
163 | + * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
164 | + * @return boolean |
|
165 | + */ |
|
166 | + public function payment_method_type_exists($payment_method_name, $force_recheck = false) |
|
167 | + { |
|
168 | + if ( |
|
169 | + $force_recheck |
|
170 | + || ! is_array($this->_payment_method_types) |
|
171 | + || ! isset($this->_payment_method_types[$payment_method_name]) |
|
172 | + ) { |
|
173 | + $this->maybe_register_payment_methods($force_recheck); |
|
174 | + } |
|
175 | + if (isset($this->_payment_method_types[$payment_method_name])) { |
|
176 | + require_once($this->_payment_method_types[$payment_method_name]); |
|
177 | + return true; |
|
178 | + } |
|
179 | + return false; |
|
180 | + } |
|
181 | + |
|
182 | + |
|
183 | + |
|
184 | + /** |
|
185 | + * Returns all the class names of the various payment method types |
|
186 | + * |
|
187 | + * @param boolean $with_prefixes TRUE: get payment method type class names; false just their 'names' |
|
188 | + * (what you'd find in wp_esp_payment_method.PMD_type) |
|
189 | + * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
190 | + * @return array |
|
191 | + */ |
|
192 | + public function payment_method_type_names($with_prefixes = false, $force_recheck = false) |
|
193 | + { |
|
194 | + $this->maybe_register_payment_methods($force_recheck); |
|
195 | + if ($with_prefixes) { |
|
196 | + $classnames = array_keys($this->_payment_method_types); |
|
197 | + $payment_methods = array(); |
|
198 | + foreach ($classnames as $classname) { |
|
199 | + $payment_methods[] = $this->payment_method_class_from_type($classname); |
|
200 | + } |
|
201 | + return $payment_methods; |
|
202 | + } |
|
203 | + return array_keys($this->_payment_method_types); |
|
204 | + } |
|
205 | + |
|
206 | + |
|
207 | + |
|
208 | + /** |
|
209 | + * Gets an object of each payment method type, none of which are bound to a |
|
210 | + * payment method instance |
|
211 | + * |
|
212 | + * @param boolean $force_recheck whether to force re-checking for new payment method types |
|
213 | + * @return EE_PMT_Base[] |
|
214 | + */ |
|
215 | + public function payment_method_types($force_recheck = false) |
|
216 | + { |
|
217 | + $this->maybe_register_payment_methods($force_recheck); |
|
218 | + $payment_method_objects = array(); |
|
219 | + foreach ($this->payment_method_type_names(true) as $classname) { |
|
220 | + $payment_method_objects[] = new $classname; |
|
221 | + } |
|
222 | + return $payment_method_objects; |
|
223 | + } |
|
224 | + |
|
225 | + |
|
226 | + |
|
227 | + /** |
|
228 | + * Changes the payment method's classname into the payment method type's name |
|
229 | + * (as used on the payment method's table's PMD_type field) |
|
230 | + * |
|
231 | + * @param string $classname |
|
232 | + * @return string |
|
233 | + */ |
|
234 | + public function payment_method_type_sans_class_prefix($classname) |
|
235 | + { |
|
236 | + return str_replace('EE_PMT_', '', $classname); |
|
237 | + } |
|
238 | + |
|
239 | + |
|
240 | + |
|
241 | + /** |
|
242 | + * Does the opposite of payment-method_type_sans_prefix |
|
243 | + * |
|
244 | + * @param string $type |
|
245 | + * @return string |
|
246 | + */ |
|
247 | + public function payment_method_class_from_type($type) |
|
248 | + { |
|
249 | + $this->maybe_register_payment_methods(); |
|
250 | + return 'EE_PMT_' . $type; |
|
251 | + } |
|
252 | + |
|
253 | + |
|
254 | + |
|
255 | + /** |
|
256 | + * Activates a payment method of the given type. |
|
257 | + * |
|
258 | + * @param string $payment_method_type the PMT_type; for EE_PMT_Invoice this would be 'Invoice' |
|
259 | + * @return EE_Payment_Method |
|
260 | + * @throws EE_Error |
|
261 | + */ |
|
262 | + public function activate_a_payment_method_of_type($payment_method_type) |
|
263 | + { |
|
264 | + $payment_method = EEM_Payment_Method::instance()->get_one_of_type($payment_method_type); |
|
265 | + if (! $payment_method instanceof EE_Payment_Method) { |
|
266 | + $pm_type_class = $this->payment_method_class_from_type($payment_method_type); |
|
267 | + if (class_exists($pm_type_class)) { |
|
268 | + /** @var $pm_type_obj EE_PMT_Base */ |
|
269 | + $pm_type_obj = new $pm_type_class; |
|
270 | + $payment_method = EEM_Payment_Method::instance()->get_one_by_slug($pm_type_obj->system_name()); |
|
271 | + if (! $payment_method) { |
|
272 | + $payment_method = $this->create_payment_method_of_type($pm_type_obj); |
|
273 | + } |
|
274 | + $payment_method->set_type($payment_method_type); |
|
275 | + $this->initialize_payment_method($payment_method); |
|
276 | + } else { |
|
277 | + throw new EE_Error( |
|
278 | + sprintf( |
|
279 | + esc_html__( |
|
280 | + 'There is no payment method of type %1$s, so it could not be activated', |
|
281 | + 'event_espresso' |
|
282 | + ), |
|
283 | + $pm_type_class |
|
284 | + ) |
|
285 | + ); |
|
286 | + } |
|
287 | + } |
|
288 | + $payment_method->set_active(); |
|
289 | + $payment_method->save(); |
|
290 | + if ($payment_method->type() === 'Invoice') { |
|
291 | + /** @type EE_Message_Resource_Manager $message_resource_manager */ |
|
292 | + $message_resource_manager = EE_Registry::instance()->load_lib('Message_Resource_Manager'); |
|
293 | + $message_resource_manager->ensure_message_type_is_active('invoice', 'html'); |
|
294 | + $message_resource_manager->ensure_messenger_is_active('pdf'); |
|
295 | + EE_Error::add_persistent_admin_notice( |
|
296 | + 'invoice_pm_requirements_notice', |
|
297 | + sprintf( |
|
298 | + esc_html__( |
|
299 | + 'The Invoice payment method has been activated. It requires the invoice message type, html messenger, and pdf messenger be activated as well for the %1$smessages system%2$s, so it has been automatically verified that they are also active.', |
|
300 | + 'event_espresso' |
|
301 | + ), |
|
302 | + '<a href="' . admin_url('admin.php?page=espresso_messages') . '">', |
|
303 | + '</a>' |
|
304 | + ), |
|
305 | + true |
|
306 | + ); |
|
307 | + } |
|
308 | + return $payment_method; |
|
309 | + } |
|
310 | + |
|
311 | + |
|
312 | + |
|
313 | + /** |
|
314 | + * Creates a payment method of the specified type. Does not save it. |
|
315 | + * |
|
316 | + * @global WP_User $current_user |
|
317 | + * @param EE_PMT_Base $pm_type_obj |
|
318 | + * @return EE_Payment_Method |
|
319 | + * @throws EE_Error |
|
320 | + */ |
|
321 | + public function create_payment_method_of_type($pm_type_obj) |
|
322 | + { |
|
323 | + global $current_user; |
|
324 | + $payment_method = EE_Payment_Method::new_instance( |
|
325 | + array( |
|
326 | + 'PMD_type' => $pm_type_obj->system_name(), |
|
327 | + 'PMD_name' => $pm_type_obj->pretty_name(), |
|
328 | + 'PMD_admin_name' => $pm_type_obj->pretty_name(), |
|
329 | + 'PMD_slug' => $pm_type_obj->system_name(),//automatically converted to slug |
|
330 | + 'PMD_wp_user' => $current_user->ID, |
|
331 | + 'PMD_order' => EEM_Payment_Method::instance()->count( |
|
332 | + array(array('PMD_type' => array('!=', 'Admin_Only'))) |
|
333 | + ) * 10, |
|
334 | + ) |
|
335 | + ); |
|
336 | + return $payment_method; |
|
337 | + } |
|
338 | + |
|
339 | + |
|
340 | + |
|
341 | + /** |
|
342 | + * Sets the initial payment method properties (including extra meta) |
|
343 | + * |
|
344 | + * @param EE_Payment_Method $payment_method |
|
345 | + * @return EE_Payment_Method |
|
346 | + * @throws EE_Error |
|
347 | + */ |
|
348 | + public function initialize_payment_method($payment_method) |
|
349 | + { |
|
350 | + $pm_type_obj = $payment_method->type_obj(); |
|
351 | + $payment_method->set_description($pm_type_obj->default_description()); |
|
352 | + if (! $payment_method->button_url()) { |
|
353 | + $payment_method->set_button_url($pm_type_obj->default_button_url()); |
|
354 | + } |
|
355 | + //now add setup its default extra meta properties |
|
356 | + $extra_metas = $pm_type_obj->settings_form()->extra_meta_inputs(); |
|
357 | + if (! empty($extra_metas)) { |
|
358 | + //verify the payment method has an ID before adding extra meta |
|
359 | + if (! $payment_method->ID()) { |
|
360 | + $payment_method->save(); |
|
361 | + } |
|
362 | + foreach ($extra_metas as $meta_name => $input) { |
|
363 | + $payment_method->update_extra_meta($meta_name, $input->raw_value()); |
|
364 | + } |
|
365 | + } |
|
366 | + return $payment_method; |
|
367 | + } |
|
368 | + |
|
369 | + |
|
370 | + |
|
371 | + /** |
|
372 | + * Makes sure the payment method is related to the specified payment method |
|
373 | + * |
|
374 | + * @deprecated in 4.9.40 because the currency payment method table is being deprecated |
|
375 | + * @param EE_Payment_Method $payment_method |
|
376 | + * @return EE_Payment_Method |
|
377 | + * @throws EE_Error |
|
378 | + */ |
|
379 | + public function set_usable_currencies_on_payment_method($payment_method) |
|
380 | + { |
|
381 | + EE_Error::doing_it_wrong( |
|
382 | + 'EE_Payment_Method_Manager::set_usable_currencies_on_payment_method', |
|
383 | + esc_html__( |
|
384 | + 'We no longer define what currencies are usable by payment methods. Its not used nor efficient.', |
|
385 | + 'event_espresso' |
|
386 | + ), |
|
387 | + '4.9.40' |
|
388 | + ); |
|
389 | + return $payment_method; |
|
390 | + } |
|
391 | + |
|
392 | + |
|
393 | + |
|
394 | + /** |
|
395 | + * Deactivates a payment method of the given payment method slug. |
|
396 | + * |
|
397 | + * @param string $payment_method_slug The slug for the payment method to deactivate. |
|
398 | + * @return int count of rows updated. |
|
399 | + * @throws EE_Error |
|
400 | + */ |
|
401 | + public function deactivate_payment_method($payment_method_slug) |
|
402 | + { |
|
403 | + EE_Log::instance()->log( |
|
404 | + __FILE__, |
|
405 | + __FUNCTION__, |
|
406 | + sprintf( |
|
407 | + esc_html__( |
|
408 | + 'Payment method with slug %1$s is being deactivated by site admin', |
|
409 | + 'event_espresso' |
|
410 | + ), |
|
411 | + $payment_method_slug |
|
412 | + ), |
|
413 | + 'payment_method_change' |
|
414 | + ); |
|
415 | + $count_updated = EEM_Payment_Method::instance()->update( |
|
416 | + array('PMD_scope' => array()), |
|
417 | + array(array('PMD_slug' => $payment_method_slug)) |
|
418 | + ); |
|
419 | + return $count_updated; |
|
420 | + } |
|
421 | + |
|
422 | + |
|
423 | + |
|
424 | + /** |
|
425 | + * callback for FHEE__EE_Capabilities__init_caps_map__caps filter to add dynamic payment method |
|
426 | + * access caps. |
|
427 | + * |
|
428 | + * @param array $caps capabilities being filtered |
|
429 | + * @return array |
|
430 | + */ |
|
431 | + public function add_payment_method_caps($caps) |
|
432 | + { |
|
433 | + /* add dynamic caps from payment methods |
|
434 | 434 | * at the time of writing, october 20 2014, these are the caps added: |
435 | 435 | * ee_payment_method_admin_only |
436 | 436 | * ee_payment_method_aim |
@@ -444,10 +444,10 @@ discard block |
||
444 | 444 | * their related capability automatically added too, so long as they are |
445 | 445 | * registered properly using EE_Register_Payment_Method::register() |
446 | 446 | */ |
447 | - foreach ($this->payment_method_types() as $payment_method_type_obj) { |
|
448 | - $caps['administrator'][] = $payment_method_type_obj->cap_name(); |
|
449 | - } |
|
450 | - return $caps; |
|
451 | - } |
|
447 | + foreach ($this->payment_method_types() as $payment_method_type_obj) { |
|
448 | + $caps['administrator'][] = $payment_method_type_obj->cap_name(); |
|
449 | + } |
|
450 | + return $caps; |
|
451 | + } |
|
452 | 452 | |
453 | 453 | } |
@@ -36,7 +36,7 @@ discard block |
||
36 | 36 | public static function instance() |
37 | 37 | { |
38 | 38 | // check if class object is instantiated, and instantiated properly |
39 | - if (! self::$_instance instanceof EE_Payment_Method_Manager) { |
|
39 | + if ( ! self::$_instance instanceof EE_Payment_Method_Manager) { |
|
40 | 40 | self::$_instance = new self(); |
41 | 41 | } |
42 | 42 | EE_Registry::instance()->load_lib('PMT_Base'); |
@@ -67,7 +67,7 @@ discard block |
||
67 | 67 | */ |
68 | 68 | public function maybe_register_payment_methods($force_recheck = false) |
69 | 69 | { |
70 | - if (! $this->_payment_method_types || $force_recheck) { |
|
70 | + if ( ! $this->_payment_method_types || $force_recheck) { |
|
71 | 71 | $this->_register_payment_methods(); |
72 | 72 | //if in admin lets ensure caps are set. |
73 | 73 | if (is_admin()) { |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | protected function _register_payment_methods() |
88 | 88 | { |
89 | 89 | // grab list of installed modules |
90 | - $pm_to_register = glob(EE_PAYMENT_METHODS . '*', GLOB_ONLYDIR); |
|
90 | + $pm_to_register = glob(EE_PAYMENT_METHODS.'*', GLOB_ONLYDIR); |
|
91 | 91 | // filter list of modules to register |
92 | 92 | $pm_to_register = apply_filters( |
93 | 93 | 'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register', |
@@ -126,31 +126,31 @@ discard block |
||
126 | 126 | // create classname from module directory name |
127 | 127 | $module = str_replace(array('_', ' '), array(' ', '_'), $module_dir); |
128 | 128 | // add class prefix |
129 | - $module_class = 'EE_PMT_' . $module; |
|
129 | + $module_class = 'EE_PMT_'.$module; |
|
130 | 130 | // does the module exist ? |
131 | - if (! is_readable($payment_method_path . DS . $module_class . $module_ext)) { |
|
131 | + if ( ! is_readable($payment_method_path.DS.$module_class.$module_ext)) { |
|
132 | 132 | $msg = sprintf( |
133 | 133 | esc_html__( |
134 | 134 | 'The requested %s payment method file could not be found or is not readable due to file permissions.', |
135 | 135 | 'event_espresso' |
136 | 136 | ), $module |
137 | 137 | ); |
138 | - EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
138 | + EE_Error::add_error($msg.'||'.$msg, __FILE__, __FUNCTION__, __LINE__); |
|
139 | 139 | return false; |
140 | 140 | } |
141 | 141 | // load the module class file |
142 | - require_once($payment_method_path . DS . $module_class . $module_ext); |
|
142 | + require_once($payment_method_path.DS.$module_class.$module_ext); |
|
143 | 143 | // verify that class exists |
144 | - if (! class_exists($module_class)) { |
|
144 | + if ( ! class_exists($module_class)) { |
|
145 | 145 | $msg = sprintf( |
146 | 146 | esc_html__('The requested %s module class does not exist.', 'event_espresso'), |
147 | 147 | $module_class |
148 | 148 | ); |
149 | - EE_Error::add_error($msg . '||' . $msg, __FILE__, __FUNCTION__, __LINE__); |
|
149 | + EE_Error::add_error($msg.'||'.$msg, __FILE__, __FUNCTION__, __LINE__); |
|
150 | 150 | return false; |
151 | 151 | } |
152 | 152 | // add to array of registered modules |
153 | - $this->_payment_method_types[$module] = $payment_method_path . DS . $module_class . $module_ext; |
|
153 | + $this->_payment_method_types[$module] = $payment_method_path.DS.$module_class.$module_ext; |
|
154 | 154 | return true; |
155 | 155 | } |
156 | 156 | |
@@ -247,7 +247,7 @@ discard block |
||
247 | 247 | public function payment_method_class_from_type($type) |
248 | 248 | { |
249 | 249 | $this->maybe_register_payment_methods(); |
250 | - return 'EE_PMT_' . $type; |
|
250 | + return 'EE_PMT_'.$type; |
|
251 | 251 | } |
252 | 252 | |
253 | 253 | |
@@ -262,13 +262,13 @@ discard block |
||
262 | 262 | public function activate_a_payment_method_of_type($payment_method_type) |
263 | 263 | { |
264 | 264 | $payment_method = EEM_Payment_Method::instance()->get_one_of_type($payment_method_type); |
265 | - if (! $payment_method instanceof EE_Payment_Method) { |
|
265 | + if ( ! $payment_method instanceof EE_Payment_Method) { |
|
266 | 266 | $pm_type_class = $this->payment_method_class_from_type($payment_method_type); |
267 | 267 | if (class_exists($pm_type_class)) { |
268 | 268 | /** @var $pm_type_obj EE_PMT_Base */ |
269 | 269 | $pm_type_obj = new $pm_type_class; |
270 | 270 | $payment_method = EEM_Payment_Method::instance()->get_one_by_slug($pm_type_obj->system_name()); |
271 | - if (! $payment_method) { |
|
271 | + if ( ! $payment_method) { |
|
272 | 272 | $payment_method = $this->create_payment_method_of_type($pm_type_obj); |
273 | 273 | } |
274 | 274 | $payment_method->set_type($payment_method_type); |
@@ -299,7 +299,7 @@ discard block |
||
299 | 299 | 'The Invoice payment method has been activated. It requires the invoice message type, html messenger, and pdf messenger be activated as well for the %1$smessages system%2$s, so it has been automatically verified that they are also active.', |
300 | 300 | 'event_espresso' |
301 | 301 | ), |
302 | - '<a href="' . admin_url('admin.php?page=espresso_messages') . '">', |
|
302 | + '<a href="'.admin_url('admin.php?page=espresso_messages').'">', |
|
303 | 303 | '</a>' |
304 | 304 | ), |
305 | 305 | true |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | 'PMD_type' => $pm_type_obj->system_name(), |
327 | 327 | 'PMD_name' => $pm_type_obj->pretty_name(), |
328 | 328 | 'PMD_admin_name' => $pm_type_obj->pretty_name(), |
329 | - 'PMD_slug' => $pm_type_obj->system_name(),//automatically converted to slug |
|
329 | + 'PMD_slug' => $pm_type_obj->system_name(), //automatically converted to slug |
|
330 | 330 | 'PMD_wp_user' => $current_user->ID, |
331 | 331 | 'PMD_order' => EEM_Payment_Method::instance()->count( |
332 | 332 | array(array('PMD_type' => array('!=', 'Admin_Only'))) |
@@ -349,14 +349,14 @@ discard block |
||
349 | 349 | { |
350 | 350 | $pm_type_obj = $payment_method->type_obj(); |
351 | 351 | $payment_method->set_description($pm_type_obj->default_description()); |
352 | - if (! $payment_method->button_url()) { |
|
352 | + if ( ! $payment_method->button_url()) { |
|
353 | 353 | $payment_method->set_button_url($pm_type_obj->default_button_url()); |
354 | 354 | } |
355 | 355 | //now add setup its default extra meta properties |
356 | 356 | $extra_metas = $pm_type_obj->settings_form()->extra_meta_inputs(); |
357 | - if (! empty($extra_metas)) { |
|
357 | + if ( ! empty($extra_metas)) { |
|
358 | 358 | //verify the payment method has an ID before adding extra meta |
359 | - if (! $payment_method->ID()) { |
|
359 | + if ( ! $payment_method->ID()) { |
|
360 | 360 | $payment_method->save(); |
361 | 361 | } |
362 | 362 | foreach ($extra_metas as $meta_name => $input) { |