@@ -14,62 +14,62 @@ |
||
14 | 14 | class Context implements ContextInterface |
15 | 15 | { |
16 | 16 | |
17 | - /** |
|
18 | - * @var string $slug |
|
19 | - */ |
|
20 | - private $slug; |
|
17 | + /** |
|
18 | + * @var string $slug |
|
19 | + */ |
|
20 | + private $slug; |
|
21 | 21 | |
22 | - /** |
|
23 | - * @var string $description |
|
24 | - */ |
|
25 | - private $description; |
|
22 | + /** |
|
23 | + * @var string $description |
|
24 | + */ |
|
25 | + private $description; |
|
26 | 26 | |
27 | 27 | |
28 | - /** |
|
29 | - * Context constructor. |
|
30 | - * |
|
31 | - * @param string $slug |
|
32 | - * @param string $description |
|
33 | - */ |
|
34 | - public function __construct($slug, $description) |
|
35 | - { |
|
36 | - $this->setSlug($slug); |
|
37 | - $this->setDescription($description); |
|
38 | - } |
|
28 | + /** |
|
29 | + * Context constructor. |
|
30 | + * |
|
31 | + * @param string $slug |
|
32 | + * @param string $description |
|
33 | + */ |
|
34 | + public function __construct($slug, $description) |
|
35 | + { |
|
36 | + $this->setSlug($slug); |
|
37 | + $this->setDescription($description); |
|
38 | + } |
|
39 | 39 | |
40 | 40 | |
41 | - /** |
|
42 | - * @return string |
|
43 | - */ |
|
44 | - public function slug() |
|
45 | - { |
|
46 | - return $this->slug; |
|
47 | - } |
|
41 | + /** |
|
42 | + * @return string |
|
43 | + */ |
|
44 | + public function slug() |
|
45 | + { |
|
46 | + return $this->slug; |
|
47 | + } |
|
48 | 48 | |
49 | 49 | |
50 | - /** |
|
51 | - * @param string $slug |
|
52 | - */ |
|
53 | - private function setSlug($slug) |
|
54 | - { |
|
55 | - $this->slug = sanitize_key($slug); |
|
56 | - } |
|
50 | + /** |
|
51 | + * @param string $slug |
|
52 | + */ |
|
53 | + private function setSlug($slug) |
|
54 | + { |
|
55 | + $this->slug = sanitize_key($slug); |
|
56 | + } |
|
57 | 57 | |
58 | 58 | |
59 | - /** |
|
60 | - * @return string |
|
61 | - */ |
|
62 | - public function description() |
|
63 | - { |
|
64 | - return $this->description; |
|
65 | - } |
|
59 | + /** |
|
60 | + * @return string |
|
61 | + */ |
|
62 | + public function description() |
|
63 | + { |
|
64 | + return $this->description; |
|
65 | + } |
|
66 | 66 | |
67 | 67 | |
68 | - /** |
|
69 | - * @param string $description |
|
70 | - */ |
|
71 | - private function setDescription($description) |
|
72 | - { |
|
73 | - $this->description = sanitize_text_field($description); |
|
74 | - } |
|
68 | + /** |
|
69 | + * @param string $description |
|
70 | + */ |
|
71 | + private function setDescription($description) |
|
72 | + { |
|
73 | + $this->description = sanitize_text_field($description); |
|
74 | + } |
|
75 | 75 | } |
@@ -13,60 +13,60 @@ |
||
13 | 13 | class CustomTaxonomyTerm |
14 | 14 | { |
15 | 15 | |
16 | - /** |
|
17 | - * @var string $taxonomy_slug |
|
18 | - */ |
|
19 | - public $taxonomy_slug; |
|
16 | + /** |
|
17 | + * @var string $taxonomy_slug |
|
18 | + */ |
|
19 | + public $taxonomy_slug; |
|
20 | 20 | |
21 | - /** |
|
22 | - * @var string $term_slug |
|
23 | - */ |
|
24 | - public $term_slug; |
|
21 | + /** |
|
22 | + * @var string $term_slug |
|
23 | + */ |
|
24 | + public $term_slug; |
|
25 | 25 | |
26 | - /** |
|
27 | - * @var array $custom_post_type_slugs |
|
28 | - */ |
|
29 | - public $custom_post_type_slugs; |
|
26 | + /** |
|
27 | + * @var array $custom_post_type_slugs |
|
28 | + */ |
|
29 | + public $custom_post_type_slugs; |
|
30 | 30 | |
31 | 31 | |
32 | - /** |
|
33 | - * CustomTaxonomyTerm constructor. |
|
34 | - * |
|
35 | - * @param string $taxonomy_slug |
|
36 | - * @param string $term_slug |
|
37 | - * @param array $custom_post_type_slugs |
|
38 | - */ |
|
39 | - public function __construct($taxonomy_slug, $term_slug, array $custom_post_type_slugs = array()) |
|
40 | - { |
|
41 | - $this->taxonomy_slug = $taxonomy_slug; |
|
42 | - $this->term_slug = $term_slug; |
|
43 | - $this->custom_post_type_slugs = $custom_post_type_slugs; |
|
44 | - } |
|
32 | + /** |
|
33 | + * CustomTaxonomyTerm constructor. |
|
34 | + * |
|
35 | + * @param string $taxonomy_slug |
|
36 | + * @param string $term_slug |
|
37 | + * @param array $custom_post_type_slugs |
|
38 | + */ |
|
39 | + public function __construct($taxonomy_slug, $term_slug, array $custom_post_type_slugs = array()) |
|
40 | + { |
|
41 | + $this->taxonomy_slug = $taxonomy_slug; |
|
42 | + $this->term_slug = $term_slug; |
|
43 | + $this->custom_post_type_slugs = $custom_post_type_slugs; |
|
44 | + } |
|
45 | 45 | |
46 | 46 | |
47 | - /** |
|
48 | - * @return string |
|
49 | - */ |
|
50 | - public function taxonomySlug() |
|
51 | - { |
|
52 | - return $this->taxonomy_slug; |
|
53 | - } |
|
47 | + /** |
|
48 | + * @return string |
|
49 | + */ |
|
50 | + public function taxonomySlug() |
|
51 | + { |
|
52 | + return $this->taxonomy_slug; |
|
53 | + } |
|
54 | 54 | |
55 | 55 | |
56 | - /** |
|
57 | - * @return string |
|
58 | - */ |
|
59 | - public function termSlug() |
|
60 | - { |
|
61 | - return $this->term_slug; |
|
62 | - } |
|
56 | + /** |
|
57 | + * @return string |
|
58 | + */ |
|
59 | + public function termSlug() |
|
60 | + { |
|
61 | + return $this->term_slug; |
|
62 | + } |
|
63 | 63 | |
64 | 64 | |
65 | - /** |
|
66 | - * @return array |
|
67 | - */ |
|
68 | - public function customPostTypeSlugs() |
|
69 | - { |
|
70 | - return $this->custom_post_type_slugs; |
|
71 | - } |
|
65 | + /** |
|
66 | + * @return array |
|
67 | + */ |
|
68 | + public function customPostTypeSlugs() |
|
69 | + { |
|
70 | + return $this->custom_post_type_slugs; |
|
71 | + } |
|
72 | 72 | } |
@@ -17,287 +17,287 @@ |
||
17 | 17 | class CustomPostTypeDefinitions |
18 | 18 | { |
19 | 19 | |
20 | - /** |
|
21 | - * @var EE_Core_Config |
|
22 | - */ |
|
23 | - public $core_config; |
|
20 | + /** |
|
21 | + * @var EE_Core_Config |
|
22 | + */ |
|
23 | + public $core_config; |
|
24 | 24 | |
25 | - /** |
|
26 | - * @var array $custom_post_types |
|
27 | - */ |
|
28 | - private $custom_post_types; |
|
25 | + /** |
|
26 | + * @var array $custom_post_types |
|
27 | + */ |
|
28 | + private $custom_post_types; |
|
29 | 29 | |
30 | - /** |
|
31 | - * @var LoaderInterface $loader |
|
32 | - */ |
|
33 | - private $loader; |
|
30 | + /** |
|
31 | + * @var LoaderInterface $loader |
|
32 | + */ |
|
33 | + private $loader; |
|
34 | 34 | |
35 | 35 | |
36 | - /** |
|
37 | - * EspressoCustomPostTypeDefinitions constructor. |
|
38 | - * |
|
39 | - * @param EE_Core_Config $core_config |
|
40 | - * @param LoaderInterface $loader |
|
41 | - */ |
|
42 | - public function __construct(EE_Core_Config $core_config, LoaderInterface $loader) |
|
43 | - { |
|
44 | - $this->core_config = $core_config; |
|
45 | - $this->loader = $loader; |
|
46 | - $this->setDefinitions(); |
|
47 | - } |
|
36 | + /** |
|
37 | + * EspressoCustomPostTypeDefinitions constructor. |
|
38 | + * |
|
39 | + * @param EE_Core_Config $core_config |
|
40 | + * @param LoaderInterface $loader |
|
41 | + */ |
|
42 | + public function __construct(EE_Core_Config $core_config, LoaderInterface $loader) |
|
43 | + { |
|
44 | + $this->core_config = $core_config; |
|
45 | + $this->loader = $loader; |
|
46 | + $this->setDefinitions(); |
|
47 | + } |
|
48 | 48 | |
49 | 49 | |
50 | - /** |
|
51 | - * defines Espresso Custom Post Types |
|
52 | - * NOTE the ['args']['page_templates'] array index is something specific to our CPTs |
|
53 | - * and not part of the WP custom post type api. |
|
54 | - * |
|
55 | - * @return void |
|
56 | - */ |
|
57 | - private function setDefinitions() |
|
58 | - { |
|
59 | - $this->custom_post_types = array( |
|
60 | - 'espresso_events' => array( |
|
61 | - 'singular_name' => esc_html__('Event', 'event_espresso'), |
|
62 | - 'plural_name' => esc_html__('Events', 'event_espresso'), |
|
63 | - 'singular_slug' => esc_html__('event', 'event_espresso'), |
|
64 | - 'plural_slug' => $this->core_config->event_cpt_slug, |
|
65 | - 'class_name' => 'EE_Event', |
|
66 | - 'model_name' => 'EEM_Event', |
|
67 | - 'args' => array( |
|
68 | - 'public' => true, |
|
69 | - 'show_in_nav_menus' => true, |
|
70 | - 'capability_type' => 'event', |
|
71 | - 'capabilities' => array( |
|
72 | - 'edit_post' => 'ee_edit_event', |
|
73 | - 'read_post' => 'ee_read_event', |
|
74 | - 'delete_post' => 'ee_delete_event', |
|
75 | - 'edit_posts' => 'ee_edit_events', |
|
76 | - 'edit_others_posts' => 'ee_edit_others_events', |
|
77 | - 'publish_posts' => 'ee_publish_events', |
|
78 | - 'read_private_posts' => 'ee_read_private_events', |
|
79 | - 'delete_posts' => 'ee_delete_events', |
|
80 | - 'delete_private_posts' => 'ee_delete_private_events', |
|
81 | - 'delete_published_posts' => 'ee_delete_published_events', |
|
82 | - 'delete_others_posts' => 'ee_delete_others_events', |
|
83 | - 'edit_private_posts' => 'ee_edit_private_events', |
|
84 | - 'edit_published_posts' => 'ee_edit_published_events', |
|
85 | - ), |
|
86 | - 'taxonomies' => array( |
|
87 | - 'espresso_event_categories', |
|
88 | - 'espresso_event_type', |
|
89 | - 'post_tag', |
|
90 | - ), |
|
91 | - 'page_templates' => true, |
|
92 | - ), |
|
93 | - ), |
|
94 | - 'espresso_venues' => array( |
|
95 | - 'singular_name' => esc_html__('Venue', 'event_espresso'), |
|
96 | - 'plural_name' => esc_html__('Venues', 'event_espresso'), |
|
97 | - 'singular_slug' => esc_html__('venue', 'event_espresso'), |
|
98 | - 'plural_slug' => esc_html__('venues', 'event_espresso'), |
|
99 | - 'class_name' => 'EE_Venue', |
|
100 | - 'model_name' => 'EEM_Venue', |
|
101 | - 'args' => array( |
|
102 | - 'public' => true, |
|
103 | - 'show_in_nav_menus' => false, // by default this doesn't show for decaf, |
|
104 | - 'capability_type' => 'venue', |
|
105 | - 'capabilities' => array( |
|
106 | - 'edit_post' => 'ee_edit_venue', |
|
107 | - 'read_post' => 'ee_read_venue', |
|
108 | - 'delete_post' => 'ee_delete_venue', |
|
109 | - 'edit_posts' => 'ee_edit_venues', |
|
110 | - 'edit_others_posts' => 'ee_edit_others_venues', |
|
111 | - 'publish_posts' => 'ee_publish_venues', |
|
112 | - 'read_private_posts' => 'ee_read_private_venues', |
|
113 | - 'delete_posts' => 'ee_delete_venues', |
|
114 | - 'delete_private_posts' => 'ee_delete_private_venues', |
|
115 | - 'delete_published_posts' => 'ee_delete_published_venues', |
|
116 | - 'delete_others_posts' => 'ee_edit_others_venues', |
|
117 | - 'edit_private_posts' => 'ee_edit_private_venues', |
|
118 | - 'edit_published_posts' => 'ee_edit_published_venues', |
|
119 | - ), |
|
120 | - 'taxonomies' => array( |
|
121 | - 'espresso_venue_categories', |
|
122 | - 'post_tag', |
|
123 | - ), |
|
124 | - 'page_templates' => true, |
|
125 | - ), |
|
126 | - ), |
|
127 | - 'espresso_attendees' => array( |
|
128 | - 'singular_name' => esc_html__('Contact', 'event_espresso'), |
|
129 | - 'plural_name' => esc_html__('Contacts', 'event_espresso'), |
|
130 | - 'singular_slug' => esc_html__('contact', 'event_espresso'), |
|
131 | - 'plural_slug' => esc_html__('contacts', 'event_espresso'), |
|
132 | - 'class_name' => 'EE_Attendee', |
|
133 | - 'model_name' => 'EEM_Attendee', |
|
134 | - 'args' => array( |
|
135 | - 'public' => false, |
|
136 | - 'publicly_queryable' => false, |
|
137 | - 'hierarchical' => false, |
|
138 | - 'has_archive' => false, |
|
139 | - 'supports' => array( |
|
140 | - 'editor', |
|
141 | - 'thumbnail', |
|
142 | - 'excerpt', |
|
143 | - 'custom-fields', |
|
144 | - 'comments', |
|
145 | - ), |
|
146 | - 'taxonomies' => array('post_tag'), |
|
147 | - 'capability_type' => 'contact', |
|
148 | - 'capabilities' => array( |
|
149 | - 'edit_post' => 'ee_edit_contact', |
|
150 | - 'read_post' => 'ee_read_contact', |
|
151 | - 'delete_post' => 'ee_delete_contact', |
|
152 | - 'edit_posts' => 'ee_edit_contacts', |
|
153 | - 'edit_others_posts' => 'ee_edit_contacts', |
|
154 | - 'publish_posts' => 'ee_edit_contacts', |
|
155 | - 'read_private_posts' => 'ee_edit_contacts', |
|
156 | - 'delete_posts' => 'ee_delete_contacts', |
|
157 | - 'delete_private_posts' => 'ee_delete_contacts', |
|
158 | - 'delete_published_posts' => 'ee_delete_contacts', |
|
159 | - 'delete_others_posts' => 'ee_delete_contacts', |
|
160 | - 'edit_private_posts' => 'ee_edit_contacts', |
|
161 | - 'edit_published_posts' => 'ee_edit_contacts', |
|
162 | - ), |
|
163 | - ), |
|
164 | - ), |
|
165 | - ); |
|
166 | - } |
|
50 | + /** |
|
51 | + * defines Espresso Custom Post Types |
|
52 | + * NOTE the ['args']['page_templates'] array index is something specific to our CPTs |
|
53 | + * and not part of the WP custom post type api. |
|
54 | + * |
|
55 | + * @return void |
|
56 | + */ |
|
57 | + private function setDefinitions() |
|
58 | + { |
|
59 | + $this->custom_post_types = array( |
|
60 | + 'espresso_events' => array( |
|
61 | + 'singular_name' => esc_html__('Event', 'event_espresso'), |
|
62 | + 'plural_name' => esc_html__('Events', 'event_espresso'), |
|
63 | + 'singular_slug' => esc_html__('event', 'event_espresso'), |
|
64 | + 'plural_slug' => $this->core_config->event_cpt_slug, |
|
65 | + 'class_name' => 'EE_Event', |
|
66 | + 'model_name' => 'EEM_Event', |
|
67 | + 'args' => array( |
|
68 | + 'public' => true, |
|
69 | + 'show_in_nav_menus' => true, |
|
70 | + 'capability_type' => 'event', |
|
71 | + 'capabilities' => array( |
|
72 | + 'edit_post' => 'ee_edit_event', |
|
73 | + 'read_post' => 'ee_read_event', |
|
74 | + 'delete_post' => 'ee_delete_event', |
|
75 | + 'edit_posts' => 'ee_edit_events', |
|
76 | + 'edit_others_posts' => 'ee_edit_others_events', |
|
77 | + 'publish_posts' => 'ee_publish_events', |
|
78 | + 'read_private_posts' => 'ee_read_private_events', |
|
79 | + 'delete_posts' => 'ee_delete_events', |
|
80 | + 'delete_private_posts' => 'ee_delete_private_events', |
|
81 | + 'delete_published_posts' => 'ee_delete_published_events', |
|
82 | + 'delete_others_posts' => 'ee_delete_others_events', |
|
83 | + 'edit_private_posts' => 'ee_edit_private_events', |
|
84 | + 'edit_published_posts' => 'ee_edit_published_events', |
|
85 | + ), |
|
86 | + 'taxonomies' => array( |
|
87 | + 'espresso_event_categories', |
|
88 | + 'espresso_event_type', |
|
89 | + 'post_tag', |
|
90 | + ), |
|
91 | + 'page_templates' => true, |
|
92 | + ), |
|
93 | + ), |
|
94 | + 'espresso_venues' => array( |
|
95 | + 'singular_name' => esc_html__('Venue', 'event_espresso'), |
|
96 | + 'plural_name' => esc_html__('Venues', 'event_espresso'), |
|
97 | + 'singular_slug' => esc_html__('venue', 'event_espresso'), |
|
98 | + 'plural_slug' => esc_html__('venues', 'event_espresso'), |
|
99 | + 'class_name' => 'EE_Venue', |
|
100 | + 'model_name' => 'EEM_Venue', |
|
101 | + 'args' => array( |
|
102 | + 'public' => true, |
|
103 | + 'show_in_nav_menus' => false, // by default this doesn't show for decaf, |
|
104 | + 'capability_type' => 'venue', |
|
105 | + 'capabilities' => array( |
|
106 | + 'edit_post' => 'ee_edit_venue', |
|
107 | + 'read_post' => 'ee_read_venue', |
|
108 | + 'delete_post' => 'ee_delete_venue', |
|
109 | + 'edit_posts' => 'ee_edit_venues', |
|
110 | + 'edit_others_posts' => 'ee_edit_others_venues', |
|
111 | + 'publish_posts' => 'ee_publish_venues', |
|
112 | + 'read_private_posts' => 'ee_read_private_venues', |
|
113 | + 'delete_posts' => 'ee_delete_venues', |
|
114 | + 'delete_private_posts' => 'ee_delete_private_venues', |
|
115 | + 'delete_published_posts' => 'ee_delete_published_venues', |
|
116 | + 'delete_others_posts' => 'ee_edit_others_venues', |
|
117 | + 'edit_private_posts' => 'ee_edit_private_venues', |
|
118 | + 'edit_published_posts' => 'ee_edit_published_venues', |
|
119 | + ), |
|
120 | + 'taxonomies' => array( |
|
121 | + 'espresso_venue_categories', |
|
122 | + 'post_tag', |
|
123 | + ), |
|
124 | + 'page_templates' => true, |
|
125 | + ), |
|
126 | + ), |
|
127 | + 'espresso_attendees' => array( |
|
128 | + 'singular_name' => esc_html__('Contact', 'event_espresso'), |
|
129 | + 'plural_name' => esc_html__('Contacts', 'event_espresso'), |
|
130 | + 'singular_slug' => esc_html__('contact', 'event_espresso'), |
|
131 | + 'plural_slug' => esc_html__('contacts', 'event_espresso'), |
|
132 | + 'class_name' => 'EE_Attendee', |
|
133 | + 'model_name' => 'EEM_Attendee', |
|
134 | + 'args' => array( |
|
135 | + 'public' => false, |
|
136 | + 'publicly_queryable' => false, |
|
137 | + 'hierarchical' => false, |
|
138 | + 'has_archive' => false, |
|
139 | + 'supports' => array( |
|
140 | + 'editor', |
|
141 | + 'thumbnail', |
|
142 | + 'excerpt', |
|
143 | + 'custom-fields', |
|
144 | + 'comments', |
|
145 | + ), |
|
146 | + 'taxonomies' => array('post_tag'), |
|
147 | + 'capability_type' => 'contact', |
|
148 | + 'capabilities' => array( |
|
149 | + 'edit_post' => 'ee_edit_contact', |
|
150 | + 'read_post' => 'ee_read_contact', |
|
151 | + 'delete_post' => 'ee_delete_contact', |
|
152 | + 'edit_posts' => 'ee_edit_contacts', |
|
153 | + 'edit_others_posts' => 'ee_edit_contacts', |
|
154 | + 'publish_posts' => 'ee_edit_contacts', |
|
155 | + 'read_private_posts' => 'ee_edit_contacts', |
|
156 | + 'delete_posts' => 'ee_delete_contacts', |
|
157 | + 'delete_private_posts' => 'ee_delete_contacts', |
|
158 | + 'delete_published_posts' => 'ee_delete_contacts', |
|
159 | + 'delete_others_posts' => 'ee_delete_contacts', |
|
160 | + 'edit_private_posts' => 'ee_edit_contacts', |
|
161 | + 'edit_published_posts' => 'ee_edit_contacts', |
|
162 | + ), |
|
163 | + ), |
|
164 | + ), |
|
165 | + ); |
|
166 | + } |
|
167 | 167 | |
168 | 168 | |
169 | - /** |
|
170 | - * @return array |
|
171 | - */ |
|
172 | - public function getDefinitions() |
|
173 | - { |
|
174 | - return (array)apply_filters( |
|
175 | - 'FHEE__EventEspresso_core_domain_entities_custom_post_types_CustomPostTypeDefinitions__getCustomPostTypes', |
|
176 | - // legacy filter applied for now, |
|
177 | - // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice |
|
178 | - apply_filters( |
|
179 | - 'FHEE__EE_Register_CPTs__get_CPTs__cpts', |
|
180 | - $this->custom_post_types |
|
181 | - ) |
|
182 | - ); |
|
183 | - } |
|
169 | + /** |
|
170 | + * @return array |
|
171 | + */ |
|
172 | + public function getDefinitions() |
|
173 | + { |
|
174 | + return (array)apply_filters( |
|
175 | + 'FHEE__EventEspresso_core_domain_entities_custom_post_types_CustomPostTypeDefinitions__getCustomPostTypes', |
|
176 | + // legacy filter applied for now, |
|
177 | + // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice |
|
178 | + apply_filters( |
|
179 | + 'FHEE__EE_Register_CPTs__get_CPTs__cpts', |
|
180 | + $this->custom_post_types |
|
181 | + ) |
|
182 | + ); |
|
183 | + } |
|
184 | 184 | |
185 | 185 | |
186 | - /** |
|
187 | - * @return array |
|
188 | - */ |
|
189 | - public function getCustomPostTypeSlugs() |
|
190 | - { |
|
191 | - return array_keys($this->getDefinitions()); |
|
192 | - } |
|
186 | + /** |
|
187 | + * @return array |
|
188 | + */ |
|
189 | + public function getCustomPostTypeSlugs() |
|
190 | + { |
|
191 | + return array_keys($this->getDefinitions()); |
|
192 | + } |
|
193 | 193 | |
194 | 194 | |
195 | - /** |
|
196 | - * This basically goes through the CPT array and returns only CPT's |
|
197 | - * that have the ['args']['public'] option set as false |
|
198 | - * |
|
199 | - * @return array |
|
200 | - */ |
|
201 | - public function getPrivateCustomPostTypes() |
|
202 | - { |
|
203 | - $private_CPTs = array(); |
|
204 | - foreach ($this->getDefinitions() as $CPT => $details) { |
|
205 | - if (empty($details['args']['public'])) { |
|
206 | - $private_CPTs[$CPT] = $details; |
|
207 | - } |
|
208 | - } |
|
209 | - return $private_CPTs; |
|
210 | - } |
|
195 | + /** |
|
196 | + * This basically goes through the CPT array and returns only CPT's |
|
197 | + * that have the ['args']['public'] option set as false |
|
198 | + * |
|
199 | + * @return array |
|
200 | + */ |
|
201 | + public function getPrivateCustomPostTypes() |
|
202 | + { |
|
203 | + $private_CPTs = array(); |
|
204 | + foreach ($this->getDefinitions() as $CPT => $details) { |
|
205 | + if (empty($details['args']['public'])) { |
|
206 | + $private_CPTs[$CPT] = $details; |
|
207 | + } |
|
208 | + } |
|
209 | + return $private_CPTs; |
|
210 | + } |
|
211 | 211 | |
212 | 212 | |
213 | - /** |
|
214 | - * This returns the corresponding model name for cpts registered by EE. |
|
215 | - * |
|
216 | - * @param string $post_type_slug If a slug is included, then attempt to retrieve |
|
217 | - * the model name for the given cpt slug. |
|
218 | - * Otherwise if empty, then we'll return |
|
219 | - * all cpt model names for cpts registered in EE. |
|
220 | - * @return array Empty array if no matching model names for the given slug |
|
221 | - * or an array of model names indexed by post type slug. |
|
222 | - */ |
|
223 | - public function getCustomPostTypeModelNames($post_type_slug = '') |
|
224 | - { |
|
225 | - $cpts = $this->getDefinitions(); |
|
226 | - // first if slug passed in... |
|
227 | - if (! empty($post_type_slug)) { |
|
228 | - // check that slug and cpt match |
|
229 | - if (! isset($cpts[$post_type_slug])) { |
|
230 | - return array(); |
|
231 | - } |
|
232 | - if (empty($cpts[$post_type_slug]['class_name']) |
|
233 | - && empty($cpts[$post_type_slug]['model_name']) |
|
234 | - ) { |
|
235 | - return array(); |
|
236 | - } |
|
237 | - // k let's get the model name for this cpt. |
|
238 | - return $this->getCustomPostTypeModelName($post_type_slug, $cpts[$post_type_slug]); |
|
239 | - } |
|
240 | - // if we made it here then we're returning an array of cpt model names indexed by post_type_slug. |
|
241 | - $cpt_models = array(); |
|
242 | - foreach ($cpts as $slug => $args) { |
|
243 | - $model = $this->getCustomPostTypeModelName($post_type_slug, $cpts[$post_type_slug]); |
|
244 | - if (! empty($model)) { |
|
245 | - $cpt_models[$slug] = $model; |
|
246 | - } |
|
247 | - } |
|
248 | - return $cpt_models; |
|
249 | - } |
|
213 | + /** |
|
214 | + * This returns the corresponding model name for cpts registered by EE. |
|
215 | + * |
|
216 | + * @param string $post_type_slug If a slug is included, then attempt to retrieve |
|
217 | + * the model name for the given cpt slug. |
|
218 | + * Otherwise if empty, then we'll return |
|
219 | + * all cpt model names for cpts registered in EE. |
|
220 | + * @return array Empty array if no matching model names for the given slug |
|
221 | + * or an array of model names indexed by post type slug. |
|
222 | + */ |
|
223 | + public function getCustomPostTypeModelNames($post_type_slug = '') |
|
224 | + { |
|
225 | + $cpts = $this->getDefinitions(); |
|
226 | + // first if slug passed in... |
|
227 | + if (! empty($post_type_slug)) { |
|
228 | + // check that slug and cpt match |
|
229 | + if (! isset($cpts[$post_type_slug])) { |
|
230 | + return array(); |
|
231 | + } |
|
232 | + if (empty($cpts[$post_type_slug]['class_name']) |
|
233 | + && empty($cpts[$post_type_slug]['model_name']) |
|
234 | + ) { |
|
235 | + return array(); |
|
236 | + } |
|
237 | + // k let's get the model name for this cpt. |
|
238 | + return $this->getCustomPostTypeModelName($post_type_slug, $cpts[$post_type_slug]); |
|
239 | + } |
|
240 | + // if we made it here then we're returning an array of cpt model names indexed by post_type_slug. |
|
241 | + $cpt_models = array(); |
|
242 | + foreach ($cpts as $slug => $args) { |
|
243 | + $model = $this->getCustomPostTypeModelName($post_type_slug, $cpts[$post_type_slug]); |
|
244 | + if (! empty($model)) { |
|
245 | + $cpt_models[$slug] = $model; |
|
246 | + } |
|
247 | + } |
|
248 | + return $cpt_models; |
|
249 | + } |
|
250 | 250 | |
251 | 251 | |
252 | - /** |
|
253 | - * @param $post_type_slug |
|
254 | - * @param array $cpt |
|
255 | - * @return array |
|
256 | - */ |
|
257 | - private function getCustomPostTypeModelName($post_type_slug, array $cpt) |
|
258 | - { |
|
259 | - if (! empty($cpt['model_name'])) { |
|
260 | - return array($post_type_slug => $cpt['model_name']); |
|
261 | - } |
|
262 | - if (! empty($cpt['class_name'])) { |
|
263 | - return array( |
|
264 | - $post_type_slug => $this->deriveCptModelNameFromClassName($cpt['class_name']), |
|
265 | - ); |
|
266 | - } |
|
267 | - return array(); |
|
268 | - } |
|
252 | + /** |
|
253 | + * @param $post_type_slug |
|
254 | + * @param array $cpt |
|
255 | + * @return array |
|
256 | + */ |
|
257 | + private function getCustomPostTypeModelName($post_type_slug, array $cpt) |
|
258 | + { |
|
259 | + if (! empty($cpt['model_name'])) { |
|
260 | + return array($post_type_slug => $cpt['model_name']); |
|
261 | + } |
|
262 | + if (! empty($cpt['class_name'])) { |
|
263 | + return array( |
|
264 | + $post_type_slug => $this->deriveCptModelNameFromClassName($cpt['class_name']), |
|
265 | + ); |
|
266 | + } |
|
267 | + return array(); |
|
268 | + } |
|
269 | 269 | |
270 | 270 | |
271 | - /** |
|
272 | - * @param string $class_name |
|
273 | - * @return string |
|
274 | - */ |
|
275 | - private function deriveCptModelNameFromClassName($class_name) |
|
276 | - { |
|
277 | - return str_replace('EE', 'EEM', $class_name); |
|
278 | - } |
|
271 | + /** |
|
272 | + * @param string $class_name |
|
273 | + * @return string |
|
274 | + */ |
|
275 | + private function deriveCptModelNameFromClassName($class_name) |
|
276 | + { |
|
277 | + return str_replace('EE', 'EEM', $class_name); |
|
278 | + } |
|
279 | 279 | |
280 | 280 | |
281 | - /** |
|
282 | - * This instantiates cpt models related to the cpts registered via EE. |
|
283 | - * |
|
284 | - * @since 4.6.16.rc.000 |
|
285 | - * @param string $post_type_slug If valid slug is provided, then will instantiate the model only for |
|
286 | - * the cpt matching the given slug. Otherwise all cpt models will be |
|
287 | - * instantiated (if possible). |
|
288 | - * @return EEM_CPT_Base[] successful instantiation will return an array of successfully instantiated |
|
289 | - * EEM models indexed by post slug. |
|
290 | - */ |
|
291 | - public function getCustomPostTypeModels($post_type_slug = '') |
|
292 | - { |
|
293 | - $cpt_model_names = $this->getCustomPostTypeModelNames($post_type_slug); |
|
294 | - $instantiated = array(); |
|
295 | - foreach ($cpt_model_names as $slug => $model_name) { |
|
296 | - $model = $this->loader->getShared($model_name); |
|
297 | - if ($model instanceof EEM_CPT_Base) { |
|
298 | - $instantiated[$slug] = $model; |
|
299 | - } |
|
300 | - } |
|
301 | - return $instantiated; |
|
302 | - } |
|
281 | + /** |
|
282 | + * This instantiates cpt models related to the cpts registered via EE. |
|
283 | + * |
|
284 | + * @since 4.6.16.rc.000 |
|
285 | + * @param string $post_type_slug If valid slug is provided, then will instantiate the model only for |
|
286 | + * the cpt matching the given slug. Otherwise all cpt models will be |
|
287 | + * instantiated (if possible). |
|
288 | + * @return EEM_CPT_Base[] successful instantiation will return an array of successfully instantiated |
|
289 | + * EEM models indexed by post slug. |
|
290 | + */ |
|
291 | + public function getCustomPostTypeModels($post_type_slug = '') |
|
292 | + { |
|
293 | + $cpt_model_names = $this->getCustomPostTypeModelNames($post_type_slug); |
|
294 | + $instantiated = array(); |
|
295 | + foreach ($cpt_model_names as $slug => $model_name) { |
|
296 | + $model = $this->loader->getShared($model_name); |
|
297 | + if ($model instanceof EEM_CPT_Base) { |
|
298 | + $instantiated[$slug] = $model; |
|
299 | + } |
|
300 | + } |
|
301 | + return $instantiated; |
|
302 | + } |
|
303 | 303 | } |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | */ |
172 | 172 | public function getDefinitions() |
173 | 173 | { |
174 | - return (array)apply_filters( |
|
174 | + return (array) apply_filters( |
|
175 | 175 | 'FHEE__EventEspresso_core_domain_entities_custom_post_types_CustomPostTypeDefinitions__getCustomPostTypes', |
176 | 176 | // legacy filter applied for now, |
177 | 177 | // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice |
@@ -224,9 +224,9 @@ discard block |
||
224 | 224 | { |
225 | 225 | $cpts = $this->getDefinitions(); |
226 | 226 | // first if slug passed in... |
227 | - if (! empty($post_type_slug)) { |
|
227 | + if ( ! empty($post_type_slug)) { |
|
228 | 228 | // check that slug and cpt match |
229 | - if (! isset($cpts[$post_type_slug])) { |
|
229 | + if ( ! isset($cpts[$post_type_slug])) { |
|
230 | 230 | return array(); |
231 | 231 | } |
232 | 232 | if (empty($cpts[$post_type_slug]['class_name']) |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | $cpt_models = array(); |
242 | 242 | foreach ($cpts as $slug => $args) { |
243 | 243 | $model = $this->getCustomPostTypeModelName($post_type_slug, $cpts[$post_type_slug]); |
244 | - if (! empty($model)) { |
|
244 | + if ( ! empty($model)) { |
|
245 | 245 | $cpt_models[$slug] = $model; |
246 | 246 | } |
247 | 247 | } |
@@ -256,10 +256,10 @@ discard block |
||
256 | 256 | */ |
257 | 257 | private function getCustomPostTypeModelName($post_type_slug, array $cpt) |
258 | 258 | { |
259 | - if (! empty($cpt['model_name'])) { |
|
259 | + if ( ! empty($cpt['model_name'])) { |
|
260 | 260 | return array($post_type_slug => $cpt['model_name']); |
261 | 261 | } |
262 | - if (! empty($cpt['class_name'])) { |
|
262 | + if ( ! empty($cpt['class_name'])) { |
|
263 | 263 | return array( |
264 | 264 | $post_type_slug => $this->deriveCptModelNameFromClassName($cpt['class_name']), |
265 | 265 | ); |
@@ -13,130 +13,130 @@ |
||
13 | 13 | class CustomTaxonomyDefinitions |
14 | 14 | { |
15 | 15 | |
16 | - /** |
|
17 | - * @var array $taxonomies |
|
18 | - */ |
|
19 | - private $taxonomies; |
|
16 | + /** |
|
17 | + * @var array $taxonomies |
|
18 | + */ |
|
19 | + private $taxonomies; |
|
20 | 20 | |
21 | 21 | |
22 | - /** |
|
23 | - * EspressoCustomPostTypeDefinitions constructor. |
|
24 | - */ |
|
25 | - public function __construct() |
|
26 | - { |
|
27 | - $this->setTaxonomies(); |
|
28 | - add_filter('pre_term_description', array($this, 'filterCustomTermDescription'), 1, 2); |
|
29 | - } |
|
22 | + /** |
|
23 | + * EspressoCustomPostTypeDefinitions constructor. |
|
24 | + */ |
|
25 | + public function __construct() |
|
26 | + { |
|
27 | + $this->setTaxonomies(); |
|
28 | + add_filter('pre_term_description', array($this, 'filterCustomTermDescription'), 1, 2); |
|
29 | + } |
|
30 | 30 | |
31 | 31 | |
32 | - private function setTaxonomies() |
|
33 | - { |
|
34 | - $this->taxonomies = array( |
|
35 | - 'espresso_event_categories' => array( |
|
36 | - 'singular_name' => esc_html__('Event Category', 'event_espresso'), |
|
37 | - 'plural_name' => esc_html__('Event Categories', 'event_espresso'), |
|
38 | - 'args' => array( |
|
39 | - 'public' => true, |
|
40 | - 'show_in_nav_menus' => true, |
|
41 | - 'show_in_rest' => true, |
|
42 | - 'capabilities' => array( |
|
43 | - 'manage_terms' => 'ee_manage_event_categories', |
|
44 | - 'edit_terms' => 'ee_edit_event_category', |
|
45 | - 'delete_terms' => 'ee_delete_event_category', |
|
46 | - 'assign_terms' => 'ee_assign_event_category', |
|
47 | - ), |
|
48 | - 'rewrite' => array('slug' => esc_html__('event-category', 'event_espresso')), |
|
49 | - ), |
|
50 | - ), |
|
51 | - 'espresso_venue_categories' => array( |
|
52 | - 'singular_name' => esc_html__('Venue Category', 'event_espresso'), |
|
53 | - 'plural_name' => esc_html__('Venue Categories', 'event_espresso'), |
|
54 | - 'args' => array( |
|
55 | - 'public' => true, |
|
56 | - 'show_in_nav_menus' => false, // by default this doesn't show for decaf |
|
57 | - 'show_in_rest' => true, |
|
58 | - 'capabilities' => array( |
|
59 | - 'manage_terms' => 'ee_manage_venue_categories', |
|
60 | - 'edit_terms' => 'ee_edit_venue_category', |
|
61 | - 'delete_terms' => 'ee_delete_venue_category', |
|
62 | - 'assign_terms' => 'ee_assign_venue_category', |
|
63 | - ), |
|
64 | - 'rewrite' => array('slug' => esc_html__('venue-category', 'event_espresso')), |
|
65 | - ), |
|
66 | - ), |
|
67 | - 'espresso_event_type' => array( |
|
68 | - 'singular_name' => esc_html__('Event Type', 'event_espresso'), |
|
69 | - 'plural_name' => esc_html__('Event Types', 'event_espresso'), |
|
70 | - 'args' => array( |
|
71 | - 'public' => true, |
|
72 | - 'show_ui' => false, |
|
73 | - 'show_in_rest' => true, |
|
74 | - 'capabilities' => array( |
|
75 | - 'manage_terms' => 'ee_read_event_type', |
|
76 | - 'edit_terms' => 'ee_edit_event_type', |
|
77 | - 'delete_terms' => 'ee_delete_event_type', |
|
78 | - 'assign_terms' => 'ee_assign_event_type', |
|
79 | - ), |
|
80 | - 'rewrite' => array('slug' => esc_html__('event-type', 'event_espresso')), |
|
81 | - 'hierarchical' => true, |
|
82 | - ), |
|
83 | - ), |
|
84 | - ); |
|
85 | - } |
|
32 | + private function setTaxonomies() |
|
33 | + { |
|
34 | + $this->taxonomies = array( |
|
35 | + 'espresso_event_categories' => array( |
|
36 | + 'singular_name' => esc_html__('Event Category', 'event_espresso'), |
|
37 | + 'plural_name' => esc_html__('Event Categories', 'event_espresso'), |
|
38 | + 'args' => array( |
|
39 | + 'public' => true, |
|
40 | + 'show_in_nav_menus' => true, |
|
41 | + 'show_in_rest' => true, |
|
42 | + 'capabilities' => array( |
|
43 | + 'manage_terms' => 'ee_manage_event_categories', |
|
44 | + 'edit_terms' => 'ee_edit_event_category', |
|
45 | + 'delete_terms' => 'ee_delete_event_category', |
|
46 | + 'assign_terms' => 'ee_assign_event_category', |
|
47 | + ), |
|
48 | + 'rewrite' => array('slug' => esc_html__('event-category', 'event_espresso')), |
|
49 | + ), |
|
50 | + ), |
|
51 | + 'espresso_venue_categories' => array( |
|
52 | + 'singular_name' => esc_html__('Venue Category', 'event_espresso'), |
|
53 | + 'plural_name' => esc_html__('Venue Categories', 'event_espresso'), |
|
54 | + 'args' => array( |
|
55 | + 'public' => true, |
|
56 | + 'show_in_nav_menus' => false, // by default this doesn't show for decaf |
|
57 | + 'show_in_rest' => true, |
|
58 | + 'capabilities' => array( |
|
59 | + 'manage_terms' => 'ee_manage_venue_categories', |
|
60 | + 'edit_terms' => 'ee_edit_venue_category', |
|
61 | + 'delete_terms' => 'ee_delete_venue_category', |
|
62 | + 'assign_terms' => 'ee_assign_venue_category', |
|
63 | + ), |
|
64 | + 'rewrite' => array('slug' => esc_html__('venue-category', 'event_espresso')), |
|
65 | + ), |
|
66 | + ), |
|
67 | + 'espresso_event_type' => array( |
|
68 | + 'singular_name' => esc_html__('Event Type', 'event_espresso'), |
|
69 | + 'plural_name' => esc_html__('Event Types', 'event_espresso'), |
|
70 | + 'args' => array( |
|
71 | + 'public' => true, |
|
72 | + 'show_ui' => false, |
|
73 | + 'show_in_rest' => true, |
|
74 | + 'capabilities' => array( |
|
75 | + 'manage_terms' => 'ee_read_event_type', |
|
76 | + 'edit_terms' => 'ee_edit_event_type', |
|
77 | + 'delete_terms' => 'ee_delete_event_type', |
|
78 | + 'assign_terms' => 'ee_assign_event_type', |
|
79 | + ), |
|
80 | + 'rewrite' => array('slug' => esc_html__('event-type', 'event_espresso')), |
|
81 | + 'hierarchical' => true, |
|
82 | + ), |
|
83 | + ), |
|
84 | + ); |
|
85 | + } |
|
86 | 86 | |
87 | 87 | |
88 | - /** |
|
89 | - * @return array |
|
90 | - */ |
|
91 | - public function getCustomTaxonomyDefinitions() |
|
92 | - { |
|
93 | - return (array) apply_filters( |
|
94 | - 'FHEE__EventEspresso_core_domain_entities_custom_post_types_TaxonomyDefinitions__getTaxonomies', |
|
95 | - // legacy filter applied for now, |
|
96 | - // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice |
|
97 | - apply_filters( |
|
98 | - 'FHEE__EE_Register_CPTs__get_taxonomies__taxonomies', |
|
99 | - $this->taxonomies |
|
100 | - ) |
|
101 | - ); |
|
102 | - } |
|
88 | + /** |
|
89 | + * @return array |
|
90 | + */ |
|
91 | + public function getCustomTaxonomyDefinitions() |
|
92 | + { |
|
93 | + return (array) apply_filters( |
|
94 | + 'FHEE__EventEspresso_core_domain_entities_custom_post_types_TaxonomyDefinitions__getTaxonomies', |
|
95 | + // legacy filter applied for now, |
|
96 | + // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice |
|
97 | + apply_filters( |
|
98 | + 'FHEE__EE_Register_CPTs__get_taxonomies__taxonomies', |
|
99 | + $this->taxonomies |
|
100 | + ) |
|
101 | + ); |
|
102 | + } |
|
103 | 103 | |
104 | 104 | |
105 | - /** |
|
106 | - * @return array |
|
107 | - */ |
|
108 | - public function getCustomTaxonomySlugs() |
|
109 | - { |
|
110 | - return array_keys($this->getCustomTaxonomyDefinitions()); |
|
111 | - } |
|
105 | + /** |
|
106 | + * @return array |
|
107 | + */ |
|
108 | + public function getCustomTaxonomySlugs() |
|
109 | + { |
|
110 | + return array_keys($this->getCustomTaxonomyDefinitions()); |
|
111 | + } |
|
112 | 112 | |
113 | 113 | |
114 | - /** |
|
115 | - * By default, WordPress strips all html from term taxonomy description content. |
|
116 | - * The purpose of this method is to remove that restriction |
|
117 | - * and ensure that we still run ee term taxonomy descriptions |
|
118 | - * through some full html sanitization equivalent to the post content field. |
|
119 | - * So first we remove default filter for term description |
|
120 | - * but we have to do this earlier before wp sets their own filter |
|
121 | - * because they just set a global filter on all term descriptions |
|
122 | - * before the custom term description filter. |
|
123 | - * Really sux. |
|
124 | - * |
|
125 | - * @param string $description The description content. |
|
126 | - * @param string $taxonomy The taxonomy name for the taxonomy being filtered. |
|
127 | - * @return string |
|
128 | - */ |
|
129 | - public function filterCustomTermDescription($description, $taxonomy) |
|
130 | - { |
|
131 | - // get a list of EE taxonomies |
|
132 | - $custom_taxonomies = $this->getCustomTaxonomySlugs(); |
|
133 | - // only do our own thing if the taxonomy listed is an ee taxonomy. |
|
134 | - if (in_array($taxonomy, $custom_taxonomies, true)) { |
|
135 | - // remove default wp filter |
|
136 | - remove_filter('pre_term_description', 'wp_filter_kses'); |
|
137 | - // sanitize THIS content. |
|
138 | - $description = wp_kses($description, wp_kses_allowed_html('post')); |
|
139 | - } |
|
140 | - return $description; |
|
141 | - } |
|
114 | + /** |
|
115 | + * By default, WordPress strips all html from term taxonomy description content. |
|
116 | + * The purpose of this method is to remove that restriction |
|
117 | + * and ensure that we still run ee term taxonomy descriptions |
|
118 | + * through some full html sanitization equivalent to the post content field. |
|
119 | + * So first we remove default filter for term description |
|
120 | + * but we have to do this earlier before wp sets their own filter |
|
121 | + * because they just set a global filter on all term descriptions |
|
122 | + * before the custom term description filter. |
|
123 | + * Really sux. |
|
124 | + * |
|
125 | + * @param string $description The description content. |
|
126 | + * @param string $taxonomy The taxonomy name for the taxonomy being filtered. |
|
127 | + * @return string |
|
128 | + */ |
|
129 | + public function filterCustomTermDescription($description, $taxonomy) |
|
130 | + { |
|
131 | + // get a list of EE taxonomies |
|
132 | + $custom_taxonomies = $this->getCustomTaxonomySlugs(); |
|
133 | + // only do our own thing if the taxonomy listed is an ee taxonomy. |
|
134 | + if (in_array($taxonomy, $custom_taxonomies, true)) { |
|
135 | + // remove default wp filter |
|
136 | + remove_filter('pre_term_description', 'wp_filter_kses'); |
|
137 | + // sanitize THIS content. |
|
138 | + $description = wp_kses($description, wp_kses_allowed_html('post')); |
|
139 | + } |
|
140 | + return $description; |
|
141 | + } |
|
142 | 142 | } |
@@ -14,49 +14,49 @@ |
||
14 | 14 | { |
15 | 15 | |
16 | 16 | |
17 | - /* |
|
17 | + /* |
|
18 | 18 | * @var string $reg_code |
19 | 19 | */ |
20 | - private $reg_code; |
|
21 | - |
|
22 | - |
|
23 | - /** |
|
24 | - * RegCode constructor. |
|
25 | - * |
|
26 | - * @param RegUrlLink $reg_url_link |
|
27 | - * @param \EE_Transaction $transaction |
|
28 | - * @param \EE_Ticket $ticket |
|
29 | - */ |
|
30 | - public function __construct( |
|
31 | - RegUrlLink $reg_url_link, |
|
32 | - \EE_Transaction $transaction, |
|
33 | - \EE_Ticket $ticket |
|
34 | - ) { |
|
35 | - // figure out where to start parsing the reg code |
|
36 | - $chars = strpos($reg_url_link, '-') + 5; |
|
37 | - // TXN_ID + TKT_ID + first 3 and last 3 chars of reg_url_link |
|
38 | - $this->reg_code = array( |
|
39 | - $transaction->ID(), |
|
40 | - $ticket->ID(), |
|
41 | - substr($reg_url_link, 0, $chars), |
|
42 | - ); |
|
43 | - // now put it all together |
|
44 | - $this->reg_code = apply_filters( |
|
45 | - 'FHEE__Create__regCode__new_reg_code', |
|
46 | - implode('-', $this->reg_code), |
|
47 | - $transaction, |
|
48 | - $ticket |
|
49 | - ); |
|
50 | - } |
|
51 | - |
|
52 | - |
|
53 | - /** |
|
54 | - * Return the object as a string |
|
55 | - * |
|
56 | - * @return string |
|
57 | - */ |
|
58 | - public function __toString() |
|
59 | - { |
|
60 | - return $this->reg_code; |
|
61 | - } |
|
20 | + private $reg_code; |
|
21 | + |
|
22 | + |
|
23 | + /** |
|
24 | + * RegCode constructor. |
|
25 | + * |
|
26 | + * @param RegUrlLink $reg_url_link |
|
27 | + * @param \EE_Transaction $transaction |
|
28 | + * @param \EE_Ticket $ticket |
|
29 | + */ |
|
30 | + public function __construct( |
|
31 | + RegUrlLink $reg_url_link, |
|
32 | + \EE_Transaction $transaction, |
|
33 | + \EE_Ticket $ticket |
|
34 | + ) { |
|
35 | + // figure out where to start parsing the reg code |
|
36 | + $chars = strpos($reg_url_link, '-') + 5; |
|
37 | + // TXN_ID + TKT_ID + first 3 and last 3 chars of reg_url_link |
|
38 | + $this->reg_code = array( |
|
39 | + $transaction->ID(), |
|
40 | + $ticket->ID(), |
|
41 | + substr($reg_url_link, 0, $chars), |
|
42 | + ); |
|
43 | + // now put it all together |
|
44 | + $this->reg_code = apply_filters( |
|
45 | + 'FHEE__Create__regCode__new_reg_code', |
|
46 | + implode('-', $this->reg_code), |
|
47 | + $transaction, |
|
48 | + $ticket |
|
49 | + ); |
|
50 | + } |
|
51 | + |
|
52 | + |
|
53 | + /** |
|
54 | + * Return the object as a string |
|
55 | + * |
|
56 | + * @return string |
|
57 | + */ |
|
58 | + public function __toString() |
|
59 | + { |
|
60 | + return $this->reg_code; |
|
61 | + } |
|
62 | 62 | } |
@@ -16,71 +16,71 @@ |
||
16 | 16 | class EspressoThankYou extends EspressoShortcode |
17 | 17 | { |
18 | 18 | |
19 | - /** |
|
20 | - * @var boolean $is_thank_you_page |
|
21 | - */ |
|
22 | - private $is_thank_you_page = false; |
|
19 | + /** |
|
20 | + * @var boolean $is_thank_you_page |
|
21 | + */ |
|
22 | + private $is_thank_you_page = false; |
|
23 | 23 | |
24 | - /** |
|
25 | - * the actual shortcode tag that gets registered with WordPress |
|
26 | - * |
|
27 | - * @return string |
|
28 | - */ |
|
29 | - public function getTag() |
|
30 | - { |
|
31 | - return 'ESPRESSO_THANK_YOU'; |
|
32 | - } |
|
24 | + /** |
|
25 | + * the actual shortcode tag that gets registered with WordPress |
|
26 | + * |
|
27 | + * @return string |
|
28 | + */ |
|
29 | + public function getTag() |
|
30 | + { |
|
31 | + return 'ESPRESSO_THANK_YOU'; |
|
32 | + } |
|
33 | 33 | |
34 | 34 | |
35 | - /** |
|
36 | - * the time in seconds to cache the results of the processShortcode() method |
|
37 | - * 0 means the processShortcode() results will NOT be cached at all |
|
38 | - * |
|
39 | - * @return int |
|
40 | - */ |
|
41 | - public function cacheExpiration() |
|
42 | - { |
|
43 | - return 0; |
|
44 | - } |
|
35 | + /** |
|
36 | + * the time in seconds to cache the results of the processShortcode() method |
|
37 | + * 0 means the processShortcode() results will NOT be cached at all |
|
38 | + * |
|
39 | + * @return int |
|
40 | + */ |
|
41 | + public function cacheExpiration() |
|
42 | + { |
|
43 | + return 0; |
|
44 | + } |
|
45 | 45 | |
46 | 46 | |
47 | - /** |
|
48 | - * a place for adding any initialization code that needs to run prior to wp_header(). |
|
49 | - * this may be required for shortcodes that utilize a corresponding module, |
|
50 | - * and need to enqueue assets for that module |
|
51 | - * |
|
52 | - * @return void |
|
53 | - * @throws \EE_Error |
|
54 | - */ |
|
55 | - public function initializeShortcode() |
|
56 | - { |
|
57 | - global $wp_query; |
|
58 | - if (empty($wp_query->posts) || count($wp_query->posts) > 1) { |
|
59 | - return; |
|
60 | - } |
|
61 | - $post = reset($wp_query->posts); |
|
62 | - if (! $post instanceof WP_Post || $post->ID !== EE_Registry::instance()->CFG->core->thank_you_page_id) { |
|
63 | - return; |
|
64 | - } |
|
65 | - $this->is_thank_you_page = true; |
|
66 | - \EED_Thank_You_Page::instance()->load_resources(); |
|
67 | - $this->shortcodeHasBeenInitialized(); |
|
68 | - } |
|
47 | + /** |
|
48 | + * a place for adding any initialization code that needs to run prior to wp_header(). |
|
49 | + * this may be required for shortcodes that utilize a corresponding module, |
|
50 | + * and need to enqueue assets for that module |
|
51 | + * |
|
52 | + * @return void |
|
53 | + * @throws \EE_Error |
|
54 | + */ |
|
55 | + public function initializeShortcode() |
|
56 | + { |
|
57 | + global $wp_query; |
|
58 | + if (empty($wp_query->posts) || count($wp_query->posts) > 1) { |
|
59 | + return; |
|
60 | + } |
|
61 | + $post = reset($wp_query->posts); |
|
62 | + if (! $post instanceof WP_Post || $post->ID !== EE_Registry::instance()->CFG->core->thank_you_page_id) { |
|
63 | + return; |
|
64 | + } |
|
65 | + $this->is_thank_you_page = true; |
|
66 | + \EED_Thank_You_Page::instance()->load_resources(); |
|
67 | + $this->shortcodeHasBeenInitialized(); |
|
68 | + } |
|
69 | 69 | |
70 | 70 | |
71 | - /** |
|
72 | - * callback that runs when the shortcode is encountered in post content. |
|
73 | - * IMPORTANT !!! |
|
74 | - * remember that shortcode content should be RETURNED and NOT echoed out |
|
75 | - * |
|
76 | - * @param array $attributes |
|
77 | - * @return string |
|
78 | - * @throws \EE_Error |
|
79 | - */ |
|
80 | - public function processShortcode($attributes = array()) |
|
81 | - { |
|
82 | - return $this->is_thank_you_page |
|
83 | - ? \EED_Thank_You_Page::instance()->thank_you_page_results() |
|
84 | - : ''; |
|
85 | - } |
|
71 | + /** |
|
72 | + * callback that runs when the shortcode is encountered in post content. |
|
73 | + * IMPORTANT !!! |
|
74 | + * remember that shortcode content should be RETURNED and NOT echoed out |
|
75 | + * |
|
76 | + * @param array $attributes |
|
77 | + * @return string |
|
78 | + * @throws \EE_Error |
|
79 | + */ |
|
80 | + public function processShortcode($attributes = array()) |
|
81 | + { |
|
82 | + return $this->is_thank_you_page |
|
83 | + ? \EED_Thank_You_Page::instance()->thank_you_page_results() |
|
84 | + : ''; |
|
85 | + } |
|
86 | 86 | } |
@@ -59,7 +59,7 @@ |
||
59 | 59 | return; |
60 | 60 | } |
61 | 61 | $post = reset($wp_query->posts); |
62 | - if (! $post instanceof WP_Post || $post->ID !== EE_Registry::instance()->CFG->core->thank_you_page_id) { |
|
62 | + if ( ! $post instanceof WP_Post || $post->ID !== EE_Registry::instance()->CFG->core->thank_you_page_id) { |
|
63 | 63 | return; |
64 | 64 | } |
65 | 65 | $this->is_thank_you_page = true; |
@@ -30,132 +30,132 @@ |
||
30 | 30 | { |
31 | 31 | |
32 | 32 | |
33 | - /** |
|
34 | - * the actual shortcode tag that gets registered with WordPress |
|
35 | - * |
|
36 | - * @return string |
|
37 | - */ |
|
38 | - public function getTag() |
|
39 | - { |
|
40 | - return 'ESPRESSO_EVENTS'; |
|
41 | - } |
|
33 | + /** |
|
34 | + * the actual shortcode tag that gets registered with WordPress |
|
35 | + * |
|
36 | + * @return string |
|
37 | + */ |
|
38 | + public function getTag() |
|
39 | + { |
|
40 | + return 'ESPRESSO_EVENTS'; |
|
41 | + } |
|
42 | 42 | |
43 | 43 | |
44 | - /** |
|
45 | - * the time in seconds to cache the results of the processShortcode() method |
|
46 | - * 0 means the processShortcode() results will NOT be cached at all |
|
47 | - * |
|
48 | - * @return int |
|
49 | - */ |
|
50 | - public function cacheExpiration() |
|
51 | - { |
|
52 | - return 0; |
|
53 | - } |
|
44 | + /** |
|
45 | + * the time in seconds to cache the results of the processShortcode() method |
|
46 | + * 0 means the processShortcode() results will NOT be cached at all |
|
47 | + * |
|
48 | + * @return int |
|
49 | + */ |
|
50 | + public function cacheExpiration() |
|
51 | + { |
|
52 | + return 0; |
|
53 | + } |
|
54 | 54 | |
55 | 55 | |
56 | - /** |
|
57 | - * a place for adding any initialization code that needs to run prior to wp_header(). |
|
58 | - * this may be required for shortcodes that utilize a corresponding module, |
|
59 | - * and need to enqueue assets for that module |
|
60 | - * |
|
61 | - * @return void |
|
62 | - */ |
|
63 | - public function initializeShortcode() |
|
64 | - { |
|
65 | - EED_Events_Archive::instance()->event_list(); |
|
66 | - $this->shortcodeHasBeenInitialized(); |
|
67 | - } |
|
56 | + /** |
|
57 | + * a place for adding any initialization code that needs to run prior to wp_header(). |
|
58 | + * this may be required for shortcodes that utilize a corresponding module, |
|
59 | + * and need to enqueue assets for that module |
|
60 | + * |
|
61 | + * @return void |
|
62 | + */ |
|
63 | + public function initializeShortcode() |
|
64 | + { |
|
65 | + EED_Events_Archive::instance()->event_list(); |
|
66 | + $this->shortcodeHasBeenInitialized(); |
|
67 | + } |
|
68 | 68 | |
69 | 69 | |
70 | - /** |
|
71 | - * callback that runs when the shortcode is encountered in post content. |
|
72 | - * IMPORTANT !!! |
|
73 | - * remember that shortcode content should be RETURNED and NOT echoed out |
|
74 | - * |
|
75 | - * @param array $attributes |
|
76 | - * @return string |
|
77 | - */ |
|
78 | - public function processShortcode($attributes = array()) |
|
79 | - { |
|
80 | - // grab attributes and merge with defaults |
|
81 | - $attributes = $this->getAttributes($attributes); |
|
82 | - // make sure we use the_excerpt() |
|
83 | - add_filter('FHEE__EES_Espresso_Events__process_shortcode__true', '__return_true'); |
|
84 | - // apply query filters |
|
85 | - add_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true'); |
|
86 | - // run the query |
|
87 | - global $wp_query; |
|
88 | - // yes we have to overwrite the main wp query, but it's ok... |
|
89 | - // we're going to reset it again below, so everything will be Hunky Dory (amazing album) |
|
90 | - $wp_query = new EventListQuery($attributes); |
|
91 | - // check what template is loaded and load filters accordingly |
|
92 | - EED_Events_Archive::instance()->template_include('loop-espresso_events.php'); |
|
93 | - // load our template |
|
94 | - $event_list = EEH_Template::locate_template( |
|
95 | - 'loop-espresso_events.php', |
|
96 | - array(), |
|
97 | - true, |
|
98 | - true |
|
99 | - ); |
|
100 | - // now reset the query and post data |
|
101 | - wp_reset_query(); |
|
102 | - wp_reset_postdata(); |
|
103 | - EED_Events_Archive::remove_all_events_archive_filters(); |
|
104 | - // remove query filters |
|
105 | - remove_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true'); |
|
106 | - // pull our content from the output buffer and return it |
|
107 | - return $event_list; |
|
108 | - } |
|
70 | + /** |
|
71 | + * callback that runs when the shortcode is encountered in post content. |
|
72 | + * IMPORTANT !!! |
|
73 | + * remember that shortcode content should be RETURNED and NOT echoed out |
|
74 | + * |
|
75 | + * @param array $attributes |
|
76 | + * @return string |
|
77 | + */ |
|
78 | + public function processShortcode($attributes = array()) |
|
79 | + { |
|
80 | + // grab attributes and merge with defaults |
|
81 | + $attributes = $this->getAttributes($attributes); |
|
82 | + // make sure we use the_excerpt() |
|
83 | + add_filter('FHEE__EES_Espresso_Events__process_shortcode__true', '__return_true'); |
|
84 | + // apply query filters |
|
85 | + add_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true'); |
|
86 | + // run the query |
|
87 | + global $wp_query; |
|
88 | + // yes we have to overwrite the main wp query, but it's ok... |
|
89 | + // we're going to reset it again below, so everything will be Hunky Dory (amazing album) |
|
90 | + $wp_query = new EventListQuery($attributes); |
|
91 | + // check what template is loaded and load filters accordingly |
|
92 | + EED_Events_Archive::instance()->template_include('loop-espresso_events.php'); |
|
93 | + // load our template |
|
94 | + $event_list = EEH_Template::locate_template( |
|
95 | + 'loop-espresso_events.php', |
|
96 | + array(), |
|
97 | + true, |
|
98 | + true |
|
99 | + ); |
|
100 | + // now reset the query and post data |
|
101 | + wp_reset_query(); |
|
102 | + wp_reset_postdata(); |
|
103 | + EED_Events_Archive::remove_all_events_archive_filters(); |
|
104 | + // remove query filters |
|
105 | + remove_filter('FHEE__EEH_Event_Query__apply_query_filters', '__return_true'); |
|
106 | + // pull our content from the output buffer and return it |
|
107 | + return $event_list; |
|
108 | + } |
|
109 | 109 | |
110 | 110 | |
111 | - /** |
|
112 | - * merge incoming attributes with filtered defaults |
|
113 | - * |
|
114 | - * @param array $attributes |
|
115 | - * @return array |
|
116 | - */ |
|
117 | - private function getAttributes(array $attributes) |
|
118 | - { |
|
119 | - return array_merge( |
|
120 | - (array)apply_filters( |
|
121 | - 'EES_Espresso_Events__process_shortcode__default_espresso_events_shortcode_atts', |
|
122 | - array( |
|
123 | - 'title' => '', |
|
124 | - 'limit' => 10, |
|
125 | - 'css_class' => '', |
|
126 | - 'show_expired' => false, |
|
127 | - 'month' => '', |
|
128 | - 'category_slug' => '', |
|
129 | - 'order_by' => 'start_date', |
|
130 | - 'sort' => 'ASC', |
|
131 | - 'show_title' => true, |
|
132 | - ) |
|
133 | - ), |
|
134 | - $attributes |
|
135 | - ); |
|
136 | - } |
|
111 | + /** |
|
112 | + * merge incoming attributes with filtered defaults |
|
113 | + * |
|
114 | + * @param array $attributes |
|
115 | + * @return array |
|
116 | + */ |
|
117 | + private function getAttributes(array $attributes) |
|
118 | + { |
|
119 | + return array_merge( |
|
120 | + (array)apply_filters( |
|
121 | + 'EES_Espresso_Events__process_shortcode__default_espresso_events_shortcode_atts', |
|
122 | + array( |
|
123 | + 'title' => '', |
|
124 | + 'limit' => 10, |
|
125 | + 'css_class' => '', |
|
126 | + 'show_expired' => false, |
|
127 | + 'month' => '', |
|
128 | + 'category_slug' => '', |
|
129 | + 'order_by' => 'start_date', |
|
130 | + 'sort' => 'ASC', |
|
131 | + 'show_title' => true, |
|
132 | + ) |
|
133 | + ), |
|
134 | + $attributes |
|
135 | + ); |
|
136 | + } |
|
137 | 137 | |
138 | 138 | |
139 | - /** |
|
140 | - * array for defining custom attribute sanitization callbacks, |
|
141 | - * where keys match keys in your attributes array, |
|
142 | - * and values represent the sanitization function you wish to be applied to that attribute. |
|
143 | - * So for example, if you had an integer attribute named "event_id" |
|
144 | - * that you wanted to be sanitized using absint(), |
|
145 | - * then you would pass the following for your $custom_sanitization array: |
|
146 | - * array('event_id' => 'absint') |
|
147 | - * |
|
148 | - * @return array |
|
149 | - */ |
|
150 | - protected function customAttributeSanitizationMap() |
|
151 | - { |
|
152 | - // the following get sanitized/whitelisted in EEH_Event_Query |
|
153 | - return array( |
|
154 | - 'category_slug' => 'skip_sanitization', |
|
155 | - 'show_expired' => 'skip_sanitization', |
|
156 | - 'order_by' => 'skip_sanitization', |
|
157 | - 'month' => 'skip_sanitization', |
|
158 | - 'sort' => 'skip_sanitization', |
|
159 | - ); |
|
160 | - } |
|
139 | + /** |
|
140 | + * array for defining custom attribute sanitization callbacks, |
|
141 | + * where keys match keys in your attributes array, |
|
142 | + * and values represent the sanitization function you wish to be applied to that attribute. |
|
143 | + * So for example, if you had an integer attribute named "event_id" |
|
144 | + * that you wanted to be sanitized using absint(), |
|
145 | + * then you would pass the following for your $custom_sanitization array: |
|
146 | + * array('event_id' => 'absint') |
|
147 | + * |
|
148 | + * @return array |
|
149 | + */ |
|
150 | + protected function customAttributeSanitizationMap() |
|
151 | + { |
|
152 | + // the following get sanitized/whitelisted in EEH_Event_Query |
|
153 | + return array( |
|
154 | + 'category_slug' => 'skip_sanitization', |
|
155 | + 'show_expired' => 'skip_sanitization', |
|
156 | + 'order_by' => 'skip_sanitization', |
|
157 | + 'month' => 'skip_sanitization', |
|
158 | + 'sort' => 'skip_sanitization', |
|
159 | + ); |
|
160 | + } |
|
161 | 161 | } |
@@ -27,333 +27,333 @@ |
||
27 | 27 | class EspressoEventAttendees extends EspressoShortcode |
28 | 28 | { |
29 | 29 | |
30 | - private $query_params = array( |
|
31 | - 0 => array(), |
|
32 | - ); |
|
30 | + private $query_params = array( |
|
31 | + 0 => array(), |
|
32 | + ); |
|
33 | 33 | |
34 | - private $template_args = array( |
|
35 | - 'contacts' => array(), |
|
36 | - 'event' => null, |
|
37 | - 'datetime' => null, |
|
38 | - 'ticket' => null, |
|
39 | - ); |
|
34 | + private $template_args = array( |
|
35 | + 'contacts' => array(), |
|
36 | + 'event' => null, |
|
37 | + 'datetime' => null, |
|
38 | + 'ticket' => null, |
|
39 | + ); |
|
40 | 40 | |
41 | - /** |
|
42 | - * the actual shortcode tag that gets registered with WordPress |
|
43 | - * |
|
44 | - * @return string |
|
45 | - */ |
|
46 | - public function getTag() |
|
47 | - { |
|
48 | - return 'ESPRESSO_EVENT_ATTENDEES'; |
|
49 | - } |
|
41 | + /** |
|
42 | + * the actual shortcode tag that gets registered with WordPress |
|
43 | + * |
|
44 | + * @return string |
|
45 | + */ |
|
46 | + public function getTag() |
|
47 | + { |
|
48 | + return 'ESPRESSO_EVENT_ATTENDEES'; |
|
49 | + } |
|
50 | 50 | |
51 | 51 | |
52 | - /** |
|
53 | - * the time in seconds to cache the results of the processShortcode() method |
|
54 | - * 0 means the processShortcode() results will NOT be cached at all |
|
55 | - * |
|
56 | - * @return int |
|
57 | - */ |
|
58 | - public function cacheExpiration() |
|
59 | - { |
|
60 | - return 0; |
|
61 | - } |
|
52 | + /** |
|
53 | + * the time in seconds to cache the results of the processShortcode() method |
|
54 | + * 0 means the processShortcode() results will NOT be cached at all |
|
55 | + * |
|
56 | + * @return int |
|
57 | + */ |
|
58 | + public function cacheExpiration() |
|
59 | + { |
|
60 | + return 0; |
|
61 | + } |
|
62 | 62 | |
63 | 63 | |
64 | - /** |
|
65 | - * a place for adding any initialization code that needs to run prior to wp_header(). |
|
66 | - * this may be required for shortcodes that utilize a corresponding module, |
|
67 | - * and need to enqueue assets for that module |
|
68 | - * |
|
69 | - * @return void |
|
70 | - */ |
|
71 | - public function initializeShortcode() |
|
72 | - { |
|
73 | - $this->shortcodeHasBeenInitialized(); |
|
74 | - } |
|
64 | + /** |
|
65 | + * a place for adding any initialization code that needs to run prior to wp_header(). |
|
66 | + * this may be required for shortcodes that utilize a corresponding module, |
|
67 | + * and need to enqueue assets for that module |
|
68 | + * |
|
69 | + * @return void |
|
70 | + */ |
|
71 | + public function initializeShortcode() |
|
72 | + { |
|
73 | + $this->shortcodeHasBeenInitialized(); |
|
74 | + } |
|
75 | 75 | |
76 | 76 | |
77 | - /** |
|
78 | - * process_shortcode - ESPRESSO_EVENT_ATTENDEES - Returns a list of attendees to an event. |
|
79 | - * [ESPRESSO_EVENT_ATTENDEES] |
|
80 | - * - defaults to attendees for earliest active event, or earliest upcoming event. |
|
81 | - * [ESPRESSO_EVENT_ATTENDEES event_id=123] |
|
82 | - * - attendees for specific event. |
|
83 | - * [ESPRESSO_EVENT_ATTENDEES datetime_id=245] |
|
84 | - * - attendees for a specific datetime. |
|
85 | - * [ESPRESSO_EVENT_ATTENDEES ticket_id=123] |
|
86 | - * - attendees for a specific ticket. |
|
87 | - * [ESPRESSO_EVENT_ATTENDEES status=all] |
|
88 | - * - specific registration status (use status id) or all for all attendees regardless of status. |
|
89 | - * Note default is to only return approved attendees |
|
90 | - * [ESPRESSO_EVENT_ATTENDEES show_gravatar=true] |
|
91 | - * - default is to not return gravatar. Otherwise if this is set then return gravatar for email address given. |
|
92 | - * [ESPRESSO_EVENT_ATTENDEES display_on_archives=true] |
|
93 | - * - default is to not display attendees list on archive pages. |
|
94 | - * Note: because of the relationship between event_id, ticket_id, and datetime_id: |
|
95 | - * If more than one of those params is included, then preference is given to the following: |
|
96 | - * - event_id is used whenever its present and any others are ignored. |
|
97 | - * - if no event_id then datetime is used whenever its present and any others are ignored. |
|
98 | - * - otherwise ticket_id is used if present. |
|
99 | - * |
|
100 | - * @param array $attributes |
|
101 | - * @return string |
|
102 | - * @throws EE_Error |
|
103 | - * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
104 | - * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
105 | - * @throws \InvalidArgumentException |
|
106 | - */ |
|
107 | - public function processShortcode($attributes = array()) |
|
108 | - { |
|
109 | - // grab attributes and merge with defaults |
|
110 | - $attributes = $this->getAttributes((array)$attributes); |
|
111 | - $archive = is_archive(); |
|
112 | - $display_on_archives = filter_var($attributes['display_on_archives'], FILTER_VALIDATE_BOOLEAN); |
|
113 | - // don't display on archives unless 'display_on_archives' is true |
|
114 | - if ($archive && ! $display_on_archives) { |
|
115 | - return ''; |
|
116 | - } |
|
77 | + /** |
|
78 | + * process_shortcode - ESPRESSO_EVENT_ATTENDEES - Returns a list of attendees to an event. |
|
79 | + * [ESPRESSO_EVENT_ATTENDEES] |
|
80 | + * - defaults to attendees for earliest active event, or earliest upcoming event. |
|
81 | + * [ESPRESSO_EVENT_ATTENDEES event_id=123] |
|
82 | + * - attendees for specific event. |
|
83 | + * [ESPRESSO_EVENT_ATTENDEES datetime_id=245] |
|
84 | + * - attendees for a specific datetime. |
|
85 | + * [ESPRESSO_EVENT_ATTENDEES ticket_id=123] |
|
86 | + * - attendees for a specific ticket. |
|
87 | + * [ESPRESSO_EVENT_ATTENDEES status=all] |
|
88 | + * - specific registration status (use status id) or all for all attendees regardless of status. |
|
89 | + * Note default is to only return approved attendees |
|
90 | + * [ESPRESSO_EVENT_ATTENDEES show_gravatar=true] |
|
91 | + * - default is to not return gravatar. Otherwise if this is set then return gravatar for email address given. |
|
92 | + * [ESPRESSO_EVENT_ATTENDEES display_on_archives=true] |
|
93 | + * - default is to not display attendees list on archive pages. |
|
94 | + * Note: because of the relationship between event_id, ticket_id, and datetime_id: |
|
95 | + * If more than one of those params is included, then preference is given to the following: |
|
96 | + * - event_id is used whenever its present and any others are ignored. |
|
97 | + * - if no event_id then datetime is used whenever its present and any others are ignored. |
|
98 | + * - otherwise ticket_id is used if present. |
|
99 | + * |
|
100 | + * @param array $attributes |
|
101 | + * @return string |
|
102 | + * @throws EE_Error |
|
103 | + * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
104 | + * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
105 | + * @throws \InvalidArgumentException |
|
106 | + */ |
|
107 | + public function processShortcode($attributes = array()) |
|
108 | + { |
|
109 | + // grab attributes and merge with defaults |
|
110 | + $attributes = $this->getAttributes((array)$attributes); |
|
111 | + $archive = is_archive(); |
|
112 | + $display_on_archives = filter_var($attributes['display_on_archives'], FILTER_VALIDATE_BOOLEAN); |
|
113 | + // don't display on archives unless 'display_on_archives' is true |
|
114 | + if ($archive && ! $display_on_archives) { |
|
115 | + return ''; |
|
116 | + } |
|
117 | 117 | |
118 | - try { |
|
119 | - $this->setBaseTemplateArguments($attributes); |
|
120 | - $this->validateEntities($attributes); |
|
121 | - $this->setBaseQueryParams(); |
|
122 | - } catch (EntityNotFoundException $e) { |
|
123 | - if (WP_DEBUG) { |
|
124 | - return '<div class="important-notice ee-error">' |
|
125 | - . $e->getMessage() |
|
126 | - . '</div>'; |
|
127 | - } |
|
128 | - return ''; |
|
129 | - } |
|
130 | - $this->setAdditionalQueryParams($attributes); |
|
131 | - // get contacts! |
|
132 | - $this->template_args['contacts'] = EEM_Attendee::instance()->get_all($this->query_params); |
|
133 | - // all set let's load up the template and return. |
|
134 | - return EEH_Template::locate_template( |
|
135 | - 'loop-espresso_event_attendees.php', |
|
136 | - $this->template_args |
|
137 | - ); |
|
138 | - } |
|
118 | + try { |
|
119 | + $this->setBaseTemplateArguments($attributes); |
|
120 | + $this->validateEntities($attributes); |
|
121 | + $this->setBaseQueryParams(); |
|
122 | + } catch (EntityNotFoundException $e) { |
|
123 | + if (WP_DEBUG) { |
|
124 | + return '<div class="important-notice ee-error">' |
|
125 | + . $e->getMessage() |
|
126 | + . '</div>'; |
|
127 | + } |
|
128 | + return ''; |
|
129 | + } |
|
130 | + $this->setAdditionalQueryParams($attributes); |
|
131 | + // get contacts! |
|
132 | + $this->template_args['contacts'] = EEM_Attendee::instance()->get_all($this->query_params); |
|
133 | + // all set let's load up the template and return. |
|
134 | + return EEH_Template::locate_template( |
|
135 | + 'loop-espresso_event_attendees.php', |
|
136 | + $this->template_args |
|
137 | + ); |
|
138 | + } |
|
139 | 139 | |
140 | 140 | |
141 | - /** |
|
142 | - * merge incoming attributes with filtered defaults |
|
143 | - * |
|
144 | - * @param array $attributes |
|
145 | - * @return array |
|
146 | - */ |
|
147 | - private function getAttributes(array $attributes) |
|
148 | - { |
|
149 | - return (array)apply_filters( |
|
150 | - 'EES_Espresso_Event_Attendees__process_shortcode__default_shortcode_atts', |
|
151 | - $attributes + array( |
|
152 | - 'event_id' => null, |
|
153 | - 'datetime_id' => null, |
|
154 | - 'ticket_id' => null, |
|
155 | - 'status' => EEM_Registration::status_id_approved, |
|
156 | - 'show_gravatar' => false, |
|
157 | - 'display_on_archives' => false, |
|
158 | - ) |
|
159 | - ); |
|
160 | - } |
|
141 | + /** |
|
142 | + * merge incoming attributes with filtered defaults |
|
143 | + * |
|
144 | + * @param array $attributes |
|
145 | + * @return array |
|
146 | + */ |
|
147 | + private function getAttributes(array $attributes) |
|
148 | + { |
|
149 | + return (array)apply_filters( |
|
150 | + 'EES_Espresso_Event_Attendees__process_shortcode__default_shortcode_atts', |
|
151 | + $attributes + array( |
|
152 | + 'event_id' => null, |
|
153 | + 'datetime_id' => null, |
|
154 | + 'ticket_id' => null, |
|
155 | + 'status' => EEM_Registration::status_id_approved, |
|
156 | + 'show_gravatar' => false, |
|
157 | + 'display_on_archives' => false, |
|
158 | + ) |
|
159 | + ); |
|
160 | + } |
|
161 | 161 | |
162 | 162 | |
163 | - /** |
|
164 | - * Set all the base template arguments from the incoming attributes. |
|
165 | - * * Note: because of the relationship between event_id, ticket_id, and datetime_id: |
|
166 | - * If more than one of those params is included, then preference is given to the following: |
|
167 | - * - event_id is used whenever its present and any others are ignored. |
|
168 | - * - if no event_id then datetime is used whenever its present and any others are ignored. |
|
169 | - * - otherwise ticket_id is used if present. |
|
170 | - * |
|
171 | - * @param array $attributes |
|
172 | - * @throws EE_Error |
|
173 | - * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
174 | - * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
175 | - * @throws \InvalidArgumentException |
|
176 | - */ |
|
177 | - private function setBaseTemplateArguments(array $attributes) |
|
178 | - { |
|
179 | - $this->template_args['show_gravatar'] = $attributes['show_gravatar']; |
|
180 | - $this->template_args['event'] = $this->getEvent($attributes); |
|
181 | - $this->template_args['datetime'] = empty($attributes['event_id']) |
|
182 | - ? $this->getDatetime($attributes) |
|
183 | - : null; |
|
184 | - $this->template_args['ticket'] = empty($attributes['datetime_id']) && empty($attributes['event_id']) |
|
185 | - ? $this->getTicket($attributes) |
|
186 | - : null; |
|
187 | - } |
|
163 | + /** |
|
164 | + * Set all the base template arguments from the incoming attributes. |
|
165 | + * * Note: because of the relationship between event_id, ticket_id, and datetime_id: |
|
166 | + * If more than one of those params is included, then preference is given to the following: |
|
167 | + * - event_id is used whenever its present and any others are ignored. |
|
168 | + * - if no event_id then datetime is used whenever its present and any others are ignored. |
|
169 | + * - otherwise ticket_id is used if present. |
|
170 | + * |
|
171 | + * @param array $attributes |
|
172 | + * @throws EE_Error |
|
173 | + * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
174 | + * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
175 | + * @throws \InvalidArgumentException |
|
176 | + */ |
|
177 | + private function setBaseTemplateArguments(array $attributes) |
|
178 | + { |
|
179 | + $this->template_args['show_gravatar'] = $attributes['show_gravatar']; |
|
180 | + $this->template_args['event'] = $this->getEvent($attributes); |
|
181 | + $this->template_args['datetime'] = empty($attributes['event_id']) |
|
182 | + ? $this->getDatetime($attributes) |
|
183 | + : null; |
|
184 | + $this->template_args['ticket'] = empty($attributes['datetime_id']) && empty($attributes['event_id']) |
|
185 | + ? $this->getTicket($attributes) |
|
186 | + : null; |
|
187 | + } |
|
188 | 188 | |
189 | 189 | |
190 | - /** |
|
191 | - * Validates the presence of entities for the given attribute values. |
|
192 | - * |
|
193 | - * @param array $attributes |
|
194 | - * @throws EntityNotFoundException |
|
195 | - */ |
|
196 | - private function validateEntities(array $attributes) |
|
197 | - { |
|
198 | - if (! $this->template_args['event'] instanceof EE_Event |
|
199 | - || ( |
|
200 | - empty($attributes['event_id']) |
|
201 | - && $attributes['datetime_id'] |
|
202 | - && ! $this->template_args['datetime'] instanceof EE_Datetime |
|
203 | - ) |
|
204 | - || ( |
|
205 | - empty($attributes['event_id']) |
|
206 | - && empty($attributes['datetime_id']) |
|
207 | - && $attributes['ticket_id'] |
|
208 | - && ! $this->template_args['ticket'] instanceof EE_Ticket |
|
209 | - ) |
|
210 | - ) { |
|
211 | - throw new EntityNotFoundException( |
|
212 | - '', |
|
213 | - '', |
|
214 | - esc_html__( |
|
215 | - 'The [ESPRESSO_EVENT_ATTENDEES] shortcode has been used incorrectly. Please double check the arguments you used for any typos. In the case of ID type arguments, its possible the given ID does not correspond to existing data in the database.', |
|
216 | - 'event_espresso' |
|
217 | - ) |
|
218 | - ); |
|
219 | - } |
|
220 | - } |
|
190 | + /** |
|
191 | + * Validates the presence of entities for the given attribute values. |
|
192 | + * |
|
193 | + * @param array $attributes |
|
194 | + * @throws EntityNotFoundException |
|
195 | + */ |
|
196 | + private function validateEntities(array $attributes) |
|
197 | + { |
|
198 | + if (! $this->template_args['event'] instanceof EE_Event |
|
199 | + || ( |
|
200 | + empty($attributes['event_id']) |
|
201 | + && $attributes['datetime_id'] |
|
202 | + && ! $this->template_args['datetime'] instanceof EE_Datetime |
|
203 | + ) |
|
204 | + || ( |
|
205 | + empty($attributes['event_id']) |
|
206 | + && empty($attributes['datetime_id']) |
|
207 | + && $attributes['ticket_id'] |
|
208 | + && ! $this->template_args['ticket'] instanceof EE_Ticket |
|
209 | + ) |
|
210 | + ) { |
|
211 | + throw new EntityNotFoundException( |
|
212 | + '', |
|
213 | + '', |
|
214 | + esc_html__( |
|
215 | + 'The [ESPRESSO_EVENT_ATTENDEES] shortcode has been used incorrectly. Please double check the arguments you used for any typos. In the case of ID type arguments, its possible the given ID does not correspond to existing data in the database.', |
|
216 | + 'event_espresso' |
|
217 | + ) |
|
218 | + ); |
|
219 | + } |
|
220 | + } |
|
221 | 221 | |
222 | 222 | |
223 | - /** |
|
224 | - * Sets the query params for the base query elements. |
|
225 | - */ |
|
226 | - private function setBaseQueryParams() |
|
227 | - { |
|
228 | - switch (true) { |
|
229 | - case $this->template_args['datetime'] instanceof EE_Datetime: |
|
230 | - $this->query_params = array( |
|
231 | - 0 => array( |
|
232 | - 'Registration.Ticket.Datetime.DTT_ID' => $this->template_args['datetime']->ID(), |
|
233 | - ), |
|
234 | - 'default_where_conditions' => 'this_model_only', |
|
235 | - ); |
|
236 | - break; |
|
237 | - case $this->template_args['ticket'] instanceof EE_Ticket: |
|
238 | - $this->query_params[0] = array( |
|
239 | - 'Registration.TKT_ID' => $this->template_args['ticket']->ID(), |
|
240 | - ); |
|
241 | - break; |
|
242 | - case $this->template_args['event'] instanceof EE_Event: |
|
243 | - $this->query_params[0] = array( |
|
244 | - 'Registration.EVT_ID' => $this->template_args['event']->ID(), |
|
245 | - ); |
|
246 | - break; |
|
247 | - } |
|
248 | - } |
|
223 | + /** |
|
224 | + * Sets the query params for the base query elements. |
|
225 | + */ |
|
226 | + private function setBaseQueryParams() |
|
227 | + { |
|
228 | + switch (true) { |
|
229 | + case $this->template_args['datetime'] instanceof EE_Datetime: |
|
230 | + $this->query_params = array( |
|
231 | + 0 => array( |
|
232 | + 'Registration.Ticket.Datetime.DTT_ID' => $this->template_args['datetime']->ID(), |
|
233 | + ), |
|
234 | + 'default_where_conditions' => 'this_model_only', |
|
235 | + ); |
|
236 | + break; |
|
237 | + case $this->template_args['ticket'] instanceof EE_Ticket: |
|
238 | + $this->query_params[0] = array( |
|
239 | + 'Registration.TKT_ID' => $this->template_args['ticket']->ID(), |
|
240 | + ); |
|
241 | + break; |
|
242 | + case $this->template_args['event'] instanceof EE_Event: |
|
243 | + $this->query_params[0] = array( |
|
244 | + 'Registration.EVT_ID' => $this->template_args['event']->ID(), |
|
245 | + ); |
|
246 | + break; |
|
247 | + } |
|
248 | + } |
|
249 | 249 | |
250 | 250 | |
251 | - /** |
|
252 | - * @param array $attributes |
|
253 | - * @return EE_Event|null |
|
254 | - * @throws EE_Error |
|
255 | - * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
256 | - * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
257 | - * @throws \InvalidArgumentException |
|
258 | - */ |
|
259 | - private function getEvent(array $attributes) |
|
260 | - { |
|
261 | - switch (true) { |
|
262 | - case ! empty($attributes['event_id']): |
|
263 | - $event = EEM_Event::instance()->get_one_by_ID($attributes['event_id']); |
|
264 | - break; |
|
265 | - case ! empty($attributes['datetime_id']): |
|
266 | - $event = EEM_Event::instance()->get_one(array( |
|
267 | - array( |
|
268 | - 'Datetime.DTT_ID' => $attributes['datetime_id'], |
|
269 | - ), |
|
270 | - )); |
|
271 | - break; |
|
272 | - case ! empty($attributes['ticket_id']): |
|
273 | - $event = EEM_Event::instance()->get_one(array( |
|
274 | - array( |
|
275 | - 'Datetime.Ticket.TKT_ID' => $attributes['ticket_id'], |
|
276 | - ), |
|
277 | - )); |
|
278 | - break; |
|
279 | - case is_espresso_event(): |
|
280 | - $event = EEH_Event_View::get_event(); |
|
281 | - break; |
|
282 | - default: |
|
283 | - // one last shot... |
|
284 | - // try getting the earliest active event |
|
285 | - $events = EEM_Event::instance()->get_active_events(array( |
|
286 | - 'limit' => 1, |
|
287 | - 'order_by' => array('Datetime.DTT_EVT_start' => 'ASC'), |
|
288 | - )); |
|
289 | - // if none then get the next upcoming |
|
290 | - $events = empty($events) |
|
291 | - ? EEM_Event::instance()->get_upcoming_events(array( |
|
292 | - 'limit' => 1, |
|
293 | - 'order_by' => array('Datetime.DTT_EVT_start' => 'ASC'), |
|
294 | - )) |
|
295 | - : $events; |
|
296 | - $event = reset($events); |
|
297 | - } |
|
251 | + /** |
|
252 | + * @param array $attributes |
|
253 | + * @return EE_Event|null |
|
254 | + * @throws EE_Error |
|
255 | + * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
256 | + * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
257 | + * @throws \InvalidArgumentException |
|
258 | + */ |
|
259 | + private function getEvent(array $attributes) |
|
260 | + { |
|
261 | + switch (true) { |
|
262 | + case ! empty($attributes['event_id']): |
|
263 | + $event = EEM_Event::instance()->get_one_by_ID($attributes['event_id']); |
|
264 | + break; |
|
265 | + case ! empty($attributes['datetime_id']): |
|
266 | + $event = EEM_Event::instance()->get_one(array( |
|
267 | + array( |
|
268 | + 'Datetime.DTT_ID' => $attributes['datetime_id'], |
|
269 | + ), |
|
270 | + )); |
|
271 | + break; |
|
272 | + case ! empty($attributes['ticket_id']): |
|
273 | + $event = EEM_Event::instance()->get_one(array( |
|
274 | + array( |
|
275 | + 'Datetime.Ticket.TKT_ID' => $attributes['ticket_id'], |
|
276 | + ), |
|
277 | + )); |
|
278 | + break; |
|
279 | + case is_espresso_event(): |
|
280 | + $event = EEH_Event_View::get_event(); |
|
281 | + break; |
|
282 | + default: |
|
283 | + // one last shot... |
|
284 | + // try getting the earliest active event |
|
285 | + $events = EEM_Event::instance()->get_active_events(array( |
|
286 | + 'limit' => 1, |
|
287 | + 'order_by' => array('Datetime.DTT_EVT_start' => 'ASC'), |
|
288 | + )); |
|
289 | + // if none then get the next upcoming |
|
290 | + $events = empty($events) |
|
291 | + ? EEM_Event::instance()->get_upcoming_events(array( |
|
292 | + 'limit' => 1, |
|
293 | + 'order_by' => array('Datetime.DTT_EVT_start' => 'ASC'), |
|
294 | + )) |
|
295 | + : $events; |
|
296 | + $event = reset($events); |
|
297 | + } |
|
298 | 298 | |
299 | - return $event instanceof EE_Event ? $event : null; |
|
300 | - } |
|
299 | + return $event instanceof EE_Event ? $event : null; |
|
300 | + } |
|
301 | 301 | |
302 | 302 | |
303 | - /** |
|
304 | - * @param array $attributes |
|
305 | - * @return EE_Datetime|null |
|
306 | - * @throws EE_Error |
|
307 | - * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
308 | - * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
309 | - * @throws \InvalidArgumentException |
|
310 | - */ |
|
311 | - private function getDatetime(array $attributes) |
|
312 | - { |
|
313 | - if (! empty($attributes['datetime_id'])) { |
|
314 | - $datetime = EEM_Datetime::instance()->get_one_by_ID($attributes['datetime_id']); |
|
315 | - if ($datetime instanceof EE_Datetime) { |
|
316 | - return $datetime; |
|
317 | - } |
|
318 | - } |
|
319 | - return null; |
|
320 | - } |
|
303 | + /** |
|
304 | + * @param array $attributes |
|
305 | + * @return EE_Datetime|null |
|
306 | + * @throws EE_Error |
|
307 | + * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
308 | + * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
309 | + * @throws \InvalidArgumentException |
|
310 | + */ |
|
311 | + private function getDatetime(array $attributes) |
|
312 | + { |
|
313 | + if (! empty($attributes['datetime_id'])) { |
|
314 | + $datetime = EEM_Datetime::instance()->get_one_by_ID($attributes['datetime_id']); |
|
315 | + if ($datetime instanceof EE_Datetime) { |
|
316 | + return $datetime; |
|
317 | + } |
|
318 | + } |
|
319 | + return null; |
|
320 | + } |
|
321 | 321 | |
322 | 322 | |
323 | - /** |
|
324 | - * @param array $attributes |
|
325 | - * @return \EE_Base_Class|EE_Ticket|null |
|
326 | - * @throws EE_Error |
|
327 | - * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
328 | - * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
329 | - * @throws \InvalidArgumentException |
|
330 | - */ |
|
331 | - private function getTicket(array $attributes) |
|
332 | - { |
|
333 | - if (! empty($attributes['ticket_id'])) { |
|
334 | - $ticket = EEM_Ticket::instance()->get_one_by_ID($attributes['ticket_id']); |
|
335 | - if ($ticket instanceof EE_Ticket) { |
|
336 | - return $ticket; |
|
337 | - } |
|
338 | - } |
|
339 | - return null; |
|
340 | - } |
|
323 | + /** |
|
324 | + * @param array $attributes |
|
325 | + * @return \EE_Base_Class|EE_Ticket|null |
|
326 | + * @throws EE_Error |
|
327 | + * @throws \EventEspresso\core\exceptions\InvalidDataTypeException |
|
328 | + * @throws \EventEspresso\core\exceptions\InvalidInterfaceException |
|
329 | + * @throws \InvalidArgumentException |
|
330 | + */ |
|
331 | + private function getTicket(array $attributes) |
|
332 | + { |
|
333 | + if (! empty($attributes['ticket_id'])) { |
|
334 | + $ticket = EEM_Ticket::instance()->get_one_by_ID($attributes['ticket_id']); |
|
335 | + if ($ticket instanceof EE_Ticket) { |
|
336 | + return $ticket; |
|
337 | + } |
|
338 | + } |
|
339 | + return null; |
|
340 | + } |
|
341 | 341 | |
342 | 342 | |
343 | - /** |
|
344 | - * @param array $attributes |
|
345 | - * @throws EE_Error |
|
346 | - */ |
|
347 | - private function setAdditionalQueryParams(array $attributes) |
|
348 | - { |
|
349 | - $reg_status_array = EEM_Registration::reg_status_array(); |
|
350 | - if ($attributes['status'] !== 'all' && isset($reg_status_array[$attributes['status']])) { |
|
351 | - $this->query_params[0]['Registration.STS_ID'] = $attributes['status']; |
|
352 | - } |
|
353 | - $this->query_params['group_by'] = array('ATT_ID'); |
|
354 | - $this->query_params['order_by'] = (array)apply_filters( |
|
355 | - 'FHEE__EES_Espresso_Event_Attendees__process_shortcode__order_by', |
|
356 | - array('ATT_lname' => 'ASC', 'ATT_fname' => 'ASC') |
|
357 | - ); |
|
358 | - } |
|
343 | + /** |
|
344 | + * @param array $attributes |
|
345 | + * @throws EE_Error |
|
346 | + */ |
|
347 | + private function setAdditionalQueryParams(array $attributes) |
|
348 | + { |
|
349 | + $reg_status_array = EEM_Registration::reg_status_array(); |
|
350 | + if ($attributes['status'] !== 'all' && isset($reg_status_array[$attributes['status']])) { |
|
351 | + $this->query_params[0]['Registration.STS_ID'] = $attributes['status']; |
|
352 | + } |
|
353 | + $this->query_params['group_by'] = array('ATT_ID'); |
|
354 | + $this->query_params['order_by'] = (array)apply_filters( |
|
355 | + 'FHEE__EES_Espresso_Event_Attendees__process_shortcode__order_by', |
|
356 | + array('ATT_lname' => 'ASC', 'ATT_fname' => 'ASC') |
|
357 | + ); |
|
358 | + } |
|
359 | 359 | } |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | public function processShortcode($attributes = array()) |
108 | 108 | { |
109 | 109 | // grab attributes and merge with defaults |
110 | - $attributes = $this->getAttributes((array)$attributes); |
|
110 | + $attributes = $this->getAttributes((array) $attributes); |
|
111 | 111 | $archive = is_archive(); |
112 | 112 | $display_on_archives = filter_var($attributes['display_on_archives'], FILTER_VALIDATE_BOOLEAN); |
113 | 113 | // don't display on archives unless 'display_on_archives' is true |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | */ |
147 | 147 | private function getAttributes(array $attributes) |
148 | 148 | { |
149 | - return (array)apply_filters( |
|
149 | + return (array) apply_filters( |
|
150 | 150 | 'EES_Espresso_Event_Attendees__process_shortcode__default_shortcode_atts', |
151 | 151 | $attributes + array( |
152 | 152 | 'event_id' => null, |
@@ -195,7 +195,7 @@ discard block |
||
195 | 195 | */ |
196 | 196 | private function validateEntities(array $attributes) |
197 | 197 | { |
198 | - if (! $this->template_args['event'] instanceof EE_Event |
|
198 | + if ( ! $this->template_args['event'] instanceof EE_Event |
|
199 | 199 | || ( |
200 | 200 | empty($attributes['event_id']) |
201 | 201 | && $attributes['datetime_id'] |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | */ |
311 | 311 | private function getDatetime(array $attributes) |
312 | 312 | { |
313 | - if (! empty($attributes['datetime_id'])) { |
|
313 | + if ( ! empty($attributes['datetime_id'])) { |
|
314 | 314 | $datetime = EEM_Datetime::instance()->get_one_by_ID($attributes['datetime_id']); |
315 | 315 | if ($datetime instanceof EE_Datetime) { |
316 | 316 | return $datetime; |
@@ -330,7 +330,7 @@ discard block |
||
330 | 330 | */ |
331 | 331 | private function getTicket(array $attributes) |
332 | 332 | { |
333 | - if (! empty($attributes['ticket_id'])) { |
|
333 | + if ( ! empty($attributes['ticket_id'])) { |
|
334 | 334 | $ticket = EEM_Ticket::instance()->get_one_by_ID($attributes['ticket_id']); |
335 | 335 | if ($ticket instanceof EE_Ticket) { |
336 | 336 | return $ticket; |
@@ -351,7 +351,7 @@ discard block |
||
351 | 351 | $this->query_params[0]['Registration.STS_ID'] = $attributes['status']; |
352 | 352 | } |
353 | 353 | $this->query_params['group_by'] = array('ATT_ID'); |
354 | - $this->query_params['order_by'] = (array)apply_filters( |
|
354 | + $this->query_params['order_by'] = (array) apply_filters( |
|
355 | 355 | 'FHEE__EES_Espresso_Event_Attendees__process_shortcode__order_by', |
356 | 356 | array('ATT_lname' => 'ASC', 'ATT_fname' => 'ASC') |
357 | 357 | ); |
@@ -20,76 +20,76 @@ |
||
20 | 20 | { |
21 | 21 | |
22 | 22 | |
23 | - /** |
|
24 | - * the actual shortcode tag that gets registered with WordPress |
|
25 | - * |
|
26 | - * @return string |
|
27 | - */ |
|
28 | - public function getTag() |
|
29 | - { |
|
30 | - return 'ESPRESSO_CANCELLED'; |
|
31 | - } |
|
23 | + /** |
|
24 | + * the actual shortcode tag that gets registered with WordPress |
|
25 | + * |
|
26 | + * @return string |
|
27 | + */ |
|
28 | + public function getTag() |
|
29 | + { |
|
30 | + return 'ESPRESSO_CANCELLED'; |
|
31 | + } |
|
32 | 32 | |
33 | 33 | |
34 | - /** |
|
35 | - * the time in seconds to cache the results of the processShortcode() method |
|
36 | - * 0 means the processShortcode() results will NOT be cached at all |
|
37 | - * |
|
38 | - * @return int |
|
39 | - */ |
|
40 | - public function cacheExpiration() |
|
41 | - { |
|
42 | - return 0; |
|
43 | - } |
|
34 | + /** |
|
35 | + * the time in seconds to cache the results of the processShortcode() method |
|
36 | + * 0 means the processShortcode() results will NOT be cached at all |
|
37 | + * |
|
38 | + * @return int |
|
39 | + */ |
|
40 | + public function cacheExpiration() |
|
41 | + { |
|
42 | + return 0; |
|
43 | + } |
|
44 | 44 | |
45 | 45 | |
46 | - /** |
|
47 | - * a place for adding any initialization code that needs to run prior to wp_header(). |
|
48 | - * this may be required for shortcodes that utilize a corresponding module, |
|
49 | - * and need to enqueue assets for that module |
|
50 | - * |
|
51 | - * @return void |
|
52 | - */ |
|
53 | - public function initializeShortcode() |
|
54 | - { |
|
55 | - $this->shortcodeHasBeenInitialized(); |
|
56 | - } |
|
46 | + /** |
|
47 | + * a place for adding any initialization code that needs to run prior to wp_header(). |
|
48 | + * this may be required for shortcodes that utilize a corresponding module, |
|
49 | + * and need to enqueue assets for that module |
|
50 | + * |
|
51 | + * @return void |
|
52 | + */ |
|
53 | + public function initializeShortcode() |
|
54 | + { |
|
55 | + $this->shortcodeHasBeenInitialized(); |
|
56 | + } |
|
57 | 57 | |
58 | 58 | |
59 | - /** |
|
60 | - * callback that runs when the shortcode is encountered in post content. |
|
61 | - * IMPORTANT !!! |
|
62 | - * remember that shortcode content should be RETURNED and NOT echoed out |
|
63 | - * |
|
64 | - * @param array $attributes |
|
65 | - * @return string |
|
66 | - * @throws \EE_Error |
|
67 | - */ |
|
68 | - public function processShortcode($attributes = array()) |
|
69 | - { |
|
70 | - $transaction = EE_Registry::instance()->SSN->get_session_data('transaction'); |
|
71 | - if ($transaction instanceof EE_Transaction) { |
|
72 | - do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__transaction', $transaction); |
|
73 | - $registrations = $transaction->registrations(); |
|
74 | - foreach ($registrations as $registration) { |
|
75 | - if ($registration instanceof EE_Registration) { |
|
76 | - do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__registration', $registration); |
|
77 | - } |
|
78 | - } |
|
79 | - } |
|
80 | - do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__clear_session'); |
|
81 | - // remove all unwanted records from the db |
|
82 | - if (EE_Registry::instance()->CART instanceof EE_Cart) { |
|
83 | - EE_Registry::instance()->CART->delete_cart(); |
|
84 | - } |
|
85 | - EE_Registry::instance()->SSN->clear_session(__CLASS__, __FUNCTION__); |
|
86 | - return sprintf( |
|
87 | - __( |
|
88 | - '%1$sAll unsaved registration information entered during this session has been deleted.%2$s', |
|
89 | - 'event_espresso' |
|
90 | - ), |
|
91 | - '<p class="ee-registrations-cancelled-pg ee-attention">', |
|
92 | - '</p>' |
|
93 | - ); |
|
94 | - } |
|
59 | + /** |
|
60 | + * callback that runs when the shortcode is encountered in post content. |
|
61 | + * IMPORTANT !!! |
|
62 | + * remember that shortcode content should be RETURNED and NOT echoed out |
|
63 | + * |
|
64 | + * @param array $attributes |
|
65 | + * @return string |
|
66 | + * @throws \EE_Error |
|
67 | + */ |
|
68 | + public function processShortcode($attributes = array()) |
|
69 | + { |
|
70 | + $transaction = EE_Registry::instance()->SSN->get_session_data('transaction'); |
|
71 | + if ($transaction instanceof EE_Transaction) { |
|
72 | + do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__transaction', $transaction); |
|
73 | + $registrations = $transaction->registrations(); |
|
74 | + foreach ($registrations as $registration) { |
|
75 | + if ($registration instanceof EE_Registration) { |
|
76 | + do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__registration', $registration); |
|
77 | + } |
|
78 | + } |
|
79 | + } |
|
80 | + do_action('AHEE__EES_Espresso_Cancelled__process_shortcode__clear_session'); |
|
81 | + // remove all unwanted records from the db |
|
82 | + if (EE_Registry::instance()->CART instanceof EE_Cart) { |
|
83 | + EE_Registry::instance()->CART->delete_cart(); |
|
84 | + } |
|
85 | + EE_Registry::instance()->SSN->clear_session(__CLASS__, __FUNCTION__); |
|
86 | + return sprintf( |
|
87 | + __( |
|
88 | + '%1$sAll unsaved registration information entered during this session has been deleted.%2$s', |
|
89 | + 'event_espresso' |
|
90 | + ), |
|
91 | + '<p class="ee-registrations-cancelled-pg ee-attention">', |
|
92 | + '</p>' |
|
93 | + ); |
|
94 | + } |
|
95 | 95 | } |