Version Description
Download this release
Release Info
Developer | brianjessee |
Plugin | Event Tickets |
Version | 4.8.1 |
Comparing to | |
See all releases |
Code changes from version 4.8 to 4.8.1
- common/readme.txt +8 -1
- common/src/Tribe/Abstract_Deactivation.php +0 -0
- common/src/Tribe/App_Shop.php +0 -0
- common/src/Tribe/Autoloader.php +0 -0
- common/src/Tribe/Cache.php +0 -0
- common/src/Tribe/Cache_Listener.php +0 -0
- common/src/Tribe/Changelog_Reader.php +0 -0
- common/src/Tribe/Credits.php +0 -0
- common/src/Tribe/Date_Utils.php +0 -0
- common/src/Tribe/Field.php +0 -0
- common/src/Tribe/JSON_LD/Abstract.php +0 -0
- common/src/Tribe/Main.php +1 -1
- common/src/Tribe/PUE/Checker.php +0 -0
- common/src/Tribe/PUE/Plugin_Info.php +0 -0
- common/src/Tribe/PUE/Utility.php +0 -0
- common/src/Tribe/Settings.php +0 -0
- common/src/Tribe/Settings_Tab.php +0 -0
- common/src/Tribe/Support.php +0 -0
- common/src/Tribe/Template.php +269 -40
- common/src/Tribe/Template_Factory.php +0 -0
- common/src/Tribe/Template_Part_Cache.php +0 -0
- common/src/Tribe/Validate.php +0 -0
- common/src/Tribe/Validator/Base.php +45 -0
- common/src/Tribe/View_Helpers.php +4 -3
- common/src/admin-views/tribe-options-display.php +0 -0
- common/src/admin-views/tribe-options-general.php +0 -0
- common/src/admin-views/tribe-options-help.php +0 -0
- common/src/admin-views/tribe-options-licenses.php +0 -0
- common/src/admin-views/tribe-options-network.php +0 -0
- common/src/functions/template-tags/date.php +0 -0
- common/src/functions/template-tags/general.php +0 -0
- common/src/functions/utils.php +26 -0
- common/tribe-common.php +1 -1
- common/vendor/attrchange/js/attrchange.js +0 -0
- common/vendor/attrchange/js/attrchange_ext.js +0 -0
- common/vendor/autoload.php +0 -0
- common/vendor/jquery-tribe-timepicker/jquery.timepicker.css +0 -0
- common/vendor/jquery-tribe-timepicker/lib/bootstrap-datepicker.js +0 -0
- common/vendor/jquery-tribe-timepicker/lib/glyphicons-halflings.png +0 -0
- common/vendor/jquery-tribe-timepicker/lib/screenshot.png +0 -0
- common/vendor/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- common/vendor/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- common/vendor/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- common/vendor/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- common/vendor/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- common/vendor/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- common/vendor/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- common/vendor/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- common/vendor/jquery/images/ui-icons_222222_256x240.png +0 -0
- common/vendor/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- common/vendor/jquery/images/ui-icons_454545_256x240.png +0 -0
- common/vendor/jquery/images/ui-icons_888888_256x240.png +0 -0
- common/vendor/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- common/vendor/jquery/ui.theme.css +0 -0
- event-tickets.php +1 -1
- lang/event-tickets-de_DE.mo +0 -0
- lang/event-tickets-de_DE.po +31 -31
- readme.txt +8 -1
- src/Tribe/Attendees_Table.php +0 -0
- src/Tribe/Commerce/PayPal/Attendance_Totals.php +3 -3
- src/Tribe/Commerce/PayPal/Frontend/Tickets_Form.php +6 -8
- src/Tribe/Main.php +2 -2
- src/Tribe/Metabox.php +0 -0
- src/Tribe/RSVP.php +3 -3
- src/Tribe/RSVP/Attendance_Totals.php +2 -2
- src/Tribe/Ticket_Object.php +0 -0
- src/Tribe/Tickets.php +7 -5
- src/Tribe/Tickets_Handler.php +30 -0
- src/admin-views/attendees.php +3 -3
- src/admin-views/editor/metabox.php +0 -0
- src/admin-views/list.php +1 -1
- src/admin-views/meta-box.php +0 -0
- src/admin-views/privacy.php +0 -0
- src/admin-views/rsvp-metabox-capacity.php +0 -0
- src/admin-views/tpp-metabox-capacity.php +0 -0
- src/deprecated/TribeEventsTicketObject.php +0 -0
- src/deprecated/TribeEventsTickets.php +0 -0
- src/deprecated/TribeEventsTicketsAttendeesTable.php +0 -0
- src/deprecated/TribeEventsTicketsMetabox.php +0 -0
- src/deprecated/TribeEventsTicketsPro.php +0 -0
- src/deprecated/Tribe__Events__Tickets__Attendees_Table.php +0 -0
- src/deprecated/Tribe__Events__Tickets__Metabox.php +0 -0
- src/deprecated/Tribe__Events__Tickets__Ticket_Object.php +0 -0
- src/deprecated/Tribe__Events__Tickets__Tickets.php +0 -0
- src/deprecated/Tribe__Events__Tickets__Tickets_Pro.php +0 -0
- src/resources/css/accordion.css +1 -2
- src/resources/css/accordion.min.css +1 -1
- src/resources/css/rsvp.css +67 -11
- src/resources/css/rsvp.min.css +1 -1
- src/resources/css/tickets-admin.css +90 -0
- src/resources/css/tickets-admin.min.css +1 -0
- src/resources/css/tickets-attendees-print.css +1 -1
- src/resources/css/tickets-attendees-print.min.css +1 -1
- src/resources/css/tickets-attendees.css +22 -34
- src/resources/css/tickets-attendees.min.css +1 -1
- src/resources/css/tickets-refresh.css +2 -6
- src/resources/css/tickets-refresh.min.css +1 -1
- src/resources/css/tpp.css +1 -12
- src/resources/css/tpp.min.css +1 -1
- src/resources/postcss/rsvp.pcss +56 -9
- src/resources/postcss/tickets-admin.pcss +87 -0
- src/resources/postcss/tickets-attendees-print.pcss +1 -1
- src/resources/postcss/tickets-attendees.pcss +12 -33
- src/resources/postcss/tpp.pcss +1 -23
- src/template-tags/tickets.php +2 -3
- src/views/tickets/rsvp.php +6 -5
common/readme.txt
CHANGED
@@ -2,7 +2,14 @@
|
|
2 |
|
3 |
== Changelog ==
|
4 |
|
5 |
-
= [4.7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
* Fix - Add the following datepicker formats to the validation script: YYYY.MM.DD, MM.DD.YYYY, DD.MM.YYYY [102815]
|
7 |
* Add - Added the `Tribe__Process__Queue::delete_all_queues` method [111856]
|
8 |
* Tweak - updated some foundation code for the Tickets REST API [108021]
|
2 |
|
3 |
== Changelog ==
|
4 |
|
5 |
+
= [4.7.20] 2018-09-11 =
|
6 |
+
* Add - Added is_string_or_empty, is_image_or_empty, is_url_or_empty variations for REST API validation of values that are allowed to be set as empty [108834]
|
7 |
+
* Add - Introduce folder lookup for `Tribe__Template` to allow usage on Themes [112478]
|
8 |
+
* Fix - Allow settings to restrict to only one country [106974]
|
9 |
+
* Tweak - Removed filters: `tribe_template_base_path`
|
10 |
+
* Tweak - Added new filters: `tribe_template_before_include:$hook_name`, `tribe_template_after_include:$hook_name`, `tribe_template_html:$hook_name`, `tribe_template_path_list`, `tribe_template_public_path`, `tribe_template_public_namespace`, `tribe_template_plugin_path`
|
11 |
+
|
12 |
+
= [4.7.19] 2018-08-22 =
|
13 |
* Fix - Add the following datepicker formats to the validation script: YYYY.MM.DD, MM.DD.YYYY, DD.MM.YYYY [102815]
|
14 |
* Add - Added the `Tribe__Process__Queue::delete_all_queues` method [111856]
|
15 |
* Tweak - updated some foundation code for the Tickets REST API [108021]
|
common/src/Tribe/Abstract_Deactivation.php
CHANGED
File without changes
|
common/src/Tribe/App_Shop.php
CHANGED
File without changes
|
common/src/Tribe/Autoloader.php
CHANGED
File without changes
|
common/src/Tribe/Cache.php
CHANGED
File without changes
|
common/src/Tribe/Cache_Listener.php
CHANGED
File without changes
|
common/src/Tribe/Changelog_Reader.php
CHANGED
File without changes
|
common/src/Tribe/Credits.php
CHANGED
File without changes
|
common/src/Tribe/Date_Utils.php
CHANGED
File without changes
|
common/src/Tribe/Field.php
CHANGED
File without changes
|
common/src/Tribe/JSON_LD/Abstract.php
CHANGED
File without changes
|
common/src/Tribe/Main.php
CHANGED
@@ -17,7 +17,7 @@ class Tribe__Main {
|
|
17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
19 |
|
20 |
-
const VERSION = '4.7.
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
17 |
const OPTIONNAME = 'tribe_events_calendar_options';
|
18 |
const OPTIONNAMENETWORK = 'tribe_events_calendar_network_options';
|
19 |
|
20 |
+
const VERSION = '4.7.20';
|
21 |
|
22 |
const FEED_URL = 'https://theeventscalendar.com/feed/';
|
23 |
|
common/src/Tribe/PUE/Checker.php
CHANGED
File without changes
|
common/src/Tribe/PUE/Plugin_Info.php
CHANGED
File without changes
|
common/src/Tribe/PUE/Utility.php
CHANGED
File without changes
|
common/src/Tribe/Settings.php
CHANGED
File without changes
|
common/src/Tribe/Settings_Tab.php
CHANGED
File without changes
|
common/src/Tribe/Support.php
CHANGED
File without changes
|
common/src/Tribe/Template.php
CHANGED
@@ -54,6 +54,15 @@ class Tribe__Template {
|
|
54 |
*/
|
55 |
protected $template_base_path;
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* Configures the class origin plugin path
|
59 |
*
|
@@ -115,6 +124,21 @@ class Tribe__Template {
|
|
115 |
return $this;
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
/**
|
119 |
* Configures the class global context
|
120 |
*
|
@@ -142,34 +166,11 @@ class Tribe__Template {
|
|
142 |
*/
|
143 |
public function set_template_context_extract( $value = false ) {
|
144 |
// Cast as bool and save
|
145 |
-
$this->template_context_extract = (
|
146 |
|
147 |
return $this;
|
148 |
}
|
149 |
|
150 |
-
/**
|
151 |
-
* Gets the base path for this Instance of Templates
|
152 |
-
*
|
153 |
-
* @since 4.6.2
|
154 |
-
*
|
155 |
-
* @return string
|
156 |
-
*/
|
157 |
-
public function get_base_path() {
|
158 |
-
// Craft the Base Path
|
159 |
-
$path = array_merge( (array) $this->template_base_path, $this->folder );
|
160 |
-
|
161 |
-
// Implode to avoid Window Problems
|
162 |
-
$path = implode( DIRECTORY_SEPARATOR, $path );
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Allows filtering of the base path for templates
|
166 |
-
*
|
167 |
-
* @param string $path Complete path to include the base folder
|
168 |
-
* @param self $template Current instance of the Tribe__Template
|
169 |
-
*/
|
170 |
-
return apply_filters( 'tribe_template_base_path', $path, $this );
|
171 |
-
}
|
172 |
-
|
173 |
/**
|
174 |
* Sets a Index inside of the global or local context
|
175 |
* Final to prevent extending the class when the `get` already exists on the child class
|
@@ -273,7 +274,183 @@ class Tribe__Template {
|
|
273 |
}
|
274 |
|
275 |
/**
|
276 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
*
|
278 |
* @since 4.6.2
|
279 |
*
|
@@ -292,22 +469,22 @@ class Tribe__Template {
|
|
292 |
// Clean this Variable
|
293 |
$name = array_map( 'sanitize_title_with_dashes', $name );
|
294 |
|
295 |
-
|
296 |
-
|
|
|
|
|
|
|
297 |
|
298 |
-
//
|
299 |
-
$
|
300 |
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
* @param self $template Current instance of the Tribe__Template
|
309 |
-
*/
|
310 |
-
$file = apply_filters( 'tribe_template_file', $file, $name, $this );
|
311 |
|
312 |
// Before we load the file we check if it exists
|
313 |
if ( ! file_exists( $file ) ) {
|
@@ -323,6 +500,7 @@ class Tribe__Template {
|
|
323 |
* Fires an Action before including the template file
|
324 |
*
|
325 |
* @since 4.6.2
|
|
|
326 |
*
|
327 |
* @param string $file Complete path to include the PHP File
|
328 |
* @param array $name Template name
|
@@ -330,6 +508,22 @@ class Tribe__Template {
|
|
330 |
*/
|
331 |
do_action( 'tribe_template_before_include', $file, $name, $this );
|
332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
// Only do this if really needed (by default it wont)
|
334 |
if ( true === $this->template_context_extract && ! empty( $this->context ) ) {
|
335 |
// We don't allow Extrating of a variable called $name
|
@@ -349,9 +543,10 @@ class Tribe__Template {
|
|
349 |
include $file;
|
350 |
|
351 |
/**
|
352 |
-
* Fires an Action
|
353 |
*
|
354 |
* @since 4.6.2
|
|
|
355 |
*
|
356 |
* @param string $file Complete path to include the PHP File
|
357 |
* @param array $name Template name
|
@@ -359,6 +554,22 @@ class Tribe__Template {
|
|
359 |
*/
|
360 |
do_action( 'tribe_template_after_include', $file, $name, $this );
|
361 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
// Only fetch the contents after the action
|
363 |
$html = ob_get_clean();
|
364 |
|
@@ -366,6 +577,7 @@ class Tribe__Template {
|
|
366 |
* Allow users to filter the final HTML
|
367 |
*
|
368 |
* @since 4.6.2
|
|
|
369 |
*
|
370 |
* @param string $html The final HTML
|
371 |
* @param string $file Complete path to include the PHP File
|
@@ -374,6 +586,23 @@ class Tribe__Template {
|
|
374 |
*/
|
375 |
$html = apply_filters( 'tribe_template_html', $html, $file, $name, $this );
|
376 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
if ( $echo ) {
|
378 |
echo $html;
|
379 |
}
|
54 |
*/
|
55 |
protected $template_base_path;
|
56 |
|
57 |
+
/**
|
58 |
+
* Should we use a lookup into the list of folders to try to find the file
|
59 |
+
*
|
60 |
+
* @since 4.7.20
|
61 |
+
*
|
62 |
+
* @var bool
|
63 |
+
*/
|
64 |
+
protected $template_folder_lookup = false;
|
65 |
+
|
66 |
/**
|
67 |
* Configures the class origin plugin path
|
68 |
*
|
124 |
return $this;
|
125 |
}
|
126 |
|
127 |
+
/**
|
128 |
+
* Configures the class with the base folder in relation to the Origin
|
129 |
+
*
|
130 |
+
* @since 4.7.20
|
131 |
+
*
|
132 |
+
* @param mixed $use Should we look for template files in the list of folders
|
133 |
+
*
|
134 |
+
* @return self
|
135 |
+
*/
|
136 |
+
public function set_template_folder_lookup( $value = true ) {
|
137 |
+
$this->template_folder_lookup = tribe_is_truthy( $value );
|
138 |
+
|
139 |
+
return $this;
|
140 |
+
}
|
141 |
+
|
142 |
/**
|
143 |
* Configures the class global context
|
144 |
*
|
166 |
*/
|
167 |
public function set_template_context_extract( $value = false ) {
|
168 |
// Cast as bool and save
|
169 |
+
$this->template_context_extract = tribe_is_truthy( $value );
|
170 |
|
171 |
return $this;
|
172 |
}
|
173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
/**
|
175 |
* Sets a Index inside of the global or local context
|
176 |
* Final to prevent extending the class when the `get` already exists on the child class
|
274 |
}
|
275 |
|
276 |
/**
|
277 |
+
* Fetches the path for locating files in the Plugin Folder
|
278 |
+
*
|
279 |
+
* @since 4.7.20
|
280 |
+
*
|
281 |
+
* @return string
|
282 |
+
*/
|
283 |
+
protected function get_template_plugin_path() {
|
284 |
+
// Craft the plugin Path
|
285 |
+
$path = array_merge( (array) $this->template_base_path, $this->folder );
|
286 |
+
|
287 |
+
// Implode to avoid Window Problems
|
288 |
+
$path = implode( DIRECTORY_SEPARATOR, $path );
|
289 |
+
|
290 |
+
/**
|
291 |
+
* Allows filtering of the base path for templates
|
292 |
+
*
|
293 |
+
* @since 4.7.20
|
294 |
+
*
|
295 |
+
* @param string $path Complete path to include the base plugin folder
|
296 |
+
* @param self $template Current instance of the Tribe__Template
|
297 |
+
*/
|
298 |
+
return apply_filters( 'tribe_template_plugin_path', $path, $this );
|
299 |
+
}
|
300 |
+
|
301 |
+
/**
|
302 |
+
* Fetches the Namespace for the public paths, normaly folders to look for
|
303 |
+
* in the theme's directory.
|
304 |
+
*
|
305 |
+
* @since 4.7.20
|
306 |
+
*
|
307 |
+
* @return array
|
308 |
+
*/
|
309 |
+
protected function get_template_public_namespace() {
|
310 |
+
$namespace = array(
|
311 |
+
'tribe',
|
312 |
+
);
|
313 |
+
|
314 |
+
if ( ! empty( $this->origin->template_namespace ) ) {
|
315 |
+
$namespace[] = $this->origin->template_namespace;
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
* Allows filtering of the base path for templates
|
320 |
+
*
|
321 |
+
* @since 4.7.20
|
322 |
+
*
|
323 |
+
* @param array $namespace Which is the namespace we will look for files in the theme
|
324 |
+
* @param self $template Current instance of the Tribe__Template
|
325 |
+
*/
|
326 |
+
return apply_filters( 'tribe_template_public_namespace', $namespace, $this );
|
327 |
+
}
|
328 |
+
|
329 |
+
/**
|
330 |
+
* Fetches the path for locating files given a base folder normally theme related
|
331 |
+
*
|
332 |
+
* @since 4.7.20
|
333 |
+
*
|
334 |
+
* @param mixed $base Base path to look into
|
335 |
+
*
|
336 |
+
* @return string
|
337 |
+
*/
|
338 |
+
protected function get_template_public_path( $base ) {
|
339 |
+
// Craft the plugin Path
|
340 |
+
$path = array_merge( (array) $base, (array) $this->get_template_public_namespace() );
|
341 |
+
|
342 |
+
// Implode to avoid Window Problems
|
343 |
+
$path = implode( DIRECTORY_SEPARATOR, $path );
|
344 |
+
|
345 |
+
/**
|
346 |
+
* Allows filtering of the base path for templates
|
347 |
+
*
|
348 |
+
* @since 4.7.20
|
349 |
+
*
|
350 |
+
* @param string $path Complete path to include the base public folder
|
351 |
+
* @param self $template Current instance of the Tribe__Template
|
352 |
+
*/
|
353 |
+
return apply_filters( 'tribe_template_public_path', $path, $this );
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Fetches the folders in which we will look for a given file
|
358 |
+
*
|
359 |
+
* @since 4.7.20
|
360 |
+
*
|
361 |
+
* @return array
|
362 |
+
*/
|
363 |
+
protected function get_template_path_list() {
|
364 |
+
$folders = array();
|
365 |
+
|
366 |
+
// Only look into public folders if we tell to use folders
|
367 |
+
if ( $this->template_folder_lookup ) {
|
368 |
+
$folders[] = array(
|
369 |
+
'id' => 'child-theme',
|
370 |
+
'priority' => 10,
|
371 |
+
'path' => $this->get_template_public_path( STYLESHEETPATH ),
|
372 |
+
);
|
373 |
+
$folders[] = array(
|
374 |
+
'id' => 'parent-theme',
|
375 |
+
'priority' => 15,
|
376 |
+
'path' => $this->get_template_public_path( TEMPLATEPATH ),
|
377 |
+
);
|
378 |
+
}
|
379 |
+
|
380 |
+
$folders[] = array(
|
381 |
+
'id' => 'plugin',
|
382 |
+
'priority' => 20,
|
383 |
+
'path' => $this->get_template_plugin_path(),
|
384 |
+
);
|
385 |
+
|
386 |
+
/**
|
387 |
+
* Allows filtering of the list of folders in which we will look for the
|
388 |
+
* template given.
|
389 |
+
*
|
390 |
+
* @since 4.7.20
|
391 |
+
*
|
392 |
+
* @param array $folders Complete path to include the base public folder
|
393 |
+
* @param self $template Current instance of the Tribe__Template
|
394 |
+
*/
|
395 |
+
$folders = apply_filters( 'tribe_template_path_list', $folders, $this );
|
396 |
+
|
397 |
+
uasort( $folders, 'tribe_sort_by_priority' );
|
398 |
+
|
399 |
+
return $folders;
|
400 |
+
}
|
401 |
+
|
402 |
+
/**
|
403 |
+
* Tries to locate the correct file we want to load based on the Template class
|
404 |
+
* configuration and it's list of folders
|
405 |
+
*
|
406 |
+
* @since 4.7.20
|
407 |
+
*
|
408 |
+
* @param mixed $name File name we are looking for
|
409 |
+
*
|
410 |
+
* @return string
|
411 |
+
*/
|
412 |
+
public function get_template_file( $name ) {
|
413 |
+
// If name is String make it an Array
|
414 |
+
if ( is_string( $name ) ) {
|
415 |
+
$name = (array) explode( '/', $name );
|
416 |
+
}
|
417 |
+
|
418 |
+
$folders = $this->get_template_path_list();
|
419 |
+
|
420 |
+
foreach ( $folders as $folder ) {
|
421 |
+
$folder['path'] = trim( $folder['path'] );
|
422 |
+
if ( ! $folder['path'] ) {
|
423 |
+
continue;
|
424 |
+
}
|
425 |
+
|
426 |
+
// Build the File Path
|
427 |
+
$file = implode( DIRECTORY_SEPARATOR, array_merge( (array) $folder['path'], $name ) );
|
428 |
+
|
429 |
+
// Append the Extension to the file path
|
430 |
+
$file .= '.php';
|
431 |
+
|
432 |
+
// Skip non-existent files
|
433 |
+
if ( file_exists( $file ) ) {
|
434 |
+
/**
|
435 |
+
* A more Specific Filter that will include the template name
|
436 |
+
*
|
437 |
+
* @since 4.6.2
|
438 |
+
* @since 4.7.20 The $name param no longers contains the extension
|
439 |
+
*
|
440 |
+
* @param string $file Complete path to include the PHP File
|
441 |
+
* @param array $name Template name
|
442 |
+
* @param self $template Current instance of the Tribe__Template
|
443 |
+
*/
|
444 |
+
return apply_filters( 'tribe_template_file', $file, $name, $this );
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
// Couldn't find a template on the Stack
|
449 |
+
return false;
|
450 |
+
}
|
451 |
+
|
452 |
+
/**
|
453 |
+
* A very simple method to include a Template, allowing filtering and additions using hooks.
|
454 |
*
|
455 |
* @since 4.6.2
|
456 |
*
|
469 |
// Clean this Variable
|
470 |
$name = array_map( 'sanitize_title_with_dashes', $name );
|
471 |
|
472 |
+
if ( ! empty( $this->origin->template_namespace ) ) {
|
473 |
+
$namespace = array_merge( (array) $this->origin->template_namespace, $name );
|
474 |
+
} else {
|
475 |
+
$namespace = $name;
|
476 |
+
}
|
477 |
|
478 |
+
// Setup the Hook name
|
479 |
+
$hook_name = implode( '/', $namespace );
|
480 |
|
481 |
+
// Check if the file exists
|
482 |
+
$file = $this->get_template_file( $name );
|
483 |
+
|
484 |
+
// Check if it's a valid variable
|
485 |
+
if ( ! $file ) {
|
486 |
+
return false;
|
487 |
+
}
|
|
|
|
|
|
|
488 |
|
489 |
// Before we load the file we check if it exists
|
490 |
if ( ! file_exists( $file ) ) {
|
500 |
* Fires an Action before including the template file
|
501 |
*
|
502 |
* @since 4.6.2
|
503 |
+
* @since 4.7.20 The $name param no longers contains the extension
|
504 |
*
|
505 |
* @param string $file Complete path to include the PHP File
|
506 |
* @param array $name Template name
|
508 |
*/
|
509 |
do_action( 'tribe_template_before_include', $file, $name, $this );
|
510 |
|
511 |
+
/**
|
512 |
+
* Fires an Action for a given template name before including the template file
|
513 |
+
*
|
514 |
+
* E.g.:
|
515 |
+
* `tribe_template_before_include:events/blocks/parts/details`
|
516 |
+
* `tribe_template_before_include:events/embed`
|
517 |
+
* `tribe_template_before_include:tickets/login-to-purchase`
|
518 |
+
*
|
519 |
+
* @since 4.7.20
|
520 |
+
*
|
521 |
+
* @param string $file Complete path to include the PHP File
|
522 |
+
* @param array $name Template name
|
523 |
+
* @param self $template Current instance of the Tribe__Template
|
524 |
+
*/
|
525 |
+
do_action( "tribe_template_before_include:$hook_name", $file, $name, $this );
|
526 |
+
|
527 |
// Only do this if really needed (by default it wont)
|
528 |
if ( true === $this->template_context_extract && ! empty( $this->context ) ) {
|
529 |
// We don't allow Extrating of a variable called $name
|
543 |
include $file;
|
544 |
|
545 |
/**
|
546 |
+
* Fires an Action after including the template file
|
547 |
*
|
548 |
* @since 4.6.2
|
549 |
+
* @since 4.7.20 The $name param no longers contains the extension
|
550 |
*
|
551 |
* @param string $file Complete path to include the PHP File
|
552 |
* @param array $name Template name
|
554 |
*/
|
555 |
do_action( 'tribe_template_after_include', $file, $name, $this );
|
556 |
|
557 |
+
/**
|
558 |
+
* Fires an Action for a given template name after including the template file
|
559 |
+
*
|
560 |
+
* E.g.:
|
561 |
+
* `tribe_template_after_include:events/blocks/parts/details`
|
562 |
+
* `tribe_template_after_include:events/embed`
|
563 |
+
* `tribe_template_after_include:tickets/login-to-purchase`
|
564 |
+
*
|
565 |
+
* @since 4.7.20
|
566 |
+
*
|
567 |
+
* @param string $file Complete path to include the PHP File
|
568 |
+
* @param array $name Template name
|
569 |
+
* @param self $template Current instance of the Tribe__Template
|
570 |
+
*/
|
571 |
+
do_action( "tribe_template_after_include:$hook_name", $file, $name, $this );
|
572 |
+
|
573 |
// Only fetch the contents after the action
|
574 |
$html = ob_get_clean();
|
575 |
|
577 |
* Allow users to filter the final HTML
|
578 |
*
|
579 |
* @since 4.6.2
|
580 |
+
* @since 4.7.20 The $name param no longers contains the extension
|
581 |
*
|
582 |
* @param string $html The final HTML
|
583 |
* @param string $file Complete path to include the PHP File
|
586 |
*/
|
587 |
$html = apply_filters( 'tribe_template_html', $html, $file, $name, $this );
|
588 |
|
589 |
+
/**
|
590 |
+
* Allow users to filter the final HTML by the name
|
591 |
+
*
|
592 |
+
* E.g.:
|
593 |
+
* `tribe_template_html:events/blocks/parts/details`
|
594 |
+
* `tribe_template_html:events/embed`
|
595 |
+
* `tribe_template_html:tickets/login-to-purchase`
|
596 |
+
*
|
597 |
+
* @since 4.7.20
|
598 |
+
*
|
599 |
+
* @param string $html The final HTML
|
600 |
+
* @param string $file Complete path to include the PHP File
|
601 |
+
* @param array $name Template name
|
602 |
+
* @param self $template Current instance of the Tribe__Template
|
603 |
+
*/
|
604 |
+
$html = apply_filters( "tribe_template_html:$hook_name", $html, $file, $name, $this );
|
605 |
+
|
606 |
if ( $echo ) {
|
607 |
echo $html;
|
608 |
}
|
common/src/Tribe/Template_Factory.php
CHANGED
File without changes
|
common/src/Tribe/Template_Part_Cache.php
CHANGED
File without changes
|
common/src/Tribe/Validate.php
CHANGED
File without changes
|
common/src/Tribe/Validator/Base.php
CHANGED
@@ -34,6 +34,19 @@ class Tribe__Validator__Base implements Tribe__Validator__Interface {
|
|
34 |
return ! empty( $value ) && is_string( $value );
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Whether the value is a timestamp or a string parseable by the strtotime function or not.
|
39 |
*
|
@@ -166,6 +179,21 @@ class Tribe__Validator__Base implements Tribe__Validator__Interface {
|
|
166 |
return false;
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
/**
|
170 |
* @param mixed $value
|
171 |
*
|
@@ -188,6 +216,23 @@ class Tribe__Validator__Base implements Tribe__Validator__Interface {
|
|
188 |
return (bool) filter_var( $input, FILTER_VALIDATE_URL );
|
189 |
}
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
/**
|
192 |
* Whether a string represents a valid and registered post status or not.
|
193 |
*
|
34 |
return ! empty( $value ) && is_string( $value );
|
35 |
}
|
36 |
|
37 |
+
/**
|
38 |
+
* @param mixed $value
|
39 |
+
*
|
40 |
+
* @return bool
|
41 |
+
*/
|
42 |
+
public function is_string_or_empty( $value ) {
|
43 |
+
if ( empty( $value ) ) {
|
44 |
+
return true;
|
45 |
+
}
|
46 |
+
|
47 |
+
return $this->is_string( $value );
|
48 |
+
}
|
49 |
+
|
50 |
/**
|
51 |
* Whether the value is a timestamp or a string parseable by the strtotime function or not.
|
52 |
*
|
179 |
return false;
|
180 |
}
|
181 |
|
182 |
+
/**
|
183 |
+
* Whether the provided value points to an existing attachment ID, an existing image URL, or is empty.
|
184 |
+
*
|
185 |
+
* @param int|string $image
|
186 |
+
*
|
187 |
+
* @return mixed
|
188 |
+
*/
|
189 |
+
public function is_image_or_empty( $image ) {
|
190 |
+
if ( empty( $image ) ) {
|
191 |
+
return true;
|
192 |
+
}
|
193 |
+
|
194 |
+
return $this->is_image( $image );
|
195 |
+
}
|
196 |
+
|
197 |
/**
|
198 |
* @param mixed $value
|
199 |
*
|
216 |
return (bool) filter_var( $input, FILTER_VALIDATE_URL );
|
217 |
}
|
218 |
|
219 |
+
/**
|
220 |
+
* Whether a string represents a valid array or not.
|
221 |
+
*
|
222 |
+
* Valid means that the string looks like a URL, not that the URL is online and reachable.
|
223 |
+
*
|
224 |
+
* @param string $input
|
225 |
+
*
|
226 |
+
* @return bool
|
227 |
+
*/
|
228 |
+
public function is_url_or_empty( $input ) {
|
229 |
+
if ( empty( $input ) ) {
|
230 |
+
return true;
|
231 |
+
}
|
232 |
+
|
233 |
+
return $this->is_url( $input );
|
234 |
+
}
|
235 |
+
|
236 |
/**
|
237 |
* Whether a string represents a valid and registered post status or not.
|
238 |
*
|
common/src/Tribe/View_Helpers.php
CHANGED
@@ -20,11 +20,12 @@ if ( ! class_exists( 'Tribe__View_Helpers' ) ) {
|
|
20 |
* @return array The countries array.
|
21 |
*/
|
22 |
public static function constructCountries( $postId = '', $useDefault = true ) {
|
|
|
23 |
|
24 |
-
if (
|
25 |
$countries = array();
|
26 |
|
27 |
-
$country_rows = explode( "\n",
|
28 |
foreach ( $country_rows as $crow ) {
|
29 |
$country = explode( ',', $crow );
|
30 |
if ( isset( $country[0] ) && isset( $country[1] ) ) {
|
@@ -38,7 +39,7 @@ if ( ! class_exists( 'Tribe__View_Helpers' ) ) {
|
|
38 |
}
|
39 |
}
|
40 |
|
41 |
-
if ( ! isset( $countries ) || ! is_array( $countries ) || count( $countries )
|
42 |
$countries = tribe( 'languages.locations' )->get_countries();
|
43 |
}
|
44 |
|
20 |
* @return array The countries array.
|
21 |
*/
|
22 |
public static function constructCountries( $postId = '', $useDefault = true ) {
|
23 |
+
$eventCountries = tribe_get_option( 'tribeEventsCountries' );
|
24 |
|
25 |
+
if ( $eventCountries != '' ) {
|
26 |
$countries = array();
|
27 |
|
28 |
+
$country_rows = explode( "\n", $eventCountries );
|
29 |
foreach ( $country_rows as $crow ) {
|
30 |
$country = explode( ',', $crow );
|
31 |
if ( isset( $country[0] ) && isset( $country[1] ) ) {
|
39 |
}
|
40 |
}
|
41 |
|
42 |
+
if ( ! isset( $countries ) || ! is_array( $countries ) || count( $countries ) < 1 ) {
|
43 |
$countries = tribe( 'languages.locations' )->get_countries();
|
44 |
}
|
45 |
|
common/src/admin-views/tribe-options-display.php
CHANGED
File without changes
|
common/src/admin-views/tribe-options-general.php
CHANGED
File without changes
|
common/src/admin-views/tribe-options-help.php
CHANGED
File without changes
|
common/src/admin-views/tribe-options-licenses.php
CHANGED
File without changes
|
common/src/admin-views/tribe-options-network.php
CHANGED
File without changes
|
common/src/functions/template-tags/date.php
CHANGED
File without changes
|
common/src/functions/template-tags/general.php
CHANGED
File without changes
|
common/src/functions/utils.php
CHANGED
@@ -231,6 +231,32 @@ if ( ! function_exists( 'tribe_is_truthy' ) ) {
|
|
231 |
}
|
232 |
}
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
if ( ! function_exists( 'tribe_normalize_terms_list' ) ) {
|
235 |
/**
|
236 |
* Normalizes a list of terms to a list of fields.
|
231 |
}
|
232 |
}
|
233 |
|
234 |
+
/**
|
235 |
+
* Sorting function based on Priority
|
236 |
+
*
|
237 |
+
* @since 4.7.20
|
238 |
+
*
|
239 |
+
* @param object|array $a First Subject to compare
|
240 |
+
* @param object|array $b Second subject to compare
|
241 |
+
*
|
242 |
+
* @return int
|
243 |
+
*/
|
244 |
+
function tribe_sort_by_priority( $a, $b ) {
|
245 |
+
if ( is_array( $a ) ) {
|
246 |
+
$a_priority = $a['priority'];
|
247 |
+
} else {
|
248 |
+
$a_priority = $a->priority;
|
249 |
+
}
|
250 |
+
|
251 |
+
if ( is_array( $b ) ) {
|
252 |
+
$b_priority = $b['priority'];
|
253 |
+
} else {
|
254 |
+
$b_priority = $b->priority;
|
255 |
+
}
|
256 |
+
|
257 |
+
return (int) $a_priority === (int) $b_priority ? 0 : (int) $a_priority > (int) $b_priority;
|
258 |
+
}
|
259 |
+
|
260 |
if ( ! function_exists( 'tribe_normalize_terms_list' ) ) {
|
261 |
/**
|
262 |
* Normalizes a list of terms to a list of fields.
|
common/tribe-common.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Description: An event settings framework for managing shared options
|
4 |
-
Version: 4.7.
|
5 |
Author: Modern Tribe, Inc.
|
6 |
Author URI: http://m.tri.be/1x
|
7 |
Text Domain: tribe-common
|
1 |
<?php
|
2 |
/*
|
3 |
Description: An event settings framework for managing shared options
|
4 |
+
Version: 4.7.20
|
5 |
Author: Modern Tribe, Inc.
|
6 |
Author URI: http://m.tri.be/1x
|
7 |
Text Domain: tribe-common
|
common/vendor/attrchange/js/attrchange.js
CHANGED
File without changes
|
common/vendor/attrchange/js/attrchange_ext.js
CHANGED
File without changes
|
common/vendor/autoload.php
CHANGED
File without changes
|
common/vendor/jquery-tribe-timepicker/jquery.timepicker.css
CHANGED
File without changes
|
common/vendor/jquery-tribe-timepicker/lib/bootstrap-datepicker.js
CHANGED
File without changes
|
common/vendor/jquery-tribe-timepicker/lib/glyphicons-halflings.png
CHANGED
File without changes
|
common/vendor/jquery-tribe-timepicker/lib/screenshot.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_flat_75_ffffff_40x100.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_glass_65_ffffff_1x400.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_glass_75_dadada_1x400.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_glass_95_fef1ec_1x400.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-icons_222222_256x240.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-icons_2e83ff_256x240.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-icons_454545_256x240.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-icons_888888_256x240.png
CHANGED
File without changes
|
common/vendor/jquery/images/ui-icons_cd0a0a_256x240.png
CHANGED
File without changes
|
common/vendor/jquery/ui.theme.css
CHANGED
File without changes
|
event-tickets.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Event Tickets
|
4 |
Description: Event Tickets allows you to sell basic tickets and collect RSVPs from any post, page, or event.
|
5 |
-
Version: 4.8
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/28
|
8 |
License: GPLv2 or later
|
2 |
/*
|
3 |
Plugin Name: Event Tickets
|
4 |
Description: Event Tickets allows you to sell basic tickets and collect RSVPs from any post, page, or event.
|
5 |
+
Version: 4.8.1
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/28
|
8 |
License: GPLv2 or later
|
lang/event-tickets-de_DE.mo
CHANGED
Binary file
|
lang/event-tickets-de_DE.po
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
# This file is distributed under the same license as the Plugins - Event Tickets - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2018-
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -21,11 +21,11 @@ msgstr "Nach einer erfolgreichen PayPal Bestellung werden die Benutzer zu dieser
|
|
21 |
|
22 |
#: src/admin-views/privacy.php:56
|
23 |
msgid "If you have extended our plugin(s) to send data to a third-party service such as Eventbrite, Google Maps, or PayPal, user information may be passed to these external services. These services may be located abroad."
|
24 |
-
msgstr ""
|
25 |
|
26 |
#: src/admin-views/privacy.php:54
|
27 |
msgid "Modern Tribe does not send any user data outside of your website by default."
|
28 |
-
msgstr ""
|
29 |
|
30 |
#: src/admin-views/privacy.php:52
|
31 |
msgid "Where We Send Your Data"
|
@@ -33,11 +33,11 @@ msgstr "Wohin wir deine Daten senden"
|
|
33 |
|
34 |
#: src/admin-views/privacy.php:50
|
35 |
msgid "Certain data may be exported or removed upon users request via the existing Exporter or Eraser. Please note, however, that several “edge cases” exist in which we are unable to perfect the gathering and export of all data for your end users. We suggest running a search in your local database, as well as within the WordPress Dashboard, in order to identify all data collected and stored for your specific user requests."
|
36 |
-
msgstr ""
|
37 |
|
38 |
#: src/admin-views/privacy.php:48
|
39 |
msgid "All information (data) is retained in the local database indefinitely, unless otherwise deleted."
|
40 |
-
msgstr ""
|
41 |
|
42 |
#: src/admin-views/privacy.php:46
|
43 |
msgid "How Long You Retain this Data"
|
@@ -45,43 +45,43 @@ msgstr "Wie lange die Daten aufbewahrt werden"
|
|
45 |
|
46 |
#: src/admin-views/privacy.php:44
|
47 |
msgid "These API keys may include the following third party services: Google Maps and PayPal."
|
48 |
-
msgstr ""
|
49 |
|
50 |
#: src/admin-views/privacy.php:42
|
51 |
msgid "We make use of certain API keys, in order to provide specific features."
|
52 |
-
msgstr ""
|
53 |
|
54 |
#: src/admin-views/privacy.php:38
|
55 |
msgid "Events Tickets suite offers the use of third-party API keys. The primary functions are to enhance the features we've built in, some of which use Google Maps and PayPal. These API keys are not supplied by Modern Tribe."
|
56 |
-
msgstr ""
|
57 |
|
58 |
#: src/admin-views/privacy.php:36
|
59 |
msgid "API Keys"
|
60 |
-
msgstr ""
|
61 |
|
62 |
#: src/admin-views/privacy.php:34
|
63 |
msgid "Please note: The website owner can collect nearly any Attendee Information requested from ticket buyers by creating a custom registration form."
|
64 |
-
msgstr ""
|
65 |
|
66 |
#: src/admin-views/privacy.php:31
|
67 |
msgid "Ticket purchaser billing address, which is collected through the use of WooCommerce, Easy Digital Downloads, or PayPal"
|
68 |
-
msgstr ""
|
69 |
|
70 |
#: src/admin-views/privacy.php:30
|
71 |
msgid "Ticket purchaser information: name and email address"
|
72 |
-
msgstr ""
|
73 |
|
74 |
#: src/admin-views/privacy.php:29
|
75 |
msgid "Ticket information (RSVPs and Tickets): name, email address, and ticket number/SKU (via check-in page)"
|
76 |
-
msgstr ""
|
77 |
|
78 |
#: src/admin-views/privacy.php:28
|
79 |
msgid "Attendees information (RSVPs and Tickets): name and email address"
|
80 |
-
msgstr ""
|
81 |
|
82 |
#: src/admin-views/privacy.php:25
|
83 |
msgid "If you create, submit, import, save, or publish event ticket information, as well as RSVP or purchase tickets to events, such information is retained in the local database:"
|
84 |
-
msgstr ""
|
85 |
|
86 |
#: src/admin-views/privacy.php:24 src/admin-views/privacy.php:40
|
87 |
msgid "Suggested text:"
|
@@ -89,31 +89,31 @@ msgstr "Vorgeschlagener Text:"
|
|
89 |
|
90 |
#: src/admin-views/privacy.php:23
|
91 |
msgid "Through the usage of Event Tickets, Event Tickets Plus, and Community Tickets, information may be collected and stored within your website’s database."
|
92 |
-
msgstr ""
|
93 |
|
94 |
#: src/admin-views/privacy.php:21
|
95 |
msgid "Event, Attendee, and Ticket Purchaser Information"
|
96 |
-
msgstr ""
|
97 |
|
98 |
#: src/admin-views/privacy.php:19
|
99 |
msgid "What personal data we collect and why we collect it"
|
100 |
-
msgstr ""
|
101 |
|
102 |
#: src/admin-views/privacy.php:17
|
103 |
msgid "This information is only for guidance and not to be considered as legal advice."
|
104 |
-
msgstr ""
|
105 |
|
106 |
#: src/admin-views/privacy.php:17
|
107 |
msgid "Disclaimer:"
|
108 |
-
msgstr ""
|
109 |
|
110 |
#: src/admin-views/privacy.php:16
|
111 |
msgid "You should include the information below in the correct sections of you privacy policy."
|
112 |
-
msgstr ""
|
113 |
|
114 |
#: src/admin-views/privacy.php:15
|
115 |
msgid "This information serves as a guide on what sections need to be modified due to usage of Event Tickets and its Add-ons."
|
116 |
-
msgstr ""
|
117 |
|
118 |
#: src/admin-views/privacy.php:14
|
119 |
msgid "Hello,"
|
@@ -121,31 +121,31 @@ msgstr "Hallo,"
|
|
121 |
|
122 |
#: src/Tribe/REST/V1/Messages.php:22
|
123 |
msgid "The requested ticket check in is not available"
|
124 |
-
msgstr ""
|
125 |
|
126 |
#: src/Tribe/REST/V1/Messages.php:21
|
127 |
msgid "The requested ticket is not accessible"
|
128 |
-
msgstr ""
|
129 |
|
130 |
#: src/Tribe/REST/V1/Messages.php:20
|
131 |
msgid "The requested post ID does not exist or is not a ticket"
|
132 |
-
msgstr ""
|
133 |
|
134 |
#: src/Tribe/REST/V1/Messages.php:19
|
135 |
msgid "The ticket ID is missing from the request"
|
136 |
-
msgstr ""
|
137 |
|
138 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:157
|
139 |
msgid "Returns the documentation for Event Tickets REST API in Swagger consumable format."
|
140 |
-
msgstr ""
|
141 |
|
142 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:107
|
143 |
msgid "Event Tickets REST API allows accessing ticket information easily and conveniently."
|
144 |
-
msgstr ""
|
145 |
|
146 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:106
|
147 |
msgid "Event Tickets REST API"
|
148 |
-
msgstr ""
|
149 |
|
150 |
#: src/Tribe/REST/V1/Endpoints/Base.php:42
|
151 |
msgid "No description provided"
|
@@ -153,11 +153,11 @@ msgstr "Keine Beschreibung verfügbar"
|
|
153 |
|
154 |
#: src/Tribe/REST/V1/Documentation/Ticket_Definition_Provider.php:26
|
155 |
msgid "The ticket WordPress post ID"
|
156 |
-
msgstr ""
|
157 |
|
158 |
#: src/Tribe/Privacy.php:196
|
159 |
msgid "Order Title"
|
160 |
-
msgstr ""
|
161 |
|
162 |
#: src/Tribe/Privacy.php:191
|
163 |
msgid "Event Tickets TribeCommerce Attendee Data"
|
2 |
# This file is distributed under the same license as the Plugins - Event Tickets - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"PO-Revision-Date: 2018-09-02 20:04:21+0000\n"
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
21 |
|
22 |
#: src/admin-views/privacy.php:56
|
23 |
msgid "If you have extended our plugin(s) to send data to a third-party service such as Eventbrite, Google Maps, or PayPal, user information may be passed to these external services. These services may be located abroad."
|
24 |
+
msgstr "Wenn Du unsere Plugins so erweitert hast, dass sie Daten an einen Drittanbieter-Service wie Eventbrite, Google Maps oder PayPal senden, können Benutzerinformationen an diese externen Services weitergegeben werden. Diese Dienste können sich im Ausland befinden."
|
25 |
|
26 |
#: src/admin-views/privacy.php:54
|
27 |
msgid "Modern Tribe does not send any user data outside of your website by default."
|
28 |
+
msgstr "Modern Tribe sendet standardmäßig keine Benutzerdaten außerhalb Ihrer Website."
|
29 |
|
30 |
#: src/admin-views/privacy.php:52
|
31 |
msgid "Where We Send Your Data"
|
33 |
|
34 |
#: src/admin-views/privacy.php:50
|
35 |
msgid "Certain data may be exported or removed upon users request via the existing Exporter or Eraser. Please note, however, that several “edge cases” exist in which we are unable to perfect the gathering and export of all data for your end users. We suggest running a search in your local database, as well as within the WordPress Dashboard, in order to identify all data collected and stored for your specific user requests."
|
36 |
+
msgstr "Bestimmte Daten können auf Wunsch des Benutzers über den vorhandenen Exporter oder Radierer exportiert oder entfernt werden. Bitte beachte jedoch, dass es mehrere \"Grenzfälle\" gibt, in denen wir das Sammeln und Exportieren aller Daten für Ihre Endnutzer nicht perfektionieren können. Wir empfehlen, in der lokalen Datenbank sowie im WordPress Dashboard eine Suche durchzuführen, um alle gesammelten und gespeicherten Daten für Ihre spezifischen Benutzeranforderungen zu identifizieren."
|
37 |
|
38 |
#: src/admin-views/privacy.php:48
|
39 |
msgid "All information (data) is retained in the local database indefinitely, unless otherwise deleted."
|
40 |
+
msgstr "Alle Informationen (Daten) bleiben auf unbestimmte Zeit in der lokalen Datenbank erhalten, sofern sie nicht anderweitig gelöscht werden."
|
41 |
|
42 |
#: src/admin-views/privacy.php:46
|
43 |
msgid "How Long You Retain this Data"
|
45 |
|
46 |
#: src/admin-views/privacy.php:44
|
47 |
msgid "These API keys may include the following third party services: Google Maps and PayPal."
|
48 |
+
msgstr "Diese API-Schlüssel können die folgenden Dienste von Drittanbietern enthalten: Google Maps und PayPal."
|
49 |
|
50 |
#: src/admin-views/privacy.php:42
|
51 |
msgid "We make use of certain API keys, in order to provide specific features."
|
52 |
+
msgstr "Wir verwenden bestimmte API-Schlüssel, um bestimmte Funktionen bereitzustellen."
|
53 |
|
54 |
#: src/admin-views/privacy.php:38
|
55 |
msgid "Events Tickets suite offers the use of third-party API keys. The primary functions are to enhance the features we've built in, some of which use Google Maps and PayPal. These API keys are not supplied by Modern Tribe."
|
56 |
+
msgstr "Events Tickets Suite bietet die Verwendung von API-Schlüsseln von Drittanbietern. Die Hauptfunktionen bestehen darin, die Funktionen zu verbessern, von denen einige Google Maps und PayPal verwenden. Diese API-Schlüssel werden nicht von Modern Tribe bereitgestellt."
|
57 |
|
58 |
#: src/admin-views/privacy.php:36
|
59 |
msgid "API Keys"
|
60 |
+
msgstr "API Schlüssel"
|
61 |
|
62 |
#: src/admin-views/privacy.php:34
|
63 |
msgid "Please note: The website owner can collect nearly any Attendee Information requested from ticket buyers by creating a custom registration form."
|
64 |
+
msgstr "Bitte beachte: Der Eigentümer der Website kann nahezu alle von Kartenkäufern angeforderten Teilnehmerinformationen sammeln, indem er ein benutzerdefiniertes Registrierungsformular erstellt."
|
65 |
|
66 |
#: src/admin-views/privacy.php:31
|
67 |
msgid "Ticket purchaser billing address, which is collected through the use of WooCommerce, Easy Digital Downloads, or PayPal"
|
68 |
+
msgstr "Die Rechnungsadresse des Kartenkäufers, die durch die Verwendung von WooCommerce, Easy Digital Downloads oder PayPal gesammelt wird"
|
69 |
|
70 |
#: src/admin-views/privacy.php:30
|
71 |
msgid "Ticket purchaser information: name and email address"
|
72 |
+
msgstr "Informationen zum Ticketkäufer: Name und E-Mail-Adresse "
|
73 |
|
74 |
#: src/admin-views/privacy.php:29
|
75 |
msgid "Ticket information (RSVPs and Tickets): name, email address, and ticket number/SKU (via check-in page)"
|
76 |
+
msgstr "Karteninformationen (RSVPs und Tickets): Name, E-Mail-Adresse und Kartennummer / SKU (über die Check-in-Seite)"
|
77 |
|
78 |
#: src/admin-views/privacy.php:28
|
79 |
msgid "Attendees information (RSVPs and Tickets): name and email address"
|
80 |
+
msgstr "Teilnehmerinformationen (RSVPs und Karten): Name und E-Mail-Adresse"
|
81 |
|
82 |
#: src/admin-views/privacy.php:25
|
83 |
msgid "If you create, submit, import, save, or publish event ticket information, as well as RSVP or purchase tickets to events, such information is retained in the local database:"
|
84 |
+
msgstr "Wenn Du Veranstaltungskarten-Informationen erstellst, sendest, importierst, speicherst oder veröffentlichst sowie RSVPs oder Tickets für Ereignisse kaufst, werden diese Informationen in der lokalen Datenbank gespeichert:"
|
85 |
|
86 |
#: src/admin-views/privacy.php:24 src/admin-views/privacy.php:40
|
87 |
msgid "Suggested text:"
|
89 |
|
90 |
#: src/admin-views/privacy.php:23
|
91 |
msgid "Through the usage of Event Tickets, Event Tickets Plus, and Community Tickets, information may be collected and stored within your website’s database."
|
92 |
+
msgstr "Durch die Verwendung von Event Tickets, Event Tickets Plus und Community Tickets können Informationen gesammelt und in der Datenbank Ihrer Website gespeichert werden."
|
93 |
|
94 |
#: src/admin-views/privacy.php:21
|
95 |
msgid "Event, Attendee, and Ticket Purchaser Information"
|
96 |
+
msgstr "Informationen über Veranstaltung, Teilnehmer und Kartenkäufer"
|
97 |
|
98 |
#: src/admin-views/privacy.php:19
|
99 |
msgid "What personal data we collect and why we collect it"
|
100 |
+
msgstr "Welche persönlichen Daten sammeln wir und warum sammeln wir sie?"
|
101 |
|
102 |
#: src/admin-views/privacy.php:17
|
103 |
msgid "This information is only for guidance and not to be considered as legal advice."
|
104 |
+
msgstr "Diese Informationen dienen nur zur Orientierung und sind nicht als Rechtsberatung zu verstehen."
|
105 |
|
106 |
#: src/admin-views/privacy.php:17
|
107 |
msgid "Disclaimer:"
|
108 |
+
msgstr "Haftungsausschluss:"
|
109 |
|
110 |
#: src/admin-views/privacy.php:16
|
111 |
msgid "You should include the information below in the correct sections of you privacy policy."
|
112 |
+
msgstr "Sie sollten die folgenden Informationen in die richtigen Abschnitte Ihrer Datenschutzerklärung aufnehmen."
|
113 |
|
114 |
#: src/admin-views/privacy.php:15
|
115 |
msgid "This information serves as a guide on what sections need to be modified due to usage of Event Tickets and its Add-ons."
|
116 |
+
msgstr "Diese Informationen dienen als Richtlinie, welche Abschnitte aufgrund der Verwendung von Veranstaltungskarten und Add-Ons geändert werden müssen."
|
117 |
|
118 |
#: src/admin-views/privacy.php:14
|
119 |
msgid "Hello,"
|
121 |
|
122 |
#: src/Tribe/REST/V1/Messages.php:22
|
123 |
msgid "The requested ticket check in is not available"
|
124 |
+
msgstr "Der angeforderte Karten-Check-in ist nicht verfügbar"
|
125 |
|
126 |
#: src/Tribe/REST/V1/Messages.php:21
|
127 |
msgid "The requested ticket is not accessible"
|
128 |
+
msgstr "Die angeforderte Karte ist nicht zugänglich"
|
129 |
|
130 |
#: src/Tribe/REST/V1/Messages.php:20
|
131 |
msgid "The requested post ID does not exist or is not a ticket"
|
132 |
+
msgstr "Die angeforderte Beitrags-ID existiert nicht oder ist keine Karte"
|
133 |
|
134 |
#: src/Tribe/REST/V1/Messages.php:19
|
135 |
msgid "The ticket ID is missing from the request"
|
136 |
+
msgstr "Die Karten-ID fehlt in der Anfrage"
|
137 |
|
138 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:157
|
139 |
msgid "Returns the documentation for Event Tickets REST API in Swagger consumable format."
|
140 |
+
msgstr "Gibt die Dokumentation für die REST-API für Veranstaltungstickets im Swagger-Verbrauchsmaterialformat zurück."
|
141 |
|
142 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:107
|
143 |
msgid "Event Tickets REST API allows accessing ticket information easily and conveniently."
|
144 |
+
msgstr "Event Tickets REST API ermöglicht den einfachen und bequemen Zugriff auf Ticketinformationen."
|
145 |
|
146 |
#: src/Tribe/REST/V1/Endpoints/Swagger_Documentation.php:106
|
147 |
msgid "Event Tickets REST API"
|
148 |
+
msgstr "Event Tickets REST API"
|
149 |
|
150 |
#: src/Tribe/REST/V1/Endpoints/Base.php:42
|
151 |
msgid "No description provided"
|
153 |
|
154 |
#: src/Tribe/REST/V1/Documentation/Ticket_Definition_Provider.php:26
|
155 |
msgid "The ticket WordPress post ID"
|
156 |
+
msgstr "Die Karten WordPress Post ID"
|
157 |
|
158 |
#: src/Tribe/Privacy.php:196
|
159 |
msgid "Order Title"
|
160 |
+
msgstr "Titel Bestellung"
|
161 |
|
162 |
#: src/Tribe/Privacy.php:191
|
163 |
msgid "Event Tickets TribeCommerce Attendee Data"
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: ModernTribe, borkweb, bordoni, barry.hughes, aguseo, brianjessee,
|
|
4 |
Tags: RSVP, events, tickets, event management, calendar, ticket sales, community, registration, api, dates, date, posts, workshop, conference, meeting, seminar, concert, summit, ticket integration, event ticketing
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.8
|
7 |
-
Stable tag: 4.8
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -122,6 +122,13 @@ Currently, the following add-ons are available for Event Tickets:
|
|
122 |
|
123 |
== Changelog ==
|
124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
= [4.8] 2018-08-22 =
|
126 |
|
127 |
* Feature - Include a Tickets REST API endpoint for read operations [108021]
|
4 |
Tags: RSVP, events, tickets, event management, calendar, ticket sales, community, registration, api, dates, date, posts, workshop, conference, meeting, seminar, concert, summit, ticket integration, event ticketing
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.8
|
7 |
+
Stable tag: 4.8.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
122 |
|
123 |
== Changelog ==
|
124 |
|
125 |
+
= [4.8.1] 2018-09-12 =
|
126 |
+
|
127 |
+
* Fix - Show the ticket table when tickets are all sold out, show message in list view [111893]
|
128 |
+
* Fix - Fixed ticket description issue when creating events with no description. Thanks Aaron Brazell for the fix! [113038]
|
129 |
+
* Fix - Correct un-responsive ticket table, thanks @understandphoto for bringing this to our attention! [109730]
|
130 |
+
* Tweak - Added filter: `tribe_tickets_get_ticket_max_purchase` [112478]
|
131 |
+
|
132 |
= [4.8] 2018-08-22 =
|
133 |
|
134 |
* Feature - Include a Tickets REST API endpoint for read operations [108021]
|
src/Tribe/Attendees_Table.php
CHANGED
File without changes
|
src/Tribe/Commerce/PayPal/Attendance_Totals.php
CHANGED
@@ -75,8 +75,8 @@ class Tribe__Tickets__Commerce__PayPal__Attendance_Totals extends Tribe__Tickets
|
|
75 |
|
76 |
echo "
|
77 |
<ul>
|
78 |
-
<li> <strong>$total_sold_label
|
79 |
-
<li> $total_paid_label
|
80 |
</ul>
|
81 |
";
|
82 |
}
|
@@ -155,4 +155,4 @@ class Tribe__Tickets__Commerce__PayPal__Attendance_Totals extends Tribe__Tickets
|
|
155 |
*/
|
156 |
return (int) apply_filters( 'tribe_tickets_get_total_paid', $this->total_complete, $this->total_complete, $this->event_id );
|
157 |
}
|
158 |
-
}
|
75 |
|
76 |
echo "
|
77 |
<ul>
|
78 |
+
<li> <strong>$total_sold_label </strong>$total_sold </li>
|
79 |
+
<li> $total_paid_label $total_paid </li>
|
80 |
</ul>
|
81 |
";
|
82 |
}
|
155 |
*/
|
156 |
return (int) apply_filters( 'tribe_tickets_get_total_paid', $this->total_complete, $this->total_complete, $this->event_id );
|
157 |
}
|
158 |
+
}
|
src/Tribe/Commerce/PayPal/Frontend/Tickets_Form.php
CHANGED
@@ -84,20 +84,18 @@ class Tribe__Tickets__Commerce__PayPal__Frontend__Tickets_Form {
|
|
84 |
$must_login = ! is_user_logged_in() && $this->main->login_required();
|
85 |
$can_login = true;
|
86 |
|
87 |
-
|
|
|
|
|
88 |
|
89 |
$currently_available_tickets = array_filter( $tickets, array( $this, 'is_currently_available' ) );
|
90 |
|
91 |
if ( count( $currently_available_tickets ) > 0 ) {
|
92 |
-
|
93 |
-
include $this->main->getTemplateHierarchy( 'tickets/tpp' );
|
94 |
-
$form = ob_get_clean();
|
95 |
-
|
96 |
-
// If we have rendered tickets there is generally no need to display a 'tickets unavailable' message
|
97 |
// for this post
|
98 |
$this->main->do_not_show_tickets_unavailable_message();
|
99 |
} else {
|
100 |
-
// Indicate that
|
101 |
// appropriate (depending on whether other ticket providers are active and have a similar
|
102 |
// result)
|
103 |
$this->main->maybe_show_tickets_unavailable_message( $tickets );
|
@@ -132,4 +130,4 @@ class Tribe__Tickets__Commerce__PayPal__Frontend__Tickets_Form {
|
|
132 |
protected function is_currently_available( Tribe__Tickets__Ticket_Object $ticket ) {
|
133 |
return $ticket->date_in_range();
|
134 |
}
|
135 |
-
}
|
84 |
$must_login = ! is_user_logged_in() && $this->main->login_required();
|
85 |
$can_login = true;
|
86 |
|
87 |
+
ob_start();
|
88 |
+
include $this->main->getTemplateHierarchy( 'tickets/tpp' );
|
89 |
+
$form = ob_get_clean();
|
90 |
|
91 |
$currently_available_tickets = array_filter( $tickets, array( $this, 'is_currently_available' ) );
|
92 |
|
93 |
if ( count( $currently_available_tickets ) > 0 ) {
|
94 |
+
// If we have available tickets there is generally no need to display a 'tickets unavailable' message
|
|
|
|
|
|
|
|
|
95 |
// for this post
|
96 |
$this->main->do_not_show_tickets_unavailable_message();
|
97 |
} else {
|
98 |
+
// Indicate that there are not any tickets, so a 'tickets unavailable' message may be
|
99 |
// appropriate (depending on whether other ticket providers are active and have a similar
|
100 |
// result)
|
101 |
$this->main->maybe_show_tickets_unavailable_message( $tickets );
|
130 |
protected function is_currently_available( Tribe__Tickets__Ticket_Object $ticket ) {
|
131 |
return $ticket->date_in_range();
|
132 |
}
|
133 |
+
}
|
src/Tribe/Main.php
CHANGED
@@ -4,7 +4,7 @@ class Tribe__Tickets__Main {
|
|
4 |
/**
|
5 |
* Current version of this plugin
|
6 |
*/
|
7 |
-
const VERSION = '4.8';
|
8 |
|
9 |
/**
|
10 |
* Min required The Events Calendar version
|
@@ -14,7 +14,7 @@ class Tribe__Tickets__Main {
|
|
14 |
/**
|
15 |
* Min required version of Tribe Common
|
16 |
*/
|
17 |
-
const MIN_COMMON_VERSION = '4.7.
|
18 |
|
19 |
/**
|
20 |
* Name of the provider
|
4 |
/**
|
5 |
* Current version of this plugin
|
6 |
*/
|
7 |
+
const VERSION = '4.8.1';
|
8 |
|
9 |
/**
|
10 |
* Min required The Events Calendar version
|
14 |
/**
|
15 |
* Min required version of Tribe Common
|
16 |
*/
|
17 |
+
const MIN_COMMON_VERSION = '4.7.20';
|
18 |
|
19 |
/**
|
20 |
* Name of the provider
|
src/Tribe/Metabox.php
CHANGED
File without changes
|
src/Tribe/RSVP.php
CHANGED
@@ -1114,7 +1114,7 @@ class Tribe__Tickets__RSVP extends Tribe__Tickets__Tickets {
|
|
1114 |
*
|
1115 |
* @return bool
|
1116 |
*/
|
1117 |
-
|
1118 |
$requirements = (array) tribe_get_option( 'ticket-authentication-requirements', array() );
|
1119 |
return in_array( 'event-tickets_rsvp', $requirements );
|
1120 |
}
|
@@ -2031,7 +2031,7 @@ class Tribe__Tickets__RSVP extends Tribe__Tickets__Tickets {
|
|
2031 |
*
|
2032 |
* @return array|false
|
2033 |
*/
|
2034 |
-
|
2035 |
$order_id = self::generate_order_id();
|
2036 |
|
2037 |
$attendee_email = empty( $_POST['attendee']['email'] ) ? null : sanitize_email( $_POST['attendee']['email'] );
|
@@ -2073,7 +2073,7 @@ class Tribe__Tickets__RSVP extends Tribe__Tickets__Tickets {
|
|
2073 |
* @return int Either the requested quantity of tickets for the product or `0` in
|
2074 |
* any other case.
|
2075 |
*/
|
2076 |
-
|
2077 |
if ( empty( $_POST[ "quantity_{$product_id}" ] ) ) {
|
2078 |
return 0;
|
2079 |
}
|
1114 |
*
|
1115 |
* @return bool
|
1116 |
*/
|
1117 |
+
public function login_required() {
|
1118 |
$requirements = (array) tribe_get_option( 'ticket-authentication-requirements', array() );
|
1119 |
return in_array( 'event-tickets_rsvp', $requirements );
|
1120 |
}
|
2031 |
*
|
2032 |
* @return array|false
|
2033 |
*/
|
2034 |
+
public function parse_attendee_details() {
|
2035 |
$order_id = self::generate_order_id();
|
2036 |
|
2037 |
$attendee_email = empty( $_POST['attendee']['email'] ) ? null : sanitize_email( $_POST['attendee']['email'] );
|
2073 |
* @return int Either the requested quantity of tickets for the product or `0` in
|
2074 |
* any other case.
|
2075 |
*/
|
2076 |
+
public function parse_ticket_quantity( $product_id ) {
|
2077 |
if ( empty( $_POST[ "quantity_{$product_id}" ] ) ) {
|
2078 |
return 0;
|
2079 |
}
|
src/Tribe/RSVP/Attendance_Totals.php
CHANGED
@@ -44,7 +44,7 @@ class Tribe__Tickets__RSVP__Attendance_Totals extends Tribe__Tickets__Abstract_A
|
|
44 |
|
45 |
$html = "
|
46 |
<ul>
|
47 |
-
<li> <strong>$total_rsvps_label</strong
|
48 |
<li> $going_label $going </li>
|
49 |
<li> $not_going_label $not_going </li>
|
50 |
</ul>
|
@@ -109,4 +109,4 @@ class Tribe__Tickets__RSVP__Attendance_Totals extends Tribe__Tickets__Abstract_A
|
|
109 |
*/
|
110 |
return (int) apply_filters( 'tribe_tickets_rsvp_get_total_not_going', $this->total_not_going, $this->total_not_going, $this->event_id );
|
111 |
}
|
112 |
-
}
|
44 |
|
45 |
$html = "
|
46 |
<ul>
|
47 |
+
<li> <strong>$total_rsvps_label</strong> $total_rsvps </li>
|
48 |
<li> $going_label $going </li>
|
49 |
<li> $not_going_label $not_going </li>
|
50 |
</ul>
|
109 |
*/
|
110 |
return (int) apply_filters( 'tribe_tickets_rsvp_get_total_not_going', $this->total_not_going, $this->total_not_going, $this->event_id );
|
111 |
}
|
112 |
+
}
|
src/Tribe/Ticket_Object.php
CHANGED
File without changes
|
src/Tribe/Tickets.php
CHANGED
@@ -1204,7 +1204,7 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
1204 |
'available' => 0,
|
1205 |
);
|
1206 |
$types['tickets'] = array(
|
1207 |
-
'count' => 0, // count of
|
1208 |
'stock' => 0, // current stock of tickets available for sale
|
1209 |
'global' => 0, // global stock ticket
|
1210 |
'unlimited' => 0, // unlimited stock tickets
|
@@ -1233,7 +1233,7 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
1233 |
continue;
|
1234 |
}
|
1235 |
|
1236 |
-
$stock_level = Tribe__Tickets__Global_Stock::CAPPED_STOCK_MODE === $global_stock_mode ? $ticket->global_stock_cap : $ticket->
|
1237 |
|
1238 |
// whether the stock level is negative because it represents unlimited stock (`-1`)
|
1239 |
// or because it's oversold we normalize to `0` for the sake of displaying
|
@@ -1857,6 +1857,8 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
1857 |
: array();
|
1858 |
|
1859 |
self::$currently_unavailable_tickets[ (int) $post_id ] = array_merge( $existing_tickets, $tickets );
|
|
|
|
|
1860 |
}
|
1861 |
|
1862 |
/**
|
@@ -1875,7 +1877,7 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
1875 |
}
|
1876 |
|
1877 |
/**
|
1878 |
-
* If appropriate,
|
1879 |
*/
|
1880 |
public function show_tickets_unavailable_message() {
|
1881 |
$post_id = (int) get_the_ID();
|
@@ -2021,7 +2023,7 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
2021 |
*
|
2022 |
* @return bool
|
2023 |
*/
|
2024 |
-
|
2025 |
$requirements = (array) tribe_get_option( 'ticket-authentication-requirements', array() );
|
2026 |
|
2027 |
return in_array( 'event-tickets_all', $requirements, true );
|
@@ -2188,7 +2190,7 @@ if ( ! class_exists( 'Tribe__Tickets__Tickets' ) ) {
|
|
2188 |
$ticket = new Tribe__Tickets__Ticket_Object();
|
2189 |
$ticket->ID = isset( $data['ticket_id'] ) ? absint( $data['ticket_id'] ) : null;
|
2190 |
$ticket->name = isset( $data['ticket_name'] ) ? esc_html( $data['ticket_name'] ) : null;
|
2191 |
-
$ticket->description = isset( $data['ticket_description'] ) ? sanitize_textarea_field( $data['ticket_description'] ) :
|
2192 |
$ticket->price = ! empty( $data['ticket_price'] ) ? filter_var( trim( $data['ticket_price'] ), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND ) : 0;
|
2193 |
$ticket->show_description = isset( $data['ticket_show_description'] ) ? 'yes' : 'no';
|
2194 |
$ticket->provider_class = $this->class_name;
|
1204 |
'available' => 0,
|
1205 |
);
|
1206 |
$types['tickets'] = array(
|
1207 |
+
'count' => 0, // count of ticket types currently for sale
|
1208 |
'stock' => 0, // current stock of tickets available for sale
|
1209 |
'global' => 0, // global stock ticket
|
1210 |
'unlimited' => 0, // unlimited stock tickets
|
1233 |
continue;
|
1234 |
}
|
1235 |
|
1236 |
+
$stock_level = Tribe__Tickets__Global_Stock::CAPPED_STOCK_MODE === $global_stock_mode ? $ticket->global_stock_cap : $ticket->available();
|
1237 |
|
1238 |
// whether the stock level is negative because it represents unlimited stock (`-1`)
|
1239 |
// or because it's oversold we normalize to `0` for the sake of displaying
|
1857 |
: array();
|
1858 |
|
1859 |
self::$currently_unavailable_tickets[ (int) $post_id ] = array_merge( $existing_tickets, $tickets );
|
1860 |
+
|
1861 |
+
|
1862 |
}
|
1863 |
|
1864 |
/**
|
1877 |
}
|
1878 |
|
1879 |
/**
|
1880 |
+
* If appropriate, display a "tickets unavailable" message.
|
1881 |
*/
|
1882 |
public function show_tickets_unavailable_message() {
|
1883 |
$post_id = (int) get_the_ID();
|
2023 |
*
|
2024 |
* @return bool
|
2025 |
*/
|
2026 |
+
public function login_required() {
|
2027 |
$requirements = (array) tribe_get_option( 'ticket-authentication-requirements', array() );
|
2028 |
|
2029 |
return in_array( 'event-tickets_all', $requirements, true );
|
2190 |
$ticket = new Tribe__Tickets__Ticket_Object();
|
2191 |
$ticket->ID = isset( $data['ticket_id'] ) ? absint( $data['ticket_id'] ) : null;
|
2192 |
$ticket->name = isset( $data['ticket_name'] ) ? esc_html( $data['ticket_name'] ) : null;
|
2193 |
+
$ticket->description = isset( $data['ticket_description'] ) ? sanitize_textarea_field( $data['ticket_description'] ) : '';
|
2194 |
$ticket->price = ! empty( $data['ticket_price'] ) ? filter_var( trim( $data['ticket_price'] ), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND ) : 0;
|
2195 |
$ticket->show_description = isset( $data['ticket_show_description'] ) ? 'yes' : 'no';
|
2196 |
$ticket->provider_class = $this->class_name;
|
src/Tribe/Tickets_Handler.php
CHANGED
@@ -1077,6 +1077,36 @@ class Tribe__Tickets__Tickets_Handler {
|
|
1077 |
return $ticket_list;
|
1078 |
}
|
1079 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1080 |
/**
|
1081 |
* Get an array list of shared capacity tickets for an event.
|
1082 |
*
|
1077 |
return $ticket_list;
|
1078 |
}
|
1079 |
|
1080 |
+
/**
|
1081 |
+
* Gets the Maximum Purchase number for a given ticket
|
1082 |
+
*
|
1083 |
+
* @since 4.8.1
|
1084 |
+
*
|
1085 |
+
* @param int|string $ticket_id Ticket to fetch purchase max from
|
1086 |
+
*
|
1087 |
+
* @return int
|
1088 |
+
*/
|
1089 |
+
public function get_ticket_max_purchase( $ticket_id ) {
|
1090 |
+
$event_id = tribe_events_get_ticket_event( $ticket_id );
|
1091 |
+
$provider = tribe_tickets_get_ticket_provider( $ticket_id );
|
1092 |
+
$ticket = $provider->get_ticket( $event_id, $ticket_id );
|
1093 |
+
|
1094 |
+
$available = $ticket->available();
|
1095 |
+
|
1096 |
+
/**
|
1097 |
+
* Allows filtering of the max input for purchase of this one ticket
|
1098 |
+
*
|
1099 |
+
* @since 4.8.1
|
1100 |
+
*
|
1101 |
+
* @param int $available Max Purchase number
|
1102 |
+
* @param Tribe__Tickets__Ticket_Object $ticket Ticket Object
|
1103 |
+
* @param int $event_id Event ID
|
1104 |
+
* @param int $ticket_id Ticket Raw ID
|
1105 |
+
*
|
1106 |
+
*/
|
1107 |
+
return apply_filters( 'tribe_tickets_get_ticket_max_purchase', $available, $ticket, $event_id, $ticket_id );
|
1108 |
+
}
|
1109 |
+
|
1110 |
/**
|
1111 |
* Get an array list of shared capacity tickets for an event.
|
1112 |
*
|
src/admin-views/attendees.php
CHANGED
@@ -81,9 +81,9 @@ $show_title = apply_filters( 'tribe_tickets_attendees_show_title', true, tribe(
|
|
81 |
<ul>
|
82 |
<?php foreach ( $tickets as $ticket ) { ?>
|
83 |
<li>
|
84 |
-
<strong><?php echo esc_html( $ticket->name )
|
85 |
-
|
86 |
-
|
87 |
<?php } ?>
|
88 |
</ul>
|
89 |
<?php do_action( 'tribe_events_tickets_attendees_ticket_sales_bottom', $event_id ); ?>
|
81 |
<ul>
|
82 |
<?php foreach ( $tickets as $ticket ) { ?>
|
83 |
<li>
|
84 |
+
<strong><?php echo esc_html( $ticket->name ) ?>: </strong><?php
|
85 |
+
echo esc_html( tribe_tickets_get_ticket_stock_message( $ticket ) );
|
86 |
+
?></li>
|
87 |
<?php } ?>
|
88 |
</ul>
|
89 |
<?php do_action( 'tribe_events_tickets_attendees_ticket_sales_bottom', $event_id ); ?>
|
src/admin-views/editor/metabox.php
CHANGED
File without changes
|
src/admin-views/list.php
CHANGED
@@ -120,7 +120,7 @@
|
|
120 |
</td>
|
121 |
|
122 |
<td nowrap="nowrap">
|
123 |
-
<?php echo tribe_tickets_get_ticket_stock_message( $ticket ); ?>
|
124 |
</td>
|
125 |
</tr>
|
126 |
<?php
|
120 |
</td>
|
121 |
|
122 |
<td nowrap="nowrap">
|
123 |
+
<?php echo esc_html( tribe_tickets_get_ticket_stock_message( $ticket ) ); ?>
|
124 |
</td>
|
125 |
</tr>
|
126 |
<?php
|
src/admin-views/meta-box.php
CHANGED
File without changes
|
src/admin-views/privacy.php
CHANGED
File without changes
|
src/admin-views/rsvp-metabox-capacity.php
CHANGED
File without changes
|
src/admin-views/tpp-metabox-capacity.php
CHANGED
File without changes
|
src/deprecated/TribeEventsTicketObject.php
CHANGED
File without changes
|
src/deprecated/TribeEventsTickets.php
CHANGED
File without changes
|
src/deprecated/TribeEventsTicketsAttendeesTable.php
CHANGED
File without changes
|
src/deprecated/TribeEventsTicketsMetabox.php
CHANGED
File without changes
|
src/deprecated/TribeEventsTicketsPro.php
CHANGED
File without changes
|
src/deprecated/Tribe__Events__Tickets__Attendees_Table.php
CHANGED
File without changes
|
src/deprecated/Tribe__Events__Tickets__Metabox.php
CHANGED
File without changes
|
src/deprecated/Tribe__Events__Tickets__Ticket_Object.php
CHANGED
File without changes
|
src/deprecated/Tribe__Events__Tickets__Tickets.php
CHANGED
File without changes
|
src/deprecated/Tribe__Events__Tickets__Tickets_Pro.php
CHANGED
File without changes
|
src/resources/css/accordion.css
CHANGED
@@ -51,8 +51,7 @@
|
|
51 |
right: 0;
|
52 |
width: 80%;
|
53 |
top: 50%;
|
54 |
-
|
55 |
-
transform: translateY(-50%);
|
56 |
}
|
57 |
|
58 |
.accordion-header.is-active::before {
|
51 |
right: 0;
|
52 |
width: 80%;
|
53 |
top: 50%;
|
54 |
+
transform: translateY(-50%);
|
|
|
55 |
}
|
56 |
|
57 |
.accordion-header.is-active::before {
|
src/resources/css/accordion.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.accordion-header{background:none;border:0;color:inherit;cursor:pointer;font-size:12px;font-weight:700;padding:10px 20px;box-sizing:border-box;position:relative;text-align:left;width:100%}.accordion-header:before{background-color:#000;border-radius:100%;box-sizing:border-box;color:#fff;content:"\f132";font-family:dashicons;font-size:10px;line-height:17px;font-weight:400;height:14px;left:0;padding:0;position:absolute;top:12px;width:15px;text-align:center;padding-right:1px}.accordion-header:after{content:"";border-bottom:1px solid #ddd;position:absolute;right:0;width:80%;top:50
|
1 |
+
.accordion-header{background:none;border:0;color:inherit;cursor:pointer;font-size:12px;font-weight:700;padding:10px 20px;box-sizing:border-box;position:relative;text-align:left;width:100%}.accordion-header:before{background-color:#000;border-radius:100%;box-sizing:border-box;color:#fff;content:"\f132";font-family:dashicons;font-size:10px;line-height:17px;font-weight:400;height:14px;left:0;padding:0;position:absolute;top:12px;width:15px;text-align:center;padding-right:1px}.accordion-header:after{content:"";border-bottom:1px solid #ddd;position:absolute;right:0;width:80%;top:50%;transform:translateY(-50%)}.accordion-header.is-active:before{content:"\f460";line-height:15px}.accordion-header:focus{outline:1px solid #5b9dd9}.accordion-header:hover{background:none}.tribe-tickets-editor-history:after{width:calc(100% - 80px)}.tribe_attendee_meta:after{width:calc(100% - 170px)}.tribe_advanced_meta:after{width:calc(100% - 105px)}.accordion-label:focus{outline:none}.accordion-content{display:none}.ticket_panel .accordion-content{margin:1em 0 2em}.accordion-content.is-active{display:block}
|
src/resources/css/rsvp.css
CHANGED
@@ -12,14 +12,6 @@
|
|
12 |
padding: 20px 0;
|
13 |
}
|
14 |
|
15 |
-
.tribe-tickets-meta-row {
|
16 |
-
display: none;
|
17 |
-
}
|
18 |
-
|
19 |
-
.tribe-tickets-has-rsvp .tribe-tickets-meta-row {
|
20 |
-
display: table-row;
|
21 |
-
}
|
22 |
-
|
23 |
.tribe-tickets-attendee {
|
24 |
padding: 10px;
|
25 |
}
|
@@ -207,6 +199,7 @@
|
|
207 |
background: #f8f8f8;
|
208 |
border: 0;
|
209 |
border-radius: 3px;
|
|
|
210 |
position: relative;
|
211 |
}
|
212 |
|
@@ -217,8 +210,31 @@
|
|
217 |
border: 0;
|
218 |
}
|
219 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
.tribe-events-tickets td {
|
221 |
padding: 8px 10px;
|
|
|
|
|
|
|
|
|
222 |
}
|
223 |
|
224 |
.tribe-events-tickets .woocommerce.add-to-cart {
|
@@ -255,8 +271,7 @@
|
|
255 |
left: 50%;
|
256 |
position: absolute;
|
257 |
top: 50%;
|
258 |
-
|
259 |
-
transform: translate(-50%, -50%);
|
260 |
width: 90%;
|
261 |
}
|
262 |
|
@@ -311,7 +326,6 @@
|
|
311 |
|
312 |
.tribe-events-tickets-rsvp .tribe-ticket.quantity {
|
313 |
border-bottom: 1px solid #dfdfdf;
|
314 |
-
width: 192px;
|
315 |
}
|
316 |
|
317 |
.tribe-events-tickets-rsvp .tribe-ticket.quantity input {
|
@@ -319,3 +333,45 @@
|
|
319 |
padding: 5px 10px;
|
320 |
width: 4.375em;
|
321 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
padding: 20px 0;
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
.tribe-tickets-attendee {
|
16 |
padding: 10px;
|
17 |
}
|
199 |
background: #f8f8f8;
|
200 |
border: 0;
|
201 |
border-radius: 3px;
|
202 |
+
max-width: 100%;
|
203 |
position: relative;
|
204 |
}
|
205 |
|
210 |
border: 0;
|
211 |
}
|
212 |
|
213 |
+
.tribe-events-tickets tr {
|
214 |
+
display: -ms-flexbox;
|
215 |
+
display: flex;
|
216 |
+
-ms-flex-flow: row wrap;
|
217 |
+
flex-flow: row wrap;
|
218 |
+
}
|
219 |
+
|
220 |
+
.tribe-events-tickets tr:not(:first-child) {
|
221 |
+
border-top: 2px solid #dfdfdf;
|
222 |
+
}
|
223 |
+
|
224 |
+
.tribe-events-tickets tr.tribe-tickets-meta-row {
|
225 |
+
display: none;
|
226 |
+
}
|
227 |
+
|
228 |
+
.tribe-tickets-has-rsvp.tribe-events-tickets tr {
|
229 |
+
display: table-row;
|
230 |
+
}
|
231 |
+
|
232 |
.tribe-events-tickets td {
|
233 |
padding: 8px 10px;
|
234 |
+
display: -ms-flexbox;
|
235 |
+
display: flex;
|
236 |
+
max-width: 50%;
|
237 |
+
width: 50%;
|
238 |
}
|
239 |
|
240 |
.tribe-events-tickets .woocommerce.add-to-cart {
|
271 |
left: 50%;
|
272 |
position: absolute;
|
273 |
top: 50%;
|
274 |
+
transform: translate(-50%, -50%);
|
|
|
275 |
width: 90%;
|
276 |
}
|
277 |
|
326 |
|
327 |
.tribe-events-tickets-rsvp .tribe-ticket.quantity {
|
328 |
border-bottom: 1px solid #dfdfdf;
|
|
|
329 |
}
|
330 |
|
331 |
.tribe-events-tickets-rsvp .tribe-ticket.quantity input {
|
333 |
padding: 5px 10px;
|
334 |
width: 4.375em;
|
335 |
}
|
336 |
+
|
337 |
+
@media only screen and (min-width: 768px) {
|
338 |
+
|
339 |
+
.tribe-events-tickets tr {
|
340 |
+
display: table-row;
|
341 |
+
}
|
342 |
+
|
343 |
+
.tribe-events-tickets td {
|
344 |
+
display: table-cell;
|
345 |
+
max-width: none;
|
346 |
+
width: auto;
|
347 |
+
}
|
348 |
+
}
|
349 |
+
|
350 |
+
@media only screen and (max-width: 768px) {
|
351 |
+
|
352 |
+
.tribe-events-tickets td.tribe-ticket.quantity {
|
353 |
+
-ms-flex-flow: column;
|
354 |
+
flex-flow: column;
|
355 |
+
-ms-flex-order: 4;
|
356 |
+
order: 4;
|
357 |
+
}
|
358 |
+
|
359 |
+
.tribe-events-tickets td.tickets_submit {
|
360 |
+
-ms-flex-order: 5;
|
361 |
+
order: 5;
|
362 |
+
}
|
363 |
+
|
364 |
+
.tribe-events-tickets td.tickets_description {
|
365 |
+
min-width: 100%;
|
366 |
+
width: 100%;
|
367 |
+
}
|
368 |
+
|
369 |
+
.tribe-events-tickets td.tickets_submit .tribe-button {
|
370 |
+
margin-bottom: 20px;
|
371 |
+
margin-top: 0;
|
372 |
+
}
|
373 |
+
|
374 |
+
.tribe-events-tickets td.tickets_name {
|
375 |
+
font-weight: bold;
|
376 |
+
}
|
377 |
+
}
|
src/resources/css/rsvp.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.tribe-rsvp{padding:20px 0}.tribe-tickets-
|
1 |
+
.tribe-rsvp{padding:20px 0}.tribe-tickets-attendee{padding:10px}.tribe-events-style-full .tribe-events-tickets .tribe-tickets-attendee table,.tribe-events-style-full .tribe-events-tickets .tribe-tickets-attendee td,.tribe-events-style-full .tribe-events-tickets .tribe-tickets-attendee tr,.tribe-events-tickets .tribe-tickets-attendee table,.tribe-events-tickets .tribe-tickets-attendee td,.tribe-events-tickets .tribe-tickets-attendee tr{border:0}.tribe-rsvp-message-display .tribe-rsvp-messages{display:block}.tribe-rsvp-messages{display:none;padding:10px 10px 5px}.tribe-rsvp-message{border-radius:3px;border-style:solid;border-width:1px;font-size:12px;margin:0 0 5px;padding:0 .6em}.tribe-rsvp-message-success{background-color:#ffffe0;border-color:#e6db55}.tribe-rsvp-message-error{background-color:#ffebe8;border-color:#c00}.tribe-ticket-quantity{width:100%}.tickets-unavailable{font-style:italic}.tribe-rsvp-list{list-style:none;padding:0;margin:0}.tribe-rsvp-list>.tribe-item{min-height:105px;padding:20px;border:1px solid #ededed;border-bottom:0}.tribe-rsvp-list>.tribe-item:last-child{border-bottom:1px solid #ededed;margin-bottom:20px}.tribe-rsvp-list>.tribe-item.tribe-disabled{background-color:#efefef;border-color:#ddd;color:#717171}.tribe-rsvp-list>.tribe-item.tribe-disabled:last-child{border-bottom-color:#ddd}.tribe-rsvp-list>.tribe-item .tribe-answer{float:right;display:inline-block}.tribe-rsvp-list>.tribe-item table{border:0;margin:0}.tribe-rsvp-list>.tribe-item td{border:0}.list-attendee{color:#999;display:inline-block;letter-spacing:1px;text-transform:uppercase}.tribe-submit-tickets-form{margin-top:20px}.user-details{margin:0 0 1.5em}.user-details p{margin:0 0 .5em}.tribe-answer{line-height:2}.tribe-answer .type-label{margin-bottom:0;padding-right:.5em}.tribe-answer label{display:block}.tribe-answer select{background:#fff;border:1px solid #ddd;height:30px;line-height:1;margin-left:5px}.tribe-rsvp h2{margin-bottom:20px;line-height:1.2}.event-tickets-meta-label{font-weight:700;margin:0 1em 0 0}.tribe-theme-parent-twentysixteen .comment-content a,.tribe-theme-parent-twentysixteen .entry-content a,.tribe-theme-parent-twentysixteen .entry-footer a:hover,.tribe-theme-parent-twentysixteen .entry-summary a,.tribe-theme-parent-twentysixteen .logged-in-as a,.tribe-theme-parent-twentysixteen .pingback .comment-body>a,.tribe-theme-parent-twentysixteen .site-info a:hover,.tribe-theme-parent-twentysixteen .taxonomy-description a,.tribe-theme-parent-twentysixteen .textwidget a,.tribe-theme-twentysixteen .comment-content a,.tribe-theme-twentysixteen .entry-content a,.tribe-theme-twentysixteen .entry-footer a:hover,.tribe-theme-twentysixteen .entry-summary a,.tribe-theme-twentysixteen .logged-in-as a,.tribe-theme-twentysixteen .pingback .comment-body>a,.tribe-theme-twentysixteen .site-info a:hover,.tribe-theme-twentysixteen .taxonomy-description a,.tribe-theme-twentysixteen .textwidget a{box-shadow:none}.tribe-events-tickets-title.tribe--rsvp{margin:0}.tribe-events-style-full.tribe-events-style-theme h2.tribe-events-tickets-title{font-size:90%}.tribe-link-view-attendee{margin:15px 0}.tribe-events-tickets{background:#f8f8f8;border:0;border-radius:3px;max-width:100%;position:relative}.tribe-events-tickets .woocommerce.add-to-cart,.tribe-events-tickets table,.tribe-events-tickets td,.tribe-events-tickets th{border:0}.tribe-events-tickets tr{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.tribe-events-tickets tr:not(:first-child){border-top:2px solid #dfdfdf}.tribe-events-tickets tr.tribe-tickets-meta-row{display:none}.tribe-tickets-has-rsvp.tribe-events-tickets tr{display:table-row}.tribe-events-tickets td{padding:8px 10px;display:-ms-flexbox;display:flex;max-width:50%;width:50%}.tribe-events-tickets .woocommerce.add-to-cart{padding:16px}.tribe-events-tickets .tickets_description,.tribe-events-tickets .tickets_name,.tribe-events-tickets .tickets_price,.tribe-events-tickets .woocommerce{border-bottom:1px solid #dfdfdf}.tribe-events-tickets .woocommerce .quantity input{background-color:#fff;border-radius:3px;margin-bottom:5px;padding:5px 10px;text-align:left;width:4.375em}.tribe-events-tickets .tribe-link-tickets-message{background:hsla(0,0%,78%,.8);bottom:0;left:0;position:absolute;right:0;text-align:center;top:0}.tribe-events-tickets .tribe-link-tickets-message .no-javascript-msg{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%}.tribe-events-tickets .tribe-tickets-remaining{color:#777;display:block;font-size:11px}.tribe-events-tickets .tribe-tickets-attendees-list-optout label{color:#777;font-size:13px}.tribe-events-tickets .tribe-tickets-attendees-list-optout input[type=checkbox]+label,.tribe-events-tickets .tribe-tickets-attendees-list-optout input[type=radio]+label{display:inline-block}.tribe-events-tickets .tickets_description,.tribe-events-tickets .tickets_name,.tribe-events-tickets .tickets_name p,.tribe-events-tickets .tickets_price{border-bottom:1px solid #dfdfdf;color:#464646;font-size:15px;padding:16px 10px}.tribe-events-tickets input[type=date],.tribe-events-tickets input[type=datetime-local],.tribe-events-tickets input[type=email],.tribe-events-tickets input[type=month],.tribe-events-tickets input[type=number],.tribe-events-tickets input[type=password],.tribe-events-tickets input[type=search],.tribe-events-tickets input[type=tel],.tribe-events-tickets input[type=text],.tribe-events-tickets input[type=time],.tribe-events-tickets input[type=url],.tribe-events-tickets input[type=week],.tribe-events-tickets select,.tribe-events-tickets textarea{background:#fff}.tribe-events-tickets header{height:auto}.tribe-events-tickets-rsvp .tribe-ticket.quantity{border-bottom:1px solid #dfdfdf}.tribe-events-tickets-rsvp .tribe-ticket.quantity input{margin-bottom:5px;padding:5px 10px;width:4.375em}@media only screen and (min-width:768px){.tribe-events-tickets tr{display:table-row}.tribe-events-tickets td{display:table-cell;max-width:none;width:auto}}@media only screen and (max-width:768px){.tribe-events-tickets td.tribe-ticket.quantity{-ms-flex-flow:column;flex-flow:column;-ms-flex-order:4;order:4}.tribe-events-tickets td.tickets_submit{-ms-flex-order:5;order:5}.tribe-events-tickets td.tickets_description{min-width:100%;width:100%}.tribe-events-tickets td.tickets_submit .tribe-button{margin-bottom:20px;margin-top:0}.tribe-events-tickets td.tickets_name{font-weight:700}}
|
src/resources/css/tickets-admin.css
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* This CSS file was auto-generated via PostCSS
|
3 |
+
*
|
4 |
+
* Contributors should avoid editing this file, but instead edit the associated
|
5 |
+
* src/resources/postcss/ file. For more information, check out our engineering
|
6 |
+
* docs on how we handle CSS in our engineering docs.
|
7 |
+
*
|
8 |
+
* @see: http://moderntribe.github.io/products-engineering/css/
|
9 |
+
*/
|
10 |
+
|
11 |
+
.tribe-tickets-column-attendees-link {
|
12 |
+
display: inline-block;
|
13 |
+
}
|
14 |
+
|
15 |
+
#ticket_form input[type=radio] {
|
16 |
+
margin-right: 5px;
|
17 |
+
}
|
18 |
+
|
19 |
+
#ticket_form span.datetime_seperator {
|
20 |
+
margin-left: 10px;
|
21 |
+
}
|
22 |
+
|
23 |
+
.ticket_list h4 {
|
24 |
+
border-bottom: 1px solid #e5e5e5;
|
25 |
+
padding-bottom: 6px;
|
26 |
+
text-transform: uppercase;
|
27 |
+
}
|
28 |
+
|
29 |
+
.ticket_list h4 a {
|
30 |
+
font-size: 11px;
|
31 |
+
font-weight: normal;
|
32 |
+
text-transform: none;
|
33 |
+
}
|
34 |
+
|
35 |
+
.ticket_list tr:hover td div.ticket_controls {
|
36 |
+
visibility: visible;
|
37 |
+
}
|
38 |
+
|
39 |
+
.ticket_list tr td {
|
40 |
+
padding: 10px;
|
41 |
+
vertical-align: middle;
|
42 |
+
}
|
43 |
+
|
44 |
+
.ticket_list tr td div.ticket_controls {
|
45 |
+
visibility: hidden;
|
46 |
+
}
|
47 |
+
|
48 |
+
.ticket_name p:first-child {
|
49 |
+
font-weight: bold;
|
50 |
+
}
|
51 |
+
|
52 |
+
#tribe_ticket_header_preview img {
|
53 |
+
height: auto !important;
|
54 |
+
max-width: 95% !important;
|
55 |
+
}
|
56 |
+
|
57 |
+
#tribe_ticket_header_remove {
|
58 |
+
display: none;
|
59 |
+
}
|
60 |
+
|
61 |
+
.ticket_time {
|
62 |
+
display: none;
|
63 |
+
}
|
64 |
+
|
65 |
+
.tribe-tickets-remaining {
|
66 |
+
font-size: 10px;
|
67 |
+
}
|
68 |
+
|
69 |
+
.eventtable {
|
70 |
+
margin: 0;
|
71 |
+
padding-top: 0;
|
72 |
+
width: 100%;
|
73 |
+
}
|
74 |
+
|
75 |
+
#event_tickets,
|
76 |
+
.eventtable.ticket_list.eventForm {
|
77 |
+
table-layout: fixed;
|
78 |
+
}
|
79 |
+
|
80 |
+
.tribe-strong-label {
|
81 |
+
font-weight: bold;
|
82 |
+
}
|
83 |
+
|
84 |
+
/* Specific goal of this rule is to prevent the number input busting the ticket form layout under Twenty Fifteen */
|
85 |
+
|
86 |
+
.tribe-theme-twentyfifteen .tribe-events-tickets input[type='number'] {
|
87 |
+
padding: .375em;
|
88 |
+
width: 100%;
|
89 |
+
}
|
90 |
+
|
src/resources/css/tickets-admin.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.tribe-tickets-column-attendees-link{display:inline-block}#ticket_form input[type=radio]{margin-right:5px}#ticket_form span.datetime_seperator{margin-left:10px}.ticket_list h4{border-bottom:1px solid #e5e5e5;padding-bottom:6px;text-transform:uppercase}.ticket_list h4 a{font-size:11px;font-weight:400;text-transform:none}.ticket_list tr:hover td div.ticket_controls{visibility:visible}.ticket_list tr td{padding:10px;vertical-align:middle}.ticket_list tr td div.ticket_controls{visibility:hidden}.ticket_name p:first-child{font-weight:700}#tribe_ticket_header_preview img{height:auto!important;max-width:95%!important}#tribe_ticket_header_remove,.ticket_time{display:none}.tribe-tickets-remaining{font-size:10px}.eventtable{margin:0;padding-top:0;width:100%}#event_tickets,.eventtable.ticket_list.eventForm{table-layout:fixed}.tribe-strong-label{font-weight:700}.tribe-theme-twentyfifteen .tribe-events-tickets input[type=number]{padding:.375em;width:100%}
|
src/resources/css/tickets-attendees-print.css
CHANGED
@@ -49,7 +49,7 @@
|
|
49 |
box-shadow: none
|
50 |
}
|
51 |
#tribe-attendees-summary .welcome-panel-content {
|
52 |
-
margin
|
53 |
}
|
54 |
#tribe-attendees-summary .welcome-panel-column {
|
55 |
padding: 0;
|
49 |
box-shadow: none
|
50 |
}
|
51 |
#tribe-attendees-summary .welcome-panel-content {
|
52 |
+
margin: 0
|
53 |
}
|
54 |
#tribe-attendees-summary .welcome-panel-column {
|
55 |
padding: 0;
|
src/resources/css/tickets-attendees-print.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@media print{#adminmenuback,#adminmenuwrap,#icon-edit,#show-settings-link,#total_checkedin_wrapper,#tribe-attendees-summary .about-description,#wpbody-content #update-nag,#wpbody-content .update-nag,#wpfooter,.check-column,.column-check_in,.column-meta_details,.event-actions,.nav-tab-wrapper,.row-actions,.screen-meta-toggle,.tablenav,.wrap h2+h2{display:none}.wrap h2+h2{display:block}#wpfooter,#wpwrap #wpcontent{margin-left:0;padding-left:0}#wpwrap .wrap{margin:0}#wpwrap #wpbody-content{padding-bottom:0}#tribe-attendees-summary{margin:0;border:0;box-shadow:none}#tribe-attendees-summary .welcome-panel-content{margin
|
1 |
+
@media print{#adminmenuback,#adminmenuwrap,#icon-edit,#show-settings-link,#total_checkedin_wrapper,#tribe-attendees-summary .about-description,#wpbody-content #update-nag,#wpbody-content .update-nag,#wpfooter,.check-column,.column-check_in,.column-meta_details,.event-actions,.nav-tab-wrapper,.row-actions,.screen-meta-toggle,.tablenav,.wrap h2+h2{display:none}.wrap h2+h2{display:block}#wpfooter,#wpwrap #wpcontent{margin-left:0;padding-left:0}#wpwrap .wrap{margin:0}#wpwrap #wpbody-content{padding-bottom:0}#tribe-attendees-summary{margin:0;border:0;box-shadow:none}#tribe-attendees-summary .welcome-panel-content{margin:0}#tribe-attendees-summary .welcome-panel-column{padding:0;float:none}#tribe-attendees-summary{margin-bottom:30px}#tribe-attendees-summary .welcome-panel-column{width:32%;float:left;display:inline-block}#tribe-attendees-summary .welcome-panel-middle ul li strong{display:block}#tribe-attendees-summary .welcome-panel-last{border-left:0;float:right;width:25%}table.widefat.attendees{border-left:0;border-right:0}#wpwrap .widefat td,#wpwrap .widefat th{border-bottom:1px solid #e1e1e1;padding:0}#the-list tr{background:#fff;border:0}.wp-list-table thead tr{border-bottom:1px solid #e1e1e1}a.row-title{color:#000}.widefat tfoot tr th,.widefat thead tr th{background:none;text-shadow:none}.postbox h3{text-shadow:none}#total_tickets_sold{display:block}.ticket_list h4{font-size:13px}.ticket_list tr td{font-size:11px;line-height:1.4}.ticket_list tr td .totals{height:100px;line-height:2;padding-top:40px;width:75%}table{page-break-inside:auto}tr{page-break-after:auto;page-break-inside:avoid}thead{display:table-header-group}tfoot{display:table-footer-group}}
|
src/resources/css/tickets-attendees.css
CHANGED
@@ -23,21 +23,17 @@
|
|
23 |
}
|
24 |
|
25 |
#tribe-attendees-summary .welcome-panel-column-container {
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
position: static;
|
27 |
position: initial;
|
28 |
zoom: 1;
|
29 |
}
|
30 |
|
31 |
-
#tribe-attendees-summary .welcome-panel-column-container::before,
|
32 |
-
#tribe-attendees-summary .welcome-panel-column-container::after {
|
33 |
-
content: '';
|
34 |
-
display: table;
|
35 |
-
}
|
36 |
-
|
37 |
-
#tribe-attendees-summary .welcome-panel-column-container::after {
|
38 |
-
clear: both;
|
39 |
-
}
|
40 |
-
|
41 |
#tribe-attendees-summary .welcome-panel-column {
|
42 |
padding: 20px 10px;
|
43 |
}
|
@@ -50,25 +46,23 @@
|
|
50 |
|
51 |
#tribe-attendees-summary .welcome-panel-last {
|
52 |
border-left: 1px solid #eee;
|
53 |
-
|
|
|
|
|
|
|
54 |
padding: 10px 20px 5px;
|
55 |
zoom: 1;
|
56 |
}
|
57 |
|
58 |
-
#tribe-attendees-summary .welcome-panel-last::before,
|
59 |
-
#tribe-attendees-summary .welcome-panel-last::after {
|
60 |
-
content: '';
|
61 |
-
display: table;
|
62 |
-
}
|
63 |
-
|
64 |
-
#tribe-attendees-summary .welcome-panel-last::after {
|
65 |
-
clear: both;
|
66 |
-
}
|
67 |
-
|
68 |
#tribe-attendees-summary .welcome-panel-last li {
|
69 |
margin-bottom: 2px;
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
72 |
#tribe-attendees-summary .welcome-panel-last .totals-header h3 {
|
73 |
display: inline-block;
|
74 |
width: auto;
|
@@ -206,22 +200,12 @@
|
|
206 |
}
|
207 |
|
208 |
.welcome-panel .welcome-panel-content {
|
209 |
-
margin
|
210 |
zoom: 1;
|
211 |
}
|
212 |
|
213 |
-
.welcome-panel .welcome-panel-content::before,
|
214 |
-
.welcome-panel .welcome-panel-content::after {
|
215 |
-
content: '';
|
216 |
-
display: table;
|
217 |
-
}
|
218 |
-
|
219 |
-
.welcome-panel .welcome-panel-content::after {
|
220 |
-
clear: both;
|
221 |
-
}
|
222 |
-
|
223 |
/*
|
224 |
-
* Preserves utility of modal windows, especially the "Email Attendees" modal, in views above the
|
225 |
* mobile view but under the upper limits of "tablet" views. The weird class names and !important declarations
|
226 |
* are unfortunately needed to override Thickbox's inline styles.
|
227 |
*/
|
@@ -237,6 +221,11 @@ table.orders tr.refunded, table.orders tr.denied, table.orders tr.pending {
|
|
237 |
|
238 |
@media screen and (max-width: 768px) {
|
239 |
|
|
|
|
|
|
|
|
|
|
|
240 |
#tribe-attendees-summary .welcome-panel-column {
|
241 |
float: none;
|
242 |
padding: 20px 0;
|
@@ -288,7 +277,6 @@ table.orders tr.refunded, table.orders tr.denied, table.orders tr.pending {
|
|
288 |
}
|
289 |
|
290 |
#tribe-attendees-summary .welcome-panel-last ul {
|
291 |
-
float: left;
|
292 |
width: 50%;
|
293 |
}
|
294 |
}
|
23 |
}
|
24 |
|
25 |
#tribe-attendees-summary .welcome-panel-column-container {
|
26 |
+
display: -ms-flexbox;
|
27 |
+
display: flex;
|
28 |
+
-ms-flex-flow: row;
|
29 |
+
flex-flow: row;
|
30 |
+
-ms-flex-pack: justify;
|
31 |
+
justify-content: space-between;
|
32 |
position: static;
|
33 |
position: initial;
|
34 |
zoom: 1;
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
#tribe-attendees-summary .welcome-panel-column {
|
38 |
padding: 20px 10px;
|
39 |
}
|
46 |
|
47 |
#tribe-attendees-summary .welcome-panel-last {
|
48 |
border-left: 1px solid #eee;
|
49 |
+
display: -ms-flexbox;
|
50 |
+
display: flex;
|
51 |
+
-ms-flex-flow: row wrap;
|
52 |
+
flex-flow: row wrap;
|
53 |
padding: 10px 20px 5px;
|
54 |
zoom: 1;
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
#tribe-attendees-summary .welcome-panel-last li {
|
58 |
margin-bottom: 2px;
|
59 |
}
|
60 |
|
61 |
+
#tribe-attendees-summary .welcome-panel-last .totals-header {
|
62 |
+
-ms-flex: 0 0 100%;
|
63 |
+
flex: 0 0 100%;
|
64 |
+
}
|
65 |
+
|
66 |
#tribe-attendees-summary .welcome-panel-last .totals-header h3 {
|
67 |
display: inline-block;
|
68 |
width: auto;
|
200 |
}
|
201 |
|
202 |
.welcome-panel .welcome-panel-content {
|
203 |
+
margin: 0;
|
204 |
zoom: 1;
|
205 |
}
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
/*
|
208 |
+
* Preserves utility of modal windows, especially the "Email Attendees" modal, in views above the
|
209 |
* mobile view but under the upper limits of "tablet" views. The weird class names and !important declarations
|
210 |
* are unfortunately needed to override Thickbox's inline styles.
|
211 |
*/
|
221 |
|
222 |
@media screen and (max-width: 768px) {
|
223 |
|
224 |
+
#tribe-attendees-summary .welcome-panel-column-container {
|
225 |
+
-ms-flex-wrap: wrap;
|
226 |
+
flex-wrap: wrap;
|
227 |
+
}
|
228 |
+
|
229 |
#tribe-attendees-summary .welcome-panel-column {
|
230 |
float: none;
|
231 |
padding: 20px 0;
|
277 |
}
|
278 |
|
279 |
#tribe-attendees-summary .welcome-panel-last ul {
|
|
|
280 |
width: 50%;
|
281 |
}
|
282 |
}
|
src/resources/css/tickets-attendees.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#tribe-attendees-summary{padding:0;position:relative}#tribe-attendees-summary .about-description,#tribe-attendees-summary h3{width:66%}#tribe-attendees-summary .about-description a{color:inherit}#tribe-attendees-summary .welcome-panel-column-container{
|
1 |
+
#tribe-attendees-summary{padding:0;position:relative}#tribe-attendees-summary .about-description,#tribe-attendees-summary h3{width:66%}#tribe-attendees-summary .about-description a{color:inherit}#tribe-attendees-summary .welcome-panel-column-container{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;-ms-flex-pack:justify;justify-content:space-between;position:static;zoom:1}#tribe-attendees-summary .welcome-panel-column{padding:20px 10px}#tribe-attendees-summary .welcome-panel-column li{line-height:1.4em;margin-bottom:6px;padding:0}#tribe-attendees-summary .welcome-panel-last{border-left:1px solid #eee;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:10px 20px 5px;zoom:1}#tribe-attendees-summary .welcome-panel-last li{margin-bottom:2px}#tribe-attendees-summary .welcome-panel-last .totals-header{-ms-flex:0 0 100%;flex:0 0 100%}#tribe-attendees-summary .welcome-panel-last .totals-header h3{display:inline-block;width:auto}#tribe-attendees-summary .welcome-panel-last h4{font-size:1.5em;text-align:center}#tribe-attendees-summary .welcome-panel-last li{font-size:1.1em}.tribe-attendees-page .welcome-panel-content h3{margin-top:0}.tribe-attendees-page a.tickets_uncheckin{display:none}.tribe-attendees-page h4.tickets-summary{margin:0}.tribe-attendees-page .tickets_checked td{opacity:.6}.tribe-attendees-page .tickets_checked td.check_in{opacity:1}.tribe-attendees-page .tickets_checked a.tickets_checkin{display:none}.tribe-attendees-page .tickets_checked a.tickets_uncheckin{display:block;opacity:1}.tribe-attendees-page .tickets_checked .inline a.tickets_uncheckin{display:inline}.tribe-attendees-page .tickets_checkin{min-width:87px;text-align:center}.tribe-attendees-page .cancelled{font-style:italic}.tribe-attendees-page .cancelled .check_in{font-style:normal}.tribe-attendees-page .column-attendee_id,.tribe-attendees-page .column-order_id{width:70px}.tribe-attendees-page td.column-status{font-size:13px;width:80px}.tribe-attendees-page .column-security{width:120px}.tribe-attendees-page .column-check_in{width:90px}.tribe-attendees-page .attendees-actions a.email,.tribe-attendees-page .attendees-actions a.export,.tribe-attendees-page .attendees-actions input.print{float:left;margin:1px 8px 0 0}.tribe-attendees-email .tribe-attendees-email-message{float:left;margin:0}.tribe-attendees-email .button-primary{margin-top:3px}.tribe-attendees-email-message ul{font-size:13px;line-height:1.5;margin:.5em 0;padding:2px}.tribe-attendees-email-message ul li:last-child{margin-bottom:0}#attendees_email_wrapper{margin-top:10px;overflow:hidden;padding:20px}#attendees_email_wrapper label{display:block}#attendees_email_wrapper label span{display:inline-block;width:105px}#attendees_email_wrapper input[type=text],#attendees_email_wrapper select{width:285px}#attendees_email_wrapper .attendees_or{display:block;font-size:20px;margin:20px 0;text-align:center}.wp-list-table td.check_in .delete{text-align:center}.welcome-panel .welcome-panel-content{margin:0;zoom:1}table.orders tr.denied,table.orders tr.pending,table.orders tr.refunded{font-style:italic}@media screen and (max-width:768px){#tribe-attendees-summary .welcome-panel-column-container{-ms-flex-wrap:wrap;flex-wrap:wrap}#tribe-attendees-summary .welcome-panel-column{float:none;padding:20px 0;width:100%}#tribe-attendees-summary .welcome-panel-column h3{display:inline-block;padding-left:15px}#tribe-attendees-summary .welcome-panel-column .tribe-event-meta-note div,#tribe-attendees-summary .welcome-panel-column ul,#tribe-attendees-summary .welcome-panel-middle>div{padding:0 15px}#tribe-attendees-summary .welcome-panel-last{width:100%}.welcome-panel .welcome-panel-content{margin-left:0;max-width:100%}}@media screen and (min-width:1024px){#tribe-attendees-summary .welcome-panel-column{display:inline-block;float:left;padding:20px 2%;width:29%;min-width:29%}}@media screen and (max-width:870px){#tribe-attendees-summary .welcome-panel-column li{display:list-item}#tribe-attendees-summary .welcome-panel-last ul{width:50%}}@media screen and (min-width:870px){#tribe-attendees-summary .welcome-panel-last ul:first-child{margin-bottom:0}#tribe-attendees-summary .welcome-panel-last ul:last-child{margin-top:0}}@media screen and (max-width:782px){.tribe-attendees-email-message .notice-dismiss{padding:9px}}@media screen and (max-width:782px){#TB_window{height:auto!important}#plugin-information-title{height:auto!important;overflow:hidden!important}#plugin-information-footer{position:relative!important}}@media screen and (max-width:440px){#TB_window{left:0!important;margin-left:0!important}#TB_iframeContent,#TB_window{width:100%!important}}
|
src/resources/css/tickets-refresh.css
CHANGED
@@ -240,8 +240,7 @@
|
|
240 |
padding: .5em;
|
241 |
position: absolute;
|
242 |
top: 50%;
|
243 |
-
|
244 |
-
transform: translateY(-50%);
|
245 |
z-index: 1;
|
246 |
}
|
247 |
|
@@ -418,8 +417,7 @@ p.description {
|
|
418 |
padding: .5em;
|
419 |
position: absolute;
|
420 |
top: 50%;
|
421 |
-
|
422 |
-
transform: translateY(-50%);
|
423 |
z-index: 1;
|
424 |
}
|
425 |
|
@@ -495,7 +493,6 @@ p.description {
|
|
495 |
margin-top: 5px;
|
496 |
position: relative;
|
497 |
top: auto;
|
498 |
-
-webkit-transform: none;
|
499 |
transform: none;
|
500 |
width: 100%;
|
501 |
}
|
@@ -519,7 +516,6 @@ p.description {
|
|
519 |
margin-top: 5px;
|
520 |
position: relative;
|
521 |
top: auto;
|
522 |
-
-webkit-transform: none;
|
523 |
transform: none;
|
524 |
width: 100%;
|
525 |
}
|
240 |
padding: .5em;
|
241 |
position: absolute;
|
242 |
top: 50%;
|
243 |
+
transform: translateY(-50%);
|
|
|
244 |
z-index: 1;
|
245 |
}
|
246 |
|
417 |
padding: .5em;
|
418 |
position: absolute;
|
419 |
top: 50%;
|
420 |
+
transform: translateY(-50%);
|
|
|
421 |
z-index: 1;
|
422 |
}
|
423 |
|
493 |
margin-top: 5px;
|
494 |
position: relative;
|
495 |
top: auto;
|
|
|
496 |
transform: none;
|
497 |
width: 100%;
|
498 |
}
|
516 |
margin-top: 5px;
|
517 |
position: relative;
|
518 |
top: auto;
|
|
|
519 |
transform: none;
|
520 |
width: 100%;
|
521 |
}
|
src/resources/css/tickets-refresh.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.screen_reader_text{clip:rect(0 0 0 0);clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}#poststuff .inside{margin-top:12px}.tribe-tickets-editor-blocker{background:hsla(0,0%,100%,.7);bottom:0;display:none;left:0;position:absolute;right:0;top:0;z-index:100000}.tribe-tickets-editor-blocker .spinner{left:50%;margin-left:-10px;margin-top:-10px;position:absolute;top:50%;z-index:100404}.tribe-tickets-editor-history-list{margin-left:20px}#event_tickets{position:relative}#event_tickets fieldset{border:0;padding:0;margin:0 0 1em}#event_tickets .ticket_form_left{font-weight:700}#event_tickets label{font-weight:400}#event_tickets input[type=color].ticket_form_right,#event_tickets input[type=date].ticket_form_right,#event_tickets input[type=datetime-local].ticket_form_right,#event_tickets input[type=datetime].ticket_form_right,#event_tickets input[type=email].ticket_form_right,#event_tickets input[type=month].ticket_form_right,#event_tickets input[type=number].ticket_form_right,#event_tickets input[type=password].ticket_form_right,#event_tickets input[type=range].ticket_form_right,#event_tickets input[type=search].ticket_form_right,#event_tickets input[type=tel].ticket_form_right,#event_tickets input[type=text].ticket_form_right,#event_tickets input[type=time].ticket_form_right,#event_tickets input[type=url].ticket_form_right,#event_tickets input[type=week].ticket_form_right,#event_tickets label.ticket_form_right,#event_tickets textarea.ticket_form_right{display:block}#event_tickets .tribe-description-small{font-size:.95em;margin-top:5px;color:#888}.ticket_panel{border:1px solid #a3a3a3;border-radius:5px;box-sizing:border-box;opacity:1;position:relative;padding:8px;visibility:visible;width:100%;will-change:transform}.ticket_panel[aria-hidden=true]{opacity:0;position:absolute;visibility:hidden}.ticket_panel section{margin:2em 0}.ticket_panel #tribe-tickets-image{margin-top:.5em}.ticket_panel.panel_base{border:0;padding:.5em 0 0}.ticket_panel.panel_edit{border:0}.ticket_panel.panel_settings h4{margin:0}.ticket_panel.panel_settings .settings_main{margin-bottom:0;margin-top:0}.ticket_panel.panel_settings .settings_main p{font-size:inherit}.ticket_panel h4,.ticket_title{text-transform:uppercase}.ticket_title{margin-top:0}.ticket_list_container{margin-bottom:20px}.tribe_no_capacity{margin:0}.ticket_delete{color:#a00}.ticket_delete:hover{color:#dc3232}#settings_form_toggle{margin-top:1em}.global_capacity_edit_button{background:none;border:0;color:#ccc;cursor:pointer;padding:0}.tribe-button-icon:before{font-family:dashicons;font-size:1.25em;left:-.25em;position:relative;vertical-align:middle}.tribe-button-icon .tribe-hidden{display:none}.tribe-button-icon.tribe-button-icon-plus:before{content:"\f132"}.tribe-button-icon.tribe-button-icon-edit:before{content:"\f464"}.tribe-button-icon.tribe-button-icon-settings:before{content:"\f111";top:-2px}.tribe-tickets-image-preview{margin-top:2em;max-width:200px}#tribe_ticket_header_image{margin-right:2em;vertical-align:baseline}#tribe_tickets_image_preview_filename{display:none;font-weight:700}#tribe_tickets_image_preview_filename.-active{display:inline}#tribe_tickets_image_preview_filename .dashicons{vertical-align:text-bottom}#tribe_tickets_image_preview_filename .filename{margin-left:.5em}.ticket_table_intro .button-secondary{float:right;margin-bottom:15px;margin-left:5px}.ticket_table_intro #ticket_form_total_capacity{display:inline-block;line-height:28px;position:relative}.ticket_table_intro #ticket_form_total_capacity .tooltip{background-color:#efefef;border-radius:3px;border:1px solid #a3a3a3;display:none;margin-left:.5em;padding:.5em;position:absolute;top:50
|
1 |
+
.screen_reader_text{clip:rect(0 0 0 0);clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}#poststuff .inside{margin-top:12px}.tribe-tickets-editor-blocker{background:hsla(0,0%,100%,.7);bottom:0;display:none;left:0;position:absolute;right:0;top:0;z-index:100000}.tribe-tickets-editor-blocker .spinner{left:50%;margin-left:-10px;margin-top:-10px;position:absolute;top:50%;z-index:100404}.tribe-tickets-editor-history-list{margin-left:20px}#event_tickets{position:relative}#event_tickets fieldset{border:0;padding:0;margin:0 0 1em}#event_tickets .ticket_form_left{font-weight:700}#event_tickets label{font-weight:400}#event_tickets input[type=color].ticket_form_right,#event_tickets input[type=date].ticket_form_right,#event_tickets input[type=datetime-local].ticket_form_right,#event_tickets input[type=datetime].ticket_form_right,#event_tickets input[type=email].ticket_form_right,#event_tickets input[type=month].ticket_form_right,#event_tickets input[type=number].ticket_form_right,#event_tickets input[type=password].ticket_form_right,#event_tickets input[type=range].ticket_form_right,#event_tickets input[type=search].ticket_form_right,#event_tickets input[type=tel].ticket_form_right,#event_tickets input[type=text].ticket_form_right,#event_tickets input[type=time].ticket_form_right,#event_tickets input[type=url].ticket_form_right,#event_tickets input[type=week].ticket_form_right,#event_tickets label.ticket_form_right,#event_tickets textarea.ticket_form_right{display:block}#event_tickets .tribe-description-small{font-size:.95em;margin-top:5px;color:#888}.ticket_panel{border:1px solid #a3a3a3;border-radius:5px;box-sizing:border-box;opacity:1;position:relative;padding:8px;visibility:visible;width:100%;will-change:transform}.ticket_panel[aria-hidden=true]{opacity:0;position:absolute;visibility:hidden}.ticket_panel section{margin:2em 0}.ticket_panel #tribe-tickets-image{margin-top:.5em}.ticket_panel.panel_base{border:0;padding:.5em 0 0}.ticket_panel.panel_edit{border:0}.ticket_panel.panel_settings h4{margin:0}.ticket_panel.panel_settings .settings_main{margin-bottom:0;margin-top:0}.ticket_panel.panel_settings .settings_main p{font-size:inherit}.ticket_panel h4,.ticket_title{text-transform:uppercase}.ticket_title{margin-top:0}.ticket_list_container{margin-bottom:20px}.tribe_no_capacity{margin:0}.ticket_delete{color:#a00}.ticket_delete:hover{color:#dc3232}#settings_form_toggle{margin-top:1em}.global_capacity_edit_button{background:none;border:0;color:#ccc;cursor:pointer;padding:0}.tribe-button-icon:before{font-family:dashicons;font-size:1.25em;left:-.25em;position:relative;vertical-align:middle}.tribe-button-icon .tribe-hidden{display:none}.tribe-button-icon.tribe-button-icon-plus:before{content:"\f132"}.tribe-button-icon.tribe-button-icon-edit:before{content:"\f464"}.tribe-button-icon.tribe-button-icon-settings:before{content:"\f111";top:-2px}.tribe-tickets-image-preview{margin-top:2em;max-width:200px}#tribe_ticket_header_image{margin-right:2em;vertical-align:baseline}#tribe_tickets_image_preview_filename{display:none;font-weight:700}#tribe_tickets_image_preview_filename.-active{display:inline}#tribe_tickets_image_preview_filename .dashicons{vertical-align:text-bottom}#tribe_tickets_image_preview_filename .filename{margin-left:.5em}.ticket_table_intro .button-secondary{float:right;margin-bottom:15px;margin-left:5px}.ticket_table_intro #ticket_form_total_capacity{display:inline-block;line-height:28px;position:relative}.ticket_table_intro #ticket_form_total_capacity .tooltip{background-color:#efefef;border-radius:3px;border:1px solid #a3a3a3;display:none;margin-left:.5em;padding:.5em;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.ticket_table_intro #ticket_form_total_capacity:hover .tooltip{display:block}.ticket_table_intro #ticket_form_total_capacity .tooltip{left:100%;top:53%;white-space:nowrap}.input_block{margin-bottom:1em;position:relative}.input_block .ticket_form_left{display:block;box-sizing:border-box;float:left;margin:0;padding-left:0;padding-right:1em}.input_block input,.input_block textarea{max-width:calc(100% - 132px)}.input_block .ticket_field.hasDatepicker{border-radius:3px;font-size:13px;margin-bottom:0}.input_block .input_block,.input_block .ticket_form_right{display:block;margin-top:0}.input_block .input_block:last-child,.input_block .ticket_form_right:last-child{margin-bottom:0}.input_block .input_block{margin-top:1em}.input_block legend+.input_block{margin-top:0}.input_block .tribe_stock_block{padding-left:calc(20px + .4em)}.input_block .tribe_stock_block.tribe-active{padding-top:1em}.input_block label.ticket_form_right{margin-bottom:1em}.input_block .tribe_block_label{display:block}.input_block .ticket_stock_total{color:#666;font-style:italic;margin-left:1em}#ticket_form .input_block .ticket_stock_total_value{margin-right:0}.input_block .tribe-timepicker{width:6em}#tribe_ticket_provider_wrapper{clip:rect(0 0 0 0);clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}#event_tickets{font-size:12px}h4.ticket_form_title{font-size:1.2em;margin-top:0}#ticket_form input[type=checkbox],#ticket_form input[type=radio]{margin-right:.4em}.tribe_soft_note,p.description{color:#a3a3a3;font-size:inherit;font-style:normal}#ticket_form .ticket_advanced.history._show span:first-child,#ticket_form .ticket_advanced.history .toggle-history span:nth-child(2),#ticket_form .ticket_advanced.history ul{display:none}#ticket_form .ticket_advanced.history._show span:nth-child(2){display:inline}#ticket_form .ticket_advanced.history._show ul{display:block}.ticket_bottom{margin-top:1em}.tribe_preview{cursor:pointer}#ticket_form .tooltip_container{position:relative;display:inline;vertical-align:middle}#ticket_form .tooltip_container .tooltip{border-radius:3px;border:1px solid #a3a3a3;display:none;margin-left:.5em;padding:.5em;position:absolute;top:50%;transform:translateY(-50%);z-index:1}#ticket_form .tooltip_container:hover .tooltip{display:block}#ticket_form .tooltip_container .tooltip{background-color:#efefef;left:100%;margin:0;width:200px}#settings_global_capacity_edit{background-color:#fff;border:1px solid #b4b9be;float:left;font-size:inherit;margin-right:10px}#settings_global_capacity_edit:disabled{background-color:transparent;border:0;box-shadow:none;color:#555}#settings_global_capacity_edit:enabled{margin-right:7px}#ticket_form .original_stock_cap span{margin-right:0}@media (min-width:782px){.ticket_panel{padding:16px}.input_block .input_block,.input_block .ticket_form_right{margin-left:132px}#ticket_bottom_right{float:right}}@media (min-width:400px){#settings_form_toggle{float:right;margin-top:0}}@media screen and (max-width:520px){.ticket_table_intro #ticket_form_total_capacity{width:100%}}@media screen and (max-width:782px){.ticket_table_intro #ticket_form_total_capacity .tooltip{left:auto;margin-top:5px;position:relative;top:auto;transform:none;width:100%}.input_block .ticket_form_left{float:none;display:inline-block;padding:0 0 6px}.input_block .tribe_stock_block{padding-left:36px}.input_block .tribe_stock_block.tribe-active{padding-top:5px}#ticket_form .tooltip_container .tooltip{left:auto;margin-top:5px;position:relative;top:auto;transform:none;width:100%}}@media (max-width:782px){#ticket_bottom_right{margin-top:1em}}@media screen and (max-width:390px){#ticket_form .tooltip_container{display:none}}
|
src/resources/css/tpp.css
CHANGED
@@ -102,17 +102,6 @@
|
|
102 |
|
103 |
/* Tribe Commerce PayPal Table (differences only) */
|
104 |
|
105 |
-
.tribe-events-tickets-tpp .tribe-ticket.quantity {
|
106 |
-
border-bottom: 1px solid #dfdfdf;
|
107 |
-
width: 192px;
|
108 |
-
}
|
109 |
-
|
110 |
-
.tribe-events-tickets-tpp .tribe-ticket.quantity input {
|
111 |
-
margin-bottom: 5px;
|
112 |
-
padding: 5px 10px;
|
113 |
-
width: 4.375em;
|
114 |
-
}
|
115 |
-
|
116 |
.tribe-tickets-purchase-disabled {
|
117 |
opacity: 0.3;
|
118 |
-
}
|
102 |
|
103 |
/* Tribe Commerce PayPal Table (differences only) */
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
.tribe-tickets-purchase-disabled {
|
106 |
opacity: 0.3;
|
107 |
+
}
|
src/resources/css/tpp.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.tribe-tpp{padding:20px 0}.tribe-tickets-has-tpp .tribe-tickets-meta-row{display:table-row}.tribe-tpp-message-display .tribe-tpp-messages{display:block}.tribe-tpp-messages{display:none;padding:10px 10px 5px}.tribe-tpp-message{border-radius:3px;border-style:solid;border-width:1px;font-size:12px;margin:0 0 5px;padding:0 .6em}.tribe-tpp-message-success{background-color:#ffffe0;border-color:#e6db55}.tribe-tpp-message-error{background-color:#ffebe8;border-color:#c00}.tribe-tpp-list{list-style:none;margin:0;padding:0}.tribe-tpp-list>.tribe-item{border:1px solid #ededed;border-bottom:0;min-height:105px;padding:20px}.tribe-tpp-list>.tribe-item:last-child{border-bottom:1px solid #ededed;margin-bottom:20px}.tribe-tpp-list>.tribe-item.tribe-disabled{background-color:#efefef;border-color:#ddd;color:#717171}.tribe-tpp-list>.tribe-item.tribe-disabled:last-child{border-bottom-color:#ddd}.tribe-tpp-list>.tribe-item .tribe-answer{display:inline-block;float:right}.tribe-tpp-list>.tribe-item table{border:0;margin:0}.tribe-tpp-list>.tribe-item td{border:0}.tribe-tpp h2{line-height:1.2;margin-bottom:20px}.tribe-events-tickets-title.tribe--tpp{margin:0}.tribe-
|
1 |
+
.tribe-tpp{padding:20px 0}.tribe-tickets-has-tpp .tribe-tickets-meta-row{display:table-row}.tribe-tpp-message-display .tribe-tpp-messages{display:block}.tribe-tpp-messages{display:none;padding:10px 10px 5px}.tribe-tpp-message{border-radius:3px;border-style:solid;border-width:1px;font-size:12px;margin:0 0 5px;padding:0 .6em}.tribe-tpp-message-success{background-color:#ffffe0;border-color:#e6db55}.tribe-tpp-message-error{background-color:#ffebe8;border-color:#c00}.tribe-tpp-list{list-style:none;margin:0;padding:0}.tribe-tpp-list>.tribe-item{border:1px solid #ededed;border-bottom:0;min-height:105px;padding:20px}.tribe-tpp-list>.tribe-item:last-child{border-bottom:1px solid #ededed;margin-bottom:20px}.tribe-tpp-list>.tribe-item.tribe-disabled{background-color:#efefef;border-color:#ddd;color:#717171}.tribe-tpp-list>.tribe-item.tribe-disabled:last-child{border-bottom-color:#ddd}.tribe-tpp-list>.tribe-item .tribe-answer{display:inline-block;float:right}.tribe-tpp-list>.tribe-item table{border:0;margin:0}.tribe-tpp-list>.tribe-item td{border:0}.tribe-tpp h2{line-height:1.2;margin-bottom:20px}.tribe-events-tickets-title.tribe--tpp{margin:0}.tribe-tickets-purchase-disabled{opacity:.3}
|
src/resources/postcss/rsvp.pcss
CHANGED
@@ -9,14 +9,6 @@
|
|
9 |
padding: 20px 0;
|
10 |
}
|
11 |
|
12 |
-
.tribe-tickets-meta-row {
|
13 |
-
display: none;
|
14 |
-
}
|
15 |
-
|
16 |
-
.tribe-tickets-has-rsvp .tribe-tickets-meta-row {
|
17 |
-
display: table-row;
|
18 |
-
}
|
19 |
-
|
20 |
.tribe-tickets-attendee {
|
21 |
padding: 10px;
|
22 |
}
|
@@ -203,6 +195,7 @@
|
|
203 |
background: var(--table-background-color);
|
204 |
border: 0;
|
205 |
border-radius: 3px;
|
|
|
206 |
position: relative;
|
207 |
|
208 |
|
@@ -213,8 +206,63 @@
|
|
213 |
border: 0;
|
214 |
}
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
td {
|
217 |
padding: 8px 10px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
}
|
219 |
|
220 |
|
@@ -315,7 +363,6 @@
|
|
315 |
|
316 |
.tribe-ticket.quantity {
|
317 |
border-bottom: 1px solid var(--border-color);
|
318 |
-
width: 192px;
|
319 |
|
320 |
input {
|
321 |
margin-bottom: 5px;
|
9 |
padding: 20px 0;
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
.tribe-tickets-attendee {
|
13 |
padding: 10px;
|
14 |
}
|
195 |
background: var(--table-background-color);
|
196 |
border: 0;
|
197 |
border-radius: 3px;
|
198 |
+
max-width: 100%;
|
199 |
position: relative;
|
200 |
|
201 |
|
206 |
border: 0;
|
207 |
}
|
208 |
|
209 |
+
tr {
|
210 |
+
display: flex;
|
211 |
+
flex-flow: row wrap;
|
212 |
+
|
213 |
+
&:not(:first-child) {
|
214 |
+
border-top: 2px solid #dfdfdf;
|
215 |
+
}
|
216 |
+
|
217 |
+
@media only screen and (min-width: 768px) {
|
218 |
+
display: table-row;
|
219 |
+
}
|
220 |
+
|
221 |
+
&.tribe-tickets-meta-row {
|
222 |
+
display: none;
|
223 |
+
}
|
224 |
+
|
225 |
+
.tribe-tickets-has-rsvp& {
|
226 |
+
display: table-row;
|
227 |
+
}
|
228 |
+
}
|
229 |
+
|
230 |
td {
|
231 |
padding: 8px 10px;
|
232 |
+
display: flex;
|
233 |
+
max-width: 50%;
|
234 |
+
width: 50%;
|
235 |
+
|
236 |
+
@media only screen and (max-width: 768px) {
|
237 |
+
&.tribe-ticket.quantity {
|
238 |
+
flex-flow: column;
|
239 |
+
order: 4;
|
240 |
+
}
|
241 |
+
|
242 |
+
&.tickets_submit {
|
243 |
+
order: 5;
|
244 |
+
}
|
245 |
+
|
246 |
+
&.tickets_description {
|
247 |
+
min-width: 100%;
|
248 |
+
width: 100%;
|
249 |
+
}
|
250 |
+
|
251 |
+
&.tickets_submit .tribe-button {
|
252 |
+
margin-bottom: 20px;
|
253 |
+
margin-top: 0;
|
254 |
+
}
|
255 |
+
|
256 |
+
&.tickets_name {
|
257 |
+
font-weight: bold;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
@media only screen and (min-width: 768px) {
|
262 |
+
display: table-cell;
|
263 |
+
max-width: none;
|
264 |
+
width: auto;
|
265 |
+
}
|
266 |
}
|
267 |
|
268 |
|
363 |
|
364 |
.tribe-ticket.quantity {
|
365 |
border-bottom: 1px solid var(--border-color);
|
|
|
366 |
|
367 |
input {
|
368 |
margin-bottom: 5px;
|
src/resources/postcss/tickets-admin.pcss
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.tribe-tickets-column-attendees-link {
|
2 |
+
display: inline-block;
|
3 |
+
}
|
4 |
+
|
5 |
+
#ticket_form {
|
6 |
+
input[type=radio] {
|
7 |
+
margin-right: 5px;
|
8 |
+
}
|
9 |
+
|
10 |
+
span {
|
11 |
+
&.datetime_seperator {
|
12 |
+
margin-left: 10px;
|
13 |
+
}
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
.ticket_list {
|
18 |
+
h4 {
|
19 |
+
border-bottom: 1px solid #e5e5e5;
|
20 |
+
padding-bottom: 6px;
|
21 |
+
text-transform: uppercase;
|
22 |
+
|
23 |
+
a {
|
24 |
+
font-size: 11px;
|
25 |
+
font-weight: normal;
|
26 |
+
text-transform: none;
|
27 |
+
}
|
28 |
+
}
|
29 |
+
|
30 |
+
tr {
|
31 |
+
&:hover td div.ticket_controls {
|
32 |
+
visibility: visible;
|
33 |
+
}
|
34 |
+
|
35 |
+
td {
|
36 |
+
padding: 10px;
|
37 |
+
vertical-align: middle;
|
38 |
+
|
39 |
+
div.ticket_controls {
|
40 |
+
visibility: hidden;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
.ticket_name p:first-child {
|
47 |
+
font-weight: bold;
|
48 |
+
}
|
49 |
+
|
50 |
+
#tribe_ticket_header_preview img {
|
51 |
+
height: auto !important;
|
52 |
+
max-width: 95% !important;
|
53 |
+
}
|
54 |
+
|
55 |
+
#tribe_ticket_header_remove {
|
56 |
+
display: none;
|
57 |
+
}
|
58 |
+
|
59 |
+
.ticket_time {
|
60 |
+
display: none;
|
61 |
+
}
|
62 |
+
|
63 |
+
.tribe-tickets-remaining {
|
64 |
+
font-size: 10px;
|
65 |
+
}
|
66 |
+
|
67 |
+
.eventtable {
|
68 |
+
margin: 0;
|
69 |
+
padding-top: 0;
|
70 |
+
width: 100%;
|
71 |
+
}
|
72 |
+
|
73 |
+
#event_tickets,
|
74 |
+
.eventtable.ticket_list.eventForm {
|
75 |
+
table-layout: fixed;
|
76 |
+
}
|
77 |
+
|
78 |
+
.tribe-strong-label {
|
79 |
+
font-weight: bold;
|
80 |
+
}
|
81 |
+
|
82 |
+
/* Specific goal of this rule is to prevent the number input busting the ticket form layout under Twenty Fifteen */
|
83 |
+
.tribe-theme-twentyfifteen .tribe-events-tickets input[type='number'] {
|
84 |
+
padding: .375em;
|
85 |
+
width: 100%;
|
86 |
+
}
|
87 |
+
|
src/resources/postcss/tickets-attendees-print.pcss
CHANGED
@@ -45,7 +45,7 @@
|
|
45 |
}
|
46 |
|
47 |
#tribe-attendees-summary .welcome-panel-content {
|
48 |
-
margin
|
49 |
}
|
50 |
|
51 |
#tribe-attendees-summary .welcome-panel-column {
|
45 |
}
|
46 |
|
47 |
#tribe-attendees-summary .welcome-panel-content {
|
48 |
+
margin: 0;
|
49 |
}
|
50 |
|
51 |
#tribe-attendees-summary .welcome-panel-column {
|
src/resources/postcss/tickets-attendees.pcss
CHANGED
@@ -12,17 +12,14 @@
|
|
12 |
}
|
13 |
|
14 |
.welcome-panel-column-container {
|
|
|
|
|
|
|
15 |
position: initial;
|
16 |
*zoom: 1;
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
content: '';
|
21 |
-
display: table;
|
22 |
-
}
|
23 |
-
|
24 |
-
&::after {
|
25 |
-
clear: both;
|
26 |
}
|
27 |
}
|
28 |
|
@@ -85,20 +82,11 @@
|
|
85 |
|
86 |
.welcome-panel-last {
|
87 |
border-left: 1px solid #eee;
|
88 |
-
|
|
|
89 |
padding: 10px 20px 5px;
|
90 |
*zoom: 1;
|
91 |
|
92 |
-
&::before,
|
93 |
-
&::after {
|
94 |
-
content: '';
|
95 |
-
display: table;
|
96 |
-
}
|
97 |
-
|
98 |
-
&::after {
|
99 |
-
clear: both;
|
100 |
-
}
|
101 |
-
|
102 |
@media screen and (max-width: 768px) {
|
103 |
width: 100%;
|
104 |
}
|
@@ -108,8 +96,10 @@
|
|
108 |
}
|
109 |
|
110 |
.totals-header {
|
|
|
|
|
111 |
h3 {
|
112 |
-
|
113 |
width: auto;
|
114 |
}
|
115 |
}
|
@@ -125,7 +115,6 @@
|
|
125 |
|
126 |
ul {
|
127 |
@media screen and (max-width: 870px) {
|
128 |
-
float: left;
|
129 |
width: 50%;
|
130 |
}
|
131 |
|
@@ -288,19 +277,9 @@
|
|
288 |
|
289 |
.welcome-panel {
|
290 |
.welcome-panel-content {
|
291 |
-
margin
|
292 |
*zoom: 1;
|
293 |
|
294 |
-
&::before,
|
295 |
-
&::after {
|
296 |
-
content: '';
|
297 |
-
display: table;
|
298 |
-
}
|
299 |
-
|
300 |
-
&::after {
|
301 |
-
clear: both;
|
302 |
-
}
|
303 |
-
|
304 |
@media screen and (max-width: 768px) {
|
305 |
margin-left: 0;
|
306 |
max-width: 100%;
|
@@ -309,7 +288,7 @@
|
|
309 |
}
|
310 |
|
311 |
/*
|
312 |
-
* Preserves utility of modal windows, especially the "Email Attendees" modal, in views above the
|
313 |
* mobile view but under the upper limits of "tablet" views. The weird class names and !important declarations
|
314 |
* are unfortunately needed to override Thickbox's inline styles.
|
315 |
*/
|
12 |
}
|
13 |
|
14 |
.welcome-panel-column-container {
|
15 |
+
display: flex;
|
16 |
+
flex-flow: row;
|
17 |
+
justify-content: space-between;
|
18 |
position: initial;
|
19 |
*zoom: 1;
|
20 |
|
21 |
+
@media screen and (max-width: 768px) {
|
22 |
+
flex-wrap: wrap;
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
}
|
25 |
|
82 |
|
83 |
.welcome-panel-last {
|
84 |
border-left: 1px solid #eee;
|
85 |
+
display: flex;
|
86 |
+
flex-flow: row wrap;
|
87 |
padding: 10px 20px 5px;
|
88 |
*zoom: 1;
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
@media screen and (max-width: 768px) {
|
91 |
width: 100%;
|
92 |
}
|
96 |
}
|
97 |
|
98 |
.totals-header {
|
99 |
+
flex: 0 0 100%;
|
100 |
+
|
101 |
h3 {
|
102 |
+
display: inline-block;
|
103 |
width: auto;
|
104 |
}
|
105 |
}
|
115 |
|
116 |
ul {
|
117 |
@media screen and (max-width: 870px) {
|
|
|
118 |
width: 50%;
|
119 |
}
|
120 |
|
277 |
|
278 |
.welcome-panel {
|
279 |
.welcome-panel-content {
|
280 |
+
margin: 0;
|
281 |
*zoom: 1;
|
282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
@media screen and (max-width: 768px) {
|
284 |
margin-left: 0;
|
285 |
max-width: 100%;
|
288 |
}
|
289 |
|
290 |
/*
|
291 |
+
* Preserves utility of modal windows, especially the "Email Attendees" modal, in views above the
|
292 |
* mobile view but under the upper limits of "tablet" views. The weird class names and !important declarations
|
293 |
* are unfortunately needed to override Thickbox's inline styles.
|
294 |
*/
|
src/resources/postcss/tpp.pcss
CHANGED
@@ -1,10 +1,3 @@
|
|
1 |
-
:root {
|
2 |
-
--text-light-color: #777;
|
3 |
-
--text-dark-color: #464646;
|
4 |
-
--border-color: #dfdfdf;
|
5 |
-
--table-background-color: #f8f8f8;
|
6 |
-
}
|
7 |
-
|
8 |
.tribe-tpp {
|
9 |
padding: 20px 0;
|
10 |
}
|
@@ -102,21 +95,6 @@
|
|
102 |
}
|
103 |
|
104 |
/* Tribe Commerce PayPal Table (differences only) */
|
105 |
-
.tribe-events-tickets-tpp {
|
106 |
-
|
107 |
-
.tribe-ticket.quantity {
|
108 |
-
border-bottom: 1px solid var(--border-color);
|
109 |
-
width: 192px;
|
110 |
-
|
111 |
-
input {
|
112 |
-
margin-bottom: 5px;
|
113 |
-
padding: 5px 10px;
|
114 |
-
width: 4.375em;
|
115 |
-
}
|
116 |
-
}
|
117 |
-
}
|
118 |
-
|
119 |
-
|
120 |
.tribe-tickets-purchase-disabled {
|
121 |
opacity: 0.3;
|
122 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.tribe-tpp {
|
2 |
padding: 20px 0;
|
3 |
}
|
95 |
}
|
96 |
|
97 |
/* Tribe Commerce PayPal Table (differences only) */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
.tribe-tickets-purchase-disabled {
|
99 |
opacity: 0.3;
|
100 |
+
}
|
src/template-tags/tickets.php
CHANGED
@@ -255,8 +255,7 @@ if ( ! function_exists( 'tribe_tickets_buy_button' ) ) {
|
|
255 |
}
|
256 |
}
|
257 |
|
258 |
-
$button .= '<button type="submit" name="tickets_process" class="tribe-button">' . $button_label . '</button>'
|
259 |
-
. '</form>';
|
260 |
|
261 |
$parts[ $type . '-button' ] = $html['button'] = $button;
|
262 |
}
|
@@ -430,7 +429,7 @@ if ( ! function_exists( 'tribe_tickets_get_ticket_stock_message' ) ) {
|
|
430 |
$status_counts[] = sprintf( _x( '%1$d available of shared capacity', 'ticket shared capacity message (remaining stock)', 'event-tickets' ), tribe_tickets_get_readable_amount( $available ) );
|
431 |
} else {
|
432 |
// It's "own stock". We use the $stock value
|
433 |
-
$status_counts[] = sprintf( _x( '%1$d available', 'ticket stock message (remaining stock)', 'event-tickets' ), tribe_tickets_get_readable_amount( $
|
434 |
}
|
435 |
}
|
436 |
|
255 |
}
|
256 |
}
|
257 |
|
258 |
+
$button .= '<button type="submit" name="tickets_process" class="tribe-button">' . $button_label . '</button></form>';
|
|
|
259 |
|
260 |
$parts[ $type . '-button' ] = $html['button'] = $button;
|
261 |
}
|
429 |
$status_counts[] = sprintf( _x( '%1$d available of shared capacity', 'ticket shared capacity message (remaining stock)', 'event-tickets' ), tribe_tickets_get_readable_amount( $available ) );
|
430 |
} else {
|
431 |
// It's "own stock". We use the $stock value
|
432 |
+
$status_counts[] = sprintf( _x( '%1$d available', 'ticket stock message (remaining stock)', 'event-tickets' ), tribe_tickets_get_readable_amount( $available ) );
|
433 |
}
|
434 |
}
|
435 |
|
src/views/tickets/rsvp.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* [your-theme]/tribe-events/tickets/rsvp.php
|
8 |
*
|
9 |
-
* @version 4.
|
10 |
*
|
11 |
* @var bool $must_login
|
12 |
*/
|
@@ -100,6 +100,7 @@ $messages_class = $messages ? 'tribe-rsvp-message-display' : '';
|
|
100 |
<td class="tickets_name">
|
101 |
<?php echo esc_html( $ticket->name ); ?>
|
102 |
</td>
|
|
|
103 |
<td class="tickets_description" colspan="2">
|
104 |
<?php echo esc_html( ( $ticket->show_description() ? $ticket->description : '' ) ); ?>
|
105 |
</td>
|
@@ -234,14 +235,14 @@ $messages_class = $messages ? 'tribe-rsvp-message-display' : '';
|
|
234 |
|
235 |
<?php
|
236 |
$content = ob_get_clean();
|
237 |
-
|
238 |
-
echo $content;
|
239 |
|
240 |
-
|
|
|
241 |
// for this post
|
242 |
$this->do_not_show_tickets_unavailable_message();
|
243 |
} else {
|
244 |
-
// Indicate that
|
245 |
// appropriate (depending on whether other ticket providers are active and have a similar
|
246 |
// result)
|
247 |
$this->maybe_show_tickets_unavailable_message( $tickets );
|
6 |
*
|
7 |
* [your-theme]/tribe-events/tickets/rsvp.php
|
8 |
*
|
9 |
+
* @version 4.8.1
|
10 |
*
|
11 |
* @var bool $must_login
|
12 |
*/
|
100 |
<td class="tickets_name">
|
101 |
<?php echo esc_html( $ticket->name ); ?>
|
102 |
</td>
|
103 |
+
|
104 |
<td class="tickets_description" colspan="2">
|
105 |
<?php echo esc_html( ( $ticket->show_description() ? $ticket->description : '' ) ); ?>
|
106 |
</td>
|
235 |
|
236 |
<?php
|
237 |
$content = ob_get_clean();
|
238 |
+
echo $content;
|
|
|
239 |
|
240 |
+
if ( $is_there_any_product ) {
|
241 |
+
// If we have available tickets there is generally no need to display a 'tickets unavailable' message
|
242 |
// for this post
|
243 |
$this->do_not_show_tickets_unavailable_message();
|
244 |
} else {
|
245 |
+
// Indicate that there are not any tickets, so a 'tickets unavailable' message may be
|
246 |
// appropriate (depending on whether other ticket providers are active and have a similar
|
247 |
// result)
|
248 |
$this->maybe_show_tickets_unavailable_message( $tickets );
|