@@ -57,16 +57,16 @@ discard block |
||
57 | 57 | 'Message_Template_Group' => new EE_Belongs_To_Relation(), |
58 | 58 | ]; |
59 | 59 | $path_to_event = 'Event'; |
60 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public( |
|
60 | + $this->_cap_restriction_generators[EEM_Base::caps_read] = new EE_Restriction_Generator_Event_Related_Public( |
|
61 | 61 | $path_to_event |
62 | 62 | ); |
63 | - $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
63 | + $this->_cap_restriction_generators[EEM_Base::caps_read_admin] = new EE_Restriction_Generator_Event_Related_Protected( |
|
64 | 64 | $path_to_event |
65 | 65 | ); |
66 | - $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
66 | + $this->_cap_restriction_generators[EEM_Base::caps_edit] = new EE_Restriction_Generator_Event_Related_Protected( |
|
67 | 67 | $path_to_event |
68 | 68 | ); |
69 | - $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
69 | + $this->_cap_restriction_generators[EEM_Base::caps_delete] = new EE_Restriction_Generator_Event_Related_Protected( |
|
70 | 70 | $path_to_event, |
71 | 71 | EEM_Base::caps_edit |
72 | 72 | ); |
@@ -115,10 +115,10 @@ discard block |
||
115 | 115 | } |
116 | 116 | |
117 | 117 | $where = []; |
118 | - if (! empty($GRP_IDs)) { |
|
118 | + if ( ! empty($GRP_IDs)) { |
|
119 | 119 | $where['GRP_ID'] = ['IN', (array) $GRP_IDs]; |
120 | 120 | } |
121 | - if (! empty($EVT_IDs)) { |
|
121 | + if ( ! empty($EVT_IDs)) { |
|
122 | 122 | $where['EVT_ID'] = ['IN', (array) $EVT_IDs]; |
123 | 123 | } |
124 | 124 |
@@ -11,116 +11,116 @@ |
||
11 | 11 | */ |
12 | 12 | class EEM_Event_Message_Template extends EEM_Base |
13 | 13 | { |
14 | - // private instance of the EEM_Event_Message_Template object |
|
15 | - protected static $_instance = null; |
|
14 | + // private instance of the EEM_Event_Message_Template object |
|
15 | + protected static $_instance = null; |
|
16 | 16 | |
17 | 17 | |
18 | - /** |
|
19 | - * protected constructor to prevent direct creation |
|
20 | - * |
|
21 | - * @param null $timezone |
|
22 | - * @throws EE_Error |
|
23 | - */ |
|
24 | - protected function __construct($timezone = null) |
|
25 | - { |
|
26 | - $this->singular_item = esc_html__('Event Message Template', 'event_espresso'); |
|
27 | - $this->plural_item = esc_html__('Event Message Templates', 'event_espresso'); |
|
18 | + /** |
|
19 | + * protected constructor to prevent direct creation |
|
20 | + * |
|
21 | + * @param null $timezone |
|
22 | + * @throws EE_Error |
|
23 | + */ |
|
24 | + protected function __construct($timezone = null) |
|
25 | + { |
|
26 | + $this->singular_item = esc_html__('Event Message Template', 'event_espresso'); |
|
27 | + $this->plural_item = esc_html__('Event Message Templates', 'event_espresso'); |
|
28 | 28 | |
29 | - $this->_tables = [ |
|
30 | - 'Event_Message_Template' => new EE_Primary_Table('esp_event_message_template', 'EMT_ID'), |
|
31 | - ]; |
|
32 | - $this->_fields = [ |
|
33 | - 'Event_Message_Template' => [ |
|
34 | - 'EMT_ID' => new EE_Primary_Key_Int_Field( |
|
35 | - 'EMT_ID', |
|
36 | - esc_html__('Event Message Template ID', 'event_espresso') |
|
37 | - ), |
|
38 | - 'EVT_ID' => new EE_Foreign_Key_Int_Field( |
|
39 | - 'EVT_ID', |
|
40 | - esc_html__('The ID to the Event', 'event_espresso'), |
|
41 | - false, |
|
42 | - 0, |
|
43 | - 'Event' |
|
44 | - ), |
|
45 | - 'GRP_ID' => new EE_Foreign_Key_Int_Field( |
|
46 | - 'GRP_ID', |
|
47 | - esc_html__('The ID to the Message Template Group', 'event_espresso'), |
|
48 | - false, |
|
49 | - 0, |
|
50 | - 'Message_Template_Group' |
|
51 | - ), |
|
52 | - ], |
|
53 | - ]; |
|
54 | - $this->_model_relations = [ |
|
55 | - 'Event' => new EE_Belongs_To_Relation(), |
|
56 | - 'Message_Template_Group' => new EE_Belongs_To_Relation(), |
|
57 | - ]; |
|
58 | - $path_to_event = 'Event'; |
|
59 | - $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public( |
|
60 | - $path_to_event |
|
61 | - ); |
|
62 | - $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
63 | - $path_to_event |
|
64 | - ); |
|
65 | - $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
66 | - $path_to_event |
|
67 | - ); |
|
68 | - $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
69 | - $path_to_event, |
|
70 | - EEM_Base::caps_edit |
|
71 | - ); |
|
72 | - parent::__construct($timezone); |
|
73 | - } |
|
29 | + $this->_tables = [ |
|
30 | + 'Event_Message_Template' => new EE_Primary_Table('esp_event_message_template', 'EMT_ID'), |
|
31 | + ]; |
|
32 | + $this->_fields = [ |
|
33 | + 'Event_Message_Template' => [ |
|
34 | + 'EMT_ID' => new EE_Primary_Key_Int_Field( |
|
35 | + 'EMT_ID', |
|
36 | + esc_html__('Event Message Template ID', 'event_espresso') |
|
37 | + ), |
|
38 | + 'EVT_ID' => new EE_Foreign_Key_Int_Field( |
|
39 | + 'EVT_ID', |
|
40 | + esc_html__('The ID to the Event', 'event_espresso'), |
|
41 | + false, |
|
42 | + 0, |
|
43 | + 'Event' |
|
44 | + ), |
|
45 | + 'GRP_ID' => new EE_Foreign_Key_Int_Field( |
|
46 | + 'GRP_ID', |
|
47 | + esc_html__('The ID to the Message Template Group', 'event_espresso'), |
|
48 | + false, |
|
49 | + 0, |
|
50 | + 'Message_Template_Group' |
|
51 | + ), |
|
52 | + ], |
|
53 | + ]; |
|
54 | + $this->_model_relations = [ |
|
55 | + 'Event' => new EE_Belongs_To_Relation(), |
|
56 | + 'Message_Template_Group' => new EE_Belongs_To_Relation(), |
|
57 | + ]; |
|
58 | + $path_to_event = 'Event'; |
|
59 | + $this->_cap_restriction_generators[ EEM_Base::caps_read ] = new EE_Restriction_Generator_Event_Related_Public( |
|
60 | + $path_to_event |
|
61 | + ); |
|
62 | + $this->_cap_restriction_generators[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
63 | + $path_to_event |
|
64 | + ); |
|
65 | + $this->_cap_restriction_generators[ EEM_Base::caps_edit ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
66 | + $path_to_event |
|
67 | + ); |
|
68 | + $this->_cap_restriction_generators[ EEM_Base::caps_delete ] = new EE_Restriction_Generator_Event_Related_Protected( |
|
69 | + $path_to_event, |
|
70 | + EEM_Base::caps_edit |
|
71 | + ); |
|
72 | + parent::__construct($timezone); |
|
73 | + } |
|
74 | 74 | |
75 | 75 | |
76 | - /** |
|
77 | - * helper method to simply return an array of event ids for events attached to the given |
|
78 | - * message template group. |
|
79 | - * |
|
80 | - * @param int $GRP_ID The MTP group we want attached events for. |
|
81 | - * @return array An array of event ids. |
|
82 | - * @throws EE_Error |
|
83 | - * @since 4.3.0 |
|
84 | - */ |
|
85 | - public function get_attached_event_ids($GRP_ID) |
|
86 | - { |
|
87 | - $event_ids = $this->_get_all_wpdb_results([['GRP_ID' => $GRP_ID]], ARRAY_N, 'EVT_ID'); |
|
88 | - $event_ids = call_user_func_array('array_merge', $event_ids); |
|
89 | - return $event_ids; |
|
90 | - } |
|
76 | + /** |
|
77 | + * helper method to simply return an array of event ids for events attached to the given |
|
78 | + * message template group. |
|
79 | + * |
|
80 | + * @param int $GRP_ID The MTP group we want attached events for. |
|
81 | + * @return array An array of event ids. |
|
82 | + * @throws EE_Error |
|
83 | + * @since 4.3.0 |
|
84 | + */ |
|
85 | + public function get_attached_event_ids($GRP_ID) |
|
86 | + { |
|
87 | + $event_ids = $this->_get_all_wpdb_results([['GRP_ID' => $GRP_ID]], ARRAY_N, 'EVT_ID'); |
|
88 | + $event_ids = call_user_func_array('array_merge', $event_ids); |
|
89 | + return $event_ids; |
|
90 | + } |
|
91 | 91 | |
92 | 92 | |
93 | - /** |
|
94 | - * helper method for clearing event/group relations for the given event ids and grp ids. |
|
95 | - * |
|
96 | - * @param array $GRP_IDs An array of GRP_IDs. Optional. If empty then there must be EVT IDs. |
|
97 | - * @param array $EVT_IDs An array of EVT_IDs. Optional. If empty then there must be GRP IDs. |
|
98 | - * @return int How many rows were deleted. |
|
99 | - * @throws EE_Error |
|
100 | - * @throws EE_Error |
|
101 | - */ |
|
102 | - public function delete_event_group_relations($GRP_IDs = [], $EVT_IDs = []) |
|
103 | - { |
|
104 | - if (empty($GRP_IDs) && empty($EVT_IDs)) { |
|
105 | - throw new EE_Error( |
|
106 | - sprintf( |
|
107 | - esc_html__( |
|
108 | - '%s requires either an array of GRP_IDs or EVT_IDs or both, but both cannot be empty.', |
|
109 | - 'event_espresso' |
|
110 | - ), |
|
111 | - __METHOD__ |
|
112 | - ) |
|
113 | - ); |
|
114 | - } |
|
93 | + /** |
|
94 | + * helper method for clearing event/group relations for the given event ids and grp ids. |
|
95 | + * |
|
96 | + * @param array $GRP_IDs An array of GRP_IDs. Optional. If empty then there must be EVT IDs. |
|
97 | + * @param array $EVT_IDs An array of EVT_IDs. Optional. If empty then there must be GRP IDs. |
|
98 | + * @return int How many rows were deleted. |
|
99 | + * @throws EE_Error |
|
100 | + * @throws EE_Error |
|
101 | + */ |
|
102 | + public function delete_event_group_relations($GRP_IDs = [], $EVT_IDs = []) |
|
103 | + { |
|
104 | + if (empty($GRP_IDs) && empty($EVT_IDs)) { |
|
105 | + throw new EE_Error( |
|
106 | + sprintf( |
|
107 | + esc_html__( |
|
108 | + '%s requires either an array of GRP_IDs or EVT_IDs or both, but both cannot be empty.', |
|
109 | + 'event_espresso' |
|
110 | + ), |
|
111 | + __METHOD__ |
|
112 | + ) |
|
113 | + ); |
|
114 | + } |
|
115 | 115 | |
116 | - $where = []; |
|
117 | - if (! empty($GRP_IDs)) { |
|
118 | - $where['GRP_ID'] = ['IN', (array) $GRP_IDs]; |
|
119 | - } |
|
120 | - if (! empty($EVT_IDs)) { |
|
121 | - $where['EVT_ID'] = ['IN', (array) $EVT_IDs]; |
|
122 | - } |
|
116 | + $where = []; |
|
117 | + if (! empty($GRP_IDs)) { |
|
118 | + $where['GRP_ID'] = ['IN', (array) $GRP_IDs]; |
|
119 | + } |
|
120 | + if (! empty($EVT_IDs)) { |
|
121 | + $where['EVT_ID'] = ['IN', (array) $EVT_IDs]; |
|
122 | + } |
|
123 | 123 | |
124 | - return $this->delete([$where], false); |
|
125 | - } |
|
124 | + return $this->delete([$where], false); |
|
125 | + } |
|
126 | 126 | } |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | * @since 4.0 |
39 | 39 | */ |
40 | 40 | if (function_exists('espresso_version')) { |
41 | - if (! function_exists('espresso_duplicate_plugin_error')) { |
|
41 | + if ( ! function_exists('espresso_duplicate_plugin_error')) { |
|
42 | 42 | /** |
43 | 43 | * espresso_duplicate_plugin_error |
44 | 44 | * displays if more than one version of EE is activated at the same time |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | add_action('admin_notices', 'espresso_duplicate_plugin_error', 1); |
63 | 63 | } else { |
64 | 64 | define('EE_MIN_PHP_VER_REQUIRED', '5.6.2'); |
65 | - if (! version_compare(PHP_VERSION, EE_MIN_PHP_VER_REQUIRED, '>=')) { |
|
65 | + if ( ! version_compare(PHP_VERSION, EE_MIN_PHP_VER_REQUIRED, '>=')) { |
|
66 | 66 | /** |
67 | 67 | * espresso_minimum_php_version_error |
68 | 68 | * |
@@ -116,11 +116,11 @@ discard block |
||
116 | 116 | |
117 | 117 | register_activation_hook(EVENT_ESPRESSO_MAIN_FILE, 'espresso_plugin_activation'); |
118 | 118 | |
119 | - require_once __DIR__ . '/core/bootstrap_espresso.php'; |
|
119 | + require_once __DIR__.'/core/bootstrap_espresso.php'; |
|
120 | 120 | bootstrap_espresso(); |
121 | 121 | } |
122 | 122 | } |
123 | -if (! function_exists('espresso_deactivate_plugin')) { |
|
123 | +if ( ! function_exists('espresso_deactivate_plugin')) { |
|
124 | 124 | /** |
125 | 125 | * deactivate_plugin |
126 | 126 | * usage: espresso_deactivate_plugin( plugin_basename( __FILE__ )); |
@@ -131,8 +131,8 @@ discard block |
||
131 | 131 | */ |
132 | 132 | function espresso_deactivate_plugin($plugin_basename = '') |
133 | 133 | { |
134 | - if (! function_exists('deactivate_plugins')) { |
|
135 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
|
134 | + if ( ! function_exists('deactivate_plugins')) { |
|
135 | + require_once ABSPATH.'wp-admin/includes/plugin.php'; |
|
136 | 136 | } |
137 | 137 | unset($_GET['activate'], $_REQUEST['activate']); |
138 | 138 | deactivate_plugins($plugin_basename); |
@@ -38,103 +38,103 @@ |
||
38 | 38 | * @since 4.0 |
39 | 39 | */ |
40 | 40 | if (function_exists('espresso_version')) { |
41 | - if (! function_exists('espresso_duplicate_plugin_error')) { |
|
42 | - /** |
|
43 | - * espresso_duplicate_plugin_error |
|
44 | - * displays if more than one version of EE is activated at the same time |
|
45 | - */ |
|
46 | - function espresso_duplicate_plugin_error() |
|
47 | - { |
|
48 | - ?> |
|
41 | + if (! function_exists('espresso_duplicate_plugin_error')) { |
|
42 | + /** |
|
43 | + * espresso_duplicate_plugin_error |
|
44 | + * displays if more than one version of EE is activated at the same time |
|
45 | + */ |
|
46 | + function espresso_duplicate_plugin_error() |
|
47 | + { |
|
48 | + ?> |
|
49 | 49 | <div class="error"> |
50 | 50 | <p> |
51 | 51 | <?php |
52 | - echo esc_html__( |
|
53 | - 'Can not run multiple versions of Event Espresso! One version has been automatically deactivated. Please verify that you have the correct version you want still active.', |
|
54 | - 'event_espresso' |
|
55 | - ); ?> |
|
52 | + echo esc_html__( |
|
53 | + 'Can not run multiple versions of Event Espresso! One version has been automatically deactivated. Please verify that you have the correct version you want still active.', |
|
54 | + 'event_espresso' |
|
55 | + ); ?> |
|
56 | 56 | </p> |
57 | 57 | </div> |
58 | 58 | <?php |
59 | - espresso_deactivate_plugin(plugin_basename(__FILE__)); |
|
60 | - } |
|
61 | - } |
|
62 | - add_action('admin_notices', 'espresso_duplicate_plugin_error', 1); |
|
59 | + espresso_deactivate_plugin(plugin_basename(__FILE__)); |
|
60 | + } |
|
61 | + } |
|
62 | + add_action('admin_notices', 'espresso_duplicate_plugin_error', 1); |
|
63 | 63 | } else { |
64 | - define('EE_MIN_PHP_VER_REQUIRED', '5.6.2'); |
|
65 | - if (! version_compare(PHP_VERSION, EE_MIN_PHP_VER_REQUIRED, '>=')) { |
|
66 | - /** |
|
67 | - * espresso_minimum_php_version_error |
|
68 | - * |
|
69 | - * @return void |
|
70 | - */ |
|
71 | - function espresso_minimum_php_version_error() |
|
72 | - { |
|
73 | - ?> |
|
64 | + define('EE_MIN_PHP_VER_REQUIRED', '5.6.2'); |
|
65 | + if (! version_compare(PHP_VERSION, EE_MIN_PHP_VER_REQUIRED, '>=')) { |
|
66 | + /** |
|
67 | + * espresso_minimum_php_version_error |
|
68 | + * |
|
69 | + * @return void |
|
70 | + */ |
|
71 | + function espresso_minimum_php_version_error() |
|
72 | + { |
|
73 | + ?> |
|
74 | 74 | <div class="error"> |
75 | 75 | <p> |
76 | 76 | <?php |
77 | - printf( |
|
78 | - esc_html__( |
|
79 | - 'We\'re sorry, but Event Espresso requires PHP version %1$s or greater in order to operate. You are currently running version %2$s.%3$sIn order to update your version of PHP, you will need to contact your current hosting provider.%3$sFor information on stable PHP versions, please go to %4$s.', |
|
80 | - 'event_espresso' |
|
81 | - ), |
|
82 | - EE_MIN_PHP_VER_REQUIRED, |
|
83 | - PHP_VERSION, |
|
84 | - '<br/>', |
|
85 | - '<a href="http://php.net/downloads.php">http://php.net/downloads.php</a>' |
|
86 | - ); |
|
87 | - ?> |
|
77 | + printf( |
|
78 | + esc_html__( |
|
79 | + 'We\'re sorry, but Event Espresso requires PHP version %1$s or greater in order to operate. You are currently running version %2$s.%3$sIn order to update your version of PHP, you will need to contact your current hosting provider.%3$sFor information on stable PHP versions, please go to %4$s.', |
|
80 | + 'event_espresso' |
|
81 | + ), |
|
82 | + EE_MIN_PHP_VER_REQUIRED, |
|
83 | + PHP_VERSION, |
|
84 | + '<br/>', |
|
85 | + '<a href="http://php.net/downloads.php">http://php.net/downloads.php</a>' |
|
86 | + ); |
|
87 | + ?> |
|
88 | 88 | </p> |
89 | 89 | </div> |
90 | 90 | <?php |
91 | - espresso_deactivate_plugin(plugin_basename(__FILE__)); |
|
92 | - } |
|
91 | + espresso_deactivate_plugin(plugin_basename(__FILE__)); |
|
92 | + } |
|
93 | 93 | |
94 | - add_action('admin_notices', 'espresso_minimum_php_version_error', 1); |
|
95 | - } else { |
|
96 | - define('EVENT_ESPRESSO_MAIN_FILE', __FILE__); |
|
97 | - /** |
|
98 | - * espresso_version |
|
99 | - * Returns the plugin version |
|
100 | - * |
|
101 | - * @return string |
|
102 | - */ |
|
103 | - function espresso_version() |
|
104 | - { |
|
105 | - return apply_filters('FHEE__espresso__espresso_version', '4.10.38.rc.000'); |
|
106 | - } |
|
94 | + add_action('admin_notices', 'espresso_minimum_php_version_error', 1); |
|
95 | + } else { |
|
96 | + define('EVENT_ESPRESSO_MAIN_FILE', __FILE__); |
|
97 | + /** |
|
98 | + * espresso_version |
|
99 | + * Returns the plugin version |
|
100 | + * |
|
101 | + * @return string |
|
102 | + */ |
|
103 | + function espresso_version() |
|
104 | + { |
|
105 | + return apply_filters('FHEE__espresso__espresso_version', '4.10.38.rc.000'); |
|
106 | + } |
|
107 | 107 | |
108 | - /** |
|
109 | - * espresso_plugin_activation |
|
110 | - * adds a wp-option to indicate that EE has been activated via the WP admin plugins page |
|
111 | - */ |
|
112 | - function espresso_plugin_activation() |
|
113 | - { |
|
114 | - update_option('ee_espresso_activation', true); |
|
115 | - } |
|
108 | + /** |
|
109 | + * espresso_plugin_activation |
|
110 | + * adds a wp-option to indicate that EE has been activated via the WP admin plugins page |
|
111 | + */ |
|
112 | + function espresso_plugin_activation() |
|
113 | + { |
|
114 | + update_option('ee_espresso_activation', true); |
|
115 | + } |
|
116 | 116 | |
117 | - register_activation_hook(EVENT_ESPRESSO_MAIN_FILE, 'espresso_plugin_activation'); |
|
117 | + register_activation_hook(EVENT_ESPRESSO_MAIN_FILE, 'espresso_plugin_activation'); |
|
118 | 118 | |
119 | - require_once __DIR__ . '/core/bootstrap_espresso.php'; |
|
120 | - bootstrap_espresso(); |
|
121 | - } |
|
119 | + require_once __DIR__ . '/core/bootstrap_espresso.php'; |
|
120 | + bootstrap_espresso(); |
|
121 | + } |
|
122 | 122 | } |
123 | 123 | if (! function_exists('espresso_deactivate_plugin')) { |
124 | - /** |
|
125 | - * deactivate_plugin |
|
126 | - * usage: espresso_deactivate_plugin( plugin_basename( __FILE__ )); |
|
127 | - * |
|
128 | - * @access public |
|
129 | - * @param string $plugin_basename - the results of plugin_basename( __FILE__ ) for the plugin's main file |
|
130 | - * @return void |
|
131 | - */ |
|
132 | - function espresso_deactivate_plugin($plugin_basename = '') |
|
133 | - { |
|
134 | - if (! function_exists('deactivate_plugins')) { |
|
135 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
|
136 | - } |
|
137 | - unset($_GET['activate'], $_REQUEST['activate']); |
|
138 | - deactivate_plugins($plugin_basename); |
|
139 | - } |
|
124 | + /** |
|
125 | + * deactivate_plugin |
|
126 | + * usage: espresso_deactivate_plugin( plugin_basename( __FILE__ )); |
|
127 | + * |
|
128 | + * @access public |
|
129 | + * @param string $plugin_basename - the results of plugin_basename( __FILE__ ) for the plugin's main file |
|
130 | + * @return void |
|
131 | + */ |
|
132 | + function espresso_deactivate_plugin($plugin_basename = '') |
|
133 | + { |
|
134 | + if (! function_exists('deactivate_plugins')) { |
|
135 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
|
136 | + } |
|
137 | + unset($_GET['activate'], $_REQUEST['activate']); |
|
138 | + deactivate_plugins($plugin_basename); |
|
139 | + } |
|
140 | 140 | } |
141 | 141 | \ No newline at end of file |
@@ -53,7 +53,7 @@ |
||
53 | 53 | 'The URL of the button image for this payment method in the registration process. You may use any uploaded image on your website (click %s next to the field to select). If left blank, the default button image will be used.', |
54 | 54 | 'event_espresso' |
55 | 55 | ), |
56 | - '<img src="' . admin_url('images/media-button-image.gif') . '">' |
|
56 | + '<img src="'.admin_url('images/media-button-image.gif').'">' |
|
57 | 57 | ); |
58 | 58 | ?> |
59 | 59 | </li> |
@@ -12,62 +12,62 @@ discard block |
||
12 | 12 | <strong><?php esc_html_e('Name', 'event_espresso'); ?></strong> |
13 | 13 | <br> |
14 | 14 | <?php esc_html_e( |
15 | - 'The name of the payment method as customers see it in the registration form, in emails, in receipts, etc.', |
|
16 | - 'event_espresso' |
|
17 | - ); ?> |
|
15 | + 'The name of the payment method as customers see it in the registration form, in emails, in receipts, etc.', |
|
16 | + 'event_espresso' |
|
17 | + ); ?> |
|
18 | 18 | </li> |
19 | 19 | <li> |
20 | 20 | <strong><?php esc_html_e('Description', 'event_espresso'); ?></strong> |
21 | 21 | <br /> |
22 | 22 | <?php esc_html_e( |
23 | - 'The description of how to use the payment method as customers will see it. This is mostly only seen during registration.', |
|
24 | - 'event_espresso' |
|
25 | - ); ?> |
|
23 | + 'The description of how to use the payment method as customers will see it. This is mostly only seen during registration.', |
|
24 | + 'event_espresso' |
|
25 | + ); ?> |
|
26 | 26 | </li> |
27 | 27 | <li> |
28 | 28 | <strong><?php esc_html_e('Admin-Only Name', 'event_espresso'); ?></strong> |
29 | 29 | <br /> |
30 | 30 | <?php esc_html_e( |
31 | - 'The name of the payment method as seen internally by site administrators and staff.', |
|
32 | - 'event_espresso' |
|
33 | - ); ?> |
|
31 | + 'The name of the payment method as seen internally by site administrators and staff.', |
|
32 | + 'event_espresso' |
|
33 | + ); ?> |
|
34 | 34 | </li> |
35 | 35 | <li> |
36 | 36 | <strong><?php esc_html_e('Admin-Only Description', 'event_espresso'); ?></strong> |
37 | 37 | <br /> |
38 | 38 | <?php esc_html_e( |
39 | - 'The description of the payment method as seen internally by site administrators and staff.', |
|
40 | - 'event_espresso' |
|
41 | - ); ?> |
|
39 | + 'The description of the payment method as seen internally by site administrators and staff.', |
|
40 | + 'event_espresso' |
|
41 | + ); ?> |
|
42 | 42 | </li> |
43 | 43 | <li> |
44 | 44 | <strong><?php esc_html_e('Debug (sandbox) Mode', 'event_espresso'); ?></strong> |
45 | 45 | <br /> |
46 | 46 | <?php esc_html_e( |
47 | - 'Many payment methods have a debug/sandbox mode where payments are not processed but are only simulated. This is helpful when setup and debugging.', |
|
48 | - 'event_espresso' |
|
49 | - ); ?> |
|
47 | + 'Many payment methods have a debug/sandbox mode where payments are not processed but are only simulated. This is helpful when setup and debugging.', |
|
48 | + 'event_espresso' |
|
49 | + ); ?> |
|
50 | 50 | </li> |
51 | 51 | <li> |
52 | 52 | <strong><?php esc_html_e('Open by Default', 'event_espresso'); ?></strong> |
53 | 53 | <br /> |
54 | 54 | <?php esc_html_e( |
55 | - 'If checked, this payment method will be selected by default (assuming no other valid payment methods are also marked as open by default.)', |
|
56 | - 'event_espresso' |
|
57 | - ); ?> |
|
55 | + 'If checked, this payment method will be selected by default (assuming no other valid payment methods are also marked as open by default.)', |
|
56 | + 'event_espresso' |
|
57 | + ); ?> |
|
58 | 58 | </li> |
59 | 59 | <li> |
60 | 60 | <strong><?php esc_html_e('Button URL', 'event_espresso'); ?></strong> |
61 | 61 | <br /> |
62 | 62 | <?php |
63 | - printf( |
|
64 | - esc_html__( |
|
65 | - 'The URL of the button image for this payment method in the registration process. You may use any uploaded image on your website (click %s next to the field to select). If left blank, the default button image will be used.', |
|
66 | - 'event_espresso' |
|
67 | - ), |
|
68 | - '<img src="' . admin_url('images/media-button-image.gif') . '">' |
|
69 | - ); |
|
70 | - ?> |
|
63 | + printf( |
|
64 | + esc_html__( |
|
65 | + 'The URL of the button image for this payment method in the registration process. You may use any uploaded image on your website (click %s next to the field to select). If left blank, the default button image will be used.', |
|
66 | + 'event_espresso' |
|
67 | + ), |
|
68 | + '<img src="' . admin_url('images/media-button-image.gif') . '">' |
|
69 | + ); |
|
70 | + ?> |
|
71 | 71 | </li> |
72 | 72 | <li><strong><?php esc_html_e('Usable From', 'event_espresso'); ?></strong> |
73 | 73 | <br /> |
@@ -75,15 +75,15 @@ discard block |
||
75 | 75 | <ul> |
76 | 76 | <li> |
77 | 77 | <?php esc_html_e( |
78 | - 'Front-end Registration Page: the payment method will appear as an option during the normal registration process to customers and they can use it to process payments.', |
|
79 | - 'event_espresso' |
|
80 | - ); ?> |
|
78 | + 'Front-end Registration Page: the payment method will appear as an option during the normal registration process to customers and they can use it to process payments.', |
|
79 | + 'event_espresso' |
|
80 | + ); ?> |
|
81 | 81 | </li> |
82 | 82 | <li> |
83 | 83 | <?php esc_html_e( |
84 | - 'Admin Registration Page: when recording payments made from the transaction admin page, the payment method will appear as an option. Note: currently payments can only be RECORDED from the admin, they cannot be PROCESSED.', |
|
85 | - 'event_espresso' |
|
86 | - ); ?> |
|
84 | + 'Admin Registration Page: when recording payments made from the transaction admin page, the payment method will appear as an option. Note: currently payments can only be RECORDED from the admin, they cannot be PROCESSED.', |
|
85 | + 'event_espresso' |
|
86 | + ); ?> |
|
87 | 87 | </li> |
88 | 88 | </ul> |
89 | 89 | </li> |
@@ -91,14 +91,14 @@ discard block |
||
91 | 91 | <strong><?php esc_html_e('Recommendations', 'event_espresso'); ?></strong> |
92 | 92 | <br /> |
93 | 93 | <?php esc_html_e( |
94 | - 'To learn more about the options on this page, take a look at the different tabs that appear on the left side of the page.', |
|
95 | - 'event_espresso' |
|
94 | + 'To learn more about the options on this page, take a look at the different tabs that appear on the left side of the page.', |
|
95 | + 'event_espresso' |
|
96 | 96 | ); ?> |
97 | 97 | <p> |
98 | 98 | <strong><?php esc_html_e('Screen Options', 'event_espresso'); ?></strong> |
99 | 99 | <br /> |
100 | 100 | <?php esc_html_e( |
101 | - 'You can customize the information that is shown on this page by toggling the Screen Options tab. Then you can add or remove checkmarks to hide or show certain content.', |
|
102 | - 'event_espresso' |
|
103 | - ); ?> |
|
101 | + 'You can customize the information that is shown on this page by toggling the Screen Options tab. Then you can add or remove checkmarks to hide or show certain content.', |
|
102 | + 'event_espresso' |
|
103 | + ); ?> |
|
104 | 104 | </p> |
@@ -42,7 +42,7 @@ |
||
42 | 42 | protected function _parser($shortcode) |
43 | 43 | { |
44 | 44 | // ensure that the incoming object IS a line item. If it isn't then bail early. |
45 | - if (! $this->_data instanceof EE_Line_Item) { |
|
45 | + if ( ! $this->_data instanceof EE_Line_Item) { |
|
46 | 46 | return ''; |
47 | 47 | } |
48 | 48 |
@@ -16,67 +16,67 @@ |
||
16 | 16 | */ |
17 | 17 | class EE_Line_Item_Shortcodes extends EE_Shortcodes |
18 | 18 | { |
19 | - protected function _init_props() |
|
20 | - { |
|
21 | - $this->label = esc_html__('Line Item Shortcodes', 'event_espresso'); |
|
22 | - $this->description = esc_html__('All shortcodes specific to line items', 'event_espresso'); |
|
23 | - $this->_shortcodes = array( |
|
24 | - '[LINE_ITEM_NAME]' => esc_html__('Outputs the line item name.', 'event_espresso'), |
|
25 | - '[LINE_ITEM_DESCRIPTION]' => esc_html__('Outputs a the description for the line item.', 'event_espresso'), |
|
26 | - '[LINE_ITEM_QUANTITY]' => esc_html__('Outputs the quantity for this line item.', 'event_espresso'), |
|
27 | - '[LINE_ITEM_AMOUNT]' => esc_html__( |
|
28 | - 'This will either output the unit price for a line item if its not a percent, or the percent of the line item (if it is percent).', |
|
29 | - 'event_espresso' |
|
30 | - ), |
|
31 | - '[LINE_ITEM_TOTAL]' => esc_html__('This outputs the line item total.', 'event_espresso'), |
|
32 | - '[LINE_ITEM_TAXABLE_*]' => esc_html__( |
|
33 | - 'This attribute type shortcode allows users to indicate what to output if a line item is taxable or not. One can use the key "symbol=" with the shortcode to indicate what they\'d like to represent a taxable line item. So doing something like <code>[LINE_ITEM_TAXABLE_* symbol="*"]</code> means that when the line item is parsed, if it\'s taxable the "*" symbol will be returned. The default symbol if no attribute is included is the "*" symbol.', |
|
34 | - 'event_espresso' |
|
35 | - ), |
|
36 | - ); |
|
37 | - } |
|
19 | + protected function _init_props() |
|
20 | + { |
|
21 | + $this->label = esc_html__('Line Item Shortcodes', 'event_espresso'); |
|
22 | + $this->description = esc_html__('All shortcodes specific to line items', 'event_espresso'); |
|
23 | + $this->_shortcodes = array( |
|
24 | + '[LINE_ITEM_NAME]' => esc_html__('Outputs the line item name.', 'event_espresso'), |
|
25 | + '[LINE_ITEM_DESCRIPTION]' => esc_html__('Outputs a the description for the line item.', 'event_espresso'), |
|
26 | + '[LINE_ITEM_QUANTITY]' => esc_html__('Outputs the quantity for this line item.', 'event_espresso'), |
|
27 | + '[LINE_ITEM_AMOUNT]' => esc_html__( |
|
28 | + 'This will either output the unit price for a line item if its not a percent, or the percent of the line item (if it is percent).', |
|
29 | + 'event_espresso' |
|
30 | + ), |
|
31 | + '[LINE_ITEM_TOTAL]' => esc_html__('This outputs the line item total.', 'event_espresso'), |
|
32 | + '[LINE_ITEM_TAXABLE_*]' => esc_html__( |
|
33 | + 'This attribute type shortcode allows users to indicate what to output if a line item is taxable or not. One can use the key "symbol=" with the shortcode to indicate what they\'d like to represent a taxable line item. So doing something like <code>[LINE_ITEM_TAXABLE_* symbol="*"]</code> means that when the line item is parsed, if it\'s taxable the "*" symbol will be returned. The default symbol if no attribute is included is the "*" symbol.', |
|
34 | + 'event_espresso' |
|
35 | + ), |
|
36 | + ); |
|
37 | + } |
|
38 | 38 | |
39 | 39 | |
40 | - protected function _parser($shortcode) |
|
41 | - { |
|
42 | - // ensure that the incoming object IS a line item. If it isn't then bail early. |
|
43 | - if (! $this->_data instanceof EE_Line_Item) { |
|
44 | - return ''; |
|
45 | - } |
|
40 | + protected function _parser($shortcode) |
|
41 | + { |
|
42 | + // ensure that the incoming object IS a line item. If it isn't then bail early. |
|
43 | + if (! $this->_data instanceof EE_Line_Item) { |
|
44 | + return ''; |
|
45 | + } |
|
46 | 46 | |
47 | - $line_item = $this->_data; |
|
47 | + $line_item = $this->_data; |
|
48 | 48 | |
49 | - switch ($shortcode) { |
|
50 | - case '[LINE_ITEM_NAME]': |
|
51 | - return $line_item->name(); |
|
52 | - break; |
|
49 | + switch ($shortcode) { |
|
50 | + case '[LINE_ITEM_NAME]': |
|
51 | + return $line_item->name(); |
|
52 | + break; |
|
53 | 53 | |
54 | - case '[LINE_ITEM_DESCRIPTION]': |
|
55 | - return $line_item->desc(); |
|
56 | - break; |
|
54 | + case '[LINE_ITEM_DESCRIPTION]': |
|
55 | + return $line_item->desc(); |
|
56 | + break; |
|
57 | 57 | |
58 | - case '[LINE_ITEM_QUANTITY]': |
|
59 | - return $line_item->quantity(); |
|
60 | - break; |
|
58 | + case '[LINE_ITEM_QUANTITY]': |
|
59 | + return $line_item->quantity(); |
|
60 | + break; |
|
61 | 61 | |
62 | - case '[LINE_ITEM_AMOUNT]': |
|
63 | - return $line_item->is_percent() |
|
64 | - ? apply_filters('FHEE__format_percentage_value', $line_item->percent()) |
|
65 | - : $line_item->prettyUnitPrice(); |
|
66 | - break; |
|
62 | + case '[LINE_ITEM_AMOUNT]': |
|
63 | + return $line_item->is_percent() |
|
64 | + ? apply_filters('FHEE__format_percentage_value', $line_item->percent()) |
|
65 | + : $line_item->prettyUnitPrice(); |
|
66 | + break; |
|
67 | 67 | |
68 | - case '[LINE_ITEM_TOTAL]': |
|
69 | - return $line_item->prettyTotal(); |
|
70 | - break; |
|
71 | - } |
|
68 | + case '[LINE_ITEM_TOTAL]': |
|
69 | + return $line_item->prettyTotal(); |
|
70 | + break; |
|
71 | + } |
|
72 | 72 | |
73 | - if (strpos($shortcode, '[LINE_ITEM_TAXABLE_*') !== false) { |
|
74 | - $attrs = $this->_get_shortcode_attrs($shortcode); |
|
75 | - if ($line_item->is_taxable()) { |
|
76 | - return ! empty($attrs['symbol']) ? $attrs['symbol'] : '*'; |
|
77 | - } |
|
78 | - } |
|
73 | + if (strpos($shortcode, '[LINE_ITEM_TAXABLE_*') !== false) { |
|
74 | + $attrs = $this->_get_shortcode_attrs($shortcode); |
|
75 | + if ($line_item->is_taxable()) { |
|
76 | + return ! empty($attrs['symbol']) ? $attrs['symbol'] : '*'; |
|
77 | + } |
|
78 | + } |
|
79 | 79 | |
80 | - return ''; |
|
81 | - } |
|
80 | + return ''; |
|
81 | + } |
|
82 | 82 | } |
@@ -3,15 +3,15 @@ discard block |
||
3 | 3 | </p> |
4 | 4 | <p> |
5 | 5 | <?php |
6 | - printf( |
|
7 | - esc_html__( |
|
8 | - 'Messages are email notifications that are sent out by Event Espresso. Message Types are the %1$skinds%2$s of messages that get delivered. They can be thought of as the "type" of package that is being delivered by the messenger. For example, Event Espresso comes with two Message Types attached to the Email Messenger:', |
|
9 | - 'event_espresso' |
|
10 | - ), |
|
11 | - '<em>', |
|
12 | - '</em>' |
|
13 | - ); |
|
14 | - ?> |
|
6 | + printf( |
|
7 | + esc_html__( |
|
8 | + 'Messages are email notifications that are sent out by Event Espresso. Message Types are the %1$skinds%2$s of messages that get delivered. They can be thought of as the "type" of package that is being delivered by the messenger. For example, Event Espresso comes with two Message Types attached to the Email Messenger:', |
|
9 | + 'event_espresso' |
|
10 | + ), |
|
11 | + '<em>', |
|
12 | + '</em>' |
|
13 | + ); |
|
14 | + ?> |
|
15 | 15 | </p> |
16 | 16 | <ul> |
17 | 17 | <li> |
@@ -30,22 +30,22 @@ discard block |
||
30 | 30 | </p> |
31 | 31 | <p> |
32 | 32 | <?php esc_html_e( |
33 | - 'Each Message Type (kind of message) has different contexts. Contexts are dynamic and typically represent recipients (individuals receiving email notifications). For example, when the Registration Confirmation message type is triggered, it will send out a message to the following recipients: Event Administrator, Primary Registrant, and Additional Registrants. On the other hand, the Payment Message Type has only two recipients: Event Administrator and Primary Registrant.', |
|
34 | - 'event_espresso' |
|
35 | - ); ?> |
|
33 | + 'Each Message Type (kind of message) has different contexts. Contexts are dynamic and typically represent recipients (individuals receiving email notifications). For example, when the Registration Confirmation message type is triggered, it will send out a message to the following recipients: Event Administrator, Primary Registrant, and Additional Registrants. On the other hand, the Payment Message Type has only two recipients: Event Administrator and Primary Registrant.', |
|
34 | + 'event_espresso' |
|
35 | + ); ?> |
|
36 | 36 | </p> |
37 | 37 | <p> |
38 | 38 | <?php esc_html_e( |
39 | - 'A message context can be deactivated by removing a recipient from the "TO" field. This will set the field to blank and you can save changes. Deactivated message contexts will appear in grey when viewed in the Messages Overview tab. To re-activate a message context, go to that message context and setup a recipient (using one of the available shortcodes) and save changes. This will reactivate the message context and it will appear as blue in the Messages Overview tab.', |
|
40 | - 'event_espresso' |
|
41 | - ); ?> |
|
39 | + 'A message context can be deactivated by removing a recipient from the "TO" field. This will set the field to blank and you can save changes. Deactivated message contexts will appear in grey when viewed in the Messages Overview tab. To re-activate a message context, go to that message context and setup a recipient (using one of the available shortcodes) and save changes. This will reactivate the message context and it will appear as blue in the Messages Overview tab.', |
|
40 | + 'event_espresso' |
|
41 | + ); ?> |
|
42 | 42 | </p> |
43 | 43 | <p> |
44 | 44 | <strong><?php esc_html_e('Activation / Deactivation of Message Types', 'event_espresso'); ?></strong> |
45 | 45 | </p> |
46 | 46 | <p> |
47 | 47 | <?php esc_html_e( |
48 | - 'When a new install of Event Espresso is activated, all message types will be activated except for those for Cancelled and Declined registrations. The message types for Cancelled and Declined registrations can be easily activated through the Settings tab for Messages. Deactivating and re-activating Event Espresso will keep the current settings saved.', |
|
49 | - 'event_espresso' |
|
50 | - ); ?> |
|
48 | + 'When a new install of Event Espresso is activated, all message types will be activated except for those for Cancelled and Declined registrations. The message types for Cancelled and Declined registrations can be easily activated through the Settings tab for Messages. Deactivating and re-activating Event Espresso will keep the current settings saved.', |
|
49 | + 'event_espresso' |
|
50 | + ); ?> |
|
51 | 51 | </p> |
@@ -3,25 +3,25 @@ |
||
3 | 3 | </p> |
4 | 4 | <p> |
5 | 5 | <?php |
6 | - printf( |
|
7 | - esc_html__( |
|
8 | - 'Message Templates are the %1$sformat%2$s of the messages going out. Think of them as a “form letter”. Templates tell the Messages system how to style your messages and the content (information) they will have when they are delivered.', |
|
9 | - 'event_espresso' |
|
10 | - ), |
|
11 | - '<em>', |
|
12 | - '</em>' |
|
13 | - ); |
|
14 | - ?> |
|
6 | + printf( |
|
7 | + esc_html__( |
|
8 | + 'Message Templates are the %1$sformat%2$s of the messages going out. Think of them as a “form letter”. Templates tell the Messages system how to style your messages and the content (information) they will have when they are delivered.', |
|
9 | + 'event_espresso' |
|
10 | + ), |
|
11 | + '<em>', |
|
12 | + '</em>' |
|
13 | + ); |
|
14 | + ?> |
|
15 | 15 | </p> |
16 | 16 | <p> |
17 | 17 | <?php esc_html_e( |
18 | - 'There is a template created for each Messenger / Message Type and context combination. For example, messages that are sent for Payment Confirmation have a template for Event Administrator and a different one for Primary Registrant. Whereas, messages that are sent for the Registration confirmation have 3 templates: one for Event Administrator, one for the Primary Registrant, and another for each additional Registrant(s).', |
|
19 | - 'event_espresso' |
|
20 | - ); ?> |
|
18 | + 'There is a template created for each Messenger / Message Type and context combination. For example, messages that are sent for Payment Confirmation have a template for Event Administrator and a different one for Primary Registrant. Whereas, messages that are sent for the Registration confirmation have 3 templates: one for Event Administrator, one for the Primary Registrant, and another for each additional Registrant(s).', |
|
19 | + 'event_espresso' |
|
20 | + ); ?> |
|
21 | 21 | </p> |
22 | 22 | <p> |
23 | 23 | <?php esc_html_e( |
24 | - 'With the Event Espresso Messages system, every Messenger, Message Type, and context will have a global template created with some default content on creation. You have the ability to edit the global template that will be used for all events you create. Additionally, you have the ability to create custom templates for each event on the edit event page for the event (in a metabox labelled "Notifications").', |
|
25 | - 'event_espresso' |
|
26 | - ); ?> |
|
24 | + 'With the Event Espresso Messages system, every Messenger, Message Type, and context will have a global template created with some default content on creation. You have the ability to edit the global template that will be used for all events you create. Additionally, you have the ability to create custom templates for each event on the edit event page for the event (in a metabox labelled "Notifications").', |
|
25 | + 'event_espresso' |
|
26 | + ); ?> |
|
27 | 27 | </p> |
@@ -3,13 +3,13 @@ |
||
3 | 3 | </p> |
4 | 4 | <p> |
5 | 5 | <?php |
6 | - printf( |
|
7 | - esc_html__( |
|
8 | - 'Messengers are the vehicles that deliver messages to individuals (recipients). By default, every install of Event Espresso has the %sEmail%s messenger active. The Email messenger is a vehicle for delivering messages. Other possible vehicles might be any social media applications, 3rd party API\'s etc.', |
|
9 | - 'event_espresso' |
|
10 | - ), |
|
11 | - '<strong>', |
|
12 | - '</strong>' |
|
13 | - ); |
|
14 | - ?> |
|
6 | + printf( |
|
7 | + esc_html__( |
|
8 | + 'Messengers are the vehicles that deliver messages to individuals (recipients). By default, every install of Event Espresso has the %sEmail%s messenger active. The Email messenger is a vehicle for delivering messages. Other possible vehicles might be any social media applications, 3rd party API\'s etc.', |
|
9 | + 'event_espresso' |
|
10 | + ), |
|
11 | + '<strong>', |
|
12 | + '</strong>' |
|
13 | + ); |
|
14 | + ?> |
|
15 | 15 | </p> |
@@ -168,7 +168,7 @@ discard block |
||
168 | 168 | private function _get_datetimes_from_event(EE_Event $event) |
169 | 169 | { |
170 | 170 | return isset($this->_extra_data['data']->events) |
171 | - ? $this->_extra_data['data']->events[ $event->ID() ]['dtt_objs'] |
|
171 | + ? $this->_extra_data['data']->events[$event->ID()]['dtt_objs'] |
|
172 | 172 | : []; |
173 | 173 | } |
174 | 174 | |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | private function _get_datetimes_from_ticket(EE_Ticket $ticket) |
183 | 183 | { |
184 | 184 | return isset($this->_extra_data['data']->tickets) |
185 | - ? $this->_extra_data['data']->tickets[ $ticket->ID() ]['dtt_objs'] |
|
185 | + ? $this->_extra_data['data']->tickets[$ticket->ID()]['dtt_objs'] |
|
186 | 186 | : []; |
187 | 187 | } |
188 | 188 | } |
@@ -18,172 +18,172 @@ |
||
18 | 18 | */ |
19 | 19 | class EE_Datetime_List_Shortcodes extends EE_Shortcodes |
20 | 20 | { |
21 | - protected function _init_props() |
|
22 | - { |
|
23 | - $this->label = esc_html__('Datetime List Shortcodes', 'event_espresso'); |
|
24 | - $this->description = esc_html__('All shortcodes specific to datetime lists', 'event_espresso'); |
|
25 | - $this->_shortcodes = [ |
|
26 | - '[DATETIME_LIST]' => esc_html__( |
|
27 | - 'Will output a list of datetimes according to the layout specified in the datetime list field.', |
|
28 | - 'event_espresso' |
|
29 | - ), |
|
30 | - ]; |
|
31 | - } |
|
32 | - |
|
33 | - |
|
34 | - /** |
|
35 | - * @param string $shortcode |
|
36 | - * @return string |
|
37 | - * @throws EE_Error |
|
38 | - * @throws ReflectionException |
|
39 | - */ |
|
40 | - protected function _parser($shortcode) |
|
41 | - { |
|
42 | - switch ($shortcode) { |
|
43 | - case '[DATETIME_LIST]': |
|
44 | - return $this->_get_datetime_list(); |
|
45 | - } |
|
46 | - return ''; |
|
47 | - } |
|
48 | - |
|
49 | - |
|
50 | - /** |
|
51 | - * figure out what the incoming data is and then return the appropriate parsed value. |
|
52 | - * |
|
53 | - * @return string |
|
54 | - * @throws EE_Error |
|
55 | - * @throws ReflectionException |
|
56 | - */ |
|
57 | - private function _get_datetime_list() |
|
58 | - { |
|
59 | - $this->_validate_list_requirements(); |
|
60 | - |
|
61 | - if ($this->_data['data'] instanceof EE_Ticket) { |
|
62 | - return $this->_get_datetime_list_for_ticket(); |
|
63 | - } |
|
64 | - if ($this->_data['data'] instanceof EE_Event) { |
|
65 | - return $this->_get_datetime_list_for_event(); |
|
66 | - } |
|
67 | - if ( |
|
68 | - $this->_data['data'] instanceof EE_Messages_Addressee |
|
69 | - && $this->_data['data']->reg_obj instanceof EE_Registration |
|
70 | - ) { |
|
71 | - return $this->_get_datetime_list_for_registration(); |
|
72 | - } |
|
73 | - // prevent recursive loop |
|
74 | - return ''; |
|
75 | - } |
|
76 | - |
|
77 | - |
|
78 | - /** |
|
79 | - * return parsed list of datetimes for an event |
|
80 | - * |
|
81 | - * @return string |
|
82 | - * @throws EE_Error |
|
83 | - * @throws ReflectionException |
|
84 | - */ |
|
85 | - private function _get_datetime_list_for_event() |
|
86 | - { |
|
87 | - $event = $this->_data['data']; |
|
88 | - $valid_shortcodes = ['datetime', 'attendee']; |
|
89 | - $template = is_array($this->_data['template']) && isset($this->_data['template']['datetime_list']) |
|
90 | - ? $this->_data['template']['datetime_list'] |
|
91 | - : $this->_extra_data['template']['datetime_list']; |
|
92 | - |
|
93 | - // here we're setting up the datetimes for the datetime list template for THIS event. |
|
94 | - $dtt_parsed = ''; |
|
95 | - $datetimes = $this->_get_datetimes_from_event($event); |
|
96 | - |
|
97 | - // each datetime in this case should be an datetime object. |
|
98 | - foreach ($datetimes as $datetime) { |
|
99 | - $dtt_parsed .= $this->_shortcode_helper->parse_datetime_list_template( |
|
100 | - $template, |
|
101 | - $datetime, |
|
102 | - $valid_shortcodes, |
|
103 | - $this->_extra_data |
|
104 | - ); |
|
105 | - } |
|
106 | - |
|
107 | - return $dtt_parsed; |
|
108 | - } |
|
109 | - |
|
110 | - |
|
111 | - /** |
|
112 | - * return parsed list of datetimes for an ticket |
|
113 | - * |
|
114 | - * @return string |
|
115 | - * @throws EE_Error |
|
116 | - * @throws ReflectionException |
|
117 | - */ |
|
118 | - private function _get_datetime_list_for_ticket() |
|
119 | - { |
|
120 | - $valid_shortcodes = ['datetime', 'attendee']; |
|
121 | - |
|
122 | - $template = is_array($this->_data['template']) && isset($this->_data['template']['datetime_list']) |
|
123 | - ? $this->_data['template']['datetime_list'] |
|
124 | - : $this->_extra_data['template']['datetime_list']; |
|
125 | - $ticket = $this->_data['data']; |
|
126 | - |
|
127 | - // here we're setting up the datetimes for the datetime list template for THIS ticket. |
|
128 | - $dtt_parsed = ''; |
|
129 | - $datetimes = $this->_get_datetimes_from_ticket($ticket); |
|
130 | - |
|
131 | - // each datetime in this case should be an datetime object. |
|
132 | - foreach ($datetimes as $datetime) { |
|
133 | - $dtt_parsed .= $this->_shortcode_helper->parse_datetime_list_template( |
|
134 | - $template, |
|
135 | - $datetime, |
|
136 | - $valid_shortcodes, |
|
137 | - $this->_extra_data |
|
138 | - ); |
|
139 | - } |
|
140 | - |
|
141 | - return $dtt_parsed; |
|
142 | - } |
|
143 | - |
|
144 | - |
|
145 | - /** |
|
146 | - * return parsed list of datetimes from a given registration. |
|
147 | - * |
|
148 | - * @return string |
|
149 | - * @throws EE_Error |
|
150 | - * @throws ReflectionException |
|
151 | - */ |
|
152 | - private function _get_datetime_list_for_registration() |
|
153 | - { |
|
154 | - $registration = $this->_data['data']->reg_obj; |
|
155 | - |
|
156 | - // now let's just get the ticket, set $this->_data['data'] to the ticket |
|
157 | - // and then call _get_datetime_list_for__ticket(); |
|
158 | - $this->_data['data'] = $registration->ticket(); |
|
159 | - return $this->_get_datetime_list_for_ticket(); |
|
160 | - } |
|
161 | - |
|
162 | - |
|
163 | - /** |
|
164 | - * @param EE_Event $event |
|
165 | - * @return array|mixed |
|
166 | - * @throws EE_Error |
|
167 | - * @throws ReflectionException |
|
168 | - */ |
|
169 | - private function _get_datetimes_from_event(EE_Event $event) |
|
170 | - { |
|
171 | - return isset($this->_extra_data['data']->events) |
|
172 | - ? $this->_extra_data['data']->events[ $event->ID() ]['dtt_objs'] |
|
173 | - : []; |
|
174 | - } |
|
175 | - |
|
176 | - |
|
177 | - /** |
|
178 | - * @param EE_Ticket $ticket |
|
179 | - * @return array|mixed |
|
180 | - * @throws EE_Error |
|
181 | - * @throws ReflectionException |
|
182 | - */ |
|
183 | - private function _get_datetimes_from_ticket(EE_Ticket $ticket) |
|
184 | - { |
|
185 | - return isset($this->_extra_data['data']->tickets) |
|
186 | - ? $this->_extra_data['data']->tickets[ $ticket->ID() ]['dtt_objs'] |
|
187 | - : []; |
|
188 | - } |
|
21 | + protected function _init_props() |
|
22 | + { |
|
23 | + $this->label = esc_html__('Datetime List Shortcodes', 'event_espresso'); |
|
24 | + $this->description = esc_html__('All shortcodes specific to datetime lists', 'event_espresso'); |
|
25 | + $this->_shortcodes = [ |
|
26 | + '[DATETIME_LIST]' => esc_html__( |
|
27 | + 'Will output a list of datetimes according to the layout specified in the datetime list field.', |
|
28 | + 'event_espresso' |
|
29 | + ), |
|
30 | + ]; |
|
31 | + } |
|
32 | + |
|
33 | + |
|
34 | + /** |
|
35 | + * @param string $shortcode |
|
36 | + * @return string |
|
37 | + * @throws EE_Error |
|
38 | + * @throws ReflectionException |
|
39 | + */ |
|
40 | + protected function _parser($shortcode) |
|
41 | + { |
|
42 | + switch ($shortcode) { |
|
43 | + case '[DATETIME_LIST]': |
|
44 | + return $this->_get_datetime_list(); |
|
45 | + } |
|
46 | + return ''; |
|
47 | + } |
|
48 | + |
|
49 | + |
|
50 | + /** |
|
51 | + * figure out what the incoming data is and then return the appropriate parsed value. |
|
52 | + * |
|
53 | + * @return string |
|
54 | + * @throws EE_Error |
|
55 | + * @throws ReflectionException |
|
56 | + */ |
|
57 | + private function _get_datetime_list() |
|
58 | + { |
|
59 | + $this->_validate_list_requirements(); |
|
60 | + |
|
61 | + if ($this->_data['data'] instanceof EE_Ticket) { |
|
62 | + return $this->_get_datetime_list_for_ticket(); |
|
63 | + } |
|
64 | + if ($this->_data['data'] instanceof EE_Event) { |
|
65 | + return $this->_get_datetime_list_for_event(); |
|
66 | + } |
|
67 | + if ( |
|
68 | + $this->_data['data'] instanceof EE_Messages_Addressee |
|
69 | + && $this->_data['data']->reg_obj instanceof EE_Registration |
|
70 | + ) { |
|
71 | + return $this->_get_datetime_list_for_registration(); |
|
72 | + } |
|
73 | + // prevent recursive loop |
|
74 | + return ''; |
|
75 | + } |
|
76 | + |
|
77 | + |
|
78 | + /** |
|
79 | + * return parsed list of datetimes for an event |
|
80 | + * |
|
81 | + * @return string |
|
82 | + * @throws EE_Error |
|
83 | + * @throws ReflectionException |
|
84 | + */ |
|
85 | + private function _get_datetime_list_for_event() |
|
86 | + { |
|
87 | + $event = $this->_data['data']; |
|
88 | + $valid_shortcodes = ['datetime', 'attendee']; |
|
89 | + $template = is_array($this->_data['template']) && isset($this->_data['template']['datetime_list']) |
|
90 | + ? $this->_data['template']['datetime_list'] |
|
91 | + : $this->_extra_data['template']['datetime_list']; |
|
92 | + |
|
93 | + // here we're setting up the datetimes for the datetime list template for THIS event. |
|
94 | + $dtt_parsed = ''; |
|
95 | + $datetimes = $this->_get_datetimes_from_event($event); |
|
96 | + |
|
97 | + // each datetime in this case should be an datetime object. |
|
98 | + foreach ($datetimes as $datetime) { |
|
99 | + $dtt_parsed .= $this->_shortcode_helper->parse_datetime_list_template( |
|
100 | + $template, |
|
101 | + $datetime, |
|
102 | + $valid_shortcodes, |
|
103 | + $this->_extra_data |
|
104 | + ); |
|
105 | + } |
|
106 | + |
|
107 | + return $dtt_parsed; |
|
108 | + } |
|
109 | + |
|
110 | + |
|
111 | + /** |
|
112 | + * return parsed list of datetimes for an ticket |
|
113 | + * |
|
114 | + * @return string |
|
115 | + * @throws EE_Error |
|
116 | + * @throws ReflectionException |
|
117 | + */ |
|
118 | + private function _get_datetime_list_for_ticket() |
|
119 | + { |
|
120 | + $valid_shortcodes = ['datetime', 'attendee']; |
|
121 | + |
|
122 | + $template = is_array($this->_data['template']) && isset($this->_data['template']['datetime_list']) |
|
123 | + ? $this->_data['template']['datetime_list'] |
|
124 | + : $this->_extra_data['template']['datetime_list']; |
|
125 | + $ticket = $this->_data['data']; |
|
126 | + |
|
127 | + // here we're setting up the datetimes for the datetime list template for THIS ticket. |
|
128 | + $dtt_parsed = ''; |
|
129 | + $datetimes = $this->_get_datetimes_from_ticket($ticket); |
|
130 | + |
|
131 | + // each datetime in this case should be an datetime object. |
|
132 | + foreach ($datetimes as $datetime) { |
|
133 | + $dtt_parsed .= $this->_shortcode_helper->parse_datetime_list_template( |
|
134 | + $template, |
|
135 | + $datetime, |
|
136 | + $valid_shortcodes, |
|
137 | + $this->_extra_data |
|
138 | + ); |
|
139 | + } |
|
140 | + |
|
141 | + return $dtt_parsed; |
|
142 | + } |
|
143 | + |
|
144 | + |
|
145 | + /** |
|
146 | + * return parsed list of datetimes from a given registration. |
|
147 | + * |
|
148 | + * @return string |
|
149 | + * @throws EE_Error |
|
150 | + * @throws ReflectionException |
|
151 | + */ |
|
152 | + private function _get_datetime_list_for_registration() |
|
153 | + { |
|
154 | + $registration = $this->_data['data']->reg_obj; |
|
155 | + |
|
156 | + // now let's just get the ticket, set $this->_data['data'] to the ticket |
|
157 | + // and then call _get_datetime_list_for__ticket(); |
|
158 | + $this->_data['data'] = $registration->ticket(); |
|
159 | + return $this->_get_datetime_list_for_ticket(); |
|
160 | + } |
|
161 | + |
|
162 | + |
|
163 | + /** |
|
164 | + * @param EE_Event $event |
|
165 | + * @return array|mixed |
|
166 | + * @throws EE_Error |
|
167 | + * @throws ReflectionException |
|
168 | + */ |
|
169 | + private function _get_datetimes_from_event(EE_Event $event) |
|
170 | + { |
|
171 | + return isset($this->_extra_data['data']->events) |
|
172 | + ? $this->_extra_data['data']->events[ $event->ID() ]['dtt_objs'] |
|
173 | + : []; |
|
174 | + } |
|
175 | + |
|
176 | + |
|
177 | + /** |
|
178 | + * @param EE_Ticket $ticket |
|
179 | + * @return array|mixed |
|
180 | + * @throws EE_Error |
|
181 | + * @throws ReflectionException |
|
182 | + */ |
|
183 | + private function _get_datetimes_from_ticket(EE_Ticket $ticket) |
|
184 | + { |
|
185 | + return isset($this->_extra_data['data']->tickets) |
|
186 | + ? $this->_extra_data['data']->tickets[ $ticket->ID() ]['dtt_objs'] |
|
187 | + : []; |
|
188 | + } |
|
189 | 189 | } |
@@ -202,7 +202,7 @@ discard block |
||
202 | 202 | private function _get_tickets_from_event(EE_Event $event) |
203 | 203 | { |
204 | 204 | return isset($this->_extra_data['data']->events) |
205 | - ? $this->_extra_data['data']->events[ $event->ID() ]['tkt_objs'] |
|
205 | + ? $this->_extra_data['data']->events[$event->ID()]['tkt_objs'] |
|
206 | 206 | : []; |
207 | 207 | } |
208 | 208 | |
@@ -216,7 +216,7 @@ discard block |
||
216 | 216 | private function _get_ticket_list_from_registration(EE_Registration $registration) |
217 | 217 | { |
218 | 218 | return isset($this->_extra_data['data']->registrations) |
219 | - ? [$this->_extra_data['data']->registrations[ $registration->ID() ]['tkt_obj']] |
|
219 | + ? [$this->_extra_data['data']->registrations[$registration->ID()]['tkt_obj']] |
|
220 | 220 | : []; |
221 | 221 | } |
222 | 222 | } |
@@ -18,210 +18,210 @@ |
||
18 | 18 | */ |
19 | 19 | class EE_Ticket_List_Shortcodes extends EE_Shortcodes |
20 | 20 | { |
21 | - public function __construct() |
|
22 | - { |
|
23 | - parent::__construct(); |
|
24 | - } |
|
25 | - |
|
26 | - |
|
27 | - protected function _init_props() |
|
28 | - { |
|
29 | - $this->label = esc_html__('Ticket List Shortcodes', 'event_espresso'); |
|
30 | - $this->description = esc_html__('All shortcodes specific to ticket lists', 'event_espresso'); |
|
31 | - $this->_shortcodes = [ |
|
32 | - '[TICKET_LIST]' => esc_html__('Will output a list of tickets', 'event_espresso'), |
|
33 | - ]; |
|
34 | - } |
|
35 | - |
|
36 | - |
|
37 | - /** |
|
38 | - * @param string $shortcode |
|
39 | - * @return string |
|
40 | - * @throws EE_Error |
|
41 | - * @throws ReflectionException |
|
42 | - */ |
|
43 | - protected function _parser($shortcode) |
|
44 | - { |
|
45 | - switch ($shortcode) { |
|
46 | - case '[TICKET_LIST]': |
|
47 | - return $this->_get_ticket_list(); |
|
48 | - } |
|
49 | - return ''; |
|
50 | - } |
|
51 | - |
|
52 | - |
|
53 | - /** |
|
54 | - * figure out what the incoming data is and then return the appropriate parsed value. |
|
55 | - * |
|
56 | - * @return string |
|
57 | - * @throws EE_Error |
|
58 | - * @throws ReflectionException |
|
59 | - */ |
|
60 | - private function _get_ticket_list() |
|
61 | - { |
|
62 | - $this->_validate_list_requirements(); |
|
63 | - |
|
64 | - if ($this->_data['data'] instanceof EE_Messages_Addressee) { |
|
65 | - return $this->_get_ticket_list_for_main(); |
|
66 | - } |
|
67 | - if ($this->_data['data'] instanceof EE_Registration) { |
|
68 | - return $this->_get_ticket_list_for_attendee(); |
|
69 | - } |
|
70 | - if ($this->_data['data'] instanceof EE_Event) { |
|
71 | - return $this->_get_ticket_list_for_event(); |
|
72 | - } |
|
73 | - // prevent recursive loop |
|
74 | - return ''; |
|
75 | - } |
|
76 | - |
|
77 | - |
|
78 | - /** |
|
79 | - * This returns the parsed ticket list for main template; |
|
80 | - */ |
|
81 | - private function _get_ticket_list_for_main() |
|
82 | - { |
|
83 | - $valid_shortcodes = [ |
|
84 | - 'ticket', |
|
85 | - 'event_list', |
|
86 | - 'attendee_list', |
|
87 | - 'datetime_list', |
|
88 | - 'attendee', |
|
89 | - 'line_item_list', |
|
90 | - 'primary_registration_details', |
|
91 | - 'recipient_details', |
|
92 | - ]; |
|
93 | - $template = $this->_data['template']; |
|
94 | - $data = $this->_data['data']; |
|
95 | - $ticket_list = ''; |
|
96 | - |
|
97 | - |
|
98 | - // now we need to loop through the ticket list and send data to the EE_Parser helper. |
|
99 | - foreach ($data->tickets as $ticket) { |
|
100 | - $ticket_list .= $this->_shortcode_helper->parse_ticket_list_template( |
|
101 | - $template, |
|
102 | - $ticket['ticket'], |
|
103 | - $valid_shortcodes, |
|
104 | - $this->_extra_data |
|
105 | - ); |
|
106 | - } |
|
107 | - |
|
108 | - return $ticket_list; |
|
109 | - } |
|
110 | - |
|
111 | - |
|
112 | - /** |
|
113 | - * return parsed list of tickets for an event |
|
114 | - * |
|
115 | - * @return string |
|
116 | - * @throws EE_Error |
|
117 | - * @throws ReflectionException |
|
118 | - */ |
|
119 | - private function _get_ticket_list_for_event() |
|
120 | - { |
|
121 | - $valid_shortcodes = [ |
|
122 | - 'ticket', |
|
123 | - 'attendee_list', |
|
124 | - 'datetime_list', |
|
125 | - 'attendee', |
|
126 | - 'venue', |
|
127 | - 'line_item_list', |
|
128 | - 'primary_registration_details', |
|
129 | - 'recipient_details', |
|
130 | - ]; |
|
131 | - $template = is_array($this->_data['template']) && isset($this->_data['template']['ticket_list']) |
|
132 | - ? $this->_data['template']['ticket_list'] |
|
133 | - : $this->_extra_data['template']['ticket_list']; |
|
134 | - $event = $this->_data['data']; |
|
135 | - |
|
136 | - // let's remove any existing [EVENT_LIST] shortcodes from the ticket list template so that we don't get recursion. |
|
137 | - $template = str_replace('[EVENT_LIST]', '', $template); |
|
138 | - |
|
139 | - // here we're setting up the tickets for the ticket list template for THIS event. |
|
140 | - $tkt_parsed = ''; |
|
141 | - $tickets = $this->_get_tickets_from_event($event); |
|
142 | - |
|
143 | - // each ticket in this case should be an ticket object. |
|
144 | - foreach ($tickets as $ticket) { |
|
145 | - $tkt_parsed .= $this->_shortcode_helper->parse_ticket_list_template( |
|
146 | - $template, |
|
147 | - $ticket, |
|
148 | - $valid_shortcodes, |
|
149 | - $this->_extra_data |
|
150 | - ); |
|
151 | - } |
|
152 | - |
|
153 | - return $tkt_parsed; |
|
154 | - } |
|
155 | - |
|
156 | - |
|
157 | - /** |
|
158 | - * return parsed list of tickets for an attendee |
|
159 | - * |
|
160 | - * @return string |
|
161 | - * @throws EE_Error |
|
162 | - * @throws ReflectionException |
|
163 | - */ |
|
164 | - private function _get_ticket_list_for_attendee() |
|
165 | - { |
|
166 | - $valid_shortcodes = [ |
|
167 | - 'ticket', |
|
168 | - 'event_list', |
|
169 | - 'datetime_list', |
|
170 | - 'attendee', |
|
171 | - 'primary_registration_details', |
|
172 | - 'recipient_details', |
|
173 | - ]; |
|
174 | - |
|
175 | - $template = is_array($this->_data['template']) && isset($this->_data['template']['ticket_list']) |
|
176 | - ? $this->_data['template']['ticket_list'] |
|
177 | - : $this->_extra_data['template']['ticket_list']; |
|
178 | - $registration = $this->_data['data']; |
|
179 | - |
|
180 | - // let's remove any existing [ATTENDEE_LIST] shortcode from the ticket list template so that we don't get recursion. |
|
181 | - $template = str_replace('[ATTENDEE_LIST]', '', $template); |
|
182 | - |
|
183 | - // here we're setting up the tickets for the ticket list template for THIS attendee. |
|
184 | - $tkt_parsed = ''; |
|
185 | - $tickets = $this->_get_ticket_list_from_registration($registration); |
|
186 | - |
|
187 | - // each ticket in this case should be an ticket object. |
|
188 | - foreach ($tickets as $ticket) { |
|
189 | - $tkt_parsed .= $this->_shortcode_helper->parse_ticket_list_template( |
|
190 | - $template, |
|
191 | - $ticket, |
|
192 | - $valid_shortcodes, |
|
193 | - $this->_extra_data |
|
194 | - ); |
|
195 | - } |
|
196 | - |
|
197 | - return $tkt_parsed; |
|
198 | - } |
|
199 | - |
|
200 | - |
|
201 | - /** |
|
202 | - * @param EE_Event $event |
|
203 | - * @return array|mixed |
|
204 | - * @throws EE_Error |
|
205 | - * @throws ReflectionException |
|
206 | - */ |
|
207 | - private function _get_tickets_from_event(EE_Event $event) |
|
208 | - { |
|
209 | - return isset($this->_extra_data['data']->events) |
|
210 | - ? $this->_extra_data['data']->events[ $event->ID() ]['tkt_objs'] |
|
211 | - : []; |
|
212 | - } |
|
213 | - |
|
214 | - |
|
215 | - /** |
|
216 | - * @param EE_Registration $registration |
|
217 | - * @return array |
|
218 | - * @throws EE_Error |
|
219 | - * @throws ReflectionException |
|
220 | - */ |
|
221 | - private function _get_ticket_list_from_registration(EE_Registration $registration) |
|
222 | - { |
|
223 | - return isset($this->_extra_data['data']->registrations) |
|
224 | - ? [$this->_extra_data['data']->registrations[ $registration->ID() ]['tkt_obj']] |
|
225 | - : []; |
|
226 | - } |
|
21 | + public function __construct() |
|
22 | + { |
|
23 | + parent::__construct(); |
|
24 | + } |
|
25 | + |
|
26 | + |
|
27 | + protected function _init_props() |
|
28 | + { |
|
29 | + $this->label = esc_html__('Ticket List Shortcodes', 'event_espresso'); |
|
30 | + $this->description = esc_html__('All shortcodes specific to ticket lists', 'event_espresso'); |
|
31 | + $this->_shortcodes = [ |
|
32 | + '[TICKET_LIST]' => esc_html__('Will output a list of tickets', 'event_espresso'), |
|
33 | + ]; |
|
34 | + } |
|
35 | + |
|
36 | + |
|
37 | + /** |
|
38 | + * @param string $shortcode |
|
39 | + * @return string |
|
40 | + * @throws EE_Error |
|
41 | + * @throws ReflectionException |
|
42 | + */ |
|
43 | + protected function _parser($shortcode) |
|
44 | + { |
|
45 | + switch ($shortcode) { |
|
46 | + case '[TICKET_LIST]': |
|
47 | + return $this->_get_ticket_list(); |
|
48 | + } |
|
49 | + return ''; |
|
50 | + } |
|
51 | + |
|
52 | + |
|
53 | + /** |
|
54 | + * figure out what the incoming data is and then return the appropriate parsed value. |
|
55 | + * |
|
56 | + * @return string |
|
57 | + * @throws EE_Error |
|
58 | + * @throws ReflectionException |
|
59 | + */ |
|
60 | + private function _get_ticket_list() |
|
61 | + { |
|
62 | + $this->_validate_list_requirements(); |
|
63 | + |
|
64 | + if ($this->_data['data'] instanceof EE_Messages_Addressee) { |
|
65 | + return $this->_get_ticket_list_for_main(); |
|
66 | + } |
|
67 | + if ($this->_data['data'] instanceof EE_Registration) { |
|
68 | + return $this->_get_ticket_list_for_attendee(); |
|
69 | + } |
|
70 | + if ($this->_data['data'] instanceof EE_Event) { |
|
71 | + return $this->_get_ticket_list_for_event(); |
|
72 | + } |
|
73 | + // prevent recursive loop |
|
74 | + return ''; |
|
75 | + } |
|
76 | + |
|
77 | + |
|
78 | + /** |
|
79 | + * This returns the parsed ticket list for main template; |
|
80 | + */ |
|
81 | + private function _get_ticket_list_for_main() |
|
82 | + { |
|
83 | + $valid_shortcodes = [ |
|
84 | + 'ticket', |
|
85 | + 'event_list', |
|
86 | + 'attendee_list', |
|
87 | + 'datetime_list', |
|
88 | + 'attendee', |
|
89 | + 'line_item_list', |
|
90 | + 'primary_registration_details', |
|
91 | + 'recipient_details', |
|
92 | + ]; |
|
93 | + $template = $this->_data['template']; |
|
94 | + $data = $this->_data['data']; |
|
95 | + $ticket_list = ''; |
|
96 | + |
|
97 | + |
|
98 | + // now we need to loop through the ticket list and send data to the EE_Parser helper. |
|
99 | + foreach ($data->tickets as $ticket) { |
|
100 | + $ticket_list .= $this->_shortcode_helper->parse_ticket_list_template( |
|
101 | + $template, |
|
102 | + $ticket['ticket'], |
|
103 | + $valid_shortcodes, |
|
104 | + $this->_extra_data |
|
105 | + ); |
|
106 | + } |
|
107 | + |
|
108 | + return $ticket_list; |
|
109 | + } |
|
110 | + |
|
111 | + |
|
112 | + /** |
|
113 | + * return parsed list of tickets for an event |
|
114 | + * |
|
115 | + * @return string |
|
116 | + * @throws EE_Error |
|
117 | + * @throws ReflectionException |
|
118 | + */ |
|
119 | + private function _get_ticket_list_for_event() |
|
120 | + { |
|
121 | + $valid_shortcodes = [ |
|
122 | + 'ticket', |
|
123 | + 'attendee_list', |
|
124 | + 'datetime_list', |
|
125 | + 'attendee', |
|
126 | + 'venue', |
|
127 | + 'line_item_list', |
|
128 | + 'primary_registration_details', |
|
129 | + 'recipient_details', |
|
130 | + ]; |
|
131 | + $template = is_array($this->_data['template']) && isset($this->_data['template']['ticket_list']) |
|
132 | + ? $this->_data['template']['ticket_list'] |
|
133 | + : $this->_extra_data['template']['ticket_list']; |
|
134 | + $event = $this->_data['data']; |
|
135 | + |
|
136 | + // let's remove any existing [EVENT_LIST] shortcodes from the ticket list template so that we don't get recursion. |
|
137 | + $template = str_replace('[EVENT_LIST]', '', $template); |
|
138 | + |
|
139 | + // here we're setting up the tickets for the ticket list template for THIS event. |
|
140 | + $tkt_parsed = ''; |
|
141 | + $tickets = $this->_get_tickets_from_event($event); |
|
142 | + |
|
143 | + // each ticket in this case should be an ticket object. |
|
144 | + foreach ($tickets as $ticket) { |
|
145 | + $tkt_parsed .= $this->_shortcode_helper->parse_ticket_list_template( |
|
146 | + $template, |
|
147 | + $ticket, |
|
148 | + $valid_shortcodes, |
|
149 | + $this->_extra_data |
|
150 | + ); |
|
151 | + } |
|
152 | + |
|
153 | + return $tkt_parsed; |
|
154 | + } |
|
155 | + |
|
156 | + |
|
157 | + /** |
|
158 | + * return parsed list of tickets for an attendee |
|
159 | + * |
|
160 | + * @return string |
|
161 | + * @throws EE_Error |
|
162 | + * @throws ReflectionException |
|
163 | + */ |
|
164 | + private function _get_ticket_list_for_attendee() |
|
165 | + { |
|
166 | + $valid_shortcodes = [ |
|
167 | + 'ticket', |
|
168 | + 'event_list', |
|
169 | + 'datetime_list', |
|
170 | + 'attendee', |
|
171 | + 'primary_registration_details', |
|
172 | + 'recipient_details', |
|
173 | + ]; |
|
174 | + |
|
175 | + $template = is_array($this->_data['template']) && isset($this->_data['template']['ticket_list']) |
|
176 | + ? $this->_data['template']['ticket_list'] |
|
177 | + : $this->_extra_data['template']['ticket_list']; |
|
178 | + $registration = $this->_data['data']; |
|
179 | + |
|
180 | + // let's remove any existing [ATTENDEE_LIST] shortcode from the ticket list template so that we don't get recursion. |
|
181 | + $template = str_replace('[ATTENDEE_LIST]', '', $template); |
|
182 | + |
|
183 | + // here we're setting up the tickets for the ticket list template for THIS attendee. |
|
184 | + $tkt_parsed = ''; |
|
185 | + $tickets = $this->_get_ticket_list_from_registration($registration); |
|
186 | + |
|
187 | + // each ticket in this case should be an ticket object. |
|
188 | + foreach ($tickets as $ticket) { |
|
189 | + $tkt_parsed .= $this->_shortcode_helper->parse_ticket_list_template( |
|
190 | + $template, |
|
191 | + $ticket, |
|
192 | + $valid_shortcodes, |
|
193 | + $this->_extra_data |
|
194 | + ); |
|
195 | + } |
|
196 | + |
|
197 | + return $tkt_parsed; |
|
198 | + } |
|
199 | + |
|
200 | + |
|
201 | + /** |
|
202 | + * @param EE_Event $event |
|
203 | + * @return array|mixed |
|
204 | + * @throws EE_Error |
|
205 | + * @throws ReflectionException |
|
206 | + */ |
|
207 | + private function _get_tickets_from_event(EE_Event $event) |
|
208 | + { |
|
209 | + return isset($this->_extra_data['data']->events) |
|
210 | + ? $this->_extra_data['data']->events[ $event->ID() ]['tkt_objs'] |
|
211 | + : []; |
|
212 | + } |
|
213 | + |
|
214 | + |
|
215 | + /** |
|
216 | + * @param EE_Registration $registration |
|
217 | + * @return array |
|
218 | + * @throws EE_Error |
|
219 | + * @throws ReflectionException |
|
220 | + */ |
|
221 | + private function _get_ticket_list_from_registration(EE_Registration $registration) |
|
222 | + { |
|
223 | + return isset($this->_extra_data['data']->registrations) |
|
224 | + ? [$this->_extra_data['data']->registrations[ $registration->ID() ]['tkt_obj']] |
|
225 | + : []; |
|
226 | + } |
|
227 | 227 | } |