Version Description
Small features, UX and Content Tweaks:
- Incorporated new Ukrainian translation files (free only), courtesy of Alexey Fedorov.
- Incorporated new French translation files (free only), courtesy of Fanny Hraud.
- Improved the events.js to avoid animation build up.
Bug Fixes:
- Tested fully against the new WordPress Twenty Twelve theme and cleared up aesthetic issues where needed.
- Removed "Organizer" and "Venue" panels from the Appearance -> Menus screen (core only).
- Fixed a bug where the option to show/hide an event's end date in the Events Advanced List Widget did not work (PRO only).
- There was previously no modal window when trashing individual instances of a recurring event; that is no more.
- Cleaned up event query filters to prevent conflicts.
- Event-specific settings no longer revert to default upon updating the plugin.
- Rewrite rules are no longer one step behind (meaning you won't need to flush permalinks as often).
- Warnings/notices no longer litter the page in instances where no upcoming events are scheduled.
- Default permalinks are no longer malformed.
- Removed a PressTrends-generated notice that appeared upon activation.
- Removed remaining sp_ functions.
- Fixed an issue where default permalinks caused multiple errors when viewing a recurring event and venue page (PRO only).
Download this release
Release Info
Developer | roblagatta |
Plugin | The Events Calendar |
Version | 2.0.10 |
Comparing to | |
See all releases |
Code changes from version 2.0.9 to 2.0.10
- admin-views/app-shop.php +0 -0
- admin-views/datepicker.php +0 -0
- admin-views/event-map.php +0 -0
- admin-views/event-sidebar-options.php +0 -0
- admin-views/events-audit-trail.php +0 -0
- admin-views/events-meta-box.php +2 -3
- admin-views/no-comments.php +0 -0
- admin-views/organizer-meta-box.php +0 -0
- admin-views/recurrence-dialog.php +0 -0
- admin-views/tickets-attendees.php +59 -0
- admin-views/tickets-list.php +72 -0
- admin-views/tickets-meta-box.php +160 -0
- admin-views/tribe-options-general.php +0 -0
- admin-views/tribe-options-help.php +0 -0
- admin-views/tribe-options-templates.php +0 -0
- admin-views/venue-meta-box.php +0 -0
- admin-views/widget-admin-list.php +0 -0
- lang/tribe-events-calendar-bg_BG.mo +0 -0
- lang/tribe-events-calendar-bg_BG.po +0 -0
- lang/tribe-events-calendar-bs_BA.mo +0 -0
- lang/tribe-events-calendar-bs_BA.po +0 -0
- lang/tribe-events-calendar-ca.mo +0 -0
- lang/tribe-events-calendar-ca.po +0 -0
- lang/tribe-events-calendar-cs_CZ.mo +0 -0
- lang/tribe-events-calendar-cs_CZ.po +0 -0
- lang/tribe-events-calendar-de_DE.mo +0 -0
- lang/tribe-events-calendar-de_DE.po +0 -0
- lang/tribe-events-calendar-es_ES.mo +0 -0
- lang/tribe-events-calendar-es_ES.po +0 -0
- lang/tribe-events-calendar-fi.mo +0 -0
- lang/tribe-events-calendar-fi.po +0 -0
- lang/tribe-events-calendar-fr_FR.mo +0 -0
- lang/tribe-events-calendar-fr_FR.po +39 -32
- lang/tribe-events-calendar-gr_GR.mo +0 -0
- lang/tribe-events-calendar-gr_GR.po +0 -0
- lang/tribe-events-calendar-he_IL.mo +0 -0
- lang/tribe-events-calendar-he_IL.po +0 -0
- lang/tribe-events-calendar-hr_HR.mo +0 -0
- lang/tribe-events-calendar-hr_HR.po +0 -0
- lang/tribe-events-calendar-it_IT.mo +0 -0
- lang/tribe-events-calendar-it_IT.po +0 -0
- lang/tribe-events-calendar-ja_JA.mo +0 -0
- lang/tribe-events-calendar-ja_JA.po +0 -0
- lang/tribe-events-calendar-lt_LT.mo +0 -0
- lang/tribe-events-calendar-lt_LT.po +0 -0
- lang/tribe-events-calendar-nb_NO.mo +0 -0
- lang/tribe-events-calendar-nb_NO.po +0 -0
- lang/tribe-events-calendar-nl_NL.mo +0 -0
- lang/tribe-events-calendar-nl_NL.po +0 -0
- lang/tribe-events-calendar-pl_PL.mo +0 -0
- lang/tribe-events-calendar-pl_PL.po +0 -0
- lang/tribe-events-calendar-pt_BR.mo +0 -0
- lang/tribe-events-calendar-pt_BR.po +0 -0
- lang/tribe-events-calendar-ru_RU.mo +0 -0
- lang/tribe-events-calendar-ru_RU.po +0 -0
- lang/tribe-events-calendar-sr_RS.mo +0 -0
- lang/tribe-events-calendar-sr_RS.po +0 -0
- lang/tribe-events-calendar-sv_SE.mo +0 -0
- lang/tribe-events-calendar-sv_SE.po +0 -0
- lang/tribe-events-calendar-uk.mo +0 -0
- lang/tribe-events-calendar-uk.po +278 -217
- lang/tribe-events-calendar.pot +282 -138
- lib/template-tags-deprecated.php +0 -0
- lib/the-events-calendar.class.php +26 -10
- lib/tickets/tribe-ticket-object.php +57 -0
- lib/tickets/tribe-tickets-attendees.php +168 -0
- lib/tickets/tribe-tickets-metabox.php +43 -0
- lib/tickets/tribe-tickets.php +553 -0
- lib/tribe-admin-events-list.class.php +0 -0
- lib/tribe-app-shop.class.php +0 -0
- lib/tribe-date-utils.class.php +0 -0
- lib/tribe-debug-bar.class.php +0 -0
- lib/tribe-event-api.class.php +3 -0
- lib/tribe-event-exception.class.php +0 -0
- lib/tribe-event-query.class.php +0 -0
- lib/tribe-field.class.php +0 -0
- lib/tribe-presstrends.php +39 -34
- lib/tribe-settings-tab.class.php +0 -0
- lib/tribe-settings.class.php +0 -0
- lib/tribe-templates.class.php +39 -0
- lib/tribe-the-events-calendar-import.class.php +0 -0
- lib/tribe-validate.class.php +0 -0
- lib/tribe-view-helpers.class.php +0 -0
- lib/widget-list.class.php +0 -0
- license.txt +0 -0
- public/advanced-functions/event.php +0 -0
- public/advanced-functions/organizer.php +0 -0
- public/advanced-functions/venue.php +0 -0
- public/template-tags/calendar.php +0 -0
- public/template-tags/date.php +0 -0
- public/template-tags/general.php +0 -0
- public/template-tags/google-map.php +0 -0
- public/template-tags/link.php +5 -1
- public/template-tags/loop.php +0 -0
- public/template-tags/options.php +0 -0
- public/template-tags/organizer.php +0 -0
- public/template-tags/venue.php +0 -0
- readme.txt +64 -35
- resources/app-shop.css +0 -0
- resources/app-shop.js +0 -0
- resources/chosen-load.js +0 -0
- resources/chosen-sprite.png +0 -0
- resources/chosen.css +0 -0
- resources/chosen.jquery.min.js +0 -0
- resources/debugger.css +0 -0
- resources/events-admin-ui.css +0 -0
- resources/events-admin.css +28 -1
- resources/events-admin.js +0 -0
- resources/events.css +39 -0
- resources/events.js +48 -26
- resources/hide-visibility.css +0 -0
- resources/images/attendees-screen-icon.png +0 -0
- resources/images/bg_fade.png +0 -0
- resources/images/donate-link-pro-screenshot.jpg +0 -0
- resources/images/donate-link-screenshot.jpg +0 -0
- resources/images/eb_press_little.gif +0 -0
- resources/images/events-screen-icon.png +0 -0
- resources/images/menu.png +0 -0
- resources/images/modern-tribe.png +0 -0
- resources/images/tooltip-arrow.png +0 -0
- resources/images/tribe-loading.gif +0 -0
- resources/jquery-ecp-plugins.js +0 -0
- resources/jquery.pjax.js +1 -245
- resources/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- resources/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- resources/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- resources/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- resources/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- resources/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- resources/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- resources/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- resources/smoothness/images/ui-icons_222222_256x240.png +0 -0
- resources/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- resources/smoothness/images/ui-icons_454545_256x240.png +0 -0
- resources/smoothness/images/ui-icons_888888_256x240.png +0 -0
- resources/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- resources/smoothness/jquery-ui-1.7.3.custom.css +0 -0
- resources/tickets-attendees.css +28 -0
- resources/tickets-attendees.js +72 -0
- resources/tickets.css +49 -0
- resources/tickets.js +240 -0
- resources/tribe-settings.js +0 -0
- resources/ui.datepicker.min.js +0 -0
- resources/ui.dialog.min.js +0 -0
- resources/warning.png +0 -0
- screenshot-1.png +0 -0
- screenshot-2.jpg +0 -0
- screenshot-2.png +0 -0
- screenshot-3.jpg +0 -0
- screenshot-3.png +0 -0
- screenshot-4.jpg +0 -0
- screenshot-4.png +0 -0
- screenshot-5.jpg +0 -0
- screenshot-5.png +0 -0
- screenshot-6.jpg +0 -0
- screenshot-6.png +0 -0
- tests/PHPUnit/bootstrap.php +0 -0
- tests/PHPUnit/phpunit-test.Test.php +0 -0
- tests/PHPUnit/phpunit.xml +0 -0
- tests/PHPUnit/tribe-capabilities.Test.php +0 -0
- tests/PHPUnit/tribe-event-creation.Test.php +0 -0
- tests/PHPUnit/tribe-events-class.Test.php +0 -0
- tests/PHPUnit/tribe-previous-ecp-versions.Test.php +0 -0
- tests/PHPUnit/wordpress-tests/lib/tribe-testcase.php +0 -0
- the-events-calendar.php +1 -1
- vendor/fpdf/font/courier.php +8 -0
- vendor/fpdf/font/courierb.php +8 -0
- vendor/fpdf/font/courierbi.php +8 -0
- vendor/fpdf/font/courieri.php +8 -0
- vendor/fpdf/font/helvetica.php +19 -0
- vendor/fpdf/font/helveticab.php +19 -0
- vendor/fpdf/font/helveticabi.php +19 -0
- vendor/fpdf/font/helveticai.php +19 -0
- vendor/fpdf/font/opensans.php +23 -0
- vendor/fpdf/font/opensans.z +0 -0
- vendor/fpdf/font/steelfish.php +23 -0
- vendor/fpdf/font/steelfish.z +0 -0
- vendor/fpdf/font/symbol.php +19 -0
- vendor/fpdf/font/times.php +19 -0
- vendor/fpdf/font/timesb.php +19 -0
- vendor/fpdf/font/timesbi.php +19 -0
- vendor/fpdf/font/timesi.php +19 -0
- vendor/fpdf/font/zapfdingbats.php +19 -0
- vendor/fpdf/fpdf.php +1802 -0
- views/ecp-page-template.php +0 -0
- views/ecp-single-template.php +0 -0
- views/events-list-load-widget-display.php +0 -0
- views/full-address.php +0 -0
- views/gridview.php +5 -7
- views/list.php +2 -1
- views/single.php +1 -1
- views/table-mini.php +0 -0
- views/table.php +0 -0
admin-views/app-shop.php
CHANGED
File without changes
|
admin-views/datepicker.php
CHANGED
File without changes
|
admin-views/event-map.php
CHANGED
File without changes
|
admin-views/event-sidebar-options.php
CHANGED
File without changes
|
admin-views/events-audit-trail.php
CHANGED
File without changes
|
admin-views/events-meta-box.php
CHANGED
@@ -84,7 +84,7 @@ if ( !defined('ABSPATH') ) { die('-1'); }
|
|
84 |
<tr id="google_map_link_toggle">
|
85 |
<td><?php _e('Show Google Maps Link:','tribe-events-calendar'); ?></td>
|
86 |
<td>
|
87 |
-
<input tabindex="<?php $this->tabIndex(); ?>" type="checkbox" id="EventShowMapLink" name="EventShowMapLink" value="1" <?php checked((get_post_status($postId) == 'auto-draft') ?
|
88 |
</td>
|
89 |
</tr>
|
90 |
<?php if( tribe_get_option('embedGoogleMaps') ) : ?>
|
@@ -104,8 +104,7 @@ if ( !defined('ABSPATH') ) { die('-1'); }
|
|
104 |
<?php include( $this->pluginPath . 'admin-views/organizer-meta-box.php' ); ?>
|
105 |
</table>
|
106 |
<?php $this->do_action('tribe_events_details_table_bottom', $postId, true) ?>
|
107 |
-
|
108 |
-
<?php if ( !class_exists("TribeEventsTickets") || !TribeEventsTickets::$active || class_exists( 'Event_Tickets_PRO') || get_post_meta( get_the_ID(), '_EventOrigin', true ) === 'community-events' ){ ?>
|
109 |
<table id="event_cost" class="eventtable">
|
110 |
<tr>
|
111 |
<td colspan="2" class="tribe_sectionheader"><h4><?php _e('Event Cost', 'tribe-events-calendar'); ?></h4></td>
|
84 |
<tr id="google_map_link_toggle">
|
85 |
<td><?php _e('Show Google Maps Link:','tribe-events-calendar'); ?></td>
|
86 |
<td>
|
87 |
+
<input tabindex="<?php $this->tabIndex(); ?>" type="checkbox" id="EventShowMapLink" name="EventShowMapLink" value="1" <?php checked((get_post_status($postId) == 'auto-draft') ? false : get_post_meta( $postId, '_EventShowMapLink', true )); ?> />
|
88 |
</td>
|
89 |
</tr>
|
90 |
<?php if( tribe_get_option('embedGoogleMaps') ) : ?>
|
104 |
<?php include( $this->pluginPath . 'admin-views/organizer-meta-box.php' ); ?>
|
105 |
</table>
|
106 |
<?php $this->do_action('tribe_events_details_table_bottom', $postId, true) ?>
|
107 |
+
<?php if ( !TribeEventsTickets::$active || class_exists( 'Event_Tickets_PRO' ) || ( get_post_meta( get_the_ID(), '_EventOrigin', true ) === 'community-events' ) ) { ?>
|
|
|
108 |
<table id="event_cost" class="eventtable">
|
109 |
<tr>
|
110 |
<td colspan="2" class="tribe_sectionheader"><h4><?php _e('Event Cost', 'tribe-events-calendar'); ?></h4></td>
|
admin-views/no-comments.php
CHANGED
File without changes
|
admin-views/organizer-meta-box.php
CHANGED
File without changes
|
admin-views/recurrence-dialog.php
CHANGED
File without changes
|
admin-views/tickets-attendees.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="wrap">
|
2 |
+
<div id="icon-edit" class="icon32 icon32-tickets-attendees"><br></div>
|
3 |
+
<h2><?php _e( "Attendees" );?></h2>
|
4 |
+
|
5 |
+
<div id="tribe-filters" class="metabox-holder">
|
6 |
+
<div id="filters-wrap" class="postbox">
|
7 |
+
<h3 title="Click to toggle"><?php _e( "Summary" );?></h3>
|
8 |
+
<table class="eventtable ticket_list">
|
9 |
+
<?php
|
10 |
+
$event_id = isset( $_GET["event_id"] ) ? $_GET["event_id"] : 0;
|
11 |
+
$tickets = TribeEventsTickets::get_event_tickets( $event_id );
|
12 |
+
|
13 |
+
$provider = null;
|
14 |
+
$count = 0;
|
15 |
+
|
16 |
+
foreach ( $tickets as $ticket ) {
|
17 |
+
|
18 |
+
$provider = $ticket->provider_class;
|
19 |
+
$provider_obj = call_user_func( array( $provider, 'get_instance' ) );
|
20 |
+
|
21 |
+
if ( ( $ticket->provider_class !== $provider ) || $count == 0 ) {
|
22 |
+
?>
|
23 |
+
<td colspan="3">
|
24 |
+
<h4><?php echo esc_html( self::$active_modules[$ticket->provider_class] ); ?></h4>
|
25 |
+
</td>
|
26 |
+
<?php } ?>
|
27 |
+
<tr>
|
28 |
+
<td width="40%">
|
29 |
+
<p class="ticket_name"><?php
|
30 |
+
echo $ticket->name;
|
31 |
+
?></p>
|
32 |
+
|
33 |
+
</td>
|
34 |
+
<td valign="top">
|
35 |
+
<?php echo woocommerce_price( $ticket->price ); ?>
|
36 |
+
</td>
|
37 |
+
<td valign="top" nowrap="nowrap">
|
38 |
+
<?php
|
39 |
+
$stock = !empty ( $ticket->stock ) ? $ticket->stock : 0;
|
40 |
+
$sold = !empty ( $ticket->qty_sold ) ? $ticket->qty_sold : 0;
|
41 |
+
echo sprintf( __( "Sold %d of %d", 'tribe-events-calendar' ), $sold, $sold + $stock );
|
42 |
+
?>
|
43 |
+
</td>
|
44 |
+
|
45 |
+
</tr>
|
46 |
+
<?php
|
47 |
+
$count++;
|
48 |
+
} ?>
|
49 |
+
</table>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<form id="topics-filter" method="get">
|
54 |
+
<input type="hidden" name="page" value="<?php echo $_GET['page'] ?>"/>
|
55 |
+
<input type="hidden" name="event_id" value="<?php echo $_GET['event_id'] ?>"/>
|
56 |
+
<input type="hidden" name="post_type" value="<?php echo TribeEvents::POSTTYPE; ?>"/>
|
57 |
+
<?php $attendees_table->display() ?>
|
58 |
+
</form>
|
59 |
+
</div>
|
admin-views/tickets-list.php
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<table class="eventtable ticket_list eventForm">
|
2 |
+
<?php
|
3 |
+
$provider = null;
|
4 |
+
$count = 0;
|
5 |
+
global $post;
|
6 |
+
if ( $post ) {
|
7 |
+
$post_id = get_the_ID();
|
8 |
+
} else {
|
9 |
+
$post_id = $_POST["post_ID"];
|
10 |
+
}
|
11 |
+
|
12 |
+
foreach ( $tickets as $ticket ) {
|
13 |
+
|
14 |
+
$controls = array();
|
15 |
+
$provider = $ticket->provider_class;
|
16 |
+
$provider_obj = call_user_func( array( $provider, 'get_instance' ) );
|
17 |
+
|
18 |
+
|
19 |
+
$controls[] = sprintf( "<span><a href='#' attr-provider='%s' attr-ticket-id='%s' id='ticket_edit_%s' class='ticket_edit'>Edit</a></span>", $ticket->provider_class, $ticket->ID, $ticket->ID );
|
20 |
+
$controls[] = sprintf( "<span><a href='#' attr-provider='%s' attr-ticket-id='%s' id='ticket_delete_%s' class='ticket_delete'>Delete</a></span>", $ticket->provider_class, $ticket->ID, $ticket->ID );
|
21 |
+
if ( $ticket->admin_link ) {
|
22 |
+
$controls[] = sprintf( __("<span><a href='%s'>Edit in %s</a></span>", "tribe-events-calendar"), esc_url( $ticket->admin_link ), self::$active_modules[$ticket->provider_class] );
|
23 |
+
}
|
24 |
+
if ( $ticket->frontend_link && get_post_status( $post_id ) == 'publish' ) {
|
25 |
+
$controls[] = sprintf( "<span><a href='%s'>View</a></span>", esc_url( $ticket->frontend_link ) );
|
26 |
+
}
|
27 |
+
|
28 |
+
$report = $provider_obj->get_ticket_reports_link( $post_id, $ticket->ID );
|
29 |
+
if ( $report ) {
|
30 |
+
$controls[] = $report;
|
31 |
+
}
|
32 |
+
|
33 |
+
if ( ( $ticket->provider_class !== $provider ) || $count == 0 ) {
|
34 |
+
?>
|
35 |
+
<td colspan="4" class="titlewrap">
|
36 |
+
<h4 class="tribe_sectionheader"><?php echo esc_html( self::$active_modules[$ticket->provider_class] ); ?>
|
37 |
+
<?php echo $provider_obj->get_event_reports_link( $post_id ); ?>
|
38 |
+
<small> | </small>
|
39 |
+
<?php echo sprintf( "<small><a title='See who purchased tickets to this event' href='%s'>%s</a></small>", admin_url( sprintf( 'edit.php?post_type=%s&page=%s&event_id=%d', TribeEvents::POSTTYPE, $this->attendees_slug, $post_id ) ), __( "Attendees", 'tribe-events-calendar' ) ); ?>
|
40 |
+
</h4>
|
41 |
+
</td>
|
42 |
+
<?php } ?>
|
43 |
+
<tr>
|
44 |
+
<td>
|
45 |
+
<p class="ticket_name"><?php
|
46 |
+
echo sprintf( "<a href='#' attr-provider='%s' attr-ticket-id='%s' class='ticket_edit'>%s</a></span>", $ticket->provider_class, $ticket->ID, esc_html( $ticket->name ) );
|
47 |
+
?></p>
|
48 |
+
|
49 |
+
<div class="ticket_controls">
|
50 |
+
<?php echo join( " | ", $controls ); ?>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
</td>
|
54 |
+
<td valign="top">
|
55 |
+
<?php echo woocommerce_price( $ticket->price ); ?>
|
56 |
+
</td>
|
57 |
+
|
58 |
+
<td nowrap="nowrap">
|
59 |
+
<?php
|
60 |
+
$stock = !empty ( $ticket->stock ) ? $ticket->stock : 0;
|
61 |
+
$sold = !empty ( $ticket->qty_sold ) ? $ticket->qty_sold : 0;
|
62 |
+
echo sprintf( __( "Sold %d of %d", 'tribe-events-calendar' ), $sold, $sold + $stock );
|
63 |
+
?>
|
64 |
+
</td>
|
65 |
+
<td width="40%" valign="top">
|
66 |
+
<?php echo esc_html( $ticket->description ); ?>
|
67 |
+
</td>
|
68 |
+
</tr>
|
69 |
+
<?php
|
70 |
+
$count++;
|
71 |
+
} ?>
|
72 |
+
</table>
|
admin-views/tickets-meta-box.php
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Don't load directly
|
3 |
+
if ( !defined( 'ABSPATH' ) ) {
|
4 |
+
die( '-1' );
|
5 |
+
}
|
6 |
+
?>
|
7 |
+
|
8 |
+
<table id="event_tickets" class="eventtable">
|
9 |
+
<?php
|
10 |
+
if ( get_post_meta( get_the_ID(), '_EventOrigin', true ) === 'community-events' ) {
|
11 |
+
?>
|
12 |
+
<tr>
|
13 |
+
<td colspan="2" class="tribe_sectionheader updated">
|
14 |
+
<p class="error-message"><?php _e( 'This event was created using Community Events. Are you sure you want to sell tickets for it?', 'tribe-events-calendar' ); ?></p>
|
15 |
+
</td>
|
16 |
+
</tr>
|
17 |
+
<?php
|
18 |
+
}
|
19 |
+
?>
|
20 |
+
<tr>
|
21 |
+
<td colspan="2" class="tribe_sectionheader ticket_list_container">
|
22 |
+
|
23 |
+
<?php $this->ticket_list_markup( $tickets ); ?>
|
24 |
+
|
25 |
+
</td>
|
26 |
+
</tr>
|
27 |
+
<tr>
|
28 |
+
<td colspan="2" class="tribe_sectionheader">
|
29 |
+
<a href="#" class="button-secondary"
|
30 |
+
id="ticket_form_toggle"><?php _e( 'Add new ticket', 'tribe-events-calendar' );?></a>
|
31 |
+
</td>
|
32 |
+
</tr>
|
33 |
+
<tr id="ticket_form" class="ticket_form">
|
34 |
+
<td colspan="2" class="tribe_sectionheader">
|
35 |
+
<div id="tribe-loading"><span></span></div>
|
36 |
+
<table id="ticket_form_table" class="eventtable ticket_form">
|
37 |
+
|
38 |
+
<tr>
|
39 |
+
<td colspan="2">
|
40 |
+
<h4 class="ticket_form_title_add"><?php _e( 'Add new ticket', 'tribe-events-calendar' ); ?></h4>
|
41 |
+
<h4 class="ticket_form_title_edit"><?php _e( 'Edit ticket', 'tribe-events-calendar' ); ?></h4>
|
42 |
+
</td>
|
43 |
+
</tr>
|
44 |
+
|
45 |
+
<tr>
|
46 |
+
<td width="20%"><label
|
47 |
+
for="ticket_provider"><?php _e( 'Sell using:', 'tribe-events-calendar' ); ?></label></td>
|
48 |
+
<td>
|
49 |
+
<?php
|
50 |
+
$checked = true;
|
51 |
+
foreach ( self::$active_modules as $class => $module ) {
|
52 |
+
?>
|
53 |
+
<input <?php checked( $checked );?> type="radio" name="ticket_provider" id="ticket_provider"
|
54 |
+
value="<?php echo esc_attr( $class );?>"
|
55 |
+
class="ticket_field">
|
56 |
+
<span><?php echo esc_html( $module ); ?></span>
|
57 |
+
<?php
|
58 |
+
$checked = false;
|
59 |
+
}
|
60 |
+
?>
|
61 |
+
</td>
|
62 |
+
</tr>
|
63 |
+
<tr>
|
64 |
+
<td><label for="ticket_name"><?php _e( 'Ticket Name:', 'tribe-events-calendar' ); ?></label></td>
|
65 |
+
<td>
|
66 |
+
<input type='text' id='ticket_name' name='ticket_name' class="ticket_field" size='25' value=''/>
|
67 |
+
</td>
|
68 |
+
</tr>
|
69 |
+
<tr class="ticket">
|
70 |
+
<td><label
|
71 |
+
for="ticket_description"><?php _e( 'Ticket Description:', 'tribe-events-calendar' ); ?></label>
|
72 |
+
</td>
|
73 |
+
<td>
|
74 |
+
<textarea rows="5" cols="40" name="ticket_description" class="ticket_field"
|
75 |
+
id="ticket_description"></textarea>
|
76 |
+
</td>
|
77 |
+
</tr>
|
78 |
+
<tr class="ticket">
|
79 |
+
<td><label
|
80 |
+
for="ticket_price"><?php _e( 'Price:', 'tribe-events-calendar' ); ?></label>
|
81 |
+
</td>
|
82 |
+
<td>
|
83 |
+
<input type='text' id='ticket_price' name='ticket_price' class="ticket_field" size='7'
|
84 |
+
value=''/>
|
85 |
+
<p class="description">(0 or empty for free tickets)</p>
|
86 |
+
</td>
|
87 |
+
</tr>
|
88 |
+
|
89 |
+
<tr class="ticket">
|
90 |
+
<td><label
|
91 |
+
for="ticket_price"><?php _e( 'Start sale:', 'tribe-events-calendar' ); ?></label>
|
92 |
+
</td>
|
93 |
+
<td>
|
94 |
+
<input autocomplete="off" type="text" class="ticket_field" size='7' name="ticket_start_date"
|
95 |
+
id="ticket_start_date" value="">
|
96 |
+
<span class=''>
|
97 |
+
<?php _e( '@', 'tribe-events-calendar' ); ?>
|
98 |
+
<select name='ticket_start_hour' id='ticket_start_hour' class="ticket_field">
|
99 |
+
<?php echo $startHourOptions; ?>
|
100 |
+
</select>
|
101 |
+
<select name='ticket_start_minute' id='ticket_start_minute' class="ticket_field">
|
102 |
+
<?php echo $startMinuteOptions; ?>
|
103 |
+
</select>
|
104 |
+
<?php if ( !strstr( get_option( 'time_format', TribeDateUtils::TIMEFORMAT ), 'H' ) ) : ?>
|
105 |
+
<select name='ticket_start_meridian' id='ticket_start_meridian' class="ticket_field">
|
106 |
+
<?php echo $startMeridianOptions; ?>
|
107 |
+
</select>
|
108 |
+
<?php endif; ?>
|
109 |
+
</span>
|
110 |
+
</td>
|
111 |
+
</tr>
|
112 |
+
|
113 |
+
<tr class="ticket">
|
114 |
+
<td valign="top"><label
|
115 |
+
for="ticket_price"><?php _e( 'End sale:', 'tribe-events-calendar' ); ?></label>
|
116 |
+
</td>
|
117 |
+
<td valign="top">
|
118 |
+
<input autocomplete="off" type="text" class="ticket_field" size='7' name="ticket_end_date"
|
119 |
+
id="ticket_end_date" value="">
|
120 |
+
|
121 |
+
<span class=''>
|
122 |
+
<?php _e( '@', 'tribe-events-calendar' ); ?>
|
123 |
+
<select name='ticket_end_hour' id='ticket_end_hour' class="ticket_field">
|
124 |
+
<?php echo $endHourOptions; ?>
|
125 |
+
</select>
|
126 |
+
<select name='ticket_end_minute' id='ticket_end_minute' class="ticket_field">
|
127 |
+
<?php echo $endMinuteOptions; ?>
|
128 |
+
</select>
|
129 |
+
<?php if ( !strstr( get_option( 'time_format', TribeDateUtils::TIMEFORMAT ), 'H' ) ) : ?>
|
130 |
+
<select name='ticket_end_meridian' id='ticket_end_meridian' class="ticket_field">
|
131 |
+
<?php echo $endMeridianOptions; ?>
|
132 |
+
</select>
|
133 |
+
<?php endif; ?>
|
134 |
+
</span>
|
135 |
+
<br/><p class="description"><?php _e("When will ticket sales occur? If you don't set a start/end date for sales, tickets will be available from now until the event ends.",'tribe-events-calendar');?></p>
|
136 |
+
</td>
|
137 |
+
</tr>
|
138 |
+
|
139 |
+
|
140 |
+
<?php do_action( 'tribe_events_tickets_metabox_advanced', get_the_ID(), NULL ); ?>
|
141 |
+
|
142 |
+
<tr class="ticket bottom">
|
143 |
+
<td></td>
|
144 |
+
<td>
|
145 |
+
<input type="hidden" name="ticket_id" id="ticket_id" class="ticket_field" value=""/>
|
146 |
+
|
147 |
+
<input type='button' id='ticket_form_save' name='ticket_form_save' value="Save this ticket"
|
148 |
+
class="button-primary"/>
|
149 |
+
|
150 |
+
<input type='button' id='ticket_form_cancel' name='ticket_form_cancel' value="Cancel"
|
151 |
+
class="button-highlighted"/>
|
152 |
+
</td>
|
153 |
+
</tr>
|
154 |
+
|
155 |
+
</table>
|
156 |
+
|
157 |
+
</td>
|
158 |
+
</tr>
|
159 |
+
|
160 |
+
</table>
|
admin-views/tribe-options-general.php
CHANGED
File without changes
|
admin-views/tribe-options-help.php
CHANGED
File without changes
|
admin-views/tribe-options-templates.php
CHANGED
File without changes
|
admin-views/venue-meta-box.php
CHANGED
File without changes
|
admin-views/widget-admin-list.php
CHANGED
File without changes
|
lang/tribe-events-calendar-bg_BG.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-bg_BG.po
CHANGED
File without changes
|
lang/tribe-events-calendar-bs_BA.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-bs_BA.po
CHANGED
File without changes
|
lang/tribe-events-calendar-ca.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-ca.po
CHANGED
File without changes
|
lang/tribe-events-calendar-cs_CZ.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-cs_CZ.po
CHANGED
File without changes
|
lang/tribe-events-calendar-de_DE.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-de_DE.po
CHANGED
File without changes
|
lang/tribe-events-calendar-es_ES.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-es_ES.po
CHANGED
File without changes
|
lang/tribe-events-calendar-fi.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-fi.po
CHANGED
File without changes
|
lang/tribe-events-calendar-fr_FR.mo
CHANGED
Binary file
|
lang/tribe-events-calendar-fr_FR.po
CHANGED
@@ -6,8 +6,8 @@ msgstr ""
|
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
"POT-Creation-Date: 2012-01-09 11:28-0800\n"
|
9 |
-
"PO-Revision-Date: 2012-
|
10 |
-
"Last-Translator:
|
11 |
"Language-Team: Cecile <cecile@greek-paris.com>\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -33,7 +33,7 @@ msgstr "Vous avez changé les règles de récurrence de l'événement. Si vous l
|
|
33 |
|
34 |
#: ../admin-views/events-meta-box.php:31
|
35 |
msgid "All day event?"
|
36 |
-
msgstr "
|
37 |
|
38 |
#: ../admin-views/events-meta-box.php:35
|
39 |
msgid "Start Date / Time:"
|
@@ -55,7 +55,7 @@ msgstr "Date/heure de fin :"
|
|
55 |
|
56 |
#: ../admin-views/events-meta-box.php:78
|
57 |
msgid "Event Location Details"
|
58 |
-
msgstr "Coordonnées du lieu de l'
|
59 |
|
60 |
#: ../admin-views/events-meta-box.php:84
|
61 |
msgid "Show Google Maps Link:"
|
@@ -71,7 +71,7 @@ msgstr "Coordonnées de l'organisateur "
|
|
71 |
|
72 |
#: ../admin-views/events-meta-box.php:109
|
73 |
msgid "Event Cost"
|
74 |
-
msgstr "Prix
|
75 |
|
76 |
#: ../admin-views/events-meta-box.php:112
|
77 |
msgid "Cost:"
|
@@ -97,7 +97,7 @@ msgstr "Si vous rencontrez des problèmes avec ces options, visitez le <a href=\
|
|
97 |
|
98 |
#: ../admin-views/events-options.php:54
|
99 |
msgid "Here is the iCal feed URL for your events: "
|
100 |
-
msgstr "Voici le flux RSS iCal de vos
|
101 |
|
102 |
#: ../admin-views/events-options.php:60
|
103 |
msgid "Settings"
|
@@ -201,7 +201,7 @@ msgstr "Préférences du Thème"
|
|
201 |
#: ../admin-views/events-options.php:169
|
202 |
#: ../admin-views/events-options.php:171
|
203 |
msgid "Events Template"
|
204 |
-
msgstr "Template pour vos
|
205 |
|
206 |
#: ../admin-views/events-options.php:173
|
207 |
msgid "Default Events Template"
|
@@ -261,15 +261,15 @@ msgstr "Téléphone : "
|
|
261 |
|
262 |
#: ../admin-views/organizer-meta-box.php:21
|
263 |
msgid "Website:"
|
264 |
-
msgstr "Site
|
265 |
|
266 |
#: ../admin-views/organizer-meta-box.php:25
|
267 |
msgid "Email:"
|
268 |
-
msgstr "
|
269 |
|
270 |
#: ../admin-views/recurrence-dialog.php:11
|
271 |
msgid "Which events do you wish to update?"
|
272 |
-
msgstr "Quels
|
273 |
|
274 |
#: ../admin-views/recurrence-dialog.php:14
|
275 |
msgid "Select your desired action"
|
@@ -360,26 +360,26 @@ msgstr "Désolé, The Events Calendar nécessite PHP %s ou une version plus réc
|
|
360 |
|
361 |
#: ../lib/the-events-calendar.class.php:447
|
362 |
msgid "Upcoming Events"
|
363 |
-
msgstr "
|
364 |
|
365 |
#: ../lib/the-events-calendar.class.php:449
|
366 |
msgid "Past Events"
|
367 |
-
msgstr "
|
368 |
|
369 |
#: ../lib/the-events-calendar.class.php:453
|
370 |
#: ../lib/the-events-calendar.class.php:459
|
371 |
#, php-format
|
372 |
msgid "Events for %s"
|
373 |
-
msgstr "
|
374 |
|
375 |
#: ../lib/the-events-calendar.class.php:455
|
376 |
msgid "Events this month"
|
377 |
-
msgstr "
|
378 |
|
379 |
#: ../lib/the-events-calendar.class.php:465
|
380 |
#, php-format
|
381 |
msgid "Events at %s"
|
382 |
-
msgstr "
|
383 |
|
384 |
#: ../lib/the-events-calendar.class.php:477
|
385 |
msgid "No description has been entered for this event."
|
@@ -387,7 +387,7 @@ msgstr "Aucune description n'a été rentrée pour cet événement. "
|
|
387 |
|
388 |
#: ../lib/the-events-calendar.class.php:583
|
389 |
msgid "Events"
|
390 |
-
msgstr "
|
391 |
|
392 |
#: ../lib/the-events-calendar.class.php:584
|
393 |
msgid "Event"
|
@@ -409,7 +409,7 @@ msgstr "Editer l'événement "
|
|
409 |
|
410 |
#: ../lib/the-events-calendar.class.php:588
|
411 |
msgid "New Event"
|
412 |
-
msgstr "Nouvel
|
413 |
|
414 |
#: ../lib/the-events-calendar.class.php:589
|
415 |
msgid "View Event"
|
@@ -421,11 +421,11 @@ msgstr "Rechercher des événements "
|
|
421 |
|
422 |
#: ../lib/the-events-calendar.class.php:591
|
423 |
msgid "No events found"
|
424 |
-
msgstr "Aucun
|
425 |
|
426 |
#: ../lib/the-events-calendar.class.php:592
|
427 |
msgid "No events found in Trash"
|
428 |
-
msgstr "Aucun
|
429 |
|
430 |
#: ../lib/the-events-calendar.class.php:596
|
431 |
msgid "Venues"
|
@@ -523,24 +523,24 @@ msgstr "Catégorie parente : "
|
|
523 |
|
524 |
#: ../lib/the-events-calendar.class.php:628
|
525 |
msgid "Edit Event Category"
|
526 |
-
msgstr "
|
527 |
|
528 |
#: ../lib/the-events-calendar.class.php:629
|
529 |
msgid "Update Event Category"
|
530 |
-
msgstr "Mettre à jour la
|
531 |
|
532 |
#: ../lib/the-events-calendar.class.php:630
|
533 |
msgid "Add New Event Category"
|
534 |
-
msgstr "Nouvelle
|
535 |
|
536 |
#: ../lib/the-events-calendar.class.php:631
|
537 |
msgid "New Event Category Name"
|
538 |
-
msgstr "Nouveau nom de la
|
539 |
|
540 |
#: ../lib/the-events-calendar.class.php:641
|
541 |
#, php-format
|
542 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
543 |
-
msgstr "
|
544 |
|
545 |
#: ../lib/the-events-calendar.class.php:642
|
546 |
#: ../lib/the-events-calendar.class.php:659
|
@@ -556,7 +556,7 @@ msgstr "Champ Personnalisé effacé. "
|
|
556 |
|
557 |
#: ../lib/the-events-calendar.class.php:644
|
558 |
msgid "Event updated."
|
559 |
-
msgstr "
|
560 |
|
561 |
#: ../lib/the-events-calendar.class.php:646
|
562 |
#, php-format
|
@@ -566,21 +566,21 @@ msgstr "Evénement restauré à la dernière révision depuis %s"
|
|
566 |
#: ../lib/the-events-calendar.class.php:647
|
567 |
#, php-format
|
568 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
569 |
-
msgstr "
|
570 |
|
571 |
#: ../lib/the-events-calendar.class.php:648
|
572 |
msgid "Event saved."
|
573 |
-
msgstr "
|
574 |
|
575 |
#: ../lib/the-events-calendar.class.php:649
|
576 |
#, php-format
|
577 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
578 |
-
msgstr "
|
579 |
|
580 |
#: ../lib/the-events-calendar.class.php:650
|
581 |
#, php-format
|
582 |
msgid "Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview event</a>"
|
583 |
-
msgstr "
|
584 |
|
585 |
#: ../lib/the-events-calendar.class.php:652
|
586 |
#: ../lib/the-events-calendar.class.php:669
|
@@ -716,7 +716,7 @@ msgstr "Fonctionnalité supplémentaire "
|
|
716 |
#: ../lib/the-events-calendar.class.php:2054
|
717 |
#: ../lib/the-events-calendar.class.php:2060
|
718 |
msgid "Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?"
|
719 |
-
msgstr "Vous cherchez d'autres fonctionnalités comme les
|
720 |
|
721 |
#: ../lib/the-events-calendar.class.php:2054
|
722 |
#: ../lib/the-events-calendar.class.php:2061
|
@@ -2048,7 +2048,7 @@ msgstr "Pas d'événements précédents"
|
|
2048 |
#: ../views/list.php:146
|
2049 |
#: ../views/list.php:148
|
2050 |
msgid "« Previous Events"
|
2051 |
-
msgstr "«
|
2052 |
|
2053 |
#: ../views/list.php:155
|
2054 |
#: ../views/list.php:157
|
@@ -2099,24 +2099,31 @@ msgstr "Tout voir »"
|
|
2099 |
|
2100 |
#~ msgid "Ends"
|
2101 |
#~ msgstr "Se termine"
|
|
|
2102 |
#~ msgid "Use Saved Venue:"
|
2103 |
#~ msgstr "Utiliser un lieu enregistré : "
|
|
|
2104 |
#~ msgid "Use Saved Organizer:"
|
2105 |
#~ msgstr "Utiliser un organisateur déjà enregistré "
|
|
|
2106 |
#~ msgid "Use Pretty URLs"
|
2107 |
#~ msgstr "Utiliser des Prettys URLS"
|
|
|
2108 |
#~ msgid ""
|
2109 |
#~ "Although unlikely, pretty URLs (ie, http://site/events/upcoming) may "
|
2110 |
#~ "interfere with custom themes or plugins."
|
2111 |
#~ msgstr ""
|
2112 |
#~ "Cependant faites attention car les prettys URLs (ex: http://site/events/"
|
2113 |
#~ "upcoming) peuvent causer des conflits avec certains thèmes ou plugins. "
|
|
|
2114 |
#~ msgid "Use New Venue"
|
2115 |
#~ msgstr "Utiliser un nouveau lieu"
|
|
|
2116 |
#~ msgid "No saved venues yet."
|
2117 |
#~ msgstr "Pas encore de lieu enregistré"
|
|
|
2118 |
#~ msgid "Use New Organizer"
|
2119 |
#~ msgstr "Nouvel organisateur"
|
|
|
2120 |
#~ msgid "No saved organizers yet."
|
2121 |
#~ msgstr "Aucun organisateur enregistré encore."
|
2122 |
-
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
"POT-Creation-Date: 2012-01-09 11:28-0800\n"
|
9 |
+
"PO-Revision-Date: 2012-10-17 12:08-0500\n"
|
10 |
+
"Last-Translator: Fanny Héraud <fanny@dites-vert.com>\n"
|
11 |
"Language-Team: Cecile <cecile@greek-paris.com>\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
33 |
|
34 |
#: ../admin-views/events-meta-box.php:31
|
35 |
msgid "All day event?"
|
36 |
+
msgstr "Événement qui dure toute la journée ? "
|
37 |
|
38 |
#: ../admin-views/events-meta-box.php:35
|
39 |
msgid "Start Date / Time:"
|
55 |
|
56 |
#: ../admin-views/events-meta-box.php:78
|
57 |
msgid "Event Location Details"
|
58 |
+
msgstr "Coordonnées du lieu de l'événement :"
|
59 |
|
60 |
#: ../admin-views/events-meta-box.php:84
|
61 |
msgid "Show Google Maps Link:"
|
71 |
|
72 |
#: ../admin-views/events-meta-box.php:109
|
73 |
msgid "Event Cost"
|
74 |
+
msgstr "Prix d'entrée de l'événement "
|
75 |
|
76 |
#: ../admin-views/events-meta-box.php:112
|
77 |
msgid "Cost:"
|
97 |
|
98 |
#: ../admin-views/events-options.php:54
|
99 |
msgid "Here is the iCal feed URL for your events: "
|
100 |
+
msgstr "Voici le flux RSS iCal de vos événements :"
|
101 |
|
102 |
#: ../admin-views/events-options.php:60
|
103 |
msgid "Settings"
|
201 |
#: ../admin-views/events-options.php:169
|
202 |
#: ../admin-views/events-options.php:171
|
203 |
msgid "Events Template"
|
204 |
+
msgstr "Template pour vos événements"
|
205 |
|
206 |
#: ../admin-views/events-options.php:173
|
207 |
msgid "Default Events Template"
|
261 |
|
262 |
#: ../admin-views/organizer-meta-box.php:21
|
263 |
msgid "Website:"
|
264 |
+
msgstr "Site Web : "
|
265 |
|
266 |
#: ../admin-views/organizer-meta-box.php:25
|
267 |
msgid "Email:"
|
268 |
+
msgstr "Courriel :"
|
269 |
|
270 |
#: ../admin-views/recurrence-dialog.php:11
|
271 |
msgid "Which events do you wish to update?"
|
272 |
+
msgstr "Quels événements voulez-vous mettre à jour ? "
|
273 |
|
274 |
#: ../admin-views/recurrence-dialog.php:14
|
275 |
msgid "Select your desired action"
|
360 |
|
361 |
#: ../lib/the-events-calendar.class.php:447
|
362 |
msgid "Upcoming Events"
|
363 |
+
msgstr "Événements à venir "
|
364 |
|
365 |
#: ../lib/the-events-calendar.class.php:449
|
366 |
msgid "Past Events"
|
367 |
+
msgstr "Événements passés"
|
368 |
|
369 |
#: ../lib/the-events-calendar.class.php:453
|
370 |
#: ../lib/the-events-calendar.class.php:459
|
371 |
#, php-format
|
372 |
msgid "Events for %s"
|
373 |
+
msgstr "Événements pour %s"
|
374 |
|
375 |
#: ../lib/the-events-calendar.class.php:455
|
376 |
msgid "Events this month"
|
377 |
+
msgstr "Événements du mois"
|
378 |
|
379 |
#: ../lib/the-events-calendar.class.php:465
|
380 |
#, php-format
|
381 |
msgid "Events at %s"
|
382 |
+
msgstr "Événements à %s"
|
383 |
|
384 |
#: ../lib/the-events-calendar.class.php:477
|
385 |
msgid "No description has been entered for this event."
|
387 |
|
388 |
#: ../lib/the-events-calendar.class.php:583
|
389 |
msgid "Events"
|
390 |
+
msgstr "Événements"
|
391 |
|
392 |
#: ../lib/the-events-calendar.class.php:584
|
393 |
msgid "Event"
|
409 |
|
410 |
#: ../lib/the-events-calendar.class.php:588
|
411 |
msgid "New Event"
|
412 |
+
msgstr "Nouvel événement "
|
413 |
|
414 |
#: ../lib/the-events-calendar.class.php:589
|
415 |
msgid "View Event"
|
421 |
|
422 |
#: ../lib/the-events-calendar.class.php:591
|
423 |
msgid "No events found"
|
424 |
+
msgstr "Aucun événement "
|
425 |
|
426 |
#: ../lib/the-events-calendar.class.php:592
|
427 |
msgid "No events found in Trash"
|
428 |
+
msgstr "Aucun événement dans la corbeille "
|
429 |
|
430 |
#: ../lib/the-events-calendar.class.php:596
|
431 |
msgid "Venues"
|
523 |
|
524 |
#: ../lib/the-events-calendar.class.php:628
|
525 |
msgid "Edit Event Category"
|
526 |
+
msgstr "Éditer la catégorie de l'événement "
|
527 |
|
528 |
#: ../lib/the-events-calendar.class.php:629
|
529 |
msgid "Update Event Category"
|
530 |
+
msgstr "Mettre à jour la catégories de l'événement "
|
531 |
|
532 |
#: ../lib/the-events-calendar.class.php:630
|
533 |
msgid "Add New Event Category"
|
534 |
+
msgstr "Nouvelle catégorie d'événement "
|
535 |
|
536 |
#: ../lib/the-events-calendar.class.php:631
|
537 |
msgid "New Event Category Name"
|
538 |
+
msgstr "Nouveau nom de la catégorie d'événement "
|
539 |
|
540 |
#: ../lib/the-events-calendar.class.php:641
|
541 |
#, php-format
|
542 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
543 |
+
msgstr "Événement mis à jour. <a href=\"%s\">Voir</a> "
|
544 |
|
545 |
#: ../lib/the-events-calendar.class.php:642
|
546 |
#: ../lib/the-events-calendar.class.php:659
|
556 |
|
557 |
#: ../lib/the-events-calendar.class.php:644
|
558 |
msgid "Event updated."
|
559 |
+
msgstr "Événement mis à jour."
|
560 |
|
561 |
#: ../lib/the-events-calendar.class.php:646
|
562 |
#, php-format
|
566 |
#: ../lib/the-events-calendar.class.php:647
|
567 |
#, php-format
|
568 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
569 |
+
msgstr "Événement publié. <a href=\"%s\">Voir</a> "
|
570 |
|
571 |
#: ../lib/the-events-calendar.class.php:648
|
572 |
msgid "Event saved."
|
573 |
+
msgstr "Événement enregistré"
|
574 |
|
575 |
#: ../lib/the-events-calendar.class.php:649
|
576 |
#, php-format
|
577 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
578 |
+
msgstr "Événement enregistré. <a href=\"%s\">Aperçu</a> "
|
579 |
|
580 |
#: ../lib/the-events-calendar.class.php:650
|
581 |
#, php-format
|
582 |
msgid "Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview event</a>"
|
583 |
+
msgstr "Événement programmé pour le : <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Aperçu</a> "
|
584 |
|
585 |
#: ../lib/the-events-calendar.class.php:652
|
586 |
#: ../lib/the-events-calendar.class.php:669
|
716 |
#: ../lib/the-events-calendar.class.php:2054
|
717 |
#: ../lib/the-events-calendar.class.php:2060
|
718 |
msgid "Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?"
|
719 |
+
msgstr "Vous cherchez d'autres fonctionnalités comme les événements récurrents, meta personnalisés, community events, vente de billets et encore plus ? "
|
720 |
|
721 |
#: ../lib/the-events-calendar.class.php:2054
|
722 |
#: ../lib/the-events-calendar.class.php:2061
|
2048 |
#: ../views/list.php:146
|
2049 |
#: ../views/list.php:148
|
2050 |
msgid "« Previous Events"
|
2051 |
+
msgstr "« Événements précédents "
|
2052 |
|
2053 |
#: ../views/list.php:155
|
2054 |
#: ../views/list.php:157
|
2099 |
|
2100 |
#~ msgid "Ends"
|
2101 |
#~ msgstr "Se termine"
|
2102 |
+
|
2103 |
#~ msgid "Use Saved Venue:"
|
2104 |
#~ msgstr "Utiliser un lieu enregistré : "
|
2105 |
+
|
2106 |
#~ msgid "Use Saved Organizer:"
|
2107 |
#~ msgstr "Utiliser un organisateur déjà enregistré "
|
2108 |
+
|
2109 |
#~ msgid "Use Pretty URLs"
|
2110 |
#~ msgstr "Utiliser des Prettys URLS"
|
2111 |
+
|
2112 |
#~ msgid ""
|
2113 |
#~ "Although unlikely, pretty URLs (ie, http://site/events/upcoming) may "
|
2114 |
#~ "interfere with custom themes or plugins."
|
2115 |
#~ msgstr ""
|
2116 |
#~ "Cependant faites attention car les prettys URLs (ex: http://site/events/"
|
2117 |
#~ "upcoming) peuvent causer des conflits avec certains thèmes ou plugins. "
|
2118 |
+
|
2119 |
#~ msgid "Use New Venue"
|
2120 |
#~ msgstr "Utiliser un nouveau lieu"
|
2121 |
+
|
2122 |
#~ msgid "No saved venues yet."
|
2123 |
#~ msgstr "Pas encore de lieu enregistré"
|
2124 |
+
|
2125 |
#~ msgid "Use New Organizer"
|
2126 |
#~ msgstr "Nouvel organisateur"
|
2127 |
+
|
2128 |
#~ msgid "No saved organizers yet."
|
2129 |
#~ msgstr "Aucun organisateur enregistré encore."
|
|
lang/tribe-events-calendar-gr_GR.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-gr_GR.po
CHANGED
File without changes
|
lang/tribe-events-calendar-he_IL.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-he_IL.po
CHANGED
File without changes
|
lang/tribe-events-calendar-hr_HR.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-hr_HR.po
CHANGED
File without changes
|
lang/tribe-events-calendar-it_IT.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-it_IT.po
CHANGED
File without changes
|
lang/tribe-events-calendar-ja_JA.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-ja_JA.po
CHANGED
File without changes
|
lang/tribe-events-calendar-lt_LT.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-lt_LT.po
CHANGED
File without changes
|
lang/tribe-events-calendar-nb_NO.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-nb_NO.po
CHANGED
File without changes
|
lang/tribe-events-calendar-nl_NL.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-nl_NL.po
CHANGED
File without changes
|
lang/tribe-events-calendar-pl_PL.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-pl_PL.po
CHANGED
File without changes
|
lang/tribe-events-calendar-pt_BR.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-pt_BR.po
CHANGED
File without changes
|
lang/tribe-events-calendar-ru_RU.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-ru_RU.po
CHANGED
File without changes
|
lang/tribe-events-calendar-sr_RS.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-sr_RS.po
CHANGED
File without changes
|
lang/tribe-events-calendar-sv_SE.mo
CHANGED
File without changes
|
lang/tribe-events-calendar-sv_SE.po
CHANGED
File without changes
|
lang/tribe-events-calendar-uk.mo
CHANGED
Binary file
|
lang/tribe-events-calendar-uk.po
CHANGED
@@ -6,79 +6,77 @@ msgstr ""
|
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
"POT-Creation-Date: 2011-09-19 16:36-0500\n"
|
9 |
-
"PO-Revision-Date: 2012-
|
10 |
-
"Last-Translator:
|
11 |
-
"Language-Team:
|
12 |
-
"Language: \n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
-
"X-Poedit-SourceCharset:
|
17 |
"X-Poedit-KeywordsList: __;_e\n"
|
18 |
"X-Poedit-Basepath: ./\n"
|
19 |
-
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n
|
20 |
-
"
|
21 |
-
"X-
|
22 |
"X-Poedit-SearchPath-0: ..\n"
|
23 |
|
24 |
-
#: ../views/list.php:16
|
25 |
-
#: ../views/gridview.php:37
|
26 |
msgid "Event List"
|
27 |
-
msgstr "
|
28 |
|
29 |
-
#: ../views/list.php:17
|
30 |
-
#: ../views/gridview.php:38
|
31 |
msgid "Calendar"
|
32 |
msgstr "Календар"
|
33 |
|
34 |
-
#: ../views/list.php:42
|
35 |
-
#: ../views/single.php:17
|
36 |
msgid "Start:"
|
37 |
msgstr "Початок:"
|
38 |
|
39 |
-
#: ../views/list.php:46
|
40 |
-
#: ../views/single.php:20
|
41 |
msgid "End:"
|
42 |
-
msgstr "
|
43 |
|
44 |
-
#: ../views/list.php:54
|
45 |
-
#: ../views/single.php:47
|
46 |
msgid "Venue:"
|
47 |
msgstr "Місце:"
|
48 |
|
49 |
-
#: ../views/list.php:63
|
50 |
-
#: ../views/single.php:33
|
51 |
-
#: ../views/single.php:51
|
52 |
#: ../admin-views/venue-meta-box.php:73
|
53 |
msgid "Phone:"
|
54 |
msgstr "Телефон:"
|
55 |
|
56 |
-
#: ../views/list.php:69
|
57 |
-
#: ../views/single.php:56
|
58 |
#: ../admin-views/venue-meta-box.php:19
|
59 |
msgid "Address:"
|
60 |
msgstr "Адреса:"
|
61 |
|
62 |
-
#: ../views/list.php:71
|
63 |
-
#: ../views/single.php:58
|
64 |
msgid "Google Map"
|
65 |
msgstr "Мапа Google"
|
66 |
|
67 |
-
#: ../views/list.php:81
|
68 |
-
#: ../views/single.php:24
|
69 |
#: ../admin-views/events-meta-box.php:113
|
70 |
msgid "Cost:"
|
71 |
msgstr "Вартість:"
|
72 |
|
73 |
#: ../views/list.php:95
|
74 |
#, php-format
|
75 |
-
msgid "
|
76 |
-
|
|
|
|
|
|
|
|
|
77 |
|
78 |
#: ../views/list.php:97
|
79 |
#, php-format
|
80 |
-
msgid "
|
81 |
-
|
|
|
|
|
|
|
|
|
82 |
|
83 |
#: ../views/list.php:103
|
84 |
msgid "No upcoming events"
|
@@ -88,35 +86,29 @@ msgstr "Подій не очікується"
|
|
88 |
msgid "No previous events"
|
89 |
msgstr "Минулих подій немає"
|
90 |
|
91 |
-
#: ../views/list.php:120
|
92 |
-
#: ../views/list.php:122
|
93 |
-
#: ../views/list.php:124
|
94 |
msgid "« Previous Events"
|
95 |
-
msgstr "«
|
96 |
|
97 |
-
#: ../views/list.php:131
|
98 |
-
#: ../views/list.php:133
|
99 |
-
#: ../views/list.php:135
|
100 |
msgid "Next Events »"
|
101 |
-
msgstr "
|
102 |
|
103 |
-
#: ../views/list.php:140
|
104 |
-
#: ../views/gridview.php:43
|
105 |
-
#: ../views/single.php:83
|
106 |
msgid "iCal Import"
|
107 |
-
msgstr "
|
108 |
|
109 |
#: ../views/table-mini.php:24
|
110 |
msgid "View all »"
|
111 |
-
msgstr "
|
112 |
|
113 |
#: ../views/single.php:13
|
114 |
msgid "« Back to Events"
|
115 |
-
msgstr " &
|
116 |
|
117 |
#: ../views/single.php:14
|
118 |
msgid "This event has passed."
|
119 |
-
msgstr "Ця подія
|
120 |
|
121 |
#: ../views/single.php:29
|
122 |
msgid "Organizer:"
|
@@ -132,11 +124,11 @@ msgstr "Розклад:"
|
|
132 |
|
133 |
#: ../views/single.php:58
|
134 |
msgid "Click to view a Google Map"
|
135 |
-
msgstr "
|
136 |
|
137 |
#: ../views/single.php:86
|
138 |
msgid "Add to Google Calendar"
|
139 |
-
msgstr "Додати
|
140 |
|
141 |
#: ../views/single.php:86
|
142 |
msgid "+ Google Calendar"
|
@@ -144,7 +136,7 @@ msgstr "+ Google Календар"
|
|
144 |
|
145 |
#: ../views/events-list-load-widget-display.php:48
|
146 |
msgid "All Day"
|
147 |
-
msgstr "
|
148 |
|
149 |
#: ../views/events-list-load-widget-display.php:51
|
150 |
msgid "Ends"
|
@@ -156,33 +148,34 @@ msgstr "Редагувати"
|
|
156 |
|
157 |
#: ../admin-views/events-meta-box.php:26
|
158 |
msgid "Event Time & Date"
|
159 |
-
msgstr "Дата
|
160 |
|
161 |
#: ../admin-views/events-meta-box.php:29
|
162 |
-
msgid "
|
163 |
-
|
|
|
|
|
|
|
164 |
|
165 |
#: ../admin-views/events-meta-box.php:32
|
166 |
msgid "All day event?"
|
167 |
-
msgstr "
|
168 |
|
169 |
#: ../admin-views/events-meta-box.php:36
|
170 |
msgid "Start Date / Time:"
|
171 |
msgstr "Дата / Час початку:"
|
172 |
|
173 |
-
#: ../admin-views/events-meta-box.php:39
|
174 |
-
#: ../admin-views/events-meta-box.php:60
|
175 |
msgid "YYYY-MM-DD"
|
176 |
msgstr "РРРР-ММ-ДД"
|
177 |
|
178 |
-
#: ../admin-views/events-meta-box.php:41
|
179 |
-
#: ../admin-views/events-meta-box.php:62
|
180 |
msgid "@"
|
181 |
msgstr "@"
|
182 |
|
183 |
#: ../admin-views/events-meta-box.php:57
|
184 |
msgid "End Date / Time:"
|
185 |
-
msgstr "
|
186 |
|
187 |
#: ../admin-views/events-meta-box.php:79
|
188 |
msgid "Event Location Details"
|
@@ -190,40 +183,45 @@ msgstr "Деталі місця проведення"
|
|
190 |
|
191 |
#: ../admin-views/events-meta-box.php:85
|
192 |
msgid "Show Google Maps Link:"
|
193 |
-
msgstr "Показати
|
194 |
|
195 |
#: ../admin-views/events-meta-box.php:92
|
196 |
msgid "Show Google Map:"
|
197 |
-
msgstr "Показати Google
|
198 |
|
199 |
#: ../admin-views/events-meta-box.php:101
|
200 |
msgid "Event Organizer Details"
|
201 |
-
msgstr "
|
202 |
|
203 |
#: ../admin-views/events-meta-box.php:110
|
204 |
msgid "Event Cost"
|
205 |
-
msgstr "Вартість
|
206 |
|
207 |
#: ../admin-views/events-meta-box.php:118
|
208 |
msgid "Leave blank to hide the field. Enter a 0 for events that are free."
|
209 |
-
msgstr "
|
|
|
210 |
|
211 |
#: ../admin-views/events-meta-box.php:124
|
212 |
msgid "Additional Functionality"
|
213 |
-
msgstr "Додаткові
|
214 |
|
215 |
#: ../admin-views/events-meta-box.php:129
|
216 |
-
msgid "
|
217 |
-
|
|
|
|
|
|
|
|
|
218 |
|
219 |
#: ../admin-views/events-meta-box.php:129
|
220 |
#, php-format
|
221 |
msgid "Check out the <a href=\"%s\">available Add-Ons</a>."
|
222 |
-
msgstr "
|
223 |
|
224 |
#: ../admin-views/venue-meta-box.php:12
|
225 |
msgid "Venue Name:"
|
226 |
-
msgstr "Місце
|
227 |
|
228 |
#: ../admin-views/venue-meta-box.php:23
|
229 |
msgid "City:"
|
@@ -235,11 +233,11 @@ msgstr "Країна:"
|
|
235 |
|
236 |
#: ../admin-views/venue-meta-box.php:52
|
237 |
msgid "State or Province:"
|
238 |
-
msgstr "
|
239 |
|
240 |
#: ../admin-views/venue-meta-box.php:55
|
241 |
msgid "Select a State:"
|
242 |
-
msgstr "
|
243 |
|
244 |
#: ../admin-views/venue-meta-box.php:69
|
245 |
msgid "Postal Code:"
|
@@ -247,15 +245,15 @@ msgstr "Поштовий індекс:"
|
|
247 |
|
248 |
#: ../admin-views/recurrence-dialog.php:11
|
249 |
msgid "Which events do you wish to update?"
|
250 |
-
msgstr "Яку подію ви
|
251 |
|
252 |
#: ../admin-views/recurrence-dialog.php:14
|
253 |
msgid "Select your desired action"
|
254 |
-
msgstr "
|
255 |
|
256 |
#: ../admin-views/event-sidebar-options.php:11
|
257 |
msgid "Hide From Upcoming Events List"
|
258 |
-
msgstr "Сховати
|
259 |
|
260 |
#: ../admin-views/events-options.php:47
|
261 |
#, php-format
|
@@ -268,41 +266,45 @@ msgstr "Потрібна допомога?"
|
|
268 |
|
269 |
#: ../admin-views/events-options.php:54
|
270 |
#, php-format
|
271 |
-
msgid "
|
272 |
-
|
|
|
|
|
|
|
|
|
273 |
|
274 |
#: ../admin-views/events-options.php:56
|
275 |
msgid "Here is the iCal feed URL for your events: "
|
276 |
-
msgstr "
|
277 |
|
278 |
#: ../admin-views/events-options.php:62
|
279 |
msgid "Settings"
|
280 |
msgstr "Налаштування"
|
281 |
|
282 |
-
#: ../admin-views/events-options.php:65
|
283 |
-
#: ../admin-views/events-options.php:69
|
284 |
msgid "Default View for the Events"
|
285 |
-
msgstr "Вигляд
|
286 |
|
287 |
-
#: ../admin-views/events-options.php:83
|
288 |
-
#: ../admin-views/events-options.php:87
|
289 |
#: ../admin-views/events-options.php:89
|
290 |
msgid "Show Comments"
|
291 |
msgstr "Показати коментарі"
|
292 |
|
293 |
-
#: ../admin-views/events-options.php:97
|
294 |
-
#: ../admin-views/events-options.php:101
|
295 |
msgid "Multiday Event Cutoff"
|
296 |
-
msgstr "
|
297 |
|
298 |
#: ../admin-views/events-options.php:115
|
299 |
-
msgid "
|
300 |
-
|
|
|
|
|
|
|
|
|
301 |
|
302 |
-
#: ../admin-views/events-options.php:120
|
303 |
-
#: ../admin-views/events-options.php:124
|
304 |
msgid "Enable Google Maps"
|
305 |
-
msgstr "Показувати
|
306 |
|
307 |
#: ../admin-views/events-options.php:130
|
308 |
msgid "Height"
|
@@ -317,57 +319,70 @@ msgid "(number or %)"
|
|
317 |
msgstr "(значення або %)"
|
318 |
|
319 |
#: ../admin-views/events-options.php:135
|
320 |
-
msgid "
|
321 |
-
|
|
|
|
|
322 |
|
323 |
-
#: ../admin-views/events-options.php:143
|
324 |
-
#: ../admin-views/events-options.php:145
|
325 |
msgid "Events URL slug"
|
326 |
msgstr "URL сторінки подій"
|
327 |
|
328 |
#: ../admin-views/events-options.php:146
|
329 |
msgid "The slug used for building the Events URL."
|
330 |
-
msgstr "Поле використовується для URL сторінки Календаря."
|
331 |
|
332 |
#: ../admin-views/events-options.php:146
|
333 |
#, php-format
|
334 |
msgid "Your current Events URL is <strong>%s</strong>"
|
335 |
-
msgstr "Ваш URL сторінки Календаря <strong>%s</strong>"
|
336 |
|
337 |
-
#: ../admin-views/events-options.php:150
|
338 |
-
#: ../admin-views/events-options.php:152
|
339 |
msgid "Single Event URL slug"
|
340 |
-
msgstr "URL сторінки
|
341 |
|
342 |
#: ../admin-views/events-options.php:153
|
343 |
msgid "The slug used for building a single Event URL."
|
344 |
-
msgstr "Поле використовується для URL сторінки
|
345 |
|
346 |
#: ../admin-views/events-options.php:154
|
347 |
#, php-format
|
348 |
-
msgid "
|
349 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
-
#: ../admin-views/events-options.php:159
|
352 |
-
#: ../admin-views/events-options.php:161
|
353 |
msgid "Debug"
|
354 |
-
msgstr "
|
355 |
|
356 |
#: ../admin-views/events-options.php:162
|
357 |
msgid "Debug Events display issues."
|
358 |
-
msgstr "
|
359 |
|
360 |
#: ../admin-views/events-options.php:163
|
361 |
#, php-format
|
362 |
-
msgid "
|
363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
|
365 |
#: ../admin-views/events-options.php:168
|
366 |
msgid "Theme Settings"
|
367 |
msgstr "Налаштування теми"
|
368 |
|
369 |
-
#: ../admin-views/events-options.php:171
|
370 |
-
#: ../admin-views/events-options.php:173
|
371 |
msgid "Events Template"
|
372 |
msgstr "Шаблон Календаря"
|
373 |
|
@@ -381,38 +396,44 @@ msgstr "Стандартний шаблон сторінки"
|
|
381 |
|
382 |
#: ../admin-views/events-options.php:179
|
383 |
msgid "Choose a page template to control the look and feel of your calendar."
|
384 |
-
msgstr "
|
385 |
|
386 |
-
#: ../admin-views/events-options.php:183
|
387 |
-
#: ../admin-views/events-options.php:185
|
388 |
#: ../admin-views/events-options.php:193
|
389 |
msgid "Add HTML before calendar"
|
390 |
-
msgstr "Додати HTML
|
391 |
|
392 |
#: ../admin-views/events-options.php:187
|
393 |
-
msgid "
|
394 |
-
|
|
|
|
|
|
|
|
|
395 |
|
396 |
#: ../admin-views/events-options.php:187
|
397 |
msgid "This is displayed directly after the header."
|
398 |
-
msgstr "
|
399 |
|
400 |
-
#: ../admin-views/events-options.php:187
|
401 |
-
#: ../admin-views/events-options.php:195
|
402 |
msgid "You may use (x)HTML."
|
403 |
-
msgstr "
|
404 |
|
405 |
#: ../admin-views/events-options.php:191
|
406 |
msgid "Add HTML after calendar"
|
407 |
-
msgstr "Додати HTML
|
408 |
|
409 |
#: ../admin-views/events-options.php:195
|
410 |
-
msgid "
|
411 |
-
|
|
|
|
|
|
|
|
|
412 |
|
413 |
#: ../admin-views/events-options.php:195
|
414 |
msgid "This is displayed directly above the footer."
|
415 |
-
msgstr "
|
416 |
|
417 |
#: ../admin-views/events-options.php:204
|
418 |
msgid "Save Changes"
|
@@ -420,7 +441,7 @@ msgstr "Зберегти зміни"
|
|
420 |
|
421 |
#: ../admin-views/widget-admin-list.php:11
|
422 |
msgid "Title:"
|
423 |
-
msgstr "
|
424 |
|
425 |
#: ../admin-views/widget-admin-list.php:16
|
426 |
msgid "Show:"
|
@@ -428,11 +449,15 @@ msgstr "Показати:"
|
|
428 |
|
429 |
#: ../admin-views/widget-admin-list.php:24
|
430 |
msgid "Show widget only if there are upcoming events:"
|
431 |
-
msgstr "
|
432 |
|
433 |
#: ../admin-views/widget-admin-list.php:30
|
434 |
-
msgid "
|
435 |
-
|
|
|
|
|
|
|
|
|
436 |
|
437 |
#: ../admin-views/organizer-meta-box.php:11
|
438 |
msgid "Organizer Name:"
|
@@ -445,15 +470,15 @@ msgstr "Вебсайт:"
|
|
445 |
#: ../lib/tribe-admin-events-list.class.php:159
|
446 |
#: ../lib/the-events-calendar.class.php:526
|
447 |
msgid "Event Categories"
|
448 |
-
msgstr "Категорії
|
449 |
|
450 |
#: ../lib/tribe-admin-events-list.class.php:164
|
451 |
msgid "Start Date"
|
452 |
-
msgstr "
|
453 |
|
454 |
#: ../lib/tribe-admin-events-list.class.php:165
|
455 |
msgid "End Date"
|
456 |
-
msgstr "
|
457 |
|
458 |
#: ../lib/tribe-admin-events-list.class.php:166
|
459 |
msgid "Recurring?"
|
@@ -461,7 +486,7 @@ msgstr "Періодичне?"
|
|
461 |
|
462 |
#: ../lib/tribe-admin-events-list.class.php:194
|
463 |
msgid "Yes"
|
464 |
-
msgstr "
|
465 |
|
466 |
#: ../lib/tribe-admin-events-list.class.php:194
|
467 |
msgid "No"
|
@@ -470,15 +495,14 @@ msgstr "Ні"
|
|
470 |
#: ../lib/tribe-admin-events-list.class.php:244
|
471 |
#, php-format
|
472 |
msgid "All %s"
|
473 |
-
msgstr "
|
474 |
|
475 |
#: ../lib/tribe-view-helpers.class.php:16
|
476 |
#: ../lib/tribe-view-helpers.class.php:33
|
477 |
msgid "Select a Country:"
|
478 |
-
msgstr "
|
479 |
|
480 |
-
#: ../lib/tribe-view-helpers.class.php:34
|
481 |
-
#: ../lib/template-tags.php:502
|
482 |
msgid "United States"
|
483 |
msgstr ""
|
484 |
|
@@ -1377,7 +1401,7 @@ msgstr ""
|
|
1377 |
|
1378 |
#: ../lib/tribe-view-helpers.class.php:258
|
1379 |
msgid "Ukraine"
|
1380 |
-
msgstr "
|
1381 |
|
1382 |
#: ../lib/tribe-view-helpers.class.php:259
|
1383 |
msgid "United Arab Emirates"
|
@@ -1658,30 +1682,38 @@ msgstr "місяць"
|
|
1658 |
|
1659 |
#: ../lib/the-events-calendar.class.php:219
|
1660 |
msgid "upcoming"
|
1661 |
-
msgstr "
|
1662 |
|
1663 |
#: ../lib/the-events-calendar.class.php:220
|
1664 |
msgid "past"
|
1665 |
-
msgstr "
|
1666 |
|
1667 |
#: ../lib/the-events-calendar.class.php:222
|
1668 |
msgid "venue"
|
1669 |
-
msgstr "місце
|
1670 |
|
1671 |
#: ../lib/the-events-calendar.class.php:232
|
1672 |
#, php-format
|
1673 |
msgid "Initializing Tribe Events on %s"
|
1674 |
-
msgstr "
|
1675 |
|
1676 |
#: ../lib/the-events-calendar.class.php:280
|
1677 |
#, php-format
|
1678 |
-
msgid "
|
1679 |
-
|
|
|
|
|
|
|
|
|
1680 |
|
1681 |
#: ../lib/the-events-calendar.class.php:283
|
1682 |
#, php-format
|
1683 |
-
msgid "
|
1684 |
-
|
|
|
|
|
|
|
|
|
1685 |
|
1686 |
#: ../lib/the-events-calendar.class.php:400
|
1687 |
msgid "Upcoming Events"
|
@@ -1689,7 +1721,7 @@ msgstr "Майбутні події"
|
|
1689 |
|
1690 |
#: ../lib/the-events-calendar.class.php:402
|
1691 |
msgid "Past Events"
|
1692 |
-
msgstr "
|
1693 |
|
1694 |
#: ../lib/the-events-calendar.class.php:406
|
1695 |
#, php-format
|
@@ -1702,7 +1734,7 @@ msgstr "Події цього місяця"
|
|
1702 |
|
1703 |
#: ../lib/the-events-calendar.class.php:422
|
1704 |
msgid "No description has been entered for this event."
|
1705 |
-
msgstr "
|
1706 |
|
1707 |
#: ../lib/the-events-calendar.class.php:487
|
1708 |
msgid "Events"
|
@@ -1716,7 +1748,7 @@ msgstr "Подія"
|
|
1716 |
#: ../lib/the-events-calendar.class.php:502
|
1717 |
#: ../lib/the-events-calendar.class.php:515
|
1718 |
msgid "Add New"
|
1719 |
-
msgstr "Додати"
|
1720 |
|
1721 |
#: ../lib/the-events-calendar.class.php:490
|
1722 |
msgid "Add New Event"
|
@@ -1732,7 +1764,7 @@ msgstr "Нова подія"
|
|
1732 |
|
1733 |
#: ../lib/the-events-calendar.class.php:493
|
1734 |
msgid "View Event"
|
1735 |
-
msgstr "Перегляд
|
1736 |
|
1737 |
#: ../lib/the-events-calendar.class.php:494
|
1738 |
msgid "Search Events"
|
@@ -1740,11 +1772,11 @@ msgstr "Пошук подій"
|
|
1740 |
|
1741 |
#: ../lib/the-events-calendar.class.php:495
|
1742 |
msgid "No events found"
|
1743 |
-
msgstr "
|
1744 |
|
1745 |
#: ../lib/the-events-calendar.class.php:496
|
1746 |
msgid "No events found in Trash"
|
1747 |
-
msgstr "
|
1748 |
|
1749 |
#: ../lib/the-events-calendar.class.php:500
|
1750 |
msgid "Venues"
|
@@ -1756,32 +1788,32 @@ msgstr "Місце проведення"
|
|
1756 |
|
1757 |
#: ../lib/the-events-calendar.class.php:503
|
1758 |
msgid "Add New Venue"
|
1759 |
-
msgstr "Додати місце
|
1760 |
|
1761 |
#: ../lib/the-events-calendar.class.php:504
|
1762 |
msgid "Edit Venue"
|
1763 |
-
msgstr "
|
1764 |
|
1765 |
#: ../lib/the-events-calendar.class.php:505
|
1766 |
msgid "New Venue"
|
1767 |
-
msgstr "Нове місце
|
1768 |
|
1769 |
#: ../lib/the-events-calendar.class.php:506
|
1770 |
#: ../lib/the-events-calendar.class.php:519
|
1771 |
msgid "View Venue"
|
1772 |
-
msgstr "
|
1773 |
|
1774 |
#: ../lib/the-events-calendar.class.php:507
|
1775 |
msgid "Search Venues"
|
1776 |
-
msgstr "
|
1777 |
|
1778 |
#: ../lib/the-events-calendar.class.php:508
|
1779 |
msgid "No venue found"
|
1780 |
-
msgstr "Місць
|
1781 |
|
1782 |
#: ../lib/the-events-calendar.class.php:509
|
1783 |
msgid "No venues found in Trash"
|
1784 |
-
msgstr "
|
1785 |
|
1786 |
#: ../lib/the-events-calendar.class.php:513
|
1787 |
msgid "Organizers"
|
@@ -1793,7 +1825,7 @@ msgstr "Організатор"
|
|
1793 |
|
1794 |
#: ../lib/the-events-calendar.class.php:516
|
1795 |
msgid "Add New Organizer"
|
1796 |
-
msgstr "Додати організатора"
|
1797 |
|
1798 |
#: ../lib/the-events-calendar.class.php:517
|
1799 |
msgid "Edit Organizer"
|
@@ -1805,96 +1837,101 @@ msgstr "Новий організатор"
|
|
1805 |
|
1806 |
#: ../lib/the-events-calendar.class.php:520
|
1807 |
msgid "Search Organizers"
|
1808 |
-
msgstr "
|
1809 |
|
1810 |
#: ../lib/the-events-calendar.class.php:521
|
1811 |
msgid "No organizer found"
|
1812 |
-
msgstr "
|
1813 |
|
1814 |
#: ../lib/the-events-calendar.class.php:522
|
1815 |
msgid "No organizers found in Trash"
|
1816 |
-
msgstr "
|
1817 |
|
1818 |
#: ../lib/the-events-calendar.class.php:527
|
1819 |
msgid "Event Category"
|
1820 |
-
msgstr "
|
1821 |
|
1822 |
#: ../lib/the-events-calendar.class.php:528
|
1823 |
msgid "Search Event Categories"
|
1824 |
-
msgstr "
|
1825 |
|
1826 |
#: ../lib/the-events-calendar.class.php:529
|
1827 |
msgid "All Event Categories"
|
1828 |
-
msgstr "
|
1829 |
|
1830 |
#: ../lib/the-events-calendar.class.php:530
|
1831 |
msgid "Parent Event Category"
|
1832 |
-
msgstr "
|
1833 |
|
1834 |
#: ../lib/the-events-calendar.class.php:531
|
1835 |
msgid "Parent Event Category:"
|
1836 |
-
msgstr "
|
1837 |
|
1838 |
#: ../lib/the-events-calendar.class.php:532
|
1839 |
msgid "Edit Event Category"
|
1840 |
-
msgstr "
|
1841 |
|
1842 |
#: ../lib/the-events-calendar.class.php:533
|
1843 |
msgid "Update Event Category"
|
1844 |
-
msgstr "
|
1845 |
|
1846 |
#: ../lib/the-events-calendar.class.php:534
|
1847 |
msgid "Add New Event Category"
|
1848 |
-
msgstr "
|
1849 |
|
1850 |
#: ../lib/the-events-calendar.class.php:535
|
1851 |
msgid "New Event Category Name"
|
1852 |
-
msgstr "
|
1853 |
|
1854 |
#: ../lib/the-events-calendar.class.php:545
|
1855 |
#, php-format
|
1856 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
1857 |
-
msgstr "
|
1858 |
|
1859 |
#: ../lib/the-events-calendar.class.php:546
|
1860 |
#: ../lib/the-events-calendar.class.php:563
|
1861 |
#: ../lib/the-events-calendar.class.php:580
|
1862 |
msgid "Custom field updated."
|
1863 |
-
msgstr "
|
1864 |
|
1865 |
#: ../lib/the-events-calendar.class.php:547
|
1866 |
#: ../lib/the-events-calendar.class.php:564
|
1867 |
#: ../lib/the-events-calendar.class.php:581
|
1868 |
msgid "Custom field deleted."
|
1869 |
-
msgstr "
|
1870 |
|
1871 |
#: ../lib/the-events-calendar.class.php:548
|
1872 |
msgid "Event updated."
|
1873 |
-
msgstr "
|
1874 |
|
1875 |
#: ../lib/the-events-calendar.class.php:550
|
1876 |
#, php-format
|
1877 |
msgid "Event restored to revision from %s"
|
1878 |
-
msgstr "
|
1879 |
|
1880 |
#: ../lib/the-events-calendar.class.php:551
|
1881 |
#, php-format
|
1882 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
1883 |
-
msgstr "
|
1884 |
|
1885 |
#: ../lib/the-events-calendar.class.php:552
|
1886 |
msgid "Event saved."
|
1887 |
-
msgstr "
|
1888 |
|
1889 |
#: ../lib/the-events-calendar.class.php:553
|
1890 |
#, php-format
|
1891 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1892 |
-
msgstr "
|
|
|
1893 |
|
1894 |
#: ../lib/the-events-calendar.class.php:554
|
1895 |
#, php-format
|
1896 |
-
msgid "
|
1897 |
-
|
|
|
|
|
|
|
|
|
1898 |
|
1899 |
#: ../lib/the-events-calendar.class.php:556
|
1900 |
#: ../lib/the-events-calendar.class.php:573
|
@@ -1905,91 +1942,110 @@ msgstr ""
|
|
1905 |
#: ../lib/the-events-calendar.class.php:557
|
1906 |
#, php-format
|
1907 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1908 |
-
msgstr "
|
|
|
|
|
1909 |
|
1910 |
#: ../lib/the-events-calendar.class.php:562
|
1911 |
#, php-format
|
1912 |
msgid "Venue updated. <a href=\"%s\">View venue</a>"
|
1913 |
-
msgstr "
|
1914 |
|
1915 |
#: ../lib/the-events-calendar.class.php:565
|
1916 |
msgid "Venue updated."
|
1917 |
-
msgstr "
|
1918 |
|
1919 |
#: ../lib/the-events-calendar.class.php:567
|
1920 |
#, php-format
|
1921 |
msgid "Venue restored to revision from %s"
|
1922 |
-
msgstr "
|
1923 |
|
1924 |
#: ../lib/the-events-calendar.class.php:568
|
1925 |
#, php-format
|
1926 |
msgid "Venue published. <a href=\"%s\">View venue</a>"
|
1927 |
-
msgstr "Место опубликовано. <a href=\"%s\"
|
1928 |
|
1929 |
#: ../lib/the-events-calendar.class.php:569
|
1930 |
msgid "Venue saved."
|
1931 |
-
msgstr "
|
1932 |
|
1933 |
#: ../lib/the-events-calendar.class.php:570
|
1934 |
#, php-format
|
1935 |
msgid "Venue submitted. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1936 |
-
msgstr "
|
1937 |
|
1938 |
#: ../lib/the-events-calendar.class.php:571
|
1939 |
#, php-format
|
1940 |
-
msgid "
|
1941 |
-
|
|
|
|
|
|
|
|
|
1942 |
|
1943 |
#: ../lib/the-events-calendar.class.php:574
|
1944 |
#, php-format
|
1945 |
msgid "Venue draft updated. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1946 |
-
msgstr "
|
|
|
|
|
1947 |
|
1948 |
#: ../lib/the-events-calendar.class.php:579
|
1949 |
#, php-format
|
1950 |
msgid "Organizer updated. <a href=\"%s\">View organizer</a>"
|
1951 |
-
msgstr "
|
1952 |
|
1953 |
#: ../lib/the-events-calendar.class.php:582
|
1954 |
msgid "Organizer updated."
|
1955 |
-
msgstr "
|
1956 |
|
1957 |
#: ../lib/the-events-calendar.class.php:584
|
1958 |
#, php-format
|
1959 |
msgid "Organizer restored to revision from %s"
|
1960 |
-
msgstr "
|
1961 |
|
1962 |
#: ../lib/the-events-calendar.class.php:585
|
1963 |
#, php-format
|
1964 |
msgid "Organizer published. <a href=\"%s\">View organizer</a>"
|
1965 |
-
msgstr "
|
1966 |
|
1967 |
#: ../lib/the-events-calendar.class.php:586
|
1968 |
msgid "Organizer saved."
|
1969 |
-
msgstr "
|
1970 |
|
1971 |
#: ../lib/the-events-calendar.class.php:587
|
1972 |
#, php-format
|
1973 |
-
msgid "
|
1974 |
-
|
|
|
|
|
|
|
1975 |
|
1976 |
#: ../lib/the-events-calendar.class.php:588
|
1977 |
#, php-format
|
1978 |
-
msgid "
|
1979 |
-
|
|
|
|
|
|
|
|
|
1980 |
|
1981 |
#: ../lib/the-events-calendar.class.php:591
|
1982 |
#, php-format
|
1983 |
-
msgid "
|
1984 |
-
|
|
|
|
|
|
|
|
|
1985 |
|
1986 |
#: ../lib/the-events-calendar.class.php:646
|
1987 |
msgid "Next"
|
1988 |
-
msgstr "
|
1989 |
|
1990 |
#: ../lib/the-events-calendar.class.php:647
|
1991 |
msgid "Prev"
|
1992 |
-
msgstr "
|
1993 |
|
1994 |
#: ../lib/the-events-calendar.class.php:648
|
1995 |
msgid "Today"
|
@@ -2001,11 +2057,11 @@ msgstr "Готово"
|
|
2001 |
|
2002 |
#: ../lib/the-events-calendar.class.php:1734
|
2003 |
msgid "Event Options"
|
2004 |
-
msgstr "
|
2005 |
|
2006 |
#: ../lib/the-events-calendar.class.php:1736
|
2007 |
msgid "Venue Information"
|
2008 |
-
msgstr "Інформація про
|
2009 |
|
2010 |
#: ../lib/the-events-calendar.class.php:1737
|
2011 |
msgid "Organizer Information"
|
@@ -2013,7 +2069,7 @@ msgstr "Інформація про Організатора"
|
|
2013 |
|
2014 |
#: ../lib/the-events-calendar.class.php:1839
|
2015 |
msgid "View All Add-Ons"
|
2016 |
-
msgstr "
|
2017 |
|
2018 |
#: ../lib/the-events-calendar.class.php:1846
|
2019 |
msgid "News from Tribe Pro"
|
@@ -2025,15 +2081,21 @@ msgstr ""
|
|
2025 |
|
2026 |
#: ../lib/tribe-the-events-calendar-import.class.php:45
|
2027 |
msgid "Upgrade from The Events Calendar"
|
2028 |
-
msgstr "
|
2029 |
|
2030 |
#: ../lib/tribe-the-events-calendar-import.class.php:46
|
2031 |
-
msgid "
|
2032 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2033 |
|
2034 |
#: ../lib/tribe-the-events-calendar-import.class.php:47
|
2035 |
msgid "Migrate Data!"
|
2036 |
-
msgstr "
|
2037 |
|
2038 |
#: ../lib/tribe-the-events-calendar-import.class.php:119
|
2039 |
#, php-format
|
@@ -2042,7 +2104,7 @@ msgstr "Ви успішно перенесли (%d) записів."
|
|
2042 |
|
2043 |
#: ../lib/tribe-the-events-calendar-import.class.php:189
|
2044 |
msgid "Install has 1 or more legacy event!"
|
2045 |
-
msgstr "
|
2046 |
|
2047 |
#: ../lib/template-tags.php:607
|
2048 |
msgid "Free"
|
@@ -2058,13 +2120,12 @@ msgstr "Категорія:"
|
|
2058 |
|
2059 |
#: ../lib/widget-list.class.php:16
|
2060 |
msgid "A widget that displays the next upcoming x events."
|
2061 |
-
msgstr "
|
2062 |
|
2063 |
#: ../lib/widget-list.class.php:70
|
2064 |
msgid "View All Events"
|
2065 |
-
msgstr "
|
2066 |
|
2067 |
#: ../lib/widget-list.class.php:73
|
2068 |
msgid "There are no upcoming events at this time."
|
2069 |
-
msgstr "На цей час немає
|
2070 |
-
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
"POT-Creation-Date: 2011-09-19 16:36-0500\n"
|
9 |
+
"PO-Revision-Date: 2012-10-15 11:52+0200\n"
|
10 |
+
"Last-Translator: Alexey <alexey@creative.kiev.ua>\n"
|
11 |
+
"Language-Team: decollete <olexiy.fedorov@gmail.com>\n"
|
12 |
+
"Language: uk_UA\n"
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
"X-Poedit-KeywordsList: __;_e\n"
|
18 |
"X-Poedit-Basepath: ./\n"
|
19 |
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
20 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
21 |
+
"X-Generator: Poedit 1.5.3\n"
|
22 |
"X-Poedit-SearchPath-0: ..\n"
|
23 |
|
24 |
+
#: ../views/list.php:16 ../views/gridview.php:37
|
|
|
25 |
msgid "Event List"
|
26 |
+
msgstr "Список"
|
27 |
|
28 |
+
#: ../views/list.php:17 ../views/gridview.php:38
|
|
|
29 |
msgid "Calendar"
|
30 |
msgstr "Календар"
|
31 |
|
32 |
+
#: ../views/list.php:42 ../views/single.php:17
|
|
|
33 |
msgid "Start:"
|
34 |
msgstr "Початок:"
|
35 |
|
36 |
+
#: ../views/list.php:46 ../views/single.php:20
|
|
|
37 |
msgid "End:"
|
38 |
+
msgstr "Закінчення:"
|
39 |
|
40 |
+
#: ../views/list.php:54 ../views/single.php:47
|
|
|
41 |
msgid "Venue:"
|
42 |
msgstr "Місце:"
|
43 |
|
44 |
+
#: ../views/list.php:63 ../views/single.php:33 ../views/single.php:51
|
|
|
|
|
45 |
#: ../admin-views/venue-meta-box.php:73
|
46 |
msgid "Phone:"
|
47 |
msgstr "Телефон:"
|
48 |
|
49 |
+
#: ../views/list.php:69 ../views/single.php:56
|
|
|
50 |
#: ../admin-views/venue-meta-box.php:19
|
51 |
msgid "Address:"
|
52 |
msgstr "Адреса:"
|
53 |
|
54 |
+
#: ../views/list.php:71 ../views/single.php:58
|
|
|
55 |
msgid "Google Map"
|
56 |
msgstr "Мапа Google"
|
57 |
|
58 |
+
#: ../views/list.php:81 ../views/single.php:24
|
|
|
59 |
#: ../admin-views/events-meta-box.php:113
|
60 |
msgid "Cost:"
|
61 |
msgstr "Вартість:"
|
62 |
|
63 |
#: ../views/list.php:95
|
64 |
#, php-format
|
65 |
+
msgid ""
|
66 |
+
" listed under %s. Check out past events for this category or view the full "
|
67 |
+
"calendar."
|
68 |
+
msgstr ""
|
69 |
+
"Представлений в %s. Відмітити попередні події в цій категорії або дивитись "
|
70 |
+
"весь календар."
|
71 |
|
72 |
#: ../views/list.php:97
|
73 |
#, php-format
|
74 |
+
msgid ""
|
75 |
+
" listed under %s. Check out upcoming events for this category or view the "
|
76 |
+
"full calendar."
|
77 |
+
msgstr ""
|
78 |
+
"Представлений в %s. Відмітити наступні події в цій категорії або дивитись "
|
79 |
+
"весь календар."
|
80 |
|
81 |
#: ../views/list.php:103
|
82 |
msgid "No upcoming events"
|
86 |
msgid "No previous events"
|
87 |
msgstr "Минулих подій немає"
|
88 |
|
89 |
+
#: ../views/list.php:120 ../views/list.php:122 ../views/list.php:124
|
|
|
|
|
90 |
msgid "« Previous Events"
|
91 |
+
msgstr "« Попередні події"
|
92 |
|
93 |
+
#: ../views/list.php:131 ../views/list.php:133 ../views/list.php:135
|
|
|
|
|
94 |
msgid "Next Events »"
|
95 |
+
msgstr "Наступні події »"
|
96 |
|
97 |
+
#: ../views/list.php:140 ../views/gridview.php:43 ../views/single.php:83
|
|
|
|
|
98 |
msgid "iCal Import"
|
99 |
+
msgstr "iCal імпорт"
|
100 |
|
101 |
#: ../views/table-mini.php:24
|
102 |
msgid "View all »"
|
103 |
+
msgstr "Подивитись все »"
|
104 |
|
105 |
#: ../views/single.php:13
|
106 |
msgid "« Back to Events"
|
107 |
+
msgstr " « Повернутися до подій"
|
108 |
|
109 |
#: ../views/single.php:14
|
110 |
msgid "This event has passed."
|
111 |
+
msgstr "Ця подія вже пройшла"
|
112 |
|
113 |
#: ../views/single.php:29
|
114 |
msgid "Organizer:"
|
124 |
|
125 |
#: ../views/single.php:58
|
126 |
msgid "Click to view a Google Map"
|
127 |
+
msgstr "Мапа Google"
|
128 |
|
129 |
#: ../views/single.php:86
|
130 |
msgid "Add to Google Calendar"
|
131 |
+
msgstr "Додати до Google Календаря"
|
132 |
|
133 |
#: ../views/single.php:86
|
134 |
msgid "+ Google Calendar"
|
136 |
|
137 |
#: ../views/events-list-load-widget-display.php:48
|
138 |
msgid "All Day"
|
139 |
+
msgstr "Весь день"
|
140 |
|
141 |
#: ../views/events-list-load-widget-display.php:51
|
142 |
msgid "Ends"
|
148 |
|
149 |
#: ../admin-views/events-meta-box.php:26
|
150 |
msgid "Event Time & Date"
|
151 |
+
msgstr "Дата та час події"
|
152 |
|
153 |
#: ../admin-views/events-meta-box.php:29
|
154 |
+
msgid ""
|
155 |
+
"You have changed the recurrence rules of this event. Saving the event will "
|
156 |
+
"update all future events. If you did not mean to change all events, then "
|
157 |
+
"please refresh the page."
|
158 |
+
msgstr "Ви змінили правило повторювання для цієї події. "
|
159 |
|
160 |
#: ../admin-views/events-meta-box.php:32
|
161 |
msgid "All day event?"
|
162 |
+
msgstr "Повний день?"
|
163 |
|
164 |
#: ../admin-views/events-meta-box.php:36
|
165 |
msgid "Start Date / Time:"
|
166 |
msgstr "Дата / Час початку:"
|
167 |
|
168 |
+
#: ../admin-views/events-meta-box.php:39 ../admin-views/events-meta-box.php:60
|
|
|
169 |
msgid "YYYY-MM-DD"
|
170 |
msgstr "РРРР-ММ-ДД"
|
171 |
|
172 |
+
#: ../admin-views/events-meta-box.php:41 ../admin-views/events-meta-box.php:62
|
|
|
173 |
msgid "@"
|
174 |
msgstr "@"
|
175 |
|
176 |
#: ../admin-views/events-meta-box.php:57
|
177 |
msgid "End Date / Time:"
|
178 |
+
msgstr "Дата/ Час завершення:"
|
179 |
|
180 |
#: ../admin-views/events-meta-box.php:79
|
181 |
msgid "Event Location Details"
|
183 |
|
184 |
#: ../admin-views/events-meta-box.php:85
|
185 |
msgid "Show Google Maps Link:"
|
186 |
+
msgstr "Показати лінк на мапу Google:"
|
187 |
|
188 |
#: ../admin-views/events-meta-box.php:92
|
189 |
msgid "Show Google Map:"
|
190 |
+
msgstr "Показати мапу Google:"
|
191 |
|
192 |
#: ../admin-views/events-meta-box.php:101
|
193 |
msgid "Event Organizer Details"
|
194 |
+
msgstr "Подробиці про організатора події"
|
195 |
|
196 |
#: ../admin-views/events-meta-box.php:110
|
197 |
msgid "Event Cost"
|
198 |
+
msgstr "Вартість"
|
199 |
|
200 |
#: ../admin-views/events-meta-box.php:118
|
201 |
msgid "Leave blank to hide the field. Enter a 0 for events that are free."
|
202 |
+
msgstr ""
|
203 |
+
"Не заповнюйте це поле, щоб його не показувати. Напишіть 0, якщо безкоштовно."
|
204 |
|
205 |
#: ../admin-views/events-meta-box.php:124
|
206 |
msgid "Additional Functionality"
|
207 |
+
msgstr "Додаткові налаштування"
|
208 |
|
209 |
#: ../admin-views/events-meta-box.php:129
|
210 |
+
msgid ""
|
211 |
+
"Looking for additional functionality including recurring events, custom "
|
212 |
+
"meta, community events, ticket sales and more?"
|
213 |
+
msgstr ""
|
214 |
+
"Необхідні додаткові можливості, включаючі повторні події, мета, громадські "
|
215 |
+
"події, продаж білетів і т.і.?"
|
216 |
|
217 |
#: ../admin-views/events-meta-box.php:129
|
218 |
#, php-format
|
219 |
msgid "Check out the <a href=\"%s\">available Add-Ons</a>."
|
220 |
+
msgstr "Подивіться на <a href=\"%s\">Додаткові можливості</a>."
|
221 |
|
222 |
#: ../admin-views/venue-meta-box.php:12
|
223 |
msgid "Venue Name:"
|
224 |
+
msgstr "Місце Події:"
|
225 |
|
226 |
#: ../admin-views/venue-meta-box.php:23
|
227 |
msgid "City:"
|
233 |
|
234 |
#: ../admin-views/venue-meta-box.php:52
|
235 |
msgid "State or Province:"
|
236 |
+
msgstr "Область:"
|
237 |
|
238 |
#: ../admin-views/venue-meta-box.php:55
|
239 |
msgid "Select a State:"
|
240 |
+
msgstr "Штат:"
|
241 |
|
242 |
#: ../admin-views/venue-meta-box.php:69
|
243 |
msgid "Postal Code:"
|
245 |
|
246 |
#: ../admin-views/recurrence-dialog.php:11
|
247 |
msgid "Which events do you wish to update?"
|
248 |
+
msgstr "Яку подію ви хочете оновити?"
|
249 |
|
250 |
#: ../admin-views/recurrence-dialog.php:14
|
251 |
msgid "Select your desired action"
|
252 |
+
msgstr "Обрати дію"
|
253 |
|
254 |
#: ../admin-views/event-sidebar-options.php:11
|
255 |
msgid "Hide From Upcoming Events List"
|
256 |
+
msgstr "Сховати у списку наступних подій"
|
257 |
|
258 |
#: ../admin-views/events-options.php:47
|
259 |
#, php-format
|
266 |
|
267 |
#: ../admin-views/events-options.php:54
|
268 |
#, php-format
|
269 |
+
msgid ""
|
270 |
+
"If you're stuck on these options, please <a href=\"%s\">check out the "
|
271 |
+
"documentation</a>. Or, go to the <a href=\"%s\">support forum</a>."
|
272 |
+
msgstr ""
|
273 |
+
"Якщо не знаєте, шо робити, будь ласка <a href=\"%s\">дивіться документацію</"
|
274 |
+
"a>. Або читайте <a href=\"%s\">Форум підтримки</a>."
|
275 |
|
276 |
#: ../admin-views/events-options.php:56
|
277 |
msgid "Here is the iCal feed URL for your events: "
|
278 |
+
msgstr "iCal feed URL для ваших подій:"
|
279 |
|
280 |
#: ../admin-views/events-options.php:62
|
281 |
msgid "Settings"
|
282 |
msgstr "Налаштування"
|
283 |
|
284 |
+
#: ../admin-views/events-options.php:65 ../admin-views/events-options.php:69
|
|
|
285 |
msgid "Default View for the Events"
|
286 |
+
msgstr "Вигляд за замовчуванням"
|
287 |
|
288 |
+
#: ../admin-views/events-options.php:83 ../admin-views/events-options.php:87
|
|
|
289 |
#: ../admin-views/events-options.php:89
|
290 |
msgid "Show Comments"
|
291 |
msgstr "Показати коментарі"
|
292 |
|
293 |
+
#: ../admin-views/events-options.php:97 ../admin-views/events-options.php:101
|
|
|
294 |
msgid "Multiday Event Cutoff"
|
295 |
+
msgstr "Завершення багатоденної події"
|
296 |
|
297 |
#: ../admin-views/events-options.php:115
|
298 |
+
msgid ""
|
299 |
+
"For multi-day events, hide the last day from grid view if it ends on or "
|
300 |
+
"before this time."
|
301 |
+
msgstr ""
|
302 |
+
"У випалку багатоденних подій не показувати останній день з календарного виду "
|
303 |
+
"подій, якщо вона закінчується до цього часу включно."
|
304 |
|
305 |
+
#: ../admin-views/events-options.php:120 ../admin-views/events-options.php:124
|
|
|
306 |
msgid "Enable Google Maps"
|
307 |
+
msgstr "Показувати мапи Google"
|
308 |
|
309 |
#: ../admin-views/events-options.php:130
|
310 |
msgid "Height"
|
319 |
msgstr "(значення або %)"
|
320 |
|
321 |
#: ../admin-views/events-options.php:135
|
322 |
+
msgid ""
|
323 |
+
"If you don't have this turned on, your event listings won't have the backend "
|
324 |
+
"map preview or frontend embedded map."
|
325 |
+
msgstr "Якщо це не увімкнуто, то мапу не буде показано у вашому списку подій."
|
326 |
|
327 |
+
#: ../admin-views/events-options.php:143 ../admin-views/events-options.php:145
|
|
|
328 |
msgid "Events URL slug"
|
329 |
msgstr "URL сторінки подій"
|
330 |
|
331 |
#: ../admin-views/events-options.php:146
|
332 |
msgid "The slug used for building the Events URL."
|
333 |
+
msgstr "Поле використовується для побудови URL сторінки Календаря."
|
334 |
|
335 |
#: ../admin-views/events-options.php:146
|
336 |
#, php-format
|
337 |
msgid "Your current Events URL is <strong>%s</strong>"
|
338 |
+
msgstr "Ваш поточний URL сторінки Календаря <strong>%s</strong>"
|
339 |
|
340 |
+
#: ../admin-views/events-options.php:150 ../admin-views/events-options.php:152
|
|
|
341 |
msgid "Single Event URL slug"
|
342 |
+
msgstr "URL сторінки події"
|
343 |
|
344 |
#: ../admin-views/events-options.php:153
|
345 |
msgid "The slug used for building a single Event URL."
|
346 |
+
msgstr "Поле використовується для побудови URL сторінки події"
|
347 |
|
348 |
#: ../admin-views/events-options.php:154
|
349 |
#, php-format
|
350 |
+
msgid ""
|
351 |
+
"<strong>NOTE:</strong> You <em>cannot</em> use the same slug as above. The "
|
352 |
+
"above should ideally be plural, and this singular.<br />Your single Event "
|
353 |
+
"URL is like: <strong>%s</strong>"
|
354 |
+
msgstr ""
|
355 |
+
"<strong>УВАГА:</strong> <em>Неможна</em> використовувати таке ж слово, як і "
|
356 |
+
"вище зазначене. В першому випадку рекомендується множина, в цьому — однина."
|
357 |
+
"<br /> URL сторінки події має вигляд: <strong>%s</strong>"
|
358 |
|
359 |
+
#: ../admin-views/events-options.php:159 ../admin-views/events-options.php:161
|
|
|
360 |
msgid "Debug"
|
361 |
+
msgstr "Відладка"
|
362 |
|
363 |
#: ../admin-views/events-options.php:162
|
364 |
msgid "Debug Events display issues."
|
365 |
+
msgstr "Відладка проблем відображення подій"
|
366 |
|
367 |
#: ../admin-views/events-options.php:163
|
368 |
#, php-format
|
369 |
+
msgid ""
|
370 |
+
"Enable this option to log debug information. By default this will log to "
|
371 |
+
"your server PHP error log. If you'd like to see the log messages in your "
|
372 |
+
"browser, then we recommend that you install the <a href=\"%s\" target="
|
373 |
+
"\"_blank\">Debug Bar Plugin</a> and look for the \"Tribe\" tab in the debug "
|
374 |
+
"output."
|
375 |
+
msgstr ""
|
376 |
+
"Підключити опцію для запису відладки. За замовчування буде записуватися PHP "
|
377 |
+
"error log сервера. Якщо ви бажаєте побачити всі записи повідомлень в "
|
378 |
+
"браузері, рекомендується встановити <a href=\"%s\" target=\"_blank\">Debug "
|
379 |
+
"Bar Plugin</a> і дивитись на \"Tribe\" вкладку."
|
380 |
|
381 |
#: ../admin-views/events-options.php:168
|
382 |
msgid "Theme Settings"
|
383 |
msgstr "Налаштування теми"
|
384 |
|
385 |
+
#: ../admin-views/events-options.php:171 ../admin-views/events-options.php:173
|
|
|
386 |
msgid "Events Template"
|
387 |
msgstr "Шаблон Календаря"
|
388 |
|
396 |
|
397 |
#: ../admin-views/events-options.php:179
|
398 |
msgid "Choose a page template to control the look and feel of your calendar."
|
399 |
+
msgstr "Оберіть шаблон для вашого календаря."
|
400 |
|
401 |
+
#: ../admin-views/events-options.php:183 ../admin-views/events-options.php:185
|
|
|
402 |
#: ../admin-views/events-options.php:193
|
403 |
msgid "Add HTML before calendar"
|
404 |
+
msgstr "Додати HTML перед календарем"
|
405 |
|
406 |
#: ../admin-views/events-options.php:187
|
407 |
+
msgid ""
|
408 |
+
"Some themes may require that you add extra divs before the calendar list to "
|
409 |
+
"help with styling."
|
410 |
+
msgstr ""
|
411 |
+
"Для деяких тем необхідно використовувати додаткові div-и до календаря для "
|
412 |
+
"покращенного форматування."
|
413 |
|
414 |
#: ../admin-views/events-options.php:187
|
415 |
msgid "This is displayed directly after the header."
|
416 |
+
msgstr "Це відображається одразу після заголовка."
|
417 |
|
418 |
+
#: ../admin-views/events-options.php:187 ../admin-views/events-options.php:195
|
|
|
419 |
msgid "You may use (x)HTML."
|
420 |
+
msgstr "Можна використовувати (x)HTML."
|
421 |
|
422 |
#: ../admin-views/events-options.php:191
|
423 |
msgid "Add HTML after calendar"
|
424 |
+
msgstr "Додати HTML післе календаря"
|
425 |
|
426 |
#: ../admin-views/events-options.php:195
|
427 |
+
msgid ""
|
428 |
+
"Some themes may require that you add extra divs after the calendar list to "
|
429 |
+
"help with styling."
|
430 |
+
msgstr ""
|
431 |
+
"Для деяких тем необхідно використовувати додаткові div-и після календаря для "
|
432 |
+
"покращеного форматування."
|
433 |
|
434 |
#: ../admin-views/events-options.php:195
|
435 |
msgid "This is displayed directly above the footer."
|
436 |
+
msgstr "Це відображається перед нижнім колонтитулом."
|
437 |
|
438 |
#: ../admin-views/events-options.php:204
|
439 |
msgid "Save Changes"
|
441 |
|
442 |
#: ../admin-views/widget-admin-list.php:11
|
443 |
msgid "Title:"
|
444 |
+
msgstr "Заголовок:"
|
445 |
|
446 |
#: ../admin-views/widget-admin-list.php:16
|
447 |
msgid "Show:"
|
449 |
|
450 |
#: ../admin-views/widget-admin-list.php:24
|
451 |
msgid "Show widget only if there are upcoming events:"
|
452 |
+
msgstr "Показувати віджет, тільки якщо є майбутні події:"
|
453 |
|
454 |
#: ../admin-views/widget-admin-list.php:30
|
455 |
+
msgid ""
|
456 |
+
"If you wish to customize the widget display yourself, see the file views/"
|
457 |
+
"events-list-load-widget-display.php inside the Events Premium plugin."
|
458 |
+
msgstr ""
|
459 |
+
"Якщо ви бажаєте змінити вигляд віджету, дивіться файл views/events-list-load-"
|
460 |
+
"widget-display.php у Преміум-версії плагіна"
|
461 |
|
462 |
#: ../admin-views/organizer-meta-box.php:11
|
463 |
msgid "Organizer Name:"
|
470 |
#: ../lib/tribe-admin-events-list.class.php:159
|
471 |
#: ../lib/the-events-calendar.class.php:526
|
472 |
msgid "Event Categories"
|
473 |
+
msgstr "Категорії Подій"
|
474 |
|
475 |
#: ../lib/tribe-admin-events-list.class.php:164
|
476 |
msgid "Start Date"
|
477 |
+
msgstr "Початок"
|
478 |
|
479 |
#: ../lib/tribe-admin-events-list.class.php:165
|
480 |
msgid "End Date"
|
481 |
+
msgstr "Закінчення"
|
482 |
|
483 |
#: ../lib/tribe-admin-events-list.class.php:166
|
484 |
msgid "Recurring?"
|
486 |
|
487 |
#: ../lib/tribe-admin-events-list.class.php:194
|
488 |
msgid "Yes"
|
489 |
+
msgstr "Так"
|
490 |
|
491 |
#: ../lib/tribe-admin-events-list.class.php:194
|
492 |
msgid "No"
|
495 |
#: ../lib/tribe-admin-events-list.class.php:244
|
496 |
#, php-format
|
497 |
msgid "All %s"
|
498 |
+
msgstr "Все %s"
|
499 |
|
500 |
#: ../lib/tribe-view-helpers.class.php:16
|
501 |
#: ../lib/tribe-view-helpers.class.php:33
|
502 |
msgid "Select a Country:"
|
503 |
+
msgstr "Вибір країни:"
|
504 |
|
505 |
+
#: ../lib/tribe-view-helpers.class.php:34 ../lib/template-tags.php:502
|
|
|
506 |
msgid "United States"
|
507 |
msgstr ""
|
508 |
|
1401 |
|
1402 |
#: ../lib/tribe-view-helpers.class.php:258
|
1403 |
msgid "Ukraine"
|
1404 |
+
msgstr ""
|
1405 |
|
1406 |
#: ../lib/tribe-view-helpers.class.php:259
|
1407 |
msgid "United Arab Emirates"
|
1682 |
|
1683 |
#: ../lib/the-events-calendar.class.php:219
|
1684 |
msgid "upcoming"
|
1685 |
+
msgstr "майбутні"
|
1686 |
|
1687 |
#: ../lib/the-events-calendar.class.php:220
|
1688 |
msgid "past"
|
1689 |
+
msgstr "попередні"
|
1690 |
|
1691 |
#: ../lib/the-events-calendar.class.php:222
|
1692 |
msgid "venue"
|
1693 |
+
msgstr "місце"
|
1694 |
|
1695 |
#: ../lib/the-events-calendar.class.php:232
|
1696 |
#, php-format
|
1697 |
msgid "Initializing Tribe Events on %s"
|
1698 |
+
msgstr "Ініциалізація Tribe Подій на %s"
|
1699 |
|
1700 |
#: ../lib/the-events-calendar.class.php:280
|
1701 |
#, php-format
|
1702 |
+
msgid ""
|
1703 |
+
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
1704 |
+
"your WordPress install."
|
1705 |
+
msgstr ""
|
1706 |
+
"Вибачте, Календар Подій потребує WordPress %s або новішого. Будь ласка "
|
1707 |
+
"оновіть WordPress."
|
1708 |
|
1709 |
#: ../lib/the-events-calendar.class.php:283
|
1710 |
#, php-format
|
1711 |
+
msgid ""
|
1712 |
+
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
1713 |
+
"about moving you to a newer version of PHP."
|
1714 |
+
msgstr ""
|
1715 |
+
"Вибачте, Календар Подій потребує PHP %s або новішого. Будь ласка зв'яжіться "
|
1716 |
+
"з вашим хостером для оновлення версії PHP."
|
1717 |
|
1718 |
#: ../lib/the-events-calendar.class.php:400
|
1719 |
msgid "Upcoming Events"
|
1721 |
|
1722 |
#: ../lib/the-events-calendar.class.php:402
|
1723 |
msgid "Past Events"
|
1724 |
+
msgstr "Попередні події"
|
1725 |
|
1726 |
#: ../lib/the-events-calendar.class.php:406
|
1727 |
#, php-format
|
1734 |
|
1735 |
#: ../lib/the-events-calendar.class.php:422
|
1736 |
msgid "No description has been entered for this event."
|
1737 |
+
msgstr "Для цієї події немає опису."
|
1738 |
|
1739 |
#: ../lib/the-events-calendar.class.php:487
|
1740 |
msgid "Events"
|
1748 |
#: ../lib/the-events-calendar.class.php:502
|
1749 |
#: ../lib/the-events-calendar.class.php:515
|
1750 |
msgid "Add New"
|
1751 |
+
msgstr "Додати нову"
|
1752 |
|
1753 |
#: ../lib/the-events-calendar.class.php:490
|
1754 |
msgid "Add New Event"
|
1764 |
|
1765 |
#: ../lib/the-events-calendar.class.php:493
|
1766 |
msgid "View Event"
|
1767 |
+
msgstr "Перегляд події"
|
1768 |
|
1769 |
#: ../lib/the-events-calendar.class.php:494
|
1770 |
msgid "Search Events"
|
1772 |
|
1773 |
#: ../lib/the-events-calendar.class.php:495
|
1774 |
msgid "No events found"
|
1775 |
+
msgstr "Подій не знайдено"
|
1776 |
|
1777 |
#: ../lib/the-events-calendar.class.php:496
|
1778 |
msgid "No events found in Trash"
|
1779 |
+
msgstr "В мусорці подій не знайдено"
|
1780 |
|
1781 |
#: ../lib/the-events-calendar.class.php:500
|
1782 |
msgid "Venues"
|
1788 |
|
1789 |
#: ../lib/the-events-calendar.class.php:503
|
1790 |
msgid "Add New Venue"
|
1791 |
+
msgstr "Додати нове місце"
|
1792 |
|
1793 |
#: ../lib/the-events-calendar.class.php:504
|
1794 |
msgid "Edit Venue"
|
1795 |
+
msgstr "Редагувати місце"
|
1796 |
|
1797 |
#: ../lib/the-events-calendar.class.php:505
|
1798 |
msgid "New Venue"
|
1799 |
+
msgstr "Нове місце"
|
1800 |
|
1801 |
#: ../lib/the-events-calendar.class.php:506
|
1802 |
#: ../lib/the-events-calendar.class.php:519
|
1803 |
msgid "View Venue"
|
1804 |
+
msgstr "Перегляд місця"
|
1805 |
|
1806 |
#: ../lib/the-events-calendar.class.php:507
|
1807 |
msgid "Search Venues"
|
1808 |
+
msgstr "Шукати місця"
|
1809 |
|
1810 |
#: ../lib/the-events-calendar.class.php:508
|
1811 |
msgid "No venue found"
|
1812 |
+
msgstr "Місць не знайдено"
|
1813 |
|
1814 |
#: ../lib/the-events-calendar.class.php:509
|
1815 |
msgid "No venues found in Trash"
|
1816 |
+
msgstr "У мусорці місць не знайдено"
|
1817 |
|
1818 |
#: ../lib/the-events-calendar.class.php:513
|
1819 |
msgid "Organizers"
|
1825 |
|
1826 |
#: ../lib/the-events-calendar.class.php:516
|
1827 |
msgid "Add New Organizer"
|
1828 |
+
msgstr "Додати нового організатора"
|
1829 |
|
1830 |
#: ../lib/the-events-calendar.class.php:517
|
1831 |
msgid "Edit Organizer"
|
1837 |
|
1838 |
#: ../lib/the-events-calendar.class.php:520
|
1839 |
msgid "Search Organizers"
|
1840 |
+
msgstr "Искать организаторов"
|
1841 |
|
1842 |
#: ../lib/the-events-calendar.class.php:521
|
1843 |
msgid "No organizer found"
|
1844 |
+
msgstr "Организаторов не найдено"
|
1845 |
|
1846 |
#: ../lib/the-events-calendar.class.php:522
|
1847 |
msgid "No organizers found in Trash"
|
1848 |
+
msgstr "Организаторов в корзине не найдено"
|
1849 |
|
1850 |
#: ../lib/the-events-calendar.class.php:527
|
1851 |
msgid "Event Category"
|
1852 |
+
msgstr "Категория события"
|
1853 |
|
1854 |
#: ../lib/the-events-calendar.class.php:528
|
1855 |
msgid "Search Event Categories"
|
1856 |
+
msgstr "Поиск событий по категориям"
|
1857 |
|
1858 |
#: ../lib/the-events-calendar.class.php:529
|
1859 |
msgid "All Event Categories"
|
1860 |
+
msgstr "Все категории событий"
|
1861 |
|
1862 |
#: ../lib/the-events-calendar.class.php:530
|
1863 |
msgid "Parent Event Category"
|
1864 |
+
msgstr "Основная категория"
|
1865 |
|
1866 |
#: ../lib/the-events-calendar.class.php:531
|
1867 |
msgid "Parent Event Category:"
|
1868 |
+
msgstr "Родительская категория событий:"
|
1869 |
|
1870 |
#: ../lib/the-events-calendar.class.php:532
|
1871 |
msgid "Edit Event Category"
|
1872 |
+
msgstr "Редактировать категорию"
|
1873 |
|
1874 |
#: ../lib/the-events-calendar.class.php:533
|
1875 |
msgid "Update Event Category"
|
1876 |
+
msgstr "Обновить категорию"
|
1877 |
|
1878 |
#: ../lib/the-events-calendar.class.php:534
|
1879 |
msgid "Add New Event Category"
|
1880 |
+
msgstr "Добавить новую категорию событий"
|
1881 |
|
1882 |
#: ../lib/the-events-calendar.class.php:535
|
1883 |
msgid "New Event Category Name"
|
1884 |
+
msgstr "Имя категории нового события"
|
1885 |
|
1886 |
#: ../lib/the-events-calendar.class.php:545
|
1887 |
#, php-format
|
1888 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
1889 |
+
msgstr "Событие обновлено. <a href=\"%s\">Показать событие</a>"
|
1890 |
|
1891 |
#: ../lib/the-events-calendar.class.php:546
|
1892 |
#: ../lib/the-events-calendar.class.php:563
|
1893 |
#: ../lib/the-events-calendar.class.php:580
|
1894 |
msgid "Custom field updated."
|
1895 |
+
msgstr "Пользовательское поле обновлено "
|
1896 |
|
1897 |
#: ../lib/the-events-calendar.class.php:547
|
1898 |
#: ../lib/the-events-calendar.class.php:564
|
1899 |
#: ../lib/the-events-calendar.class.php:581
|
1900 |
msgid "Custom field deleted."
|
1901 |
+
msgstr "Пользовательское поле удалено"
|
1902 |
|
1903 |
#: ../lib/the-events-calendar.class.php:548
|
1904 |
msgid "Event updated."
|
1905 |
+
msgstr "Событие обновлено"
|
1906 |
|
1907 |
#: ../lib/the-events-calendar.class.php:550
|
1908 |
#, php-format
|
1909 |
msgid "Event restored to revision from %s"
|
1910 |
+
msgstr "Событие восстановлено для ревизии из %s"
|
1911 |
|
1912 |
#: ../lib/the-events-calendar.class.php:551
|
1913 |
#, php-format
|
1914 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
1915 |
+
msgstr "Событие опубликовано. <a href=\"%s\">Показать событие</a>"
|
1916 |
|
1917 |
#: ../lib/the-events-calendar.class.php:552
|
1918 |
msgid "Event saved."
|
1919 |
+
msgstr "Событие сохранено"
|
1920 |
|
1921 |
#: ../lib/the-events-calendar.class.php:553
|
1922 |
#, php-format
|
1923 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1924 |
+
msgstr ""
|
1925 |
+
"Событие отправлено. <a target=\"_blank\" href=\"%s\">Предосмотр события</a>"
|
1926 |
|
1927 |
#: ../lib/the-events-calendar.class.php:554
|
1928 |
#, php-format
|
1929 |
+
msgid ""
|
1930 |
+
"Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1931 |
+
"\">Preview event</a>"
|
1932 |
+
msgstr ""
|
1933 |
+
"Событие назначено для: <strong>%1$s</strong>. <a target=\"_blank\" href="
|
1934 |
+
"\"%2$s\">Предосмотр события</a>"
|
1935 |
|
1936 |
#: ../lib/the-events-calendar.class.php:556
|
1937 |
#: ../lib/the-events-calendar.class.php:573
|
1942 |
#: ../lib/the-events-calendar.class.php:557
|
1943 |
#, php-format
|
1944 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1945 |
+
msgstr ""
|
1946 |
+
"Черновик события обновлен. <a target=\"_blank\" href=\"%s\">Предосмотр "
|
1947 |
+
"события</a>"
|
1948 |
|
1949 |
#: ../lib/the-events-calendar.class.php:562
|
1950 |
#, php-format
|
1951 |
msgid "Venue updated. <a href=\"%s\">View venue</a>"
|
1952 |
+
msgstr "Место обновлено <a href=\"%s\">Показать место</a>"
|
1953 |
|
1954 |
#: ../lib/the-events-calendar.class.php:565
|
1955 |
msgid "Venue updated."
|
1956 |
+
msgstr "Место обновлено."
|
1957 |
|
1958 |
#: ../lib/the-events-calendar.class.php:567
|
1959 |
#, php-format
|
1960 |
msgid "Venue restored to revision from %s"
|
1961 |
+
msgstr "Место восстановлено для ревизии от %s"
|
1962 |
|
1963 |
#: ../lib/the-events-calendar.class.php:568
|
1964 |
#, php-format
|
1965 |
msgid "Venue published. <a href=\"%s\">View venue</a>"
|
1966 |
+
msgstr "Место опубликовано. <a href=\"%s\">Показать место</a>"
|
1967 |
|
1968 |
#: ../lib/the-events-calendar.class.php:569
|
1969 |
msgid "Venue saved."
|
1970 |
+
msgstr "Место сохранено."
|
1971 |
|
1972 |
#: ../lib/the-events-calendar.class.php:570
|
1973 |
#, php-format
|
1974 |
msgid "Venue submitted. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1975 |
+
msgstr "Место отправлено <a target=\"_blank\" href=\"%s\">Преосмотр места</a>"
|
1976 |
|
1977 |
#: ../lib/the-events-calendar.class.php:571
|
1978 |
#, php-format
|
1979 |
+
msgid ""
|
1980 |
+
"Venue scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1981 |
+
"\">Preview venue</a>"
|
1982 |
+
msgstr ""
|
1983 |
+
"Место поставлено в расписание для: <strong>%1$s</strong>. <a target=\"_blank"
|
1984 |
+
"\" href=\"%2$s\">Предосмотр места</a>"
|
1985 |
|
1986 |
#: ../lib/the-events-calendar.class.php:574
|
1987 |
#, php-format
|
1988 |
msgid "Venue draft updated. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1989 |
+
msgstr ""
|
1990 |
+
"Черновик места обновлен. <a target=\"_blank\" href=\"%s\">Предосмотр места</"
|
1991 |
+
"a>"
|
1992 |
|
1993 |
#: ../lib/the-events-calendar.class.php:579
|
1994 |
#, php-format
|
1995 |
msgid "Organizer updated. <a href=\"%s\">View organizer</a>"
|
1996 |
+
msgstr "Организато обновлен. <a href=\"%s\">Просмотр Организатораr</a>"
|
1997 |
|
1998 |
#: ../lib/the-events-calendar.class.php:582
|
1999 |
msgid "Organizer updated."
|
2000 |
+
msgstr "Организатор обновлен."
|
2001 |
|
2002 |
#: ../lib/the-events-calendar.class.php:584
|
2003 |
#, php-format
|
2004 |
msgid "Organizer restored to revision from %s"
|
2005 |
+
msgstr "Организатор восстановлен для версии %s"
|
2006 |
|
2007 |
#: ../lib/the-events-calendar.class.php:585
|
2008 |
#, php-format
|
2009 |
msgid "Organizer published. <a href=\"%s\">View organizer</a>"
|
2010 |
+
msgstr "Организатор опубликован. <a href=\"%s\">Просмотр Организатораr</a>"
|
2011 |
|
2012 |
#: ../lib/the-events-calendar.class.php:586
|
2013 |
msgid "Organizer saved."
|
2014 |
+
msgstr "Организатор сохранен."
|
2015 |
|
2016 |
#: ../lib/the-events-calendar.class.php:587
|
2017 |
#, php-format
|
2018 |
+
msgid ""
|
2019 |
+
"Organizer submitted. <a target=\"_blank\" href=\"%s\">Preview organizer</a>"
|
2020 |
+
msgstr ""
|
2021 |
+
"Организатор отправлен. <a target=\"_blank\" href=\"%s\">Просмотр "
|
2022 |
+
"организатораr</a>"
|
2023 |
|
2024 |
#: ../lib/the-events-calendar.class.php:588
|
2025 |
#, php-format
|
2026 |
+
msgid ""
|
2027 |
+
"Organizer scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href="
|
2028 |
+
"\"%2$s\">Preview organizer</a>"
|
2029 |
+
msgstr ""
|
2030 |
+
"Организатор поставлен в расписание: <strong>%1$s</strong>. <a target=\"_blank"
|
2031 |
+
"\" href=\"%2$s\">Просмотр организатора</a>"
|
2032 |
|
2033 |
#: ../lib/the-events-calendar.class.php:591
|
2034 |
#, php-format
|
2035 |
+
msgid ""
|
2036 |
+
"Organizer draft updated. <a target=\"_blank\" href=\"%s\">Preview organizer</"
|
2037 |
+
"a>"
|
2038 |
+
msgstr ""
|
2039 |
+
"Черновик организатора обновлен. <a target=\"_blank\" href=\"%s\">Просмотр "
|
2040 |
+
"организатора</a>"
|
2041 |
|
2042 |
#: ../lib/the-events-calendar.class.php:646
|
2043 |
msgid "Next"
|
2044 |
+
msgstr "Наступний"
|
2045 |
|
2046 |
#: ../lib/the-events-calendar.class.php:647
|
2047 |
msgid "Prev"
|
2048 |
+
msgstr "Попередній"
|
2049 |
|
2050 |
#: ../lib/the-events-calendar.class.php:648
|
2051 |
msgid "Today"
|
2057 |
|
2058 |
#: ../lib/the-events-calendar.class.php:1734
|
2059 |
msgid "Event Options"
|
2060 |
+
msgstr "Налаштування Події"
|
2061 |
|
2062 |
#: ../lib/the-events-calendar.class.php:1736
|
2063 |
msgid "Venue Information"
|
2064 |
+
msgstr "Інформація про Місце"
|
2065 |
|
2066 |
#: ../lib/the-events-calendar.class.php:1737
|
2067 |
msgid "Organizer Information"
|
2069 |
|
2070 |
#: ../lib/the-events-calendar.class.php:1839
|
2071 |
msgid "View All Add-Ons"
|
2072 |
+
msgstr "Подивитись усі Додаткові функції"
|
2073 |
|
2074 |
#: ../lib/the-events-calendar.class.php:1846
|
2075 |
msgid "News from Tribe Pro"
|
2081 |
|
2082 |
#: ../lib/tribe-the-events-calendar-import.class.php:45
|
2083 |
msgid "Upgrade from The Events Calendar"
|
2084 |
+
msgstr "Апгрейд Календаря подій"
|
2085 |
|
2086 |
#: ../lib/tribe-the-events-calendar-import.class.php:46
|
2087 |
+
msgid ""
|
2088 |
+
"It appears that you have some old events calendar data that needs to be "
|
2089 |
+
"upgraded. Please be sure to back up your database before initiating the "
|
2090 |
+
"upgrade. This process can not be undone."
|
2091 |
+
msgstr ""
|
2092 |
+
"Мабуть у вас є старі події, що потребують оновлення. Будь ласка зробіть "
|
2093 |
+
"бекап бази даних перед початком апгрейду. Цей процес буде неможливо "
|
2094 |
+
"відмінити."
|
2095 |
|
2096 |
#: ../lib/tribe-the-events-calendar-import.class.php:47
|
2097 |
msgid "Migrate Data!"
|
2098 |
+
msgstr "Пренести Данні."
|
2099 |
|
2100 |
#: ../lib/tribe-the-events-calendar-import.class.php:119
|
2101 |
#, php-format
|
2104 |
|
2105 |
#: ../lib/tribe-the-events-calendar-import.class.php:189
|
2106 |
msgid "Install has 1 or more legacy event!"
|
2107 |
+
msgstr "Є застарілі події."
|
2108 |
|
2109 |
#: ../lib/template-tags.php:607
|
2110 |
msgid "Free"
|
2120 |
|
2121 |
#: ../lib/widget-list.class.php:16
|
2122 |
msgid "A widget that displays the next upcoming x events."
|
2123 |
+
msgstr "Віджет показує x наступних подій."
|
2124 |
|
2125 |
#: ../lib/widget-list.class.php:70
|
2126 |
msgid "View All Events"
|
2127 |
+
msgstr "Всі події"
|
2128 |
|
2129 |
#: ../lib/widget-list.class.php:73
|
2130 |
msgid "There are no upcoming events at this time."
|
2131 |
+
msgstr "На цей час немає подій, що очікуються."
|
|
lang/tribe-events-calendar.pot
CHANGED
@@ -5,8 +5,8 @@ msgid ""
|
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
-
"POT-Creation-Date: 2012-
|
9 |
-
"PO-Revision-Date: 2012-
|
10 |
"Last-Translator: Paul Hughes <paul@paulalexanderhughes.com>\n"
|
11 |
"Language-Team: Modern Tribe, Inc.\n"
|
12 |
"Language: en_US\n"
|
@@ -16,6 +16,7 @@ msgstr ""
|
|
16 |
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
"X-Poedit-KeywordsList: __;_e\n"
|
18 |
"X-Poedit-Basepath: ./\n"
|
|
|
19 |
"X-Poedit-SearchPath-0: ..\n"
|
20 |
|
21 |
#: ../admin-views/app-shop.php:4
|
@@ -70,6 +71,8 @@ msgid "YYYY-MM-DD"
|
|
70 |
msgstr ""
|
71 |
|
72 |
#: ../admin-views/events-meta-box.php:41 ../admin-views/events-meta-box.php:62
|
|
|
|
|
73 |
msgid "@"
|
74 |
msgstr ""
|
75 |
|
@@ -93,16 +96,16 @@ msgstr ""
|
|
93 |
msgid "Event Organizer Details"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: ../admin-views/events-meta-box.php:
|
97 |
msgid "Event Cost"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../admin-views/events-meta-box.php:
|
101 |
#: ../views/single.php:31
|
102 |
msgid "Cost:"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: ../admin-views/events-meta-box.php:
|
106 |
msgid "Leave blank to hide the field. Enter a 0 for events that are free."
|
107 |
msgstr ""
|
108 |
|
@@ -164,6 +167,70 @@ msgstr ""
|
|
164 |
msgid "All future events in the series will be deleted."
|
165 |
msgstr ""
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
#: ../admin-views/tribe-options-general.php:19
|
168 |
msgid "Finding & extending your calendar."
|
169 |
msgstr ""
|
@@ -181,7 +248,7 @@ msgid "Right here"
|
|
181 |
msgstr ""
|
182 |
|
183 |
#: ../admin-views/tribe-options-general.php:33
|
184 |
-
#: ../lib/the-events-calendar.class.php:
|
185 |
msgid ""
|
186 |
"Looking for additional functionality including recurring events, custom "
|
187 |
"meta, community events, ticket sales and more?"
|
@@ -395,9 +462,9 @@ msgid "FAQ"
|
|
395 |
msgstr ""
|
396 |
|
397 |
#: ../admin-views/tribe-options-help.php:90
|
398 |
-
#: ../lib/the-events-calendar.class.php:
|
399 |
-
#: ../lib/the-events-calendar.class.php:
|
400 |
-
#: ../lib/the-events-calendar.class.php:
|
401 |
msgid "Help"
|
402 |
msgstr ""
|
403 |
|
@@ -528,7 +595,7 @@ msgid "Still Not Satisfied?"
|
|
528 |
msgstr ""
|
529 |
|
530 |
#: ../admin-views/tribe-options-help.php:156
|
531 |
-
#: ../lib/the-events-calendar.class.php:
|
532 |
#: ../lib/tribe-settings.class.php:129
|
533 |
msgid "The Events Calendar"
|
534 |
msgstr ""
|
@@ -687,43 +754,45 @@ msgstr ""
|
|
687 |
msgid "Want to modify the display of this widget? Try a %stemplate override%s."
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: ../lib/the-events-calendar.class.php:
|
|
|
691 |
msgid "category"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: ../lib/the-events-calendar.class.php:
|
|
|
695 |
msgid "tag"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: ../lib/the-events-calendar.class.php:
|
699 |
msgid "month"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: ../lib/the-events-calendar.class.php:
|
703 |
msgid "upcoming"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: ../lib/the-events-calendar.class.php:
|
707 |
msgid "past"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: ../lib/the-events-calendar.class.php:
|
711 |
msgid "venue"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: ../lib/the-events-calendar.class.php:
|
715 |
#, php-format
|
716 |
msgid "Initializing Tribe Events on %s"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: ../lib/the-events-calendar.class.php:
|
720 |
#, php-format
|
721 |
msgid ""
|
722 |
"Your version of The Events Calendar is not up-to-date with one of your The "
|
723 |
"Events Calendar add-ons. Please %supdate now.%s"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: ../lib/the-events-calendar.class.php:
|
727 |
#, php-format
|
728 |
msgid ""
|
729 |
"The following plugins are out of date: <b>%s</b>. Please %supdate now%s. All "
|
@@ -732,12 +801,12 @@ msgid ""
|
|
732 |
"version%s?"
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: ../lib/the-events-calendar.class.php:
|
736 |
-
#: ../lib/the-events-calendar.class.php:
|
737 |
msgid "Licenses"
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: ../lib/the-events-calendar.class.php:
|
741 |
msgid ""
|
742 |
"The license key you received when completing your purchase will grant you "
|
743 |
"access to support and updates. You do not need to enter the key below for "
|
@@ -757,427 +826,427 @@ msgid ""
|
|
757 |
"\"Check Again\"."
|
758 |
msgstr ""
|
759 |
|
760 |
-
#: ../lib/the-events-calendar.class.php:
|
761 |
msgid "General"
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: ../lib/the-events-calendar.class.php:
|
765 |
msgid "Template"
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: ../lib/the-events-calendar.class.php:
|
769 |
#, php-format
|
770 |
msgid ""
|
771 |
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
772 |
"your WordPress install."
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: ../lib/the-events-calendar.class.php:
|
776 |
#, php-format
|
777 |
msgid ""
|
778 |
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
779 |
"about moving you to a newer version of PHP."
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: ../lib/the-events-calendar.class.php:
|
783 |
#: ../public/template-tags/loop.php:133
|
784 |
msgid "Upcoming Events"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: ../lib/the-events-calendar.class.php:
|
788 |
msgid "Past Events"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: ../lib/the-events-calendar.class.php:
|
792 |
-
#: ../lib/the-events-calendar.class.php:
|
793 |
#, php-format
|
794 |
msgid "Events for %s"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: ../lib/the-events-calendar.class.php:
|
798 |
msgid "Events this month"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: ../lib/the-events-calendar.class.php:
|
802 |
#, php-format
|
803 |
msgid "Events at %s"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: ../lib/the-events-calendar.class.php:
|
807 |
msgid "No description has been entered for this event."
|
808 |
msgstr ""
|
809 |
|
810 |
-
#: ../lib/the-events-calendar.class.php:
|
811 |
-
#: ../lib/the-events-calendar.class.php:
|
812 |
-
#: ../lib/the-events-calendar.class.php:
|
813 |
msgid "Events"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: ../lib/the-events-calendar.class.php:
|
817 |
msgid "Event"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: ../lib/the-events-calendar.class.php:
|
821 |
-
#: ../lib/the-events-calendar.class.php:
|
822 |
-
#: ../lib/the-events-calendar.class.php:
|
823 |
msgid "Add New"
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: ../lib/the-events-calendar.class.php:
|
827 |
msgid "Add New Event"
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: ../lib/the-events-calendar.class.php:
|
831 |
msgid "Edit Event"
|
832 |
msgstr ""
|
833 |
|
834 |
-
#: ../lib/the-events-calendar.class.php:
|
835 |
msgid "New Event"
|
836 |
msgstr ""
|
837 |
|
838 |
-
#: ../lib/the-events-calendar.class.php:
|
839 |
msgid "View Event"
|
840 |
msgstr ""
|
841 |
|
842 |
-
#: ../lib/the-events-calendar.class.php:
|
843 |
msgid "Search Events"
|
844 |
msgstr ""
|
845 |
|
846 |
-
#: ../lib/the-events-calendar.class.php:
|
847 |
msgid "No events found"
|
848 |
msgstr ""
|
849 |
|
850 |
-
#: ../lib/the-events-calendar.class.php:
|
851 |
msgid "No events found in Trash"
|
852 |
msgstr ""
|
853 |
|
854 |
-
#: ../lib/the-events-calendar.class.php:
|
855 |
msgid "Venues"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: ../lib/the-events-calendar.class.php:
|
859 |
msgid "Venue"
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: ../lib/the-events-calendar.class.php:
|
863 |
msgid "Add New Venue"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: ../lib/the-events-calendar.class.php:
|
867 |
msgid "Edit Venue"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: ../lib/the-events-calendar.class.php:
|
871 |
msgid "New Venue"
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: ../lib/the-events-calendar.class.php:
|
875 |
-
#: ../lib/the-events-calendar.class.php:
|
876 |
msgid "View Venue"
|
877 |
msgstr ""
|
878 |
|
879 |
-
#: ../lib/the-events-calendar.class.php:
|
880 |
msgid "Search Venues"
|
881 |
msgstr ""
|
882 |
|
883 |
-
#: ../lib/the-events-calendar.class.php:
|
884 |
msgid "No venue found"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: ../lib/the-events-calendar.class.php:
|
888 |
msgid "No venues found in Trash"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: ../lib/the-events-calendar.class.php:
|
892 |
msgid "Organizers"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: ../lib/the-events-calendar.class.php:
|
896 |
msgid "Organizer"
|
897 |
msgstr ""
|
898 |
|
899 |
-
#: ../lib/the-events-calendar.class.php:
|
900 |
msgid "Add New Organizer"
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: ../lib/the-events-calendar.class.php:
|
904 |
msgid "Edit Organizer"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: ../lib/the-events-calendar.class.php:
|
908 |
msgid "New Organizer"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: ../lib/the-events-calendar.class.php:
|
912 |
msgid "Search Organizers"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: ../lib/the-events-calendar.class.php:
|
916 |
msgid "No organizer found"
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: ../lib/the-events-calendar.class.php:
|
920 |
msgid "No organizers found in Trash"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: ../lib/the-events-calendar.class.php:
|
924 |
#: ../lib/tribe-admin-events-list.class.php:172
|
925 |
msgid "Event Categories"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: ../lib/the-events-calendar.class.php:
|
929 |
msgid "Event Category"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: ../lib/the-events-calendar.class.php:
|
933 |
msgid "Search Event Categories"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: ../lib/the-events-calendar.class.php:
|
937 |
msgid "All Event Categories"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: ../lib/the-events-calendar.class.php:
|
941 |
msgid "Parent Event Category"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: ../lib/the-events-calendar.class.php:
|
945 |
msgid "Parent Event Category:"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: ../lib/the-events-calendar.class.php:
|
949 |
msgid "Edit Event Category"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: ../lib/the-events-calendar.class.php:
|
953 |
msgid "Update Event Category"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: ../lib/the-events-calendar.class.php:
|
957 |
msgid "Add New Event Category"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: ../lib/the-events-calendar.class.php:
|
961 |
msgid "New Event Category Name"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: ../lib/the-events-calendar.class.php:
|
965 |
#, php-format
|
966 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: ../lib/the-events-calendar.class.php:
|
970 |
-
#: ../lib/the-events-calendar.class.php:
|
971 |
-
#: ../lib/the-events-calendar.class.php:
|
972 |
msgid "Custom field updated."
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: ../lib/the-events-calendar.class.php:
|
976 |
-
#: ../lib/the-events-calendar.class.php:
|
977 |
-
#: ../lib/the-events-calendar.class.php:
|
978 |
msgid "Custom field deleted."
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: ../lib/the-events-calendar.class.php:
|
982 |
msgid "Event updated."
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: ../lib/the-events-calendar.class.php:
|
986 |
#, php-format
|
987 |
msgid "Event restored to revision from %s"
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: ../lib/the-events-calendar.class.php:
|
991 |
#, php-format
|
992 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: ../lib/the-events-calendar.class.php:
|
996 |
msgid "Event saved."
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: ../lib/the-events-calendar.class.php:
|
1000 |
#, php-format
|
1001 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#: ../lib/the-events-calendar.class.php:
|
1005 |
#, php-format
|
1006 |
msgid ""
|
1007 |
"Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1008 |
"\">Preview event</a>"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: ../lib/the-events-calendar.class.php:
|
1012 |
-
#: ../lib/the-events-calendar.class.php:
|
1013 |
-
#: ../lib/the-events-calendar.class.php:
|
1014 |
msgid "M j, Y @ G:i"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: ../lib/the-events-calendar.class.php:
|
1018 |
#, php-format
|
1019 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: ../lib/the-events-calendar.class.php:
|
1023 |
#, php-format
|
1024 |
msgid "Venue updated. <a href=\"%s\">View venue</a>"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: ../lib/the-events-calendar.class.php:
|
1028 |
msgid "Venue updated."
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: ../lib/the-events-calendar.class.php:
|
1032 |
#, php-format
|
1033 |
msgid "Venue restored to revision from %s"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#: ../lib/the-events-calendar.class.php:
|
1037 |
#, php-format
|
1038 |
msgid "Venue published. <a href=\"%s\">View venue</a>"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: ../lib/the-events-calendar.class.php:
|
1042 |
msgid "Venue saved."
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: ../lib/the-events-calendar.class.php:
|
1046 |
#, php-format
|
1047 |
msgid "Venue submitted. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: ../lib/the-events-calendar.class.php:
|
1051 |
#, php-format
|
1052 |
msgid ""
|
1053 |
"Venue scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1054 |
"\">Preview venue</a>"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: ../lib/the-events-calendar.class.php:
|
1058 |
#, php-format
|
1059 |
msgid "Venue draft updated. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
-
#: ../lib/the-events-calendar.class.php:
|
1063 |
#, php-format
|
1064 |
msgid "Organizer updated. <a href=\"%s\">View organizer</a>"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: ../lib/the-events-calendar.class.php:
|
1068 |
msgid "Organizer updated."
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: ../lib/the-events-calendar.class.php:
|
1072 |
#, php-format
|
1073 |
msgid "Organizer restored to revision from %s"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
-
#: ../lib/the-events-calendar.class.php:
|
1077 |
#, php-format
|
1078 |
msgid "Organizer published. <a href=\"%s\">View organizer</a>"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: ../lib/the-events-calendar.class.php:
|
1082 |
msgid "Organizer saved."
|
1083 |
msgstr ""
|
1084 |
|
1085 |
-
#: ../lib/the-events-calendar.class.php:
|
1086 |
#, php-format
|
1087 |
msgid ""
|
1088 |
"Organizer submitted. <a target=\"_blank\" href=\"%s\">Preview organizer</a>"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: ../lib/the-events-calendar.class.php:
|
1092 |
#, php-format
|
1093 |
msgid ""
|
1094 |
"Organizer scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href="
|
1095 |
"\"%2$s\">Preview organizer</a>"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: ../lib/the-events-calendar.class.php:
|
1099 |
#, php-format
|
1100 |
msgid ""
|
1101 |
"Organizer draft updated. <a target=\"_blank\" href=\"%s\">Preview organizer</"
|
1102 |
"a>"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: ../lib/the-events-calendar.class.php:
|
1106 |
msgid "Next"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
-
#: ../lib/the-events-calendar.class.php:
|
1110 |
msgid "Prev"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
-
#: ../lib/the-events-calendar.class.php:
|
1114 |
msgid "Today"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
-
#: ../lib/the-events-calendar.class.php:
|
1118 |
msgid "Done"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
-
#: ../lib/the-events-calendar.class.php:
|
1122 |
msgid "Event Options"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: ../lib/the-events-calendar.class.php:
|
1126 |
msgid "Venue Information"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: ../lib/the-events-calendar.class.php:
|
1130 |
msgid "Organizer Information"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: ../lib/the-events-calendar.class.php:
|
1134 |
msgid "Support"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: ../lib/the-events-calendar.class.php:
|
1138 |
msgid "View All Add-Ons"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: ../lib/the-events-calendar.class.php:
|
1142 |
msgid "News from Modern Tribe"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: ../lib/the-events-calendar.class.php:
|
1146 |
msgid "Additional Functionality"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: ../lib/the-events-calendar.class.php:
|
1150 |
#, php-format
|
1151 |
msgid "Check out the <a href=\"%s\">available add-ons</a>."
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: ../lib/the-events-calendar.class.php:
|
1155 |
-
#: ../lib/the-events-calendar.class.php:
|
1156 |
msgid "View Calendar"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: ../lib/the-events-calendar.class.php:
|
1160 |
msgid "Add Event"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: ../lib/the-events-calendar.class.php:
|
1164 |
msgid "Edit Events"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: ../lib/the-events-calendar.class.php:
|
1168 |
-
#: ../lib/the-events-calendar.class.php:
|
1169 |
#: ../lib/tribe-settings.class.php:153
|
1170 |
msgid "Settings"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: ../lib/the-events-calendar.class.php:
|
1174 |
#, php-format
|
1175 |
msgid ""
|
1176 |
"Welcome to The Events Calendar! Your events calendar can be found at %s. To "
|
1177 |
"change the events slug, visit %sEvents -> Settings%s."
|
1178 |
msgstr ""
|
1179 |
|
1180 |
-
#: ../lib/the-events-calendar.class.php:
|
1181 |
#: ../views/list.php:19
|
1182 |
msgid "Calendar"
|
1183 |
msgstr ""
|
@@ -2596,6 +2665,81 @@ msgstr ""
|
|
2596 |
msgid "There are no upcoming events at this time."
|
2597 |
msgstr ""
|
2598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2599 |
#: ../public/template-tags/general.php:120
|
2600 |
msgid "Category:"
|
2601 |
msgstr ""
|
@@ -2657,15 +2801,15 @@ msgstr ""
|
|
2657 |
msgid "All Day"
|
2658 |
msgstr ""
|
2659 |
|
2660 |
-
#: ../views/gridview.php:
|
2661 |
msgid "Event List"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
-
#: ../views/gridview.php:
|
2665 |
msgid "iCal Import"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
-
#: ../views/gridview.php:
|
2669 |
#, php-format
|
2670 |
msgid "Calendar powered by %sThe Events Calendar%s"
|
2671 |
msgstr ""
|
@@ -2690,38 +2834,38 @@ msgstr ""
|
|
2690 |
msgid "Google Map"
|
2691 |
msgstr ""
|
2692 |
|
2693 |
-
#: ../views/list.php:
|
2694 |
#, php-format
|
2695 |
msgid ""
|
2696 |
" listed under %s. Check out past events for this category or view the full "
|
2697 |
"calendar."
|
2698 |
msgstr ""
|
2699 |
|
2700 |
-
#: ../views/list.php:
|
2701 |
#, php-format
|
2702 |
msgid ""
|
2703 |
" listed under %s. Check out upcoming events for this category or view the "
|
2704 |
"full calendar."
|
2705 |
msgstr ""
|
2706 |
|
2707 |
-
#: ../views/list.php:
|
2708 |
#, php-format
|
2709 |
msgid "No events scheduled for <strong>%s</strong>. Please try another day."
|
2710 |
msgstr ""
|
2711 |
|
2712 |
-
#: ../views/list.php:
|
2713 |
msgid "No upcoming events"
|
2714 |
msgstr ""
|
2715 |
|
2716 |
-
#: ../views/list.php:
|
2717 |
msgid "No previous events"
|
2718 |
msgstr ""
|
2719 |
|
2720 |
-
#: ../views/list.php:
|
2721 |
msgid "« Previous Events"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: ../views/list.php:
|
2725 |
msgid "Next Events »"
|
2726 |
msgstr ""
|
2727 |
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: The Events Calendar 2.0\n"
|
7 |
"Report-Msgid-Bugs-To: \n"
|
8 |
+
"POT-Creation-Date: 2012-11-08 16:24-0500\n"
|
9 |
+
"PO-Revision-Date: 2012-11-08 16:24-0500\n"
|
10 |
"Last-Translator: Paul Hughes <paul@paulalexanderhughes.com>\n"
|
11 |
"Language-Team: Modern Tribe, Inc.\n"
|
12 |
"Language: en_US\n"
|
16 |
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
"X-Poedit-KeywordsList: __;_e\n"
|
18 |
"X-Poedit-Basepath: ./\n"
|
19 |
+
"X-Generator: Poedit 1.5.4\n"
|
20 |
"X-Poedit-SearchPath-0: ..\n"
|
21 |
|
22 |
#: ../admin-views/app-shop.php:4
|
71 |
msgstr ""
|
72 |
|
73 |
#: ../admin-views/events-meta-box.php:41 ../admin-views/events-meta-box.php:62
|
74 |
+
#: ../admin-views/tickets-meta-box.php:97
|
75 |
+
#: ../admin-views/tickets-meta-box.php:122
|
76 |
msgid "@"
|
77 |
msgstr ""
|
78 |
|
96 |
msgid "Event Organizer Details"
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: ../admin-views/events-meta-box.php:110
|
100 |
msgid "Event Cost"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: ../admin-views/events-meta-box.php:113 ../views/list.php:105
|
104 |
#: ../views/single.php:31
|
105 |
msgid "Cost:"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../admin-views/events-meta-box.php:118
|
109 |
msgid "Leave blank to hide the field. Enter a 0 for events that are free."
|
110 |
msgstr ""
|
111 |
|
167 |
msgid "All future events in the series will be deleted."
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: ../admin-views/tickets-attendees.php:3 ../admin-views/tickets-list.php:39
|
171 |
+
#: ../lib/tickets/tribe-tickets.php:446
|
172 |
+
msgid "Attendees"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: ../admin-views/tickets-attendees.php:7
|
176 |
+
msgid "Summary"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: ../admin-views/tickets-attendees.php:41 ../admin-views/tickets-list.php:62
|
180 |
+
#, php-format
|
181 |
+
msgid "Sold %d of %d"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: ../admin-views/tickets-list.php:22
|
185 |
+
#, php-format
|
186 |
+
msgid "<span><a href='%s'>Edit in %s</a></span>"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: ../admin-views/tickets-meta-box.php:14
|
190 |
+
msgid ""
|
191 |
+
"This event was created using Community Events. Are you sure you want to sell "
|
192 |
+
"tickets for it?"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: ../admin-views/tickets-meta-box.php:30
|
196 |
+
#: ../admin-views/tickets-meta-box.php:40
|
197 |
+
msgid "Add new ticket"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: ../admin-views/tickets-meta-box.php:41
|
201 |
+
msgid "Edit ticket"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: ../admin-views/tickets-meta-box.php:47
|
205 |
+
msgid "Sell using:"
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: ../admin-views/tickets-meta-box.php:64
|
209 |
+
msgid "Ticket Name:"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: ../admin-views/tickets-meta-box.php:71
|
213 |
+
msgid "Ticket Description:"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: ../admin-views/tickets-meta-box.php:80
|
217 |
+
msgid "Price:"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: ../admin-views/tickets-meta-box.php:91
|
221 |
+
msgid "Start sale:"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: ../admin-views/tickets-meta-box.php:115
|
225 |
+
msgid "End sale:"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: ../admin-views/tickets-meta-box.php:135
|
229 |
+
msgid ""
|
230 |
+
"When will ticket sales occur? If you don't set a start/end date for sales, "
|
231 |
+
"tickets will be available from now until the event ends."
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
#: ../admin-views/tribe-options-general.php:19
|
235 |
msgid "Finding & extending your calendar."
|
236 |
msgstr ""
|
248 |
msgstr ""
|
249 |
|
250 |
#: ../admin-views/tribe-options-general.php:33
|
251 |
+
#: ../lib/the-events-calendar.class.php:2646
|
252 |
msgid ""
|
253 |
"Looking for additional functionality including recurring events, custom "
|
254 |
"meta, community events, ticket sales and more?"
|
462 |
msgstr ""
|
463 |
|
464 |
#: ../admin-views/tribe-options-help.php:90
|
465 |
+
#: ../lib/the-events-calendar.class.php:486
|
466 |
+
#: ../lib/the-events-calendar.class.php:2747
|
467 |
+
#: ../lib/the-events-calendar.class.php:2838
|
468 |
msgid "Help"
|
469 |
msgstr ""
|
470 |
|
595 |
msgstr ""
|
596 |
|
597 |
#: ../admin-views/tribe-options-help.php:156
|
598 |
+
#: ../lib/the-events-calendar.class.php:296
|
599 |
#: ../lib/tribe-settings.class.php:129
|
600 |
msgid "The Events Calendar"
|
601 |
msgstr ""
|
754 |
msgid "Want to modify the display of this widget? Try a %stemplate override%s."
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: ../lib/the-events-calendar.class.php:299
|
758 |
+
#: ../lib/the-events-calendar.class.php:1435
|
759 |
msgid "category"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: ../lib/the-events-calendar.class.php:300
|
763 |
+
#: ../lib/the-events-calendar.class.php:1436
|
764 |
msgid "tag"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: ../lib/the-events-calendar.class.php:301
|
768 |
msgid "month"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: ../lib/the-events-calendar.class.php:302
|
772 |
msgid "upcoming"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: ../lib/the-events-calendar.class.php:303
|
776 |
msgid "past"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: ../lib/the-events-calendar.class.php:305
|
780 |
msgid "venue"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: ../lib/the-events-calendar.class.php:316
|
784 |
#, php-format
|
785 |
msgid "Initializing Tribe Events on %s"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: ../lib/the-events-calendar.class.php:408
|
789 |
#, php-format
|
790 |
msgid ""
|
791 |
"Your version of The Events Calendar is not up-to-date with one of your The "
|
792 |
"Events Calendar add-ons. Please %supdate now.%s"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: ../lib/the-events-calendar.class.php:422
|
796 |
#, php-format
|
797 |
msgid ""
|
798 |
"The following plugins are out of date: <b>%s</b>. Please %supdate now%s. All "
|
801 |
"version%s?"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: ../lib/the-events-calendar.class.php:467
|
805 |
+
#: ../lib/the-events-calendar.class.php:483
|
806 |
msgid "Licenses"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: ../lib/the-events-calendar.class.php:471
|
810 |
msgid ""
|
811 |
"The license key you received when completing your purchase will grant you "
|
812 |
"access to support and updates. You do not need to enter the key below for "
|
826 |
"\"Check Again\"."
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: ../lib/the-events-calendar.class.php:479
|
830 |
msgid "General"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: ../lib/the-events-calendar.class.php:480
|
834 |
msgid "Template"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: ../lib/the-events-calendar.class.php:520
|
838 |
#, php-format
|
839 |
msgid ""
|
840 |
"Sorry, The Events Calendar requires WordPress %s or higher. Please upgrade "
|
841 |
"your WordPress install."
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: ../lib/the-events-calendar.class.php:523
|
845 |
#, php-format
|
846 |
msgid ""
|
847 |
"Sorry, The Events Calendar requires PHP %s or higher. Talk to your Web host "
|
848 |
"about moving you to a newer version of PHP."
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: ../lib/the-events-calendar.class.php:648
|
852 |
#: ../public/template-tags/loop.php:133
|
853 |
msgid "Upcoming Events"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: ../lib/the-events-calendar.class.php:650
|
857 |
msgid "Past Events"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: ../lib/the-events-calendar.class.php:655
|
861 |
+
#: ../lib/the-events-calendar.class.php:662
|
862 |
#, php-format
|
863 |
msgid "Events for %s"
|
864 |
msgstr ""
|
865 |
|
866 |
+
#: ../lib/the-events-calendar.class.php:657
|
867 |
msgid "Events this month"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: ../lib/the-events-calendar.class.php:668
|
871 |
#, php-format
|
872 |
msgid "Events at %s"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: ../lib/the-events-calendar.class.php:681
|
876 |
msgid "No description has been entered for this event."
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: ../lib/the-events-calendar.class.php:925
|
880 |
+
#: ../lib/the-events-calendar.class.php:2678
|
881 |
+
#: ../lib/the-events-calendar.class.php:2738
|
882 |
msgid "Events"
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: ../lib/the-events-calendar.class.php:926
|
886 |
msgid "Event"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: ../lib/the-events-calendar.class.php:927
|
890 |
+
#: ../lib/the-events-calendar.class.php:940
|
891 |
+
#: ../lib/the-events-calendar.class.php:953
|
892 |
msgid "Add New"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: ../lib/the-events-calendar.class.php:928
|
896 |
msgid "Add New Event"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: ../lib/the-events-calendar.class.php:929
|
900 |
msgid "Edit Event"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: ../lib/the-events-calendar.class.php:930
|
904 |
msgid "New Event"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: ../lib/the-events-calendar.class.php:931
|
908 |
msgid "View Event"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: ../lib/the-events-calendar.class.php:932
|
912 |
msgid "Search Events"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: ../lib/the-events-calendar.class.php:933
|
916 |
msgid "No events found"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: ../lib/the-events-calendar.class.php:934
|
920 |
msgid "No events found in Trash"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: ../lib/the-events-calendar.class.php:938
|
924 |
msgid "Venues"
|
925 |
msgstr ""
|
926 |
|
927 |
+
#: ../lib/the-events-calendar.class.php:939
|
928 |
msgid "Venue"
|
929 |
msgstr ""
|
930 |
|
931 |
+
#: ../lib/the-events-calendar.class.php:941
|
932 |
msgid "Add New Venue"
|
933 |
msgstr ""
|
934 |
|
935 |
+
#: ../lib/the-events-calendar.class.php:942
|
936 |
msgid "Edit Venue"
|
937 |
msgstr ""
|
938 |
|
939 |
+
#: ../lib/the-events-calendar.class.php:943
|
940 |
msgid "New Venue"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: ../lib/the-events-calendar.class.php:944
|
944 |
+
#: ../lib/the-events-calendar.class.php:957
|
945 |
msgid "View Venue"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: ../lib/the-events-calendar.class.php:945
|
949 |
msgid "Search Venues"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: ../lib/the-events-calendar.class.php:946
|
953 |
msgid "No venue found"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: ../lib/the-events-calendar.class.php:947
|
957 |
msgid "No venues found in Trash"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: ../lib/the-events-calendar.class.php:951
|
961 |
msgid "Organizers"
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: ../lib/the-events-calendar.class.php:952
|
965 |
msgid "Organizer"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: ../lib/the-events-calendar.class.php:954
|
969 |
msgid "Add New Organizer"
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: ../lib/the-events-calendar.class.php:955
|
973 |
msgid "Edit Organizer"
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: ../lib/the-events-calendar.class.php:956
|
977 |
msgid "New Organizer"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: ../lib/the-events-calendar.class.php:958
|
981 |
msgid "Search Organizers"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: ../lib/the-events-calendar.class.php:959
|
985 |
msgid "No organizer found"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: ../lib/the-events-calendar.class.php:960
|
989 |
msgid "No organizers found in Trash"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: ../lib/the-events-calendar.class.php:964
|
993 |
#: ../lib/tribe-admin-events-list.class.php:172
|
994 |
msgid "Event Categories"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: ../lib/the-events-calendar.class.php:965
|
998 |
msgid "Event Category"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: ../lib/the-events-calendar.class.php:966
|
1002 |
msgid "Search Event Categories"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: ../lib/the-events-calendar.class.php:967
|
1006 |
msgid "All Event Categories"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
+
#: ../lib/the-events-calendar.class.php:968
|
1010 |
msgid "Parent Event Category"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: ../lib/the-events-calendar.class.php:969
|
1014 |
msgid "Parent Event Category:"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: ../lib/the-events-calendar.class.php:970
|
1018 |
msgid "Edit Event Category"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: ../lib/the-events-calendar.class.php:971
|
1022 |
msgid "Update Event Category"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: ../lib/the-events-calendar.class.php:972
|
1026 |
msgid "Add New Event Category"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: ../lib/the-events-calendar.class.php:973
|
1030 |
msgid "New Event Category Name"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: ../lib/the-events-calendar.class.php:983
|
1034 |
#, php-format
|
1035 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: ../lib/the-events-calendar.class.php:984
|
1039 |
+
#: ../lib/the-events-calendar.class.php:1001
|
1040 |
+
#: ../lib/the-events-calendar.class.php:1018
|
1041 |
msgid "Custom field updated."
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: ../lib/the-events-calendar.class.php:985
|
1045 |
+
#: ../lib/the-events-calendar.class.php:1002
|
1046 |
+
#: ../lib/the-events-calendar.class.php:1019
|
1047 |
msgid "Custom field deleted."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: ../lib/the-events-calendar.class.php:986
|
1051 |
msgid "Event updated."
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: ../lib/the-events-calendar.class.php:988
|
1055 |
#, php-format
|
1056 |
msgid "Event restored to revision from %s"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: ../lib/the-events-calendar.class.php:989
|
1060 |
#, php-format
|
1061 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: ../lib/the-events-calendar.class.php:990
|
1065 |
msgid "Event saved."
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: ../lib/the-events-calendar.class.php:991
|
1069 |
#, php-format
|
1070 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
+
#: ../lib/the-events-calendar.class.php:992
|
1074 |
#, php-format
|
1075 |
msgid ""
|
1076 |
"Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1077 |
"\">Preview event</a>"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: ../lib/the-events-calendar.class.php:994
|
1081 |
+
#: ../lib/the-events-calendar.class.php:1011
|
1082 |
+
#: ../lib/the-events-calendar.class.php:1028
|
1083 |
msgid "M j, Y @ G:i"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: ../lib/the-events-calendar.class.php:995
|
1087 |
#, php-format
|
1088 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
+
#: ../lib/the-events-calendar.class.php:1000
|
1092 |
#, php-format
|
1093 |
msgid "Venue updated. <a href=\"%s\">View venue</a>"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: ../lib/the-events-calendar.class.php:1003
|
1097 |
msgid "Venue updated."
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: ../lib/the-events-calendar.class.php:1005
|
1101 |
#, php-format
|
1102 |
msgid "Venue restored to revision from %s"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: ../lib/the-events-calendar.class.php:1006
|
1106 |
#, php-format
|
1107 |
msgid "Venue published. <a href=\"%s\">View venue</a>"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: ../lib/the-events-calendar.class.php:1007
|
1111 |
msgid "Venue saved."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: ../lib/the-events-calendar.class.php:1008
|
1115 |
#, php-format
|
1116 |
msgid "Venue submitted. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: ../lib/the-events-calendar.class.php:1009
|
1120 |
#, php-format
|
1121 |
msgid ""
|
1122 |
"Venue scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
1123 |
"\">Preview venue</a>"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: ../lib/the-events-calendar.class.php:1012
|
1127 |
#, php-format
|
1128 |
msgid "Venue draft updated. <a target=\"_blank\" href=\"%s\">Preview venue</a>"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: ../lib/the-events-calendar.class.php:1017
|
1132 |
#, php-format
|
1133 |
msgid "Organizer updated. <a href=\"%s\">View organizer</a>"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: ../lib/the-events-calendar.class.php:1020
|
1137 |
msgid "Organizer updated."
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: ../lib/the-events-calendar.class.php:1022
|
1141 |
#, php-format
|
1142 |
msgid "Organizer restored to revision from %s"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
+
#: ../lib/the-events-calendar.class.php:1023
|
1146 |
#, php-format
|
1147 |
msgid "Organizer published. <a href=\"%s\">View organizer</a>"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: ../lib/the-events-calendar.class.php:1024
|
1151 |
msgid "Organizer saved."
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: ../lib/the-events-calendar.class.php:1025
|
1155 |
#, php-format
|
1156 |
msgid ""
|
1157 |
"Organizer submitted. <a target=\"_blank\" href=\"%s\">Preview organizer</a>"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: ../lib/the-events-calendar.class.php:1026
|
1161 |
#, php-format
|
1162 |
msgid ""
|
1163 |
"Organizer scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href="
|
1164 |
"\"%2$s\">Preview organizer</a>"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: ../lib/the-events-calendar.class.php:1029
|
1168 |
#, php-format
|
1169 |
msgid ""
|
1170 |
"Organizer draft updated. <a target=\"_blank\" href=\"%s\">Preview organizer</"
|
1171 |
"a>"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: ../lib/the-events-calendar.class.php:1125
|
1175 |
msgid "Next"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: ../lib/the-events-calendar.class.php:1126
|
1179 |
msgid "Prev"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: ../lib/the-events-calendar.class.php:1127
|
1183 |
msgid "Today"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: ../lib/the-events-calendar.class.php:1128
|
1187 |
msgid "Done"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: ../lib/the-events-calendar.class.php:2463
|
1191 |
msgid "Event Options"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: ../lib/the-events-calendar.class.php:2465
|
1195 |
msgid "Venue Information"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: ../lib/the-events-calendar.class.php:2466
|
1199 |
msgid "Organizer Information"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: ../lib/the-events-calendar.class.php:2586
|
1203 |
msgid "Support"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: ../lib/the-events-calendar.class.php:2589
|
1207 |
msgid "View All Add-Ons"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: ../lib/the-events-calendar.class.php:2596
|
1211 |
msgid "News from Modern Tribe"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: ../lib/the-events-calendar.class.php:2641
|
1215 |
msgid "Additional Functionality"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: ../lib/the-events-calendar.class.php:2646
|
1219 |
#, php-format
|
1220 |
msgid "Check out the <a href=\"%s\">available add-ons</a>."
|
1221 |
msgstr ""
|
1222 |
|
1223 |
+
#: ../lib/the-events-calendar.class.php:2704
|
1224 |
+
#: ../lib/the-events-calendar.class.php:2795
|
1225 |
msgid "View Calendar"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
+
#: ../lib/the-events-calendar.class.php:2712
|
1229 |
msgid "Add Event"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: ../lib/the-events-calendar.class.php:2721
|
1233 |
msgid "Edit Events"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#: ../lib/the-events-calendar.class.php:2730
|
1237 |
+
#: ../lib/the-events-calendar.class.php:2831
|
1238 |
#: ../lib/tribe-settings.class.php:153
|
1239 |
msgid "Settings"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: ../lib/the-events-calendar.class.php:2766
|
1243 |
#, php-format
|
1244 |
msgid ""
|
1245 |
"Welcome to The Events Calendar! Your events calendar can be found at %s. To "
|
1246 |
"change the events slug, visit %sEvents -> Settings%s."
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: ../lib/the-events-calendar.class.php:2832 ../views/gridview.php:35
|
1250 |
#: ../views/list.php:19
|
1251 |
msgid "Calendar"
|
1252 |
msgstr ""
|
2665 |
msgid "There are no upcoming events at this time."
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:22
|
2669 |
+
msgid "Order #"
|
2670 |
+
msgstr ""
|
2671 |
+
|
2672 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:23
|
2673 |
+
msgid "Order Status"
|
2674 |
+
msgstr ""
|
2675 |
+
|
2676 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:24
|
2677 |
+
msgid "Ticket"
|
2678 |
+
msgstr ""
|
2679 |
+
|
2680 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:25
|
2681 |
+
msgid "Ticket #"
|
2682 |
+
msgstr ""
|
2683 |
+
|
2684 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:26
|
2685 |
+
msgid "Security Code"
|
2686 |
+
msgstr ""
|
2687 |
+
|
2688 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:27
|
2689 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:69
|
2690 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:97
|
2691 |
+
msgid "Check in"
|
2692 |
+
msgstr ""
|
2693 |
+
|
2694 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:70
|
2695 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:97
|
2696 |
+
msgid "Undo Check in"
|
2697 |
+
msgstr ""
|
2698 |
+
|
2699 |
+
#: ../lib/tickets/tribe-tickets-attendees.php:92
|
2700 |
+
msgid "Filter by ticket #, order # or security code"
|
2701 |
+
msgstr ""
|
2702 |
+
|
2703 |
+
#: ../lib/tickets/tribe-tickets-metabox.php:10
|
2704 |
+
msgid "Tickets"
|
2705 |
+
msgstr ""
|
2706 |
+
|
2707 |
+
#: ../lib/tickets/tribe-tickets.php:162
|
2708 |
+
msgid "EVENT NAME:"
|
2709 |
+
msgstr ""
|
2710 |
+
|
2711 |
+
#: ../lib/tickets/tribe-tickets.php:181
|
2712 |
+
msgid "TICKET HOLDER:"
|
2713 |
+
msgstr ""
|
2714 |
+
|
2715 |
+
#: ../lib/tickets/tribe-tickets.php:183
|
2716 |
+
msgid "LOCATION:"
|
2717 |
+
msgstr ""
|
2718 |
+
|
2719 |
+
#: ../lib/tickets/tribe-tickets.php:234
|
2720 |
+
msgid "ORDER:"
|
2721 |
+
msgstr ""
|
2722 |
+
|
2723 |
+
#: ../lib/tickets/tribe-tickets.php:236
|
2724 |
+
msgid "TICKET:"
|
2725 |
+
msgstr ""
|
2726 |
+
|
2727 |
+
#: ../lib/tickets/tribe-tickets.php:238
|
2728 |
+
msgid "VERIFICATION:"
|
2729 |
+
msgstr ""
|
2730 |
+
|
2731 |
+
#: ../lib/tickets/tribe-tickets.php:322
|
2732 |
+
msgid "Your ticket has been saved."
|
2733 |
+
msgstr ""
|
2734 |
+
|
2735 |
+
#: ../lib/tickets/tribe-tickets.php:376
|
2736 |
+
msgid "Your ticket has been deleted."
|
2737 |
+
msgstr ""
|
2738 |
+
|
2739 |
+
#: ../lib/tickets/tribe-tickets.php:446
|
2740 |
+
msgid "See who purchased tickets to this event"
|
2741 |
+
msgstr ""
|
2742 |
+
|
2743 |
#: ../public/template-tags/general.php:120
|
2744 |
msgid "Category:"
|
2745 |
msgstr ""
|
2801 |
msgid "All Day"
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: ../views/gridview.php:34 ../views/list.php:18
|
2805 |
msgid "Event List"
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: ../views/gridview.php:40 ../views/list.php:169 ../views/single.php:103
|
2809 |
msgid "iCal Import"
|
2810 |
msgstr ""
|
2811 |
|
2812 |
+
#: ../views/gridview.php:43
|
2813 |
#, php-format
|
2814 |
msgid "Calendar powered by %sThe Events Calendar%s"
|
2815 |
msgstr ""
|
2834 |
msgid "Google Map"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
+
#: ../views/list.php:120
|
2838 |
#, php-format
|
2839 |
msgid ""
|
2840 |
" listed under %s. Check out past events for this category or view the full "
|
2841 |
"calendar."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: ../views/list.php:122
|
2845 |
#, php-format
|
2846 |
msgid ""
|
2847 |
" listed under %s. Check out upcoming events for this category or view the "
|
2848 |
"full calendar."
|
2849 |
msgstr ""
|
2850 |
|
2851 |
+
#: ../views/list.php:127
|
2852 |
#, php-format
|
2853 |
msgid "No events scheduled for <strong>%s</strong>. Please try another day."
|
2854 |
msgstr ""
|
2855 |
|
2856 |
+
#: ../views/list.php:131
|
2857 |
msgid "No upcoming events"
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: ../views/list.php:135
|
2861 |
msgid "No previous events"
|
2862 |
msgstr ""
|
2863 |
|
2864 |
+
#: ../views/list.php:148 ../views/list.php:150 ../views/list.php:152
|
2865 |
msgid "« Previous Events"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: ../views/list.php:159 ../views/list.php:161 ../views/list.php:163
|
2869 |
msgid "Next Events »"
|
2870 |
msgstr ""
|
2871 |
|
lib/template-tags-deprecated.php
CHANGED
File without changes
|
lib/the-events-calendar.class.php
CHANGED
@@ -16,7 +16,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
16 |
const VENUE_POST_TYPE = 'tribe_venue';
|
17 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
18 |
const PLUGIN_DOMAIN = 'tribe-events-calendar';
|
19 |
-
const VERSION = '2.0.
|
20 |
const FEED_URL = 'http://tri.be/category/products/feed/';
|
21 |
const INFO_API_URL = 'http://wpapi.org/api/plugin/the-events-calendar.php';
|
22 |
const WP_PLUGIN_URL = 'http://wordpress.org/extend/plugins/the-events-calendar/';
|
@@ -43,6 +43,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
43 |
'public' => true,
|
44 |
'rewrite' => false,
|
45 |
'show_ui' => true,
|
|
|
46 |
'show_in_menu' => 0,
|
47 |
'menu_position' => 6,
|
48 |
'supports' => array(''),
|
@@ -155,7 +156,6 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
155 |
*Load all the required library files.
|
156 |
**/
|
157 |
protected function loadLibraries() {
|
158 |
-
|
159 |
// Exceptions Helper
|
160 |
require_once( 'tribe-event-exception.class.php' );
|
161 |
|
@@ -175,7 +175,9 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
175 |
require_once( $this->pluginPath.'public/advanced-functions/organizer.php' );
|
176 |
|
177 |
// Load Deprecated Template Tags
|
178 |
-
|
|
|
|
|
179 |
|
180 |
// Load Classes
|
181 |
require_once( 'widget-list.class.php' );
|
@@ -193,6 +195,11 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
193 |
require_once( 'tribe-app-shop.class.php' );
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
196 |
}
|
197 |
|
198 |
protected function addFilters() {
|
@@ -296,6 +303,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
296 |
$this->pastSlug = sanitize_title(__('past', 'tribe-events-calendar'));
|
297 |
$this->postTypeArgs['rewrite']['slug'] = sanitize_title($this->rewriteSlugSingular);
|
298 |
$this->postVenueTypeArgs['rewrite']['slug'] = sanitize_title(__( 'venue', 'tribe-events-calendar' ));
|
|
|
299 |
$this->currentDay = '';
|
300 |
$this->errors = '';
|
301 |
TribeEventsQuery::init();
|
@@ -303,7 +311,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
303 |
|
304 |
//If the custom post type's rewrite rules have not been generated yet, flush them. (This can happen on reactivations.)
|
305 |
if(is_array(get_option('rewrite_rules')) && !array_key_exists($this->rewriteSlugSingular.'/[^/]+/([^/]+)/?$',get_option('rewrite_rules'))) {
|
306 |
-
|
307 |
}
|
308 |
self::debug(sprintf(__('Initializing Tribe Events on %s','tribe-events-calendar'),date('M, jS \a\t h:m:s a')));
|
309 |
$this->maybeMigrateDatabase();
|
@@ -599,8 +607,9 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
599 |
return $title;
|
600 |
}
|
601 |
|
|
|
602 |
public function addDateToRecurringEvents($permalink, $post) {
|
603 |
-
if(
|
604 |
if( is_admin() && (!isset($post->EventStartDate) || !$post->EventStartDate) ) {
|
605 |
if( isset($_REQUEST['eventDate'] ) ) {
|
606 |
$post->EventStartDate = $_REQUEST['eventDate'];
|
@@ -1383,8 +1392,9 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
1383 |
*
|
1384 |
* @link http://codex.wordpress.org/Custom_Queries#Permalinks_for_Custom_Archives
|
1385 |
*/
|
1386 |
-
public function flushRewriteRules() {
|
1387 |
-
|
|
|
1388 |
$wp_rewrite->flush_rules();
|
1389 |
// in case this was called too early, let's get it in the end.
|
1390 |
add_action('shutdown', array('TribeEvents', 'flushRewriteRules'));
|
@@ -1420,6 +1430,12 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
1420 |
|
1421 |
}
|
1422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1423 |
$base = trailingslashit( $this->rewriteSlug );
|
1424 |
$baseSingle = trailingslashit( $this->rewriteSlugSingular );
|
1425 |
$baseTax = trailingslashit( $this->taxRewriteSlug );
|
@@ -1573,12 +1589,12 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
1573 |
case 'single':
|
1574 |
global $post;
|
1575 |
$p = $secondary ? $secondary : $post;
|
1576 |
-
$link =
|
1577 |
return $link;
|
1578 |
case 'all':
|
1579 |
remove_filter( 'post_type_link', array($this, 'addDateToRecurringEvents') );
|
1580 |
$eventUrl = add_query_arg('eventDisplay', 'all', get_permalink() );
|
1581 |
-
add_filter( 'post_type_link', array($this, 'addDateToRecurringEvents') );
|
1582 |
return $eventUrl;
|
1583 |
default:
|
1584 |
return $eventUrl;
|
@@ -1682,7 +1698,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
1682 |
* @return void
|
1683 |
*/
|
1684 |
public function on_deactivate( ) {
|
1685 |
-
|
1686 |
}
|
1687 |
|
1688 |
/**
|
16 |
const VENUE_POST_TYPE = 'tribe_venue';
|
17 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
18 |
const PLUGIN_DOMAIN = 'tribe-events-calendar';
|
19 |
+
const VERSION = '2.0.10';
|
20 |
const FEED_URL = 'http://tri.be/category/products/feed/';
|
21 |
const INFO_API_URL = 'http://wpapi.org/api/plugin/the-events-calendar.php';
|
22 |
const WP_PLUGIN_URL = 'http://wordpress.org/extend/plugins/the-events-calendar/';
|
43 |
'public' => true,
|
44 |
'rewrite' => false,
|
45 |
'show_ui' => true,
|
46 |
+
'show_in_nav_menus' => false,
|
47 |
'show_in_menu' => 0,
|
48 |
'menu_position' => 6,
|
49 |
'supports' => array(''),
|
156 |
*Load all the required library files.
|
157 |
**/
|
158 |
protected function loadLibraries() {
|
|
|
159 |
// Exceptions Helper
|
160 |
require_once( 'tribe-event-exception.class.php' );
|
161 |
|
175 |
require_once( $this->pluginPath.'public/advanced-functions/organizer.php' );
|
176 |
|
177 |
// Load Deprecated Template Tags
|
178 |
+
if ( ! defined( 'TRIBE_DISABLE_DEPRECATED_TAGS' ) ) {
|
179 |
+
require_once( 'template-tags-deprecated.php' );
|
180 |
+
}
|
181 |
|
182 |
// Load Classes
|
183 |
require_once( 'widget-list.class.php' );
|
195 |
require_once( 'tribe-app-shop.class.php' );
|
196 |
}
|
197 |
|
198 |
+
// Tickets
|
199 |
+
require_once( 'tickets/tribe-ticket-object.php' );
|
200 |
+
require_once( 'tickets/tribe-tickets.php' );
|
201 |
+
require_once( 'tickets/tribe-tickets-metabox.php' );
|
202 |
+
|
203 |
}
|
204 |
|
205 |
protected function addFilters() {
|
303 |
$this->pastSlug = sanitize_title(__('past', 'tribe-events-calendar'));
|
304 |
$this->postTypeArgs['rewrite']['slug'] = sanitize_title($this->rewriteSlugSingular);
|
305 |
$this->postVenueTypeArgs['rewrite']['slug'] = sanitize_title(__( 'venue', 'tribe-events-calendar' ));
|
306 |
+
$this->postVenueTypeArgs['show_in_nav_menus'] = class_exists( 'TribeEventsPro' ) ? true : false;
|
307 |
$this->currentDay = '';
|
308 |
$this->errors = '';
|
309 |
TribeEventsQuery::init();
|
311 |
|
312 |
//If the custom post type's rewrite rules have not been generated yet, flush them. (This can happen on reactivations.)
|
313 |
if(is_array(get_option('rewrite_rules')) && !array_key_exists($this->rewriteSlugSingular.'/[^/]+/([^/]+)/?$',get_option('rewrite_rules'))) {
|
314 |
+
TribeEvents::flushRewriteRules();
|
315 |
}
|
316 |
self::debug(sprintf(__('Initializing Tribe Events on %s','tribe-events-calendar'),date('M, jS \a\t h:m:s a')));
|
317 |
$this->maybeMigrateDatabase();
|
607 |
return $title;
|
608 |
}
|
609 |
|
610 |
+
|
611 |
public function addDateToRecurringEvents($permalink, $post) {
|
612 |
+
if( function_exists('tribe_is_recurring_event') && $post->post_type == self::POSTTYPE && tribe_is_recurring_event($post->ID) && !is_search()) {
|
613 |
if( is_admin() && (!isset($post->EventStartDate) || !$post->EventStartDate) ) {
|
614 |
if( isset($_REQUEST['eventDate'] ) ) {
|
615 |
$post->EventStartDate = $_REQUEST['eventDate'];
|
1392 |
*
|
1393 |
* @link http://codex.wordpress.org/Custom_Queries#Permalinks_for_Custom_Archives
|
1394 |
*/
|
1395 |
+
public static function flushRewriteRules() {
|
1396 |
+
|
1397 |
+
global $wp_rewrite;
|
1398 |
$wp_rewrite->flush_rules();
|
1399 |
// in case this was called too early, let's get it in the end.
|
1400 |
add_action('shutdown', array('TribeEvents', 'flushRewriteRules'));
|
1430 |
|
1431 |
}
|
1432 |
|
1433 |
+
$this->rewriteSlug = sanitize_title( $this->getOption( 'eventsSlug', 'events' ) );
|
1434 |
+
$this->rewriteSlugSingular = sanitize_title( $this->getOption( 'singleEventSlug', 'event' ) );
|
1435 |
+
$this->taxRewriteSlug = $this->rewriteSlug . '/' . sanitize_title( __( 'category', 'tribe-events-calendar' ) );
|
1436 |
+
$this->tagRewriteSlug = $this->rewriteSlug . '/' . sanitize_title( __( 'tag', 'tribe-events-calendar' ) );
|
1437 |
+
|
1438 |
+
|
1439 |
$base = trailingslashit( $this->rewriteSlug );
|
1440 |
$baseSingle = trailingslashit( $this->rewriteSlugSingular );
|
1441 |
$baseTax = trailingslashit( $this->taxRewriteSlug );
|
1589 |
case 'single':
|
1590 |
global $post;
|
1591 |
$p = $secondary ? $secondary : $post;
|
1592 |
+
$link = get_permalink($p);
|
1593 |
return $link;
|
1594 |
case 'all':
|
1595 |
remove_filter( 'post_type_link', array($this, 'addDateToRecurringEvents') );
|
1596 |
$eventUrl = add_query_arg('eventDisplay', 'all', get_permalink() );
|
1597 |
+
add_filter( 'post_type_link', array( $this, 'addDateToRecurringEvents' ), 10, 2 );
|
1598 |
return $eventUrl;
|
1599 |
default:
|
1600 |
return $eventUrl;
|
1698 |
* @return void
|
1699 |
*/
|
1700 |
public function on_deactivate( ) {
|
1701 |
+
TribeEvents::flushRewriteRules();
|
1702 |
}
|
1703 |
|
1704 |
/**
|
lib/tickets/tribe-ticket-object.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( !class_exists( 'TribeEventsTicketObject' ) ) {
|
3 |
+
class TribeEventsTicketObject {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @var
|
7 |
+
*/
|
8 |
+
public $ID;
|
9 |
+
/**
|
10 |
+
* @var string
|
11 |
+
*/
|
12 |
+
public $name;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
public $description;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @var float
|
21 |
+
*/
|
22 |
+
public $price;
|
23 |
+
/**
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
+
public $admin_link;
|
27 |
+
/**
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
public $frontend_link;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var
|
34 |
+
*/
|
35 |
+
public $provider_class;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @var int
|
39 |
+
*/
|
40 |
+
public $stock;
|
41 |
+
/**
|
42 |
+
* @var int
|
43 |
+
*/
|
44 |
+
public $qty_sold;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @var
|
48 |
+
*/
|
49 |
+
public $start_date;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @var
|
53 |
+
*/
|
54 |
+
public $end_date;
|
55 |
+
|
56 |
+
}
|
57 |
+
}
|
lib/tickets/tribe-tickets-attendees.php
ADDED
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists( 'WP_List_Table' ) ) {
|
4 |
+
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
5 |
+
}
|
6 |
+
|
7 |
+
|
8 |
+
class TribeEventsTicketsAttendeesTable extends WP_List_Table {
|
9 |
+
|
10 |
+
function __construct() {
|
11 |
+
global $status, $page;
|
12 |
+
|
13 |
+
parent::__construct( array( 'singular' => 'attendee', 'plural' => 'attendees', 'ajax' => true ) );
|
14 |
+
}
|
15 |
+
|
16 |
+
function search_box() {
|
17 |
+
return;
|
18 |
+
}
|
19 |
+
|
20 |
+
function get_columns() {
|
21 |
+
$columns = array( 'cb' => '<input type="checkbox" />',
|
22 |
+
'order_id' => __( 'Order #', 'tribe-events-calendar' ),
|
23 |
+
'order_status' => __( 'Order Status', 'tribe-events-calendar' ),
|
24 |
+
'ticket' => __( 'Ticket', 'tribe-events-calendar' ),
|
25 |
+
'attendee_id' => __( 'Ticket #', 'tribe-events-calendar' ),
|
26 |
+
'security' => __( 'Security Code', 'tribe-events-calendar' ),
|
27 |
+
'check_in' => __( 'Check in', 'tribe-events-calendar' ) );
|
28 |
+
return $columns;
|
29 |
+
}
|
30 |
+
|
31 |
+
|
32 |
+
function column_default() {
|
33 |
+
return '';
|
34 |
+
}
|
35 |
+
|
36 |
+
function column_cb( $item ) {
|
37 |
+
return sprintf( '<input type="checkbox" name="%1$s[]" value="%2$s" />', esc_attr( $this->_args['singular'] ), esc_attr( $item['attendee_id'] . "|" . $item['provider'] ) );
|
38 |
+
}
|
39 |
+
|
40 |
+
function column_order_id( $item ) {
|
41 |
+
return sprintf( '<a class="row-title" href="%s">%s</a>', esc_url( get_edit_post_link( $item['order_id'], true ) ), esc_html( $item['order_id'] ) );
|
42 |
+
}
|
43 |
+
|
44 |
+
function column_order_status( $item ) {
|
45 |
+
|
46 |
+
$icon = "";
|
47 |
+
|
48 |
+
if ( strtolower( $item['order_status'] ) !== 'completed' ) {
|
49 |
+
$tec = TribeEvents::instance();
|
50 |
+
$icon = sprintf( "<span class='warning'><img src='%s'/></span> ", trailingslashit( $tec->pluginUrl ) . 'resources/warning.png' );
|
51 |
+
}
|
52 |
+
|
53 |
+
return $icon . ucwords( $item['order_status'] );
|
54 |
+
}
|
55 |
+
|
56 |
+
function column_attendee_id( $item ) {
|
57 |
+
return $item['attendee_id'];
|
58 |
+
}
|
59 |
+
|
60 |
+
function column_ticket( $item ) {
|
61 |
+
return $item['ticket'];
|
62 |
+
}
|
63 |
+
|
64 |
+
function column_security( $item ) {
|
65 |
+
return $item['security'];
|
66 |
+
}
|
67 |
+
|
68 |
+
function column_check_in( $item ) {
|
69 |
+
$checkin = sprintf( '<a href="#" data-attendee-id="%d" data-provider="%s" class="button-secondary tickets_checkin">%s</a>', esc_attr( $item['attendee_id'] ), esc_attr( $item['provider'] ), __( 'Check in', 'tribe-events-calendar' ) );
|
70 |
+
$uncheckin = sprintf( '<span class="delete"><a href="#" data-attendee-id="%d" data-provider="%s" class="tickets_uncheckin">%s</a></span>', esc_attr( $item['attendee_id'] ), esc_attr( $item['provider'] ), __( 'Undo Check in', 'tribe-events-calendar' ) );
|
71 |
+
|
72 |
+
return $checkin . $uncheckin;
|
73 |
+
}
|
74 |
+
|
75 |
+
function single_row( $item ) {
|
76 |
+
static $row_class = '';
|
77 |
+
$row_class = ( $row_class == '' ? ' alternate ' : '' );
|
78 |
+
|
79 |
+
$checked = '';
|
80 |
+
if ( intval( $item["checkedin"] ) === 1 )
|
81 |
+
$checked = ' tickets_checked ';
|
82 |
+
|
83 |
+
echo '<tr class="' . sanitize_html_class( $row_class ) . $checked . '">';
|
84 |
+
$this->single_row_columns( $item );
|
85 |
+
echo '</tr>';
|
86 |
+
}
|
87 |
+
|
88 |
+
|
89 |
+
function extra_tablenav( $which ) {
|
90 |
+
|
91 |
+
if ( 'top' == $which )
|
92 |
+
echo sprintf( '%s: <input type="text" name="filter_attendee" id="filter_attendee" value="">', __( "Filter by ticket #, order # or security code", "tribe-events-calendar" ) );
|
93 |
+
|
94 |
+
}
|
95 |
+
|
96 |
+
function get_bulk_actions() {
|
97 |
+
$actions = array( 'check_in' => __( 'Check in', 'tribe-events-calendar' ), 'uncheck_in' => __( 'Undo Check in', 'tribe-events-calendar' ) );
|
98 |
+
return $actions;
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
|
103 |
+
function process_bulk_action() {
|
104 |
+
if ( 'check_in' === $this->current_action() ) {
|
105 |
+
if ( isset( $_GET['attendee'] ) ) {
|
106 |
+
|
107 |
+
foreach ( $_GET['attendee'] as $attendee_provider ) {
|
108 |
+
$vars = explode( "|", $attendee_provider );
|
109 |
+
if ( isset( $vars[1] ) ) {
|
110 |
+
$obj = call_user_func( array( $vars[1], 'get_instance' ) );
|
111 |
+
$obj->checkin( $vars[0] );
|
112 |
+
}
|
113 |
+
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
|
120 |
+
if ( 'uncheck_in' === $this->current_action() ) {
|
121 |
+
if ( isset( $_GET['attendee'] ) ) {
|
122 |
+
|
123 |
+
foreach ( $_GET['attendee'] as $attendee_provider ) {
|
124 |
+
$vars = explode( "|", $attendee_provider );
|
125 |
+
if ( isset( $vars[1] ) ) {
|
126 |
+
$obj = call_user_func( array( $vars[1], 'get_instance' ) );
|
127 |
+
$obj->uncheckin( $vars[0] );
|
128 |
+
}
|
129 |
+
|
130 |
+
}
|
131 |
+
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
function prepare_items() {
|
138 |
+
|
139 |
+
global $wpdb;
|
140 |
+
|
141 |
+
$this->process_bulk_action();
|
142 |
+
|
143 |
+
$per_page = 10000;
|
144 |
+
|
145 |
+
$columns = $this->get_columns();
|
146 |
+
$hidden = array();
|
147 |
+
$sortable = array();
|
148 |
+
|
149 |
+
$this->_column_headers = array( $columns, $hidden, $sortable );
|
150 |
+
|
151 |
+
$current_page = $this->get_pagenum();
|
152 |
+
|
153 |
+
$event_id = isset( $_GET['event_id'] ) ? $_GET['event_id'] : 0;
|
154 |
+
|
155 |
+
$items = TribeEventsTickets::get_event_attendees( $event_id );
|
156 |
+
|
157 |
+
$this->items = $items;
|
158 |
+
|
159 |
+
$total_items = count( $this->items );
|
160 |
+
|
161 |
+
$this->set_pagination_args( array( 'total_items' => $total_items,
|
162 |
+
'per_page' => $per_page,
|
163 |
+
'total_pages' => ceil( $total_items / $per_page ) ) );
|
164 |
+
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
}
|
lib/tickets/tribe-tickets-metabox.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class TribeEventsTicketsMetabox {
|
4 |
+
|
5 |
+
public static function do_meta_box( $post_id ) {
|
6 |
+
$modules = apply_filters( 'tribe_events_tickets_modules', NULL );
|
7 |
+
if ( empty( $modules ) )
|
8 |
+
return;
|
9 |
+
|
10 |
+
add_meta_box( 'tribetickets', __( 'Tickets', 'tribe-events-calendar' ), array( 'TribeEventsTicketsMetabox',
|
11 |
+
'do_modules_metaboxes' ), TribeEvents::POSTTYPE, 'normal', 'high' );
|
12 |
+
}
|
13 |
+
|
14 |
+
public static function do_modules_metaboxes( $post_id ) {
|
15 |
+
|
16 |
+
$modules = apply_filters( 'tribe_events_tickets_modules', NULL );
|
17 |
+
if ( empty( $modules ) )
|
18 |
+
return;
|
19 |
+
|
20 |
+
foreach ( $modules as $class => $title ) {
|
21 |
+
if ( class_exists( $class ) ) {
|
22 |
+
$obj = call_user_func( array( $class, 'get_instance' ) );
|
23 |
+
$obj->do_meta_box( $post_id );
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
public static function add_admin_scripts( $hook ) {
|
29 |
+
global $post;
|
30 |
+
|
31 |
+
if ( ( $hook != 'post-new.php' && $hook != 'post.php' ) || TribeEvents::POSTTYPE != $post->post_type )
|
32 |
+
return;
|
33 |
+
|
34 |
+
wp_enqueue_script( 'events-tickets', plugins_url( 'resources/tickets.js', dirname( dirname( __FILE__ ) ) ) );
|
35 |
+
wp_enqueue_style( 'events-tickets', plugins_url( 'resources/tickets.css', dirname( dirname( __FILE__ ) ) ) );
|
36 |
+
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
41 |
+
|
42 |
+
add_action( 'add_meta_boxes', array( 'TribeEventsTicketsMetabox', 'do_meta_box' ) );
|
43 |
+
add_action( 'admin_enqueue_scripts', array( 'TribeEventsTicketsMetabox', 'add_admin_scripts' ) );
|
lib/tickets/tribe-tickets.php
ADDED
@@ -0,0 +1,553 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! class_exists( 'TribeEventsTickets' ) ) {
|
4 |
+
abstract class TribeEventsTickets {
|
5 |
+
|
6 |
+
// All TribeEventsTickets api consumers. It's static, so it's shared across childs.
|
7 |
+
protected static $active_modules = array();
|
8 |
+
public static $active = false;
|
9 |
+
|
10 |
+
public $className;
|
11 |
+
private $parentPath;
|
12 |
+
private $parentUrl;
|
13 |
+
private $attendees_slug = 'tickets-attendees';
|
14 |
+
private $attendees_page;
|
15 |
+
|
16 |
+
// prevent re-doing the metabox by different childs
|
17 |
+
private static $done_metabox = false;
|
18 |
+
private static $done_attendees_admin_page = false;
|
19 |
+
|
20 |
+
// start API Definitions
|
21 |
+
// Child classes must implement all these functions / properties
|
22 |
+
|
23 |
+
public $pluginName;
|
24 |
+
protected $pluginPath;
|
25 |
+
protected $pluginUrl;
|
26 |
+
|
27 |
+
abstract function get_event_reports_link( $event_id );
|
28 |
+
|
29 |
+
abstract function get_ticket_reports_link( $event_id, $ticket_id );
|
30 |
+
|
31 |
+
abstract function save_ticket( $event_id, $ticket, $raw_data = array() );
|
32 |
+
|
33 |
+
abstract protected function get_tickets( $event_id );
|
34 |
+
|
35 |
+
abstract protected function get_attendees( $event_id );
|
36 |
+
|
37 |
+
abstract public function checkin( $attendee_id );
|
38 |
+
|
39 |
+
abstract public function uncheckin( $attendee_id );
|
40 |
+
|
41 |
+
abstract function get_ticket( $event_id, $ticket_id );
|
42 |
+
|
43 |
+
abstract function delete_ticket( $event_id, $ticket_id );
|
44 |
+
|
45 |
+
abstract function do_metabox_advanced_options( $event_id, $ticket_id );
|
46 |
+
|
47 |
+
abstract function front_end_tickets_form( $content );
|
48 |
+
|
49 |
+
abstract static function get_instance();
|
50 |
+
|
51 |
+
// end API Definitions
|
52 |
+
|
53 |
+
function __construct() {
|
54 |
+
|
55 |
+
// As this is an abstract class, we want to know which child
|
56 |
+
// instantiated it
|
57 |
+
$this->className = get_class( $this );
|
58 |
+
|
59 |
+
$this->parentPath = trailingslashit( dirname( dirname( dirname( __FILE__ ) ) ) );
|
60 |
+
$this->parentUrl = trailingslashit( plugins_url( '', $this->parentPath ) );
|
61 |
+
|
62 |
+
// Register all TribeEventsTickets api consumers
|
63 |
+
self::$active_modules[$this->className] = $this->pluginName;
|
64 |
+
|
65 |
+
self::$active = true;
|
66 |
+
|
67 |
+
if ( is_admin() ) {
|
68 |
+
add_action( 'tribe_events_event_save', array( $this, 'save_tickets' ), 10, 1 );
|
69 |
+
add_action( 'tribe_events_tickets_metabox_advanced', array( $this, 'do_metabox_advanced_options' ), 10, 2 );
|
70 |
+
}
|
71 |
+
|
72 |
+
add_filter( 'tribe_events_tickets_modules', array( $this, 'modules' ) );
|
73 |
+
|
74 |
+
// Admin AJAX actions
|
75 |
+
add_action( 'wp_ajax_tribe-ticket-add-' . $this->className, array( $this, 'ajax_handler_ticket_add' ) );
|
76 |
+
add_action( 'wp_ajax_tribe-ticket-delete-' . $this->className, array( $this, 'ajax_handler_ticket_delete' ) );
|
77 |
+
add_action( 'wp_ajax_tribe-ticket-edit-' . $this->className, array( $this, 'ajax_handler_ticket_edit' ) );
|
78 |
+
add_action( 'wp_ajax_tribe-ticket-checkin-' . $this->className, array( $this, 'ajax_handler_attendee_checkin' ) );
|
79 |
+
add_action( 'wp_ajax_tribe-ticket-uncheckin-' . $this->className, array( $this, 'ajax_handler_attendee_uncheckin' ) );
|
80 |
+
|
81 |
+
// Attendees list
|
82 |
+
add_filter( 'post_row_actions', array( $this, 'attendees_row_action' ) );
|
83 |
+
add_action( 'admin_menu', array( $this, 'attendees_page_register' ) );
|
84 |
+
|
85 |
+
// Front end
|
86 |
+
add_filter( 'tribe_get_ticket_form', array( $this, 'front_end_tickets_form' ) );
|
87 |
+
|
88 |
+
}
|
89 |
+
|
90 |
+
public final function do_meta_box( $post_id ) {
|
91 |
+
|
92 |
+
if ( self::$done_metabox )
|
93 |
+
return;
|
94 |
+
|
95 |
+
$startMinuteOptions = TribeEventsViewHelpers::getMinuteOptions( null );
|
96 |
+
$endMinuteOptions = TribeEventsViewHelpers::getMinuteOptions( null );
|
97 |
+
$startHourOptions = TribeEventsViewHelpers::getHourOptions( null, true );
|
98 |
+
$endHourOptions = TribeEventsViewHelpers::getHourOptions( null, false );
|
99 |
+
$startMeridianOptions = TribeEventsViewHelpers::getMeridianOptions( null, true );
|
100 |
+
$endMeridianOptions = TribeEventsViewHelpers::getMeridianOptions( null );
|
101 |
+
|
102 |
+
$tickets = self::get_event_tickets( $post_id );
|
103 |
+
include $this->parentPath . 'admin-views/tickets-meta-box.php';
|
104 |
+
self::$done_metabox = true;
|
105 |
+
|
106 |
+
}
|
107 |
+
|
108 |
+
protected final function load_pdf_libraries() {
|
109 |
+
if ( class_exists( 'FPDF' ) )
|
110 |
+
return;
|
111 |
+
|
112 |
+
include $this->parentPath . 'vendor/fpdf/fpdf.php';
|
113 |
+
|
114 |
+
|
115 |
+
}
|
116 |
+
|
117 |
+
public final function generate_attendees_PDF( $tickets_list ) {
|
118 |
+
|
119 |
+
$this->load_pdf_libraries();
|
120 |
+
|
121 |
+
$pdf = new FPDF();
|
122 |
+
$ecp = TribeEvents::instance();
|
123 |
+
|
124 |
+
$pdf->AddFont('OpenSans','','opensans.php');
|
125 |
+
$pdf->AddFont('SteelFish','','steelfish.php');
|
126 |
+
|
127 |
+
$pdf->SetTitle('EventTicket');
|
128 |
+
$pdf->SetAuthor('The Events Calendar');
|
129 |
+
$pdf->SetCreator('The Events Calendar');
|
130 |
+
|
131 |
+
$defaults = array( 'event_id' => 0,
|
132 |
+
'ticket_name' => '',
|
133 |
+
'holder_name' => '',
|
134 |
+
'order_id' => '',
|
135 |
+
'ticket_id' => '',
|
136 |
+
'security_code' => ''
|
137 |
+
);
|
138 |
+
|
139 |
+
foreach ( $tickets_list as $ticket ) {
|
140 |
+
|
141 |
+
$ticket = wp_parse_args( $ticket, $defaults );
|
142 |
+
$event = get_post( $ticket['event_id'] );
|
143 |
+
|
144 |
+
$venue_id = tribe_get_venue_id( $event->ID );
|
145 |
+
$venue = ( !empty( $venue_id ) ) ? get_post( $venue_id )->post_title : '';
|
146 |
+
|
147 |
+
$address = tribe_get_address( $event->ID );
|
148 |
+
$zip = tribe_get_zip( $event->ID );
|
149 |
+
$state = tribe_get_stateprovince( $event->ID );
|
150 |
+
$city = tribe_get_city( $event->ID );
|
151 |
+
|
152 |
+
$pdf->AddPage();
|
153 |
+
|
154 |
+
$pdf->SetDrawColor( 28, 166, 205 );
|
155 |
+
$pdf->SetFillColor( 28, 166, 205 );
|
156 |
+
$pdf->Rect( 15, 10, 180, 34, 'F' );
|
157 |
+
|
158 |
+
$pdf->SetTextColor( 255 );
|
159 |
+
|
160 |
+
$pdf->SetFont( 'OpenSans', '', 10 );
|
161 |
+
$pdf->SetXY( 30, 15 );
|
162 |
+
$pdf->Write( 5, __( 'EVENT NAME:', 'tribe-events-calendar' ) );
|
163 |
+
|
164 |
+
$pdf->SetXY( 30, 28 );
|
165 |
+
$pdf->SetFont( 'SteelFish', '', 53 );
|
166 |
+
|
167 |
+
$title = strtoupper( utf8_decode( $event->post_title ) );
|
168 |
+
$size = 53;
|
169 |
+
|
170 |
+
while ( $pdf->GetStringWidth( $title ) > 151 ) {
|
171 |
+
$size--;
|
172 |
+
$pdf->SetFontSize( $size );
|
173 |
+
}
|
174 |
+
|
175 |
+
$pdf->Write( 5, $title );
|
176 |
+
|
177 |
+
$pdf->SetTextColor( 41 );
|
178 |
+
|
179 |
+
$pdf->SetFont( 'OpenSans', '', 10 );
|
180 |
+
$pdf->SetXY( 30, 50 );
|
181 |
+
$pdf->Write( 5, __( 'TICKET HOLDER:', 'tribe-events-calendar' ) );
|
182 |
+
$pdf->SetXY( 104, 50 );
|
183 |
+
$pdf->Write( 5, __( 'LOCATION:', 'tribe-events-calendar' ) );
|
184 |
+
|
185 |
+
$pdf->SetFont( 'SteelFish', '', 30 );
|
186 |
+
|
187 |
+
$pdf->SetXY( 30, 59 );
|
188 |
+
$holder = strtoupper( utf8_decode( $ticket['holder_name'] ) );
|
189 |
+
$size = 30;
|
190 |
+
while ( $pdf->GetStringWidth( $holder ) > 70 ) {
|
191 |
+
$size--;
|
192 |
+
$pdf->SetFontSize( $size );
|
193 |
+
}
|
194 |
+
$pdf->Write( 5, $holder );
|
195 |
+
|
196 |
+
|
197 |
+
$pdf->SetXY( 104, 59 );
|
198 |
+
$venue = strtoupper( utf8_decode( $venue ) );
|
199 |
+
$size = 30;
|
200 |
+
while ( $pdf->GetStringWidth( $venue ) > 70 ) {
|
201 |
+
$size--;
|
202 |
+
$pdf->SetFontSize( $size );
|
203 |
+
}
|
204 |
+
$pdf->Write( 5, $venue );
|
205 |
+
|
206 |
+
$pdf->SetXY( 104, 71 );
|
207 |
+
|
208 |
+
$address = strtoupper( utf8_decode( $address ) );
|
209 |
+
$size = 30;
|
210 |
+
while ( $pdf->GetStringWidth( $address ) > 70 ) {
|
211 |
+
$size--;
|
212 |
+
$pdf->SetFontSize( $size );
|
213 |
+
}
|
214 |
+
$pdf->Write( 5, $address );
|
215 |
+
|
216 |
+
$pdf->SetXY( 104, 83 );
|
217 |
+
|
218 |
+
$address2 = array( $city, $state, $zip );
|
219 |
+
$address2 = array_filter( $address2 );
|
220 |
+
$address2 = join( ', ', $address2 );
|
221 |
+
$address2 = strtoupper( utf8_decode( $address2 ) );
|
222 |
+
|
223 |
+
$size = 30;
|
224 |
+
while ( $pdf->GetStringWidth( $address2 ) > 70 ) {
|
225 |
+
$size--;
|
226 |
+
$pdf->SetFontSize( $size );
|
227 |
+
}
|
228 |
+
$pdf->Write( 5, $address2 );
|
229 |
+
|
230 |
+
$pdf->Line( 15, 97, 195, 97 );
|
231 |
+
|
232 |
+
$pdf->SetFont( 'OpenSans', '', 10 );
|
233 |
+
$pdf->SetXY( 30, 105 );
|
234 |
+
$pdf->Write( 5, __( 'ORDER:', 'tribe-events-calendar' ) );
|
235 |
+
$pdf->SetXY( 80, 105 );
|
236 |
+
$pdf->Write( 5, __( 'TICKET:', 'tribe-events-calendar' ) );
|
237 |
+
$pdf->SetXY( 120, 105 );
|
238 |
+
$pdf->Write( 5, __( 'VERIFICATION:', 'tribe-events-calendar' ) );
|
239 |
+
|
240 |
+
$pdf->SetFont( 'SteelFish', '', 53 );
|
241 |
+
$pdf->SetXY( 30, 118 );
|
242 |
+
$pdf->Write( 5, $ticket['order_id'] );
|
243 |
+
$pdf->SetXY( 80, 118 );
|
244 |
+
$pdf->Write( 5, $ticket['ticket_id'] );
|
245 |
+
$pdf->SetXY( 120, 118 );
|
246 |
+
$pdf->Write( 5, $ticket['security_code'] );
|
247 |
+
|
248 |
+
$pdf->Rect( 15, 135, 180, 15, 'F' );
|
249 |
+
|
250 |
+
$pdf->SetTextColor( 255 );
|
251 |
+
|
252 |
+
$pdf->SetFont( 'OpenSans', '', 10 );
|
253 |
+
$pdf->SetXY( 30, 140 );
|
254 |
+
$pdf->Write( 5, get_bloginfo('name') );
|
255 |
+
$pdf->SetXY( 104, 140 );
|
256 |
+
$pdf->Write( 5, get_home_url() );
|
257 |
+
|
258 |
+
|
259 |
+
}
|
260 |
+
|
261 |
+
$upload_path = wp_upload_dir();
|
262 |
+
$upload_url = $upload_path['url'];
|
263 |
+
$upload_path = $upload_path['path'];
|
264 |
+
|
265 |
+
$filename = wp_unique_filename( $upload_path, sanitize_file_name( md5( time() ) ) . '.pdf' );
|
266 |
+
|
267 |
+
$upload_path = trailingslashit( $upload_path ) . $filename;
|
268 |
+
$upload_url = trailingslashit( $upload_url ) . $filename;
|
269 |
+
|
270 |
+
$pdf->Output( $upload_path, 'F' );
|
271 |
+
|
272 |
+
return array( $upload_path, $upload_url );
|
273 |
+
|
274 |
+
}
|
275 |
+
|
276 |
+
/* AJAX Handlers */
|
277 |
+
|
278 |
+
public final function ajax_handler_ticket_add() {
|
279 |
+
|
280 |
+
if ( ! isset( $_POST["formdata"] ) ) $this->ajax_error( 'Bad post' );
|
281 |
+
if ( ! isset( $_POST["post_ID"] ) ) $this->ajax_error( 'Bad post' );
|
282 |
+
|
283 |
+
$data = wp_parse_args( $_POST["formdata"] );
|
284 |
+
$post_id = $_POST["post_ID"];
|
285 |
+
|
286 |
+
if ( !isset( $data["ticket_provider"] ) || !$this->module_is_valid( $data["ticket_provider"] ) ) $this->ajax_error( 'Bad module' );
|
287 |
+
|
288 |
+
$ticket = new TribeEventsTicketObject();
|
289 |
+
|
290 |
+
$ticket->ID = isset( $data["ticket_id"] ) ? $data["ticket_id"] : null;
|
291 |
+
$ticket->name = isset( $data["ticket_name"] ) ? $data["ticket_name"] : null;
|
292 |
+
$ticket->description = isset( $data["ticket_description"] ) ? $data["ticket_description"] : null;
|
293 |
+
$ticket->price = isset( $data["ticket_price"] ) ? trim( $data["ticket_price"] ) : 0;
|
294 |
+
|
295 |
+
if ( empty( $ticket->price ) ) {
|
296 |
+
$ticket->price = 0;
|
297 |
+
} else {
|
298 |
+
//remove non-money characters
|
299 |
+
$ticket->price = preg_replace( '/[^0-9\.]/Uis', '', $ticket->price );
|
300 |
+
}
|
301 |
+
|
302 |
+
if ( !empty( $data['ticket_start_date'] ) ) {
|
303 |
+
$meridian = !empty( $data['ticket_start_meridian'] ) ? " " . $data['ticket_start_meridian'] : "";
|
304 |
+
$ticket->start_date = date( TribeDateUtils::DBDATETIMEFORMAT, strtotime( $data['ticket_start_date'] . " " . $data['ticket_start_hour'] . ":" . $data['ticket_start_minute'] . ":00" . $meridian ) );
|
305 |
+
}
|
306 |
+
|
307 |
+
if ( !empty( $data['ticket_end_date'] ) ) {
|
308 |
+
$meridian = !empty( $data['ticket_end_meridian'] ) ? " " . $data['ticket_end_meridian'] : "";
|
309 |
+
$ticket->end_date = date( TribeDateUtils::DBDATETIMEFORMAT, strtotime( $data['ticket_end_date'] . " " . $data['ticket_end_hour'] . ":" . $data['ticket_end_minute'] . ":00" . $meridian ) );
|
310 |
+
}
|
311 |
+
|
312 |
+
$ticket->provider_class = $this->className;
|
313 |
+
|
314 |
+
// Pass the control to the child object
|
315 |
+
$return = $this->save_ticket( $post_id, $ticket, $data );
|
316 |
+
|
317 |
+
// If saved OK, let's create a tickets list markup to return
|
318 |
+
if ( $return ) {
|
319 |
+
$tickets = $this->get_event_tickets( $post_id );
|
320 |
+
$return = $this->get_ticket_list_markup( $tickets );
|
321 |
+
|
322 |
+
$return = $this->notice( __( 'Your ticket has been saved.', 'tribe-events-calendar' ) ) . $return;
|
323 |
+
}
|
324 |
+
|
325 |
+
$this->ajax_ok( $return );
|
326 |
+
}
|
327 |
+
|
328 |
+
public final function ajax_handler_attendee_checkin() {
|
329 |
+
|
330 |
+
if ( ! isset( $_POST["order_ID"] ) || intval( $_POST["order_ID"] ) == 0 )
|
331 |
+
$this->ajax_error( 'Bad post' );
|
332 |
+
if ( ! isset( $_POST["provider"] ) || ! $this->module_is_valid( $_POST["provider"] ) )
|
333 |
+
$this->ajax_error( 'Bad module' );
|
334 |
+
|
335 |
+
$order_id = $_POST["order_ID"];
|
336 |
+
|
337 |
+
// Pass the control to the child object
|
338 |
+
$return = $this->checkin( $order_id );
|
339 |
+
|
340 |
+
$this->ajax_ok( $return );
|
341 |
+
}
|
342 |
+
|
343 |
+
public final function ajax_handler_attendee_uncheckin() {
|
344 |
+
|
345 |
+
if ( !isset( $_POST["order_ID"] ) || intval( $_POST["order_ID"] ) == 0 )
|
346 |
+
$this->ajax_error( 'Bad post' );
|
347 |
+
if ( !isset( $_POST["provider"] ) || !$this->module_is_valid( $_POST["provider"] ) )
|
348 |
+
$this->ajax_error( 'Bad module' );
|
349 |
+
|
350 |
+
$order_id = $_POST["order_ID"];
|
351 |
+
|
352 |
+
// Pass the control to the child object
|
353 |
+
$return = $this->uncheckin( $order_id );
|
354 |
+
|
355 |
+
$this->ajax_ok( $return );
|
356 |
+
}
|
357 |
+
|
358 |
+
public final function ajax_handler_ticket_delete() {
|
359 |
+
|
360 |
+
if ( ! isset( $_POST["post_ID"] ) )
|
361 |
+
$this->ajax_error( 'Bad post' );
|
362 |
+
if ( ! isset( $_POST["ticket_id"] ) )
|
363 |
+
$this->ajax_error( 'Bad post' );
|
364 |
+
|
365 |
+
$post_id = $_POST["post_ID"];
|
366 |
+
$ticket_id = $_POST["ticket_id"];
|
367 |
+
|
368 |
+
// Pass the control to the child object
|
369 |
+
$return = $this->delete_ticket( $post_id, $ticket_id );
|
370 |
+
|
371 |
+
// If deleted OK, let's create a tickets list markup to return
|
372 |
+
if ( $return ) {
|
373 |
+
$tickets = $this->get_event_tickets( $post_id );
|
374 |
+
$return = $this->get_ticket_list_markup( $tickets );
|
375 |
+
|
376 |
+
$return = $this->notice( __( 'Your ticket has been deleted.', 'tribe-events-calendar' ) ) . $return;
|
377 |
+
}
|
378 |
+
|
379 |
+
$this->ajax_ok( $return );
|
380 |
+
}
|
381 |
+
|
382 |
+
public final function ajax_handler_ticket_edit() {
|
383 |
+
|
384 |
+
if ( ! isset( $_POST["post_ID"] ) )
|
385 |
+
$this->ajax_error( 'Bad post' );
|
386 |
+
if ( ! isset( $_POST["ticket_id"] ) )
|
387 |
+
$this->ajax_error( 'Bad post' );
|
388 |
+
|
389 |
+
$post_id = $_POST["post_ID"];
|
390 |
+
$ticket_id = $_POST["ticket_id"];
|
391 |
+
|
392 |
+
$return = get_object_vars( $this->get_ticket( $post_id, $ticket_id ) );
|
393 |
+
|
394 |
+
ob_start();
|
395 |
+
$this->do_metabox_advanced_options( $post_id, $ticket_id );
|
396 |
+
$extra = ob_get_contents();
|
397 |
+
ob_end_clean();
|
398 |
+
|
399 |
+
$return["advanced_fields"] = $extra;
|
400 |
+
|
401 |
+
$this->ajax_ok( $return );
|
402 |
+
}
|
403 |
+
|
404 |
+
protected function notice( $msg ) {
|
405 |
+
return sprintf( '<div class="wrap"><div class="updated"><p>%s</p></div></div>', $msg );
|
406 |
+
}
|
407 |
+
|
408 |
+
protected final function ajax_error( $message = "" ) {
|
409 |
+
header( 'Content-type: application/json' );
|
410 |
+
|
411 |
+
echo json_encode( array( "success" => false,
|
412 |
+
"message" => $message ) );
|
413 |
+
exit;
|
414 |
+
}
|
415 |
+
|
416 |
+
protected final function ajax_ok( $data ) {
|
417 |
+
$return = array();
|
418 |
+
if ( is_object( $data ) ) {
|
419 |
+
$return = get_object_vars( $data );
|
420 |
+
} elseif ( is_array( $data ) || is_string( $data ) ) {
|
421 |
+
$return = $data;
|
422 |
+
} elseif ( is_bool( $data ) && !$data ) {
|
423 |
+
$this->ajax_error( "Something went wrong" );
|
424 |
+
}
|
425 |
+
|
426 |
+
header( 'Content-type: application/json' );
|
427 |
+
echo json_encode( array( "success" => true,
|
428 |
+
"data" => $return ) );
|
429 |
+
exit;
|
430 |
+
}
|
431 |
+
|
432 |
+
// end AJAX Handlers
|
433 |
+
|
434 |
+
// start Attendees
|
435 |
+
|
436 |
+
public function attendees_row_action( $actions ) {
|
437 |
+
global $post;
|
438 |
+
|
439 |
+
if ( $post->post_type == TribeEvents::POSTTYPE ) {
|
440 |
+
|
441 |
+
|
442 |
+
$url = add_query_arg( array( 'post_type' => TribeEvents::POSTTYPE,
|
443 |
+
'page' => $this->attendees_slug,
|
444 |
+
'event_id' => $post->ID ), admin_url( 'edit.php' ) );
|
445 |
+
|
446 |
+
$actions['tickets_attendees'] = sprintf( '<a title="%s" href="%s">%s</a>', __( 'See who purchased tickets to this event', 'tribe-events-calendar' ), esc_url( $url ), __( 'Attendees', 'tribe-events-calendar' ) );
|
447 |
+
}
|
448 |
+
return $actions;
|
449 |
+
}
|
450 |
+
|
451 |
+
public function attendees_page_register() {
|
452 |
+
if ( self::$done_attendees_admin_page )
|
453 |
+
return;
|
454 |
+
|
455 |
+
$this->attendees_page = add_submenu_page( null, 'Attendee list', 'Attendee list', 'edit_posts', $this->attendees_slug, array( $this, 'attendees_page_inside' ) );
|
456 |
+
|
457 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'attendees_page_load_css_js' ) );
|
458 |
+
|
459 |
+
self::$done_attendees_admin_page = true;
|
460 |
+
}
|
461 |
+
|
462 |
+
public function attendees_page_load_css_js( $hook ) {
|
463 |
+
|
464 |
+
if ( $hook != $this->attendees_page )
|
465 |
+
return;
|
466 |
+
|
467 |
+
$ecp = TribeEvents::instance();
|
468 |
+
|
469 |
+
wp_enqueue_style( $this->attendees_slug, trailingslashit( $ecp->pluginUrl ) . '/resources/tickets-attendees.css' );
|
470 |
+
wp_enqueue_script( $this->attendees_slug, trailingslashit( $ecp->pluginUrl ) . '/resources/tickets-attendees.js', array( 'jquery' ) );
|
471 |
+
}
|
472 |
+
|
473 |
+
public function attendees_page_inside() {
|
474 |
+
|
475 |
+
require_once 'tribe-tickets-attendees.php';
|
476 |
+
$attendees_table = new TribeEventsTicketsAttendeesTable();
|
477 |
+
$attendees_table->prepare_items();
|
478 |
+
|
479 |
+
include $this->parentPath . 'admin-views/tickets-attendees.php';
|
480 |
+
}
|
481 |
+
|
482 |
+
final static public function get_event_attendees( $event_id ) {
|
483 |
+
$attendees = array();
|
484 |
+
|
485 |
+
foreach ( self::$active_modules as $class=> $module ) {
|
486 |
+
$obj = call_user_func( array( $class, 'get_instance' ) );
|
487 |
+
$attendees = array_merge( $attendees, $obj->get_attendees( $event_id ) );
|
488 |
+
}
|
489 |
+
|
490 |
+
return $attendees;
|
491 |
+
}
|
492 |
+
|
493 |
+
|
494 |
+
// endA ttendees
|
495 |
+
|
496 |
+
// start Helpers
|
497 |
+
|
498 |
+
private function module_is_valid( $module ) {
|
499 |
+
return array_key_exists( $module, self::$active_modules );
|
500 |
+
}
|
501 |
+
|
502 |
+
private function ticket_list_markup( $tickets = array() ) {
|
503 |
+
if ( ! empty( $tickets ) )
|
504 |
+
include $this->parentPath . 'admin-views/tickets-list.php';
|
505 |
+
}
|
506 |
+
|
507 |
+
private function get_ticket_list_markup( $tickets = array() ) {
|
508 |
+
|
509 |
+
ob_start();
|
510 |
+
$this->ticket_list_markup( $tickets );
|
511 |
+
$return = ob_get_contents();
|
512 |
+
ob_end_clean();
|
513 |
+
|
514 |
+
return $return;
|
515 |
+
}
|
516 |
+
|
517 |
+
protected function tr_class() {
|
518 |
+
echo "ticket_advanced ticket_advanced_" . $this->className;
|
519 |
+
}
|
520 |
+
|
521 |
+
public function modules() {
|
522 |
+
return self::$active_modules;
|
523 |
+
}
|
524 |
+
|
525 |
+
final static public function get_event_tickets( $event_id ) {
|
526 |
+
|
527 |
+
$tickets = array();
|
528 |
+
|
529 |
+
foreach ( self::$active_modules as $class=> $module ) {
|
530 |
+
$obj = call_user_func( array( $class, 'get_instance' ) );
|
531 |
+
$tickets = array_merge( $tickets, $obj->get_tickets( $event_id ) );
|
532 |
+
}
|
533 |
+
|
534 |
+
return $tickets;
|
535 |
+
}
|
536 |
+
|
537 |
+
public function getTemplateHierarchy( $template ) {
|
538 |
+
|
539 |
+
if ( substr( $template, -4 ) != '.php' ) {
|
540 |
+
$template .= '.php';
|
541 |
+
}
|
542 |
+
|
543 |
+
if ( $theme_file = locate_template( array( 'events/' . $template ) ) ) {
|
544 |
+
$file = $theme_file;
|
545 |
+
} else {
|
546 |
+
$file = $this->pluginPath . 'views/' . $template;
|
547 |
+
}
|
548 |
+
return apply_filters( 'tribe_events_tickets_template_' . $template, $file );
|
549 |
+
}
|
550 |
+
|
551 |
+
// end Helpers
|
552 |
+
}
|
553 |
+
}
|
lib/tribe-admin-events-list.class.php
CHANGED
File without changes
|
lib/tribe-app-shop.class.php
CHANGED
File without changes
|
lib/tribe-date-utils.class.php
CHANGED
File without changes
|
lib/tribe-debug-bar.class.php
CHANGED
File without changes
|
lib/tribe-event-api.class.php
CHANGED
@@ -109,6 +109,9 @@ if (!class_exists('TribeEventsAPI')) {
|
|
109 |
|
110 |
$tribe_ecp->do_action('tribe_events_event_save', $event_id);
|
111 |
|
|
|
|
|
|
|
112 |
//update meta fields
|
113 |
foreach ( $tribe_ecp->metaTags as $tag ) {
|
114 |
$htmlElement = ltrim( $tag, '_' );
|
109 |
|
110 |
$tribe_ecp->do_action('tribe_events_event_save', $event_id);
|
111 |
|
112 |
+
$cost = ( isset( $data['EventCost'] ) ) ? $data['EventCost'] : '';
|
113 |
+
$data['EventCost'] = $cost;
|
114 |
+
|
115 |
//update meta fields
|
116 |
foreach ( $tribe_ecp->metaTags as $tag ) {
|
117 |
$htmlElement = ltrim( $tag, '_' );
|
lib/tribe-event-exception.class.php
CHANGED
File without changes
|
lib/tribe-event-query.class.php
CHANGED
File without changes
|
lib/tribe-field.class.php
CHANGED
File without changes
|
lib/tribe-presstrends.php
CHANGED
@@ -9,47 +9,52 @@ function presstrends_plugin_tribe_events_calendar() {
|
|
9 |
// Start of Metrics
|
10 |
global $wpdb;
|
11 |
$data = get_transient( 'presstrends_data_tribe-events-calendar' );
|
12 |
-
if (!$data || $data == ''){
|
13 |
$api_base = 'http://api.presstrends.io/index.php/api/pluginsites/update/auth/';
|
14 |
-
$url
|
15 |
-
|
16 |
-
$count_posts
|
17 |
-
$count_pages
|
18 |
$comments_count = wp_count_comments();
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
$plugin_name = '&';
|
24 |
-
foreach(
|
25 |
-
$plugin_name .= $plugin_info['Name'];
|
26 |
-
$plugin_name .= '&';
|
27 |
}
|
28 |
-
//
|
29 |
-
$plugin_data
|
30 |
-
$
|
31 |
-
$
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
foreach ( $data as $k => $v ) {
|
49 |
$url .= $k . '/' . $v . '/';
|
50 |
}
|
51 |
-
|
52 |
-
set_transient('presstrends_data_tribe-events-calendar', $data, 60*60*24);
|
53 |
}
|
54 |
}
|
55 |
|
9 |
// Start of Metrics
|
10 |
global $wpdb;
|
11 |
$data = get_transient( 'presstrends_data_tribe-events-calendar' );
|
12 |
+
if ( !$data || $data == '' ) {
|
13 |
$api_base = 'http://api.presstrends.io/index.php/api/pluginsites/update/auth/';
|
14 |
+
$url = $api_base . $auth . '/api/' . $api_key . '/';
|
15 |
+
|
16 |
+
$count_posts = wp_count_posts();
|
17 |
+
$count_pages = wp_count_posts( 'page' );
|
18 |
$comments_count = wp_count_comments();
|
19 |
+
|
20 |
+
// wp_get_theme was introduced in 3.4, for compatibility with older versions, let's do a workaround for now.
|
21 |
+
if ( function_exists( 'wp_get_theme' ) ) {
|
22 |
+
$theme_data = wp_get_theme();
|
23 |
+
$theme_name = urlencode( $theme_data->Name );
|
24 |
+
} else {
|
25 |
+
$theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
|
26 |
+
$theme_name = $theme_data['Name'];
|
27 |
+
}
|
28 |
+
|
29 |
$plugin_name = '&';
|
30 |
+
foreach ( get_plugins() as $plugin_info ) {
|
31 |
+
$plugin_name .= $plugin_info['Name'] . '&';
|
|
|
32 |
}
|
33 |
+
// CHANGE __FILE__ PATH IF LOCATED OUTSIDE MAIN PLUGIN FILE
|
34 |
+
$plugin_data = get_plugin_data( __FILE__ );
|
35 |
+
$posts_with_comments = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts WHERE post_type='post' AND comment_count > 0" );
|
36 |
+
$data = array(
|
37 |
+
'url' => stripslashes( str_replace( array( 'http://', '/', ':' ), '', site_url() ) ),
|
38 |
+
'posts' => $count_posts->publish,
|
39 |
+
'pages' => $count_pages->publish,
|
40 |
+
'comments' => $comments_count->total_comments,
|
41 |
+
'approved' => $comments_count->approved,
|
42 |
+
'spam' => $comments_count->spam,
|
43 |
+
'pingbacks' => $wpdb->get_var( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_type = 'pingback'" ),
|
44 |
+
'post_conversion' => ( $count_posts->publish > 0 && $posts_with_comments > 0 ) ? number_format( ( $posts_with_comments / $count_posts->publish ) * 100, 0, '.', '' ) : 0,
|
45 |
+
'theme_version' => $plugin_data['Version'],
|
46 |
+
'theme_name' => $theme_name,
|
47 |
+
'site_name' => str_replace( ' ', '', get_bloginfo( 'name' ) ),
|
48 |
+
'plugins' => count( get_option( 'active_plugins' ) ),
|
49 |
+
'plugin' => urlencode( $plugin_name ),
|
50 |
+
'wpversion' => get_bloginfo( 'version' ),
|
51 |
+
);
|
52 |
+
|
53 |
foreach ( $data as $k => $v ) {
|
54 |
$url .= $k . '/' . $v . '/';
|
55 |
}
|
56 |
+
wp_remote_get( $url );
|
57 |
+
set_transient( 'presstrends_data_tribe-events-calendar', $data, 60 * 60 * 24 );
|
58 |
}
|
59 |
}
|
60 |
|
lib/tribe-settings-tab.class.php
CHANGED
File without changes
|
lib/tribe-settings.class.php
CHANGED
File without changes
|
lib/tribe-templates.class.php
CHANGED
@@ -236,6 +236,45 @@ if (!class_exists('TribeEventsTemplates')) {
|
|
236 |
$wp_query->is_page = true; // don't show comments
|
237 |
//$wp_query->is_single = false; // don't show comments
|
238 |
$wp_query->is_singular = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
|
240 |
}
|
241 |
|
236 |
$wp_query->is_page = true; // don't show comments
|
237 |
//$wp_query->is_single = false; // don't show comments
|
238 |
$wp_query->is_singular = true;
|
239 |
+
|
240 |
+
if ( empty ( $wp_query->posts ) ) {
|
241 |
+
|
242 |
+
global $post;
|
243 |
+
|
244 |
+
$spoofed_post = array( "ID" => 1,
|
245 |
+
"post_author" => 1,
|
246 |
+
"post_date" => '1900-10-02 00:00:00',
|
247 |
+
"post_date_gmt" => '1900-10-02 00:00:00',
|
248 |
+
"post_content" => '',
|
249 |
+
"post_title" => '',
|
250 |
+
"post_excerpt" => '',
|
251 |
+
"post_status" => 'publish',
|
252 |
+
"comment_status" => 'closed',
|
253 |
+
"ping_status" => 'closed',
|
254 |
+
"post_password" => '',
|
255 |
+
"post_name" => 'post',
|
256 |
+
"to_ping" => '',
|
257 |
+
"pinged" => '',
|
258 |
+
"post_modified" => '1900-10-02 00:00:00',
|
259 |
+
"post_modified_gmt" => '1900-10-02 00:00:00',
|
260 |
+
"post_content_filtered" => '',
|
261 |
+
"post_parent" => 0,
|
262 |
+
"guid" => '',
|
263 |
+
"menu_order" => 0,
|
264 |
+
"post_type" => 'tribe_events',
|
265 |
+
"post_mime_type" => '',
|
266 |
+
"comment_count" => 0,
|
267 |
+
"EventStartDate" => '1900-10-02 00:00:00',
|
268 |
+
"EventEndDate" => '1900-10-02 00:00:00',
|
269 |
+
"filter" => 'raw' );
|
270 |
+
|
271 |
+
$post = (object)$spoofed_post;
|
272 |
+
|
273 |
+
$wp_query->post = $post;
|
274 |
+
$wp_query->posts[] = $post;
|
275 |
+
$wp_query->posts[] = $post;
|
276 |
+
|
277 |
+
}
|
278 |
|
279 |
}
|
280 |
|
lib/tribe-the-events-calendar-import.class.php
CHANGED
File without changes
|
lib/tribe-validate.class.php
CHANGED
File without changes
|
lib/tribe-view-helpers.class.php
CHANGED
File without changes
|
lib/widget-list.class.php
CHANGED
File without changes
|
license.txt
CHANGED
File without changes
|
public/advanced-functions/event.php
CHANGED
File without changes
|
public/advanced-functions/organizer.php
CHANGED
File without changes
|
public/advanced-functions/venue.php
CHANGED
File without changes
|
public/template-tags/calendar.php
CHANGED
File without changes
|
public/template-tags/date.php
CHANGED
File without changes
|
public/template-tags/general.php
CHANGED
File without changes
|
public/template-tags/google-map.php
CHANGED
File without changes
|
public/template-tags/link.php
CHANGED
@@ -131,7 +131,11 @@ if( class_exists( 'TribeEvents' ) ) {
|
|
131 |
* @since 2.0
|
132 |
*/
|
133 |
function tribe_get_event_link($event = null) {
|
134 |
-
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
|
137 |
}
|
131 |
* @since 2.0
|
132 |
*/
|
133 |
function tribe_get_event_link($event = null) {
|
134 |
+
if ( '' == get_option('permalink_structure') ) {
|
135 |
+
return apply_filters( 'tribe_get_event_link', TribeEvents::instance()->getLink('single', $event), $event );
|
136 |
+
} else {
|
137 |
+
return trailingslashit( apply_filters( 'tribe_get_event_link', TribeEvents::instance()->getLink('single', $event), $event ) );
|
138 |
+
}
|
139 |
}
|
140 |
|
141 |
}
|
public/template-tags/loop.php
CHANGED
File without changes
|
public/template-tags/options.php
CHANGED
File without changes
|
public/template-tags/organizer.php
CHANGED
File without changes
|
public/template-tags/venue.php
CHANGED
File without changes
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== The Events Calendar ===
|
2 |
|
3 |
-
Contributors: ModernTribe, PaulHughes01, roblagatta, jonahcoyote,
|
4 |
Tags: modern tribe, tribe, widget, events, tooltips, grid, month, list, calendar, recurring, event, venue, eventbrite, registration, tickets, ticketing, eventbright, api, dates, date, plugin, posts, sidebar, template, theme, time, google maps, conference, workshop, concert, meeting, seminar, summit, forum, shortcode
|
5 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QA7QZM4CNQ342
|
6 |
Requires at least: 3.3
|
7 |
-
Tested up to: 3.4.
|
8 |
-
Stable tag: 2.0.
|
9 |
|
10 |
== Description ==
|
11 |
|
@@ -50,15 +50,17 @@ We've created a collection of premium add-ons that let you take your Events Cale
|
|
50 |
*<a href="http://tri.be/wordpress-eventbrite-tickets/">Eventbrite Tickets</a> to sell tickets for your event</li>
|
51 |
*<a href="http://tri.be/wordpress-community-events/">Community Events</a> to let your website users create their own events
|
52 |
*<a href="http://tri.be/facebook-events/">Facebook Events</a> to integrate with Facebook
|
53 |
-
|
54 |
-
Coming soon: manage your large events with the <a href="http://tri.be/shop/conference-manager/">Conference manager</a>.
|
55 |
|
56 |
We offer <a href="ttp://wordpress.org/tags/the-events-calendar">basic support via the WordPress.org support forums </a> so feel free to ask a question if you're having a problem with implementation or bugs.
|
57 |
|
58 |
The <a href="http://tri.be/support/forums/?ref=tec-readme">Modern Tribe PRO support forums</a> are available for you to read. You won't, however, be able to post a message in any forums beyond Pre-Sale Questions unless you have purchase a PRO license.
|
59 |
|
|
|
|
|
60 |
Note: If you are upgrading from a pre-2.0 version of The Events Calendar, please back up your data before upgrading!
|
61 |
|
|
|
62 |
== Screenshots ==
|
63 |
|
64 |
1. Calendar View
|
@@ -68,7 +70,7 @@ Note: If you are upgrading from a pre-2.0 version of The Events Calendar, please
|
|
68 |
5. Event List Admin
|
69 |
6. Settings Panel
|
70 |
|
71 |
-
==
|
72 |
|
73 |
= Where do I go to file a bug or ask a question? =
|
74 |
|
@@ -80,7 +82,7 @@ Events Calendar PRO can be purchased directly at the <a href="tri.be/support/for
|
|
80 |
|
81 |
= I'm interested in updating to PRO, but have a question that's not answered on the product page. Where can I get that answered? =
|
82 |
|
83 |
-
Our <a href="http://tri.be/support/forums/forum/_welcome/pre-sales-questions/?ref=tec-readme">pre-sale forum</a> at the tri.be website is open and available to everyone; we encourage potential customers to review threads on that forum + post a new discussion if your question isn't already answered.
|
84 |
|
85 |
= What add-ons are available for The Events Calendar, and where can I read more about them? =
|
86 |
|
@@ -89,12 +91,11 @@ Currently, the following add-ons are available for The Events Calendar/Events Ca
|
|
89 |
* <a href="http://tri.be/wordpress-eventbrite-tickets/?ref=tec-readme">Eventbrite Tickets</a>, for selling tickets to your event directly through Eventbrite.
|
90 |
* <a href="http://tri.be/wordpress-community-events/?ref=tec-readme">Community Events</a>, for allowing frontend event submission from your readers.
|
91 |
* <a href="http://tri.be/facebook-events/?ref=tec-readme">Facebook Events</a>, for importing events directly from an organization or page on Facebook.
|
92 |
-
* <a href="http://tri.be/
|
93 |
-
* <a href="http://tri.be/shop/wootickets/?ref=tec-readme">WooTickets (COMING SOON)</a>, for selling tickets to your event using WooCommerce.
|
94 |
|
95 |
= Is there a more substantive FAQ for The Events Calendar available elsewhere online? =
|
96 |
|
97 |
-
There sure is. If you check out our a href="http://tri.be/support/faqs/?ref=tec-readme">Frequently Asked Questions page</a> on the tri.be website, you'll find answers to more specific questions related to The Events Calendar/Events Calendar PRO. Please make sure to review that FAQ before posting a support thread
|
98 |
|
99 |
== Installation ==
|
100 |
|
@@ -147,6 +148,7 @@ The plugin is produced by <a href="http://tri.be/?ref=tec-readme">Modern Tribe I
|
|
147 |
* <a href="http://profiles.wordpress.org/users/jonahcoyote">Jonah West</a>
|
148 |
* <a href="http://profiles.wordpress.org/users/barryhughes">Barry Hughes</a>
|
149 |
* <a href="http://profiles.wordpress.org/users/ryancurban">Ryan Urban</a>
|
|
|
150 |
* <a href="http://profiles.wordpress.org/users/peterchester">Peter Chester</a>
|
151 |
* <a href="http://profiles.wordpress.org/users/reid.peifer">Reid Peifer</a>
|
152 |
* <a href="http://profiles.wordpress.org/users/shane.pearlman">Shane Pearlman</a>
|
@@ -161,29 +163,32 @@ The plugin is produced by <a href="http://tri.be/?ref=tec-readme">Modern Tribe I
|
|
161 |
* <a href="http://profiles.wordpress.org/users/jgadbois">John Gadbois</a>
|
162 |
* Justin Endler
|
163 |
|
164 |
-
=
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
*
|
169 |
-
*
|
170 |
-
*
|
171 |
-
*
|
172 |
-
*
|
173 |
-
*
|
174 |
-
*
|
175 |
-
*
|
176 |
-
*
|
177 |
-
* French (
|
178 |
-
*
|
179 |
-
*
|
180 |
-
*
|
181 |
-
*
|
182 |
-
*
|
183 |
-
*
|
184 |
-
*
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
187 |
|
188 |
== Add-Ons ==
|
189 |
|
@@ -200,12 +205,36 @@ Our Premium Plugins:
|
|
200 |
* <a href="http://tri.be/shop/wordpress-eventbrite-tickets/?ref=tec-readme" target="_blank">The Events Calendar: Eventbrite Tickets</a>
|
201 |
* <a href="http://tri.be/shop/wordpress-community-events/?ref=tec-readme" target="_blank">The Events Calendar: Community Events</a>
|
202 |
* <a href="http://tri.be/facebook-events/?ref=tec-readme" target="_blank">The Events Calendar: Facebook Events</a>
|
|
|
203 |
* <a href="http://tri.be/shop/conference-manager/?ref=tec-readme" target="_blank">The Events Calendar: Conference Manager (coming later in 2012)</a>
|
204 |
-
* <a href="http://tri.be/shop/wootickets/?ref=tec-readme" target="_blank">The Events Calendar: WooTickets (coming later in 2012)</a>
|
205 |
|
206 |
== Changelog ==
|
207 |
|
208 |
-
=2.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
|
210 |
**Small features, UX and Content Tweaks:**
|
211 |
|
1 |
=== The Events Calendar ===
|
2 |
|
3 |
+
Contributors: ModernTribe, PaulHughes01, roblagatta, jonahcoyote, MZAWeb, codearachnid, ryancurban, leahkoerper, barryhughes, peterchester, reid.peifer, shane.pearlman
|
4 |
Tags: modern tribe, tribe, widget, events, tooltips, grid, month, list, calendar, recurring, event, venue, eventbrite, registration, tickets, ticketing, eventbright, api, dates, date, plugin, posts, sidebar, template, theme, time, google maps, conference, workshop, concert, meeting, seminar, summit, forum, shortcode
|
5 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QA7QZM4CNQ342
|
6 |
Requires at least: 3.3
|
7 |
+
Tested up to: 3.4.2
|
8 |
+
Stable tag: 2.0.10
|
9 |
|
10 |
== Description ==
|
11 |
|
50 |
*<a href="http://tri.be/wordpress-eventbrite-tickets/">Eventbrite Tickets</a> to sell tickets for your event</li>
|
51 |
*<a href="http://tri.be/wordpress-community-events/">Community Events</a> to let your website users create their own events
|
52 |
*<a href="http://tri.be/facebook-events/">Facebook Events</a> to integrate with Facebook
|
53 |
+
*<a href="http://tri.be/wordpress-wootickets/">WooTickets</a> to sell tickets directly from event listings with WooCommerce
|
|
|
54 |
|
55 |
We offer <a href="ttp://wordpress.org/tags/the-events-calendar">basic support via the WordPress.org support forums </a> so feel free to ask a question if you're having a problem with implementation or bugs.
|
56 |
|
57 |
The <a href="http://tri.be/support/forums/?ref=tec-readme">Modern Tribe PRO support forums</a> are available for you to read. You won't, however, be able to post a message in any forums beyond Pre-Sale Questions unless you have purchase a PRO license.
|
58 |
|
59 |
+
Are you a PRO user looking to renew an expired license? While we're still putting the finishing touches on our renewal functionality, we can provide you with a coupon in the interim that entitles you to a 30% discount on a new license (the same amount you'd be paying to renew your existing one). Send us an email to pro@tri.be referencing your license key # and the date it expired so we can get you sorted.
|
60 |
+
|
61 |
Note: If you are upgrading from a pre-2.0 version of The Events Calendar, please back up your data before upgrading!
|
62 |
|
63 |
+
|
64 |
== Screenshots ==
|
65 |
|
66 |
1. Calendar View
|
70 |
5. Event List Admin
|
71 |
6. Settings Panel
|
72 |
|
73 |
+
== Frequently Asked Questions ==
|
74 |
|
75 |
= Where do I go to file a bug or ask a question? =
|
76 |
|
82 |
|
83 |
= I'm interested in updating to PRO, but have a question that's not answered on the product page. Where can I get that answered? =
|
84 |
|
85 |
+
Our <a href="http://tri.be/support/forums/forum/_welcome/pre-sales-questions/?ref=tec-readme">pre-sale forum</a> at the tri.be website is open and available to everyone; we encourage potential customers to review threads on that forum + post a new discussion if your question isn't already answered.
|
86 |
|
87 |
= What add-ons are available for The Events Calendar, and where can I read more about them? =
|
88 |
|
91 |
* <a href="http://tri.be/wordpress-eventbrite-tickets/?ref=tec-readme">Eventbrite Tickets</a>, for selling tickets to your event directly through Eventbrite.
|
92 |
* <a href="http://tri.be/wordpress-community-events/?ref=tec-readme">Community Events</a>, for allowing frontend event submission from your readers.
|
93 |
* <a href="http://tri.be/facebook-events/?ref=tec-readme">Facebook Events</a>, for importing events directly from an organization or page on Facebook.
|
94 |
+
* <a href="http://tri.be/wordpress-wootickets/?ref=tec-readme">WooTickets</a>, for selling tickets to your event using WooCommerce.
|
|
|
95 |
|
96 |
= Is there a more substantive FAQ for The Events Calendar available elsewhere online? =
|
97 |
|
98 |
+
There sure is. If you check out our <a href="http://tri.be/support/faqs/?ref=tec-readme">Frequently Asked Questions page</a> on the tri.be website, you'll find answers to more specific questions related to The Events Calendar/Events Calendar PRO. Please make sure to review that FAQ before posting a support thread, as there's a very good chance your question has already been answered.
|
99 |
|
100 |
== Installation ==
|
101 |
|
148 |
* <a href="http://profiles.wordpress.org/users/jonahcoyote">Jonah West</a>
|
149 |
* <a href="http://profiles.wordpress.org/users/barryhughes">Barry Hughes</a>
|
150 |
* <a href="http://profiles.wordpress.org/users/ryancurban">Ryan Urban</a>
|
151 |
+
* <a href="http://profiles.wordpress.org/users/leahkoerper">Leah Koerper</a>
|
152 |
* <a href="http://profiles.wordpress.org/users/peterchester">Peter Chester</a>
|
153 |
* <a href="http://profiles.wordpress.org/users/reid.peifer">Reid Peifer</a>
|
154 |
* <a href="http://profiles.wordpress.org/users/shane.pearlman">Shane Pearlman</a>
|
163 |
* <a href="http://profiles.wordpress.org/users/jgadbois">John Gadbois</a>
|
164 |
* Justin Endler
|
165 |
|
166 |
+
= Translations =
|
167 |
+
|
168 |
+
The Events Calendar/Events Calendar PRO includes translations to the following languages:
|
169 |
+
|
170 |
+
* Bosnian (bs_BA)
|
171 |
+
* Brazilian Portuguese (pt_BR)
|
172 |
+
* Bulgarian (bg_BG)
|
173 |
+
* Catalan (ca)
|
174 |
+
* Croatian (hr_HR)
|
175 |
+
* Czech (cs_CZ)
|
176 |
+
* Dutch (nl_NL)
|
177 |
+
* German (de_DE)
|
178 |
+
* Finnish (fi)
|
179 |
+
* French (fr_FR)
|
180 |
+
* Greek (gr_GR)
|
181 |
+
* Hebrew (he_IL)
|
182 |
+
* Italian (it_IL)
|
183 |
+
* Japanese (ja_JP) - The Events Calendar only (no PRO)
|
184 |
+
* Lithuanian (lt_LT) - The Events Calendar only (no PRO)
|
185 |
+
* Norwegian (nb_NO)
|
186 |
+
* Polish (pl_PL)
|
187 |
+
* Russian (ru_RU)
|
188 |
+
* Serbian (sr_RS)
|
189 |
+
* Spanish (es_ES)
|
190 |
+
* Swedish (sv_SE)
|
191 |
+
* Ukranian (uk) - The Events Calendar only (no PRO)
|
192 |
|
193 |
== Add-Ons ==
|
194 |
|
205 |
* <a href="http://tri.be/shop/wordpress-eventbrite-tickets/?ref=tec-readme" target="_blank">The Events Calendar: Eventbrite Tickets</a>
|
206 |
* <a href="http://tri.be/shop/wordpress-community-events/?ref=tec-readme" target="_blank">The Events Calendar: Community Events</a>
|
207 |
* <a href="http://tri.be/facebook-events/?ref=tec-readme" target="_blank">The Events Calendar: Facebook Events</a>
|
208 |
+
* <a href="http://tri.be/shop/wootickets/?ref=tec-readme" target="_blank">The Events Calendar: WooTickets</a>
|
209 |
* <a href="http://tri.be/shop/conference-manager/?ref=tec-readme" target="_blank">The Events Calendar: Conference Manager (coming later in 2012)</a>
|
|
|
210 |
|
211 |
== Changelog ==
|
212 |
|
213 |
+
= 2.0.10 =
|
214 |
+
|
215 |
+
**Small features, UX and Content Tweaks:**
|
216 |
+
|
217 |
+
* Incorporated new Ukrainian translation files (free only), courtesy of Alexey Fedorov.
|
218 |
+
* Incorporated new French translation files (free only), courtesy of Fanny H�raud.
|
219 |
+
* Improved the events.js to avoid animation build up.
|
220 |
+
|
221 |
+
|
222 |
+
**Bug Fixes:**
|
223 |
+
|
224 |
+
* Tested fully against the new WordPress Twenty Twelve theme and cleared up aesthetic issues where needed.
|
225 |
+
* Removed "Organizer" and "Venue" panels from the Appearance -> Menus screen (core only).
|
226 |
+
* Fixed a bug where the option to show/hide an event's end date in the Events Advanced List Widget did not work (PRO only).
|
227 |
+
* There was previously no modal window when trashing individual instances of a recurring event; that is no more.
|
228 |
+
* Cleaned up event query filters to prevent conflicts.
|
229 |
+
* Event-specific settings no longer revert to default upon updating the plugin.
|
230 |
+
* Rewrite rules are no longer one step behind (meaning you won't need to flush permalinks as often).
|
231 |
+
* Warnings/notices no longer litter the page in instances where no upcoming events are scheduled.
|
232 |
+
* Default permalinks are no longer malformed.
|
233 |
+
* Removed a PressTrends-generated notice that appeared upon activation.
|
234 |
+
* Removed remaining sp_ functions.
|
235 |
+
* Fixed an issue where default permalinks caused multiple errors when viewing a recurring event and venue page (PRO only).
|
236 |
+
|
237 |
+
= 2.0.9 =
|
238 |
|
239 |
**Small features, UX and Content Tweaks:**
|
240 |
|
resources/app-shop.css
CHANGED
File without changes
|
resources/app-shop.js
CHANGED
File without changes
|
resources/chosen-load.js
CHANGED
File without changes
|
resources/chosen-sprite.png
CHANGED
File without changes
|
resources/chosen.css
CHANGED
File without changes
|
resources/chosen.jquery.min.js
CHANGED
File without changes
|
resources/debugger.css
CHANGED
File without changes
|
resources/events-admin-ui.css
CHANGED
File without changes
|
resources/events-admin.css
CHANGED
@@ -178,4 +178,31 @@ td.tribe_message {padding-bottom: 10px !important;}
|
|
178 |
.ui-draggable .ui-dialog-titlebar {cursor: move; }
|
179 |
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {float: none !important; text-align: center;}
|
180 |
.ui-button-text-only .ui-button-text {padding: .4em 1em;}
|
181 |
-
.ui-button .ui-button-text {display: block; line-height: 1.4;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
.ui-draggable .ui-dialog-titlebar {cursor: move; }
|
179 |
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {float: none !important; text-align: center;}
|
180 |
.ui-button-text-only .ui-button-text {padding: .4em 1em;}
|
181 |
+
.ui-button .ui-button-text {display: block; line-height: 1.4;}
|
182 |
+
|
183 |
+
#tribe-loading {
|
184 |
+
display : none;
|
185 |
+
position : absolute;
|
186 |
+
width : 100%;
|
187 |
+
height : 100%;
|
188 |
+
left : 0;
|
189 |
+
top : 0;
|
190 |
+
background : #fff;
|
191 |
+
background : rgba(255, 255, 255, 0.8);
|
192 |
+
z-index : 4;
|
193 |
+
webkit-transition : all 1s linear;
|
194 |
+
-moz-transition : all 1s linear;
|
195 |
+
-o-transition : all 1s linear;
|
196 |
+
-ms-transition : all 1s linear;
|
197 |
+
transition : all 1s linear;
|
198 |
+
}
|
199 |
+
|
200 |
+
#tribe-loading span {
|
201 |
+
position : absolute;
|
202 |
+
width : 32px;
|
203 |
+
height : 32px;
|
204 |
+
left : 50%;
|
205 |
+
top : 50%;
|
206 |
+
margin : -16px 0 0 -16px;
|
207 |
+
background : url(images/tribe-loading.gif) 0 0 no-repeat;
|
208 |
+
}
|
resources/events-admin.js
CHANGED
File without changes
|
resources/events.css
CHANGED
@@ -539,4 +539,43 @@ p.tribe-promo-banner {
|
|
539 |
|
540 |
p.tribe-promo-banner a {
|
541 |
color: #666;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
}
|
539 |
|
540 |
p.tribe-promo-banner a {
|
541 |
color: #666;
|
542 |
+
}
|
543 |
+
|
544 |
+
/* Tickets */
|
545 |
+
.tribe-events-tickets td {
|
546 |
+
vertical-align : middle;
|
547 |
+
height: 35px;
|
548 |
+
}
|
549 |
+
|
550 |
+
.tribe-events-tickets .tickets_description {
|
551 |
+
font-size : 0.8em;
|
552 |
+
color : #666;
|
553 |
+
}
|
554 |
+
|
555 |
+
.tribe-events-tickets .tickets_nostock {
|
556 |
+
font-size : 0.8em;
|
557 |
+
color : #ff0000;
|
558 |
+
}
|
559 |
+
|
560 |
+
.tribe-events-tickets .tickets_price {
|
561 |
+
font-style : italic;
|
562 |
+
color : #000;
|
563 |
+
font-weight : bold;
|
564 |
+
}
|
565 |
+
|
566 |
+
table.tribe-events-tickets {
|
567 |
+
border-bottom : 1px solid #DDD;
|
568 |
+
margin : 0 0 1.625em;
|
569 |
+
width : 100%;
|
570 |
+
}
|
571 |
+
|
572 |
+
table.tribe-events-tickets td {
|
573 |
+
border-top : 1px solid #DDD;
|
574 |
+
padding : 6px 10px 6px 0;
|
575 |
+
}
|
576 |
+
|
577 |
+
h2.tribe-events-tickets-title {
|
578 |
+
color : black;
|
579 |
+
font-weight : bold;
|
580 |
+
margin : 0 0 .8125em;
|
581 |
}
|
resources/events.js
CHANGED
@@ -1,9 +1,14 @@
|
|
1 |
jQuery(document).ready(function($) {
|
2 |
-
|
3 |
-
|
4 |
-
//
|
5 |
-
$(
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
// big popups
|
9 |
$("table.tribe-events-calendar:not(.tribe-events-calendar-widget) .tribe-events-event:not(.daynum)").live('mouseenter', function() {
|
@@ -19,10 +24,10 @@ jQuery(document).ready(function($) {
|
|
19 |
$(this).find(".tribe-events-tooltip").css('bottom', bottomPad).show();
|
20 |
}).live('mouseleave', function() {
|
21 |
if ($.browser.msie && $.browser.version <= 9) {
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
});
|
27 |
|
28 |
// little popups
|
@@ -36,28 +41,45 @@ jQuery(document).ready(function($) {
|
|
36 |
var bottomPad = $(this).outerHeight() + 3;
|
37 |
}
|
38 |
|
39 |
-
$(this).find(".tribe-events-tooltip").css('bottom', bottomPad).fadeIn(300);
|
40 |
}).live('mouseleave', function() {
|
41 |
if ($.browser.msie && $.browser.version <= 9) {
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
});
|
47 |
|
48 |
-
// datepicker
|
|
|
49 |
$(".tribe-events-events-dropdown").live('change', function() {
|
50 |
-
baseUrl = $(this).parent().attr("action");
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
56 |
});
|
57 |
|
58 |
-
// PJAX
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
-
});
|
1 |
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
function tribe_event_nudge() {
|
4 |
+
// prepare calendar for popups
|
5 |
+
$('table.tribe-events-calendar tbody tr, table.tribe-events-grid tr.tribe-week-events-row').each(function() {
|
6 |
+
// add a class of "tribe-events-right" to last 3 days of week so tooltips stay onscreen. To be replaced by php.
|
7 |
+
$(this).find('td:gt(3)').addClass('tribe-events-right');
|
8 |
+
});
|
9 |
+
}
|
10 |
+
|
11 |
+
tribe_event_nudge();
|
12 |
|
13 |
// big popups
|
14 |
$("table.tribe-events-calendar:not(.tribe-events-calendar-widget) .tribe-events-event:not(.daynum)").live('mouseenter', function() {
|
24 |
$(this).find(".tribe-events-tooltip").css('bottom', bottomPad).show();
|
25 |
}).live('mouseleave', function() {
|
26 |
if ($.browser.msie && $.browser.version <= 9) {
|
27 |
+
$(this).find(".tribe-events-tooltip").hide()
|
28 |
+
} else {
|
29 |
+
$(this).find(".tribe-events-tooltip").stop(true,false).fadeOut(200);
|
30 |
+
}
|
31 |
});
|
32 |
|
33 |
// little popups
|
41 |
var bottomPad = $(this).outerHeight() + 3;
|
42 |
}
|
43 |
|
44 |
+
$(this).find(".tribe-events-tooltip").css('bottom', bottomPad).stop(true,false).fadeIn(300);
|
45 |
}).live('mouseleave', function() {
|
46 |
if ($.browser.msie && $.browser.version <= 9) {
|
47 |
+
$(this).find(".tribe-events-tooltip").hide()
|
48 |
+
} else {
|
49 |
+
$(this).find(".tribe-events-tooltip").stop(true,false).fadeOut(200);
|
50 |
+
}
|
51 |
});
|
52 |
|
53 |
+
// datepicker PJAX
|
54 |
+
|
55 |
$(".tribe-events-events-dropdown").live('change', function() {
|
56 |
+
var baseUrl = $(this).parent().attr("action");
|
57 |
+
var target_url = baseUrl + $('#tribe-events-events-year').val() + '-' + $('#tribe-events-events-month').val();
|
58 |
+
$.pjax({
|
59 |
+
url: target_url,
|
60 |
+
container: '#tribe-events-content',
|
61 |
+
fragment: '#tribe-events-content',
|
62 |
+
timeout: 10000
|
63 |
+
});
|
64 |
});
|
65 |
|
66 |
+
// next prev PJAX
|
67 |
+
|
68 |
+
$(document).pjax('a.tribe-pjax', {
|
69 |
+
timeout: 10000,
|
70 |
+
fragment: '#tribe-events-content',
|
71 |
+
container: '#tribe-events-content'
|
72 |
+
})
|
73 |
+
.bind('pjax:start', function() {
|
74 |
+
$('.ajax-loading').show()
|
75 |
+
})
|
76 |
+
.bind('pjax:end', function() {
|
77 |
+
$('.ajax-loading').hide();
|
78 |
+
tribe_event_nudge()
|
79 |
+
});
|
80 |
+
|
81 |
+
if ($.support.pjax) {
|
82 |
+
$.pjax.defaults.scrollTo = false;
|
83 |
+
}
|
84 |
|
85 |
+
});
|
resources/hide-visibility.css
CHANGED
File without changes
|
resources/images/attendees-screen-icon.png
ADDED
Binary file
|
resources/images/bg_fade.png
CHANGED
File without changes
|
resources/images/donate-link-pro-screenshot.jpg
CHANGED
File without changes
|
resources/images/donate-link-screenshot.jpg
CHANGED
File without changes
|
resources/images/eb_press_little.gif
CHANGED
File without changes
|
resources/images/events-screen-icon.png
CHANGED
File without changes
|
resources/images/menu.png
CHANGED
File without changes
|
resources/images/modern-tribe.png
CHANGED
File without changes
|
resources/images/tooltip-arrow.png
CHANGED
File without changes
|
resources/images/tribe-loading.gif
ADDED
Binary file
|
resources/jquery-ecp-plugins.js
CHANGED
File without changes
|
resources/jquery.pjax.js
CHANGED
@@ -2,248 +2,4 @@
|
|
2 |
// copyright chris wanstrath
|
3 |
// https://github.com/defunkt/jquery-pjax
|
4 |
|
5 |
-
(function($){
|
6 |
-
|
7 |
-
// When called on a link, fetches the href with ajax into the
|
8 |
-
// container specified as the first parameter or with the data-pjax
|
9 |
-
// attribute on the link itself.
|
10 |
-
//
|
11 |
-
// Tries to make sure the back button and ctrl+click work the way
|
12 |
-
// you'd expect.
|
13 |
-
//
|
14 |
-
// Accepts a jQuery ajax options object that may include these
|
15 |
-
// pjax specific options:
|
16 |
-
//
|
17 |
-
// container - Where to stick the response body. Usually a String selector.
|
18 |
-
// $(container).html(xhr.responseBody)
|
19 |
-
// push - Whether to pushState the URL. Defaults to true (of course).
|
20 |
-
// replace - Want to use replaceState instead? That's cool.
|
21 |
-
//
|
22 |
-
// For convenience the first parameter can be either the container or
|
23 |
-
// the options object.
|
24 |
-
//
|
25 |
-
// Returns the jQuery object
|
26 |
-
$.fn.pjax = function( container, options ) {
|
27 |
-
if ( options )
|
28 |
-
options.container = container
|
29 |
-
else
|
30 |
-
options = $.isPlainObject(container) ? container : {container:container}
|
31 |
-
|
32 |
-
// We can't persist $objects using the history API so we must use
|
33 |
-
// a String selector. Bail if we got anything else.
|
34 |
-
if ( options.container && typeof options.container !== 'string' ) {
|
35 |
-
throw "pjax container must be a string selector!"
|
36 |
-
return false
|
37 |
-
}
|
38 |
-
|
39 |
-
return this.live('click', function(event){
|
40 |
-
// Middle click, cmd click, and ctrl click should open
|
41 |
-
// links in a new tab as normal.
|
42 |
-
if ( event.which > 1 || event.metaKey )
|
43 |
-
return true
|
44 |
-
|
45 |
-
var defaults = {
|
46 |
-
url: this.href,
|
47 |
-
container: $(this).attr('data-pjax'),
|
48 |
-
clickedElement: $(this),
|
49 |
-
fragment: null
|
50 |
-
}
|
51 |
-
|
52 |
-
$.pjax($.extend({}, defaults, options))
|
53 |
-
|
54 |
-
event.preventDefault()
|
55 |
-
})
|
56 |
-
}
|
57 |
-
|
58 |
-
|
59 |
-
// Loads a URL with ajax, puts the response body inside a container,
|
60 |
-
// then pushState()'s the loaded URL.
|
61 |
-
//
|
62 |
-
// Works just like $.ajax in that it accepts a jQuery ajax
|
63 |
-
// settings object (with keys like url, type, data, etc).
|
64 |
-
//
|
65 |
-
// Accepts these extra keys:
|
66 |
-
//
|
67 |
-
// container - Where to stick the response body. Must be a String.
|
68 |
-
// $(container).html(xhr.responseBody)
|
69 |
-
// push - Whether to pushState the URL. Defaults to true (of course).
|
70 |
-
// replace - Want to use replaceState instead? That's cool.
|
71 |
-
//
|
72 |
-
// Use it just like $.ajax:
|
73 |
-
//
|
74 |
-
// var xhr = $.pjax({ url: this.href, container: '#main' })
|
75 |
-
// console.log( xhr.readyState )
|
76 |
-
//
|
77 |
-
// Returns whatever $.ajax returns.
|
78 |
-
$.pjax = function( options ) {
|
79 |
-
var $container = $(options.container),
|
80 |
-
success = options.success || $.noop
|
81 |
-
|
82 |
-
// We don't want to let anyone override our success handler.
|
83 |
-
delete options.success
|
84 |
-
|
85 |
-
// We can't persist $objects using the history API so we must use
|
86 |
-
// a String selector. Bail if we got anything else.
|
87 |
-
if ( typeof options.container !== 'string' )
|
88 |
-
throw "pjax container must be a string selector!"
|
89 |
-
|
90 |
-
var defaults = {
|
91 |
-
timeout: 650,
|
92 |
-
push: true,
|
93 |
-
replace: false,
|
94 |
-
// We want the browser to maintain two separate internal caches: one for
|
95 |
-
// pjax'd partial page loads and one for normal page loads. Without
|
96 |
-
// adding this secret parameter, some browsers will often confuse the two.
|
97 |
-
data: { _pjax: true },
|
98 |
-
type: 'GET',
|
99 |
-
dataType: 'html',
|
100 |
-
beforeSend: function(xhr){
|
101 |
-
$container.trigger('start.pjax')
|
102 |
-
xhr.setRequestHeader('X-PJAX', 'true')
|
103 |
-
},
|
104 |
-
error: function(){
|
105 |
-
window.location = options.url
|
106 |
-
},
|
107 |
-
complete: function(){
|
108 |
-
$container.trigger('end.pjax')
|
109 |
-
},
|
110 |
-
success: function(data){
|
111 |
-
if ( options.fragment ) {
|
112 |
-
// If they specified a fragment, look for it in the response
|
113 |
-
// and pull it out.
|
114 |
-
var $fragment = $(data).find(options.fragment)
|
115 |
-
if ( $fragment.length )
|
116 |
-
data = $fragment.children()
|
117 |
-
else
|
118 |
-
return window.location = options.url
|
119 |
-
} else {
|
120 |
-
// If we got no data or an entire web page, go directly
|
121 |
-
// to the page and let normal error handling happen.
|
122 |
-
if ( !$.trim(data) || /<html/i.test(data) )
|
123 |
-
return window.location = options.url
|
124 |
-
}
|
125 |
-
|
126 |
-
// Make it happen.
|
127 |
-
$container.html(data)
|
128 |
-
|
129 |
-
// If there's a <title> tag in the response, use it as
|
130 |
-
// the page's title.
|
131 |
-
var oldTitle = document.title,
|
132 |
-
title = $.trim( $container.find('title').remove().text() )
|
133 |
-
if ( title ) document.title = title
|
134 |
-
|
135 |
-
var state = {
|
136 |
-
pjax: options.container,
|
137 |
-
fragment: options.fragment,
|
138 |
-
timeout: options.timeout
|
139 |
-
}
|
140 |
-
|
141 |
-
// If there are extra params, save the complete URL in the state object
|
142 |
-
var query = $.param(options.data)
|
143 |
-
if ( query != "_pjax=true" )
|
144 |
-
state.url = options.url + (/\?/.test(options.url) ? "&" : "?") + query
|
145 |
-
|
146 |
-
if ( options.replace ) {
|
147 |
-
window.history.replaceState(state, document.title, options.url)
|
148 |
-
} else if ( options.push ) {
|
149 |
-
// this extra replaceState before first push ensures good back
|
150 |
-
// button behavior
|
151 |
-
if ( !$.pjax.active ) {
|
152 |
-
window.history.replaceState($.extend({}, state, {url:null}), oldTitle)
|
153 |
-
$.pjax.active = true
|
154 |
-
}
|
155 |
-
|
156 |
-
window.history.pushState(state, document.title, options.url)
|
157 |
-
}
|
158 |
-
|
159 |
-
// Google Analytics support
|
160 |
-
if ( (options.replace || options.push) && window._gaq )
|
161 |
-
_gaq.push(['_trackPageview'])
|
162 |
-
|
163 |
-
// If the URL has a hash in it, make sure the browser
|
164 |
-
// knows to navigate to the hash.
|
165 |
-
var hash = window.location.hash.toString()
|
166 |
-
if ( hash !== '' ) {
|
167 |
-
window.location.href = hash
|
168 |
-
}
|
169 |
-
|
170 |
-
// Invoke their success handler if they gave us one.
|
171 |
-
success.apply(this, arguments)
|
172 |
-
}
|
173 |
-
}
|
174 |
-
|
175 |
-
options = $.extend(true, {}, defaults, options)
|
176 |
-
|
177 |
-
if ( $.isFunction(options.url) ) {
|
178 |
-
options.url = options.url()
|
179 |
-
}
|
180 |
-
|
181 |
-
// Cancel the current request if we're already pjaxing
|
182 |
-
var xhr = $.pjax.xhr
|
183 |
-
if ( xhr && xhr.readyState < 4) {
|
184 |
-
xhr.onreadystatechange = $.noop
|
185 |
-
xhr.abort()
|
186 |
-
}
|
187 |
-
|
188 |
-
$.pjax.xhr = $.ajax(options)
|
189 |
-
$(document).trigger('pjax', $.pjax.xhr, options)
|
190 |
-
|
191 |
-
return $.pjax.xhr
|
192 |
-
}
|
193 |
-
|
194 |
-
|
195 |
-
// Used to detect initial (useless) popstate.
|
196 |
-
// If history.state exists, assume browser isn't going to fire initial popstate.
|
197 |
-
var popped = ('state' in window.history), initialURL = location.href
|
198 |
-
|
199 |
-
|
200 |
-
// popstate handler takes care of the back and forward buttons
|
201 |
-
//
|
202 |
-
// You probably shouldn't use pjax on pages with other pushState
|
203 |
-
// stuff yet.
|
204 |
-
$(window).bind('popstate', function(event){
|
205 |
-
// Ignore inital popstate that some browsers fire on page load
|
206 |
-
var initialPop = !popped && location.href == initialURL
|
207 |
-
popped = true
|
208 |
-
if ( initialPop ) return
|
209 |
-
|
210 |
-
var state = event.state
|
211 |
-
|
212 |
-
if ( state && state.pjax ) {
|
213 |
-
var container = state.pjax
|
214 |
-
if ( $(container+'').length )
|
215 |
-
$.pjax({
|
216 |
-
url: state.url || location.href,
|
217 |
-
fragment: state.fragment,
|
218 |
-
container: container,
|
219 |
-
push: false,
|
220 |
-
timeout: state.timeout
|
221 |
-
})
|
222 |
-
else
|
223 |
-
window.location = location.href
|
224 |
-
}
|
225 |
-
})
|
226 |
-
|
227 |
-
|
228 |
-
// Add the state property to jQuery's event object so we can use it in
|
229 |
-
// $(window).bind('popstate')
|
230 |
-
if ( $.inArray('state', $.event.props) < 0 )
|
231 |
-
$.event.props.push('state')
|
232 |
-
|
233 |
-
|
234 |
-
// Is pjax supported by this browser?
|
235 |
-
$.support.pjax =
|
236 |
-
window.history && window.history.pushState && window.history.replaceState
|
237 |
-
// pushState isn't reliable on iOS yet.
|
238 |
-
&& !navigator.userAgent.match(/(iPod|iPhone|iPad|WebApps\/.+CFNetwork)/)
|
239 |
-
|
240 |
-
|
241 |
-
// Fall back to normalcy for older browsers.
|
242 |
-
if ( !$.support.pjax ) {
|
243 |
-
$.pjax = function( options ) {
|
244 |
-
window.location = $.isFunction(options.url) ? options.url() : options.url
|
245 |
-
}
|
246 |
-
$.fn.pjax = function() { return this }
|
247 |
-
}
|
248 |
-
|
249 |
-
})(jQuery);
|
2 |
// copyright chris wanstrath
|
3 |
// https://github.com/defunkt/jquery-pjax
|
4 |
|
5 |
+
(function($){function fnPjax(selector,container,options){var context=this;return this.on("click.pjax",selector,function(event){var opts=$.extend({},optionsFor(container,options));if(!opts.container){opts.container=$(this).attr("data-pjax")||context;}handleClick(event,opts);});}function handleClick(event,container,options){options=optionsFor(container,options);var link=event.currentTarget;if(link.tagName.toUpperCase()!=="A"){throw"$.fn.pjax or $.pjax.click requires an anchor element";}if(event.which>1||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey){return;}if(location.protocol!==link.protocol||location.host!==link.host){return;}if(link.hash&&link.href.replace(link.hash,"")===location.href.replace(location.hash,"")){return;}if(link.href===location.href+"#"){return;}var defaults={url:link.href,container:$(link).attr("data-pjax"),target:link,fragment:null};pjax($.extend({},defaults,options));event.preventDefault();}function handleSubmit(event,container,options){options=optionsFor(container,options);var form=event.currentTarget;if(form.tagName.toUpperCase()!=="FORM"){throw"$.pjax.submit requires a form element";}var defaults={type:form.method,url:form.action,data:$(form).serializeArray(),container:$(form).attr("data-pjax"),target:form,fragment:null,timeout:0};pjax($.extend({},defaults,options));event.preventDefault();}function pjax(options){options=$.extend(true,{},$.ajaxSettings,pjax.defaults,options);if($.isFunction(options.url)){options.url=options.url();}var target=options.target;var hash=parseURL(options.url).hash;var context=options.context=findContainerFor(options.container);if(!options.data){options.data={};}options.data._pjax=context.selector;function fire(type,args){var event=$.Event(type,{relatedTarget:target});context.trigger(event,args);return !event.isDefaultPrevented();}var timeoutTimer;options.beforeSend=function(xhr,settings){if(settings.type!=="GET"){settings.timeout=0;}if(settings.timeout>0){timeoutTimer=setTimeout(function(){if(fire("pjax:timeout",[xhr,options])){xhr.abort("timeout");}},settings.timeout);settings.timeout=0;}xhr.setRequestHeader("X-PJAX","true");xhr.setRequestHeader("X-PJAX-Container",context.selector);var result;if(!fire("pjax:beforeSend",[xhr,settings])){return false;}options.requestUrl=parseURL(settings.url).href;};options.complete=function(xhr,textStatus){if(timeoutTimer){clearTimeout(timeoutTimer);}fire("pjax:complete",[xhr,textStatus,options]);fire("pjax:end",[xhr,options]);};options.error=function(xhr,textStatus,errorThrown){var container=extractContainer("",xhr,options);var allowed=fire("pjax:error",[xhr,textStatus,errorThrown,options]);if(textStatus!=="abort"&&allowed){locationReplace(container.url);}};options.success=function(data,status,xhr){var container=extractContainer(data,xhr,options);if(!container.contents){locationReplace(container.url);return;}pjax.state={id:options.id||uniqueId(),url:container.url,title:container.title,container:context.selector,fragment:options.fragment,timeout:options.timeout};if(options.push||options.replace){window.history.replaceState(pjax.state,container.title,container.url);}if(container.title){document.title=container.title;}context.html(container.contents);if(typeof options.scrollTo==="number"){$(window).scrollTop(options.scrollTo);}if((options.replace||options.push)&&window._gaq){_gaq.push(["_trackPageview"]);}if(hash!==""){var url=parseURL(container.url);url.hash=hash;pjax.state.url=url.href;window.history.replaceState(pjax.state,container.title,url.href);var target=$(url.hash);if(target.length){$(window).scrollTop(target.offset().top);}}fire("pjax:success",[data,status,xhr,options]);};if(!pjax.state){pjax.state={id:uniqueId(),url:window.location.href,title:document.title,container:context.selector,fragment:options.fragment,timeout:options.timeout};window.history.replaceState(pjax.state,document.title);}var xhr=pjax.xhr;if(xhr&&xhr.readyState<4){xhr.onreadystatechange=$.noop;xhr.abort();}pjax.options=options;var xhr=pjax.xhr=$.ajax(options);if(xhr.readyState>0){if(options.push&&!options.replace){cachePush(pjax.state.id,context.clone().contents());window.history.pushState(null,"",stripPjaxParam(options.requestUrl));}fire("pjax:start",[xhr,options]);fire("pjax:send",[xhr,options]);}return pjax.xhr;}function pjaxReload(container,options){var defaults={url:window.location.href,push:false,replace:true,scrollTo:false};return pjax($.extend(defaults,optionsFor(container,options)));}function locationReplace(url){window.history.replaceState(null,"","#");window.location.replace(url);}function onPjaxPopstate(event){var state=event.state;if(state&&state.container){var container=$(state.container);if(container.length){var contents=cacheMapping[state.id];if(pjax.state){var direction=pjax.state.id<state.id?"forward":"back";cachePop(direction,pjax.state.id,container.clone().contents());}var popstateEvent=$.Event("pjax:popstate",{state:state,direction:direction});container.trigger(popstateEvent);var options={id:state.id,url:state.url,container:container,push:false,fragment:state.fragment,timeout:state.timeout,scrollTo:false};if(contents){container.trigger("pjax:start",[null,options]);if(state.title){document.title=state.title;}container.html(contents);pjax.state=state;container.trigger("pjax:end",[null,options]);}else{pjax(options);}container[0].offsetHeight;}else{locationReplace(location.href);}}}function fallbackPjax(options){var url=$.isFunction(options.url)?options.url():options.url,method=options.type?options.type.toUpperCase():"GET";var form=$("<form>",{method:method==="GET"?"GET":"POST",action:url,style:"display:none"});if(method!=="GET"&&method!=="POST"){form.append($("<input>",{type:"hidden",name:"_method",value:method.toLowerCase()}));}var data=options.data;if(typeof data==="string"){$.each(data.split("&"),function(index,value){var pair=value.split("=");form.append($("<input>",{type:"hidden",name:pair[0],value:pair[1]}));});}else{if(typeof data==="object"){for(key in data){form.append($("<input>",{type:"hidden",name:key,value:data[key]}));}}}$(document.body).append(form);form.submit();}function uniqueId(){return(new Date).getTime();}function stripPjaxParam(url){return url.replace(/\?_pjax=[^&]+&?/,"?").replace(/_pjax=[^&]+&?/,"").replace(/[\?&]$/,"");}function parseURL(url){var a=document.createElement("a");a.href=url;return a;}function optionsFor(container,options){if(container&&options){options.container=container;}else{if($.isPlainObject(container)){options=container;}else{options={container:container};}}if(options.container){options.container=findContainerFor(options.container);}return options;}function findContainerFor(container){container=$(container);if(!container.length){throw"no pjax container for "+container.selector;}else{if(container.selector!==""&&container.context===document){return container;}else{if(container.attr("id")){return $("#"+container.attr("id"));}else{throw"cant get selector for pjax container!";}}}}function findAll(elems,selector){return elems.filter(selector).add(elems.find(selector));}function extractContainer(data,xhr,options){var obj={};obj.url=stripPjaxParam(xhr.getResponseHeader("X-PJAX-URL")||options.requestUrl);if(/<html/i.test(data)){var $head=$(data.match(/<head[^>]*>([\s\S.]*)<\/head>/i)[0]);var $body=$(data.match(/<body[^>]*>([\s\S.]*)<\/body>/i)[0]);}else{var $head=$body=$(data);}if($body.length===0){return obj;}obj.title=findAll($head,"title").last().text();if(options.fragment){if(options.fragment==="body"){var $fragment=$body;}else{var $fragment=findAll($body,options.fragment).first();}if($fragment.length){obj.contents=$fragment.contents();if(!obj.title){obj.title=$fragment.attr("title")||$fragment.data("title");}}}else{if(!/<html/i.test(data)){obj.contents=$body;}}if(obj.contents){obj.contents=obj.contents.not("title");obj.contents.find("title").remove();}if(obj.title){obj.title=$.trim(obj.title);}return obj;}var cacheMapping={};var cacheForwardStack=[];var cacheBackStack=[];function cachePush(id,value){cacheMapping[id]=value;cacheBackStack.push(id);while(cacheForwardStack.length){delete cacheMapping[cacheForwardStack.shift()];}while(cacheBackStack.length>pjax.defaults.maxCacheLength){delete cacheMapping[cacheBackStack.shift()];}}function cachePop(direction,id,value){var pushStack,popStack;cacheMapping[id]=value;if(direction==="forward"){pushStack=cacheBackStack;popStack=cacheForwardStack;}else{pushStack=cacheForwardStack;popStack=cacheBackStack;}pushStack.push(id);if(id=popStack.pop()){delete cacheMapping[id];}}function enable(){$.fn.pjax=fnPjax;$.pjax=pjax;$.pjax.enable=$.noop;$.pjax.disable=disable;$.pjax.click=handleClick;$.pjax.submit=handleSubmit;$.pjax.reload=pjaxReload;$.pjax.defaults={timeout:650,push:true,replace:false,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20};$(window).bind("popstate.pjax",onPjaxPopstate);}function disable(){$.fn.pjax=function(){return this;};$.pjax=fallbackPjax;$.pjax.enable=enable;$.pjax.disable=$.noop;$.pjax.click=$.noop;$.pjax.submit=$.noop;$.pjax.reload=window.location.reload;$(window).unbind("popstate.pjax",onPjaxPopstate);}if($.inArray("state",$.event.props)<0){$.event.props.push("state");}$.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]|WebApps\/.+CFNetwork)/);$.support.pjax?enable():disable();})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resources/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_glass_75_dadada_1x400.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
CHANGED
File without changes
|
resources/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
CHANGED
File without changes
|
resources/smoothness/images/ui-icons_222222_256x240.png
CHANGED
File without changes
|
resources/smoothness/images/ui-icons_2e83ff_256x240.png
CHANGED
File without changes
|
resources/smoothness/images/ui-icons_454545_256x240.png
CHANGED
File without changes
|
resources/smoothness/images/ui-icons_888888_256x240.png
CHANGED
File without changes
|
resources/smoothness/images/ui-icons_cd0a0a_256x240.png
CHANGED
File without changes
|
resources/smoothness/jquery-ui-1.7.3.custom.css
CHANGED
File without changes
|
resources/tickets-attendees.css
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.icon32-tickets-attendees {
|
2 |
+
background-image : url(images/attendees-screen-icon.png) !important;
|
3 |
+
}
|
4 |
+
|
5 |
+
.tickets_checked td {
|
6 |
+
opacity : 0.7;
|
7 |
+
text-decoration : line-through;
|
8 |
+
}
|
9 |
+
|
10 |
+
.tickets_checked a.tickets_checkin {
|
11 |
+
display : none;
|
12 |
+
}
|
13 |
+
|
14 |
+
.tickets_checked td.column-check_in{
|
15 |
+
text-decoration: none !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
a.tickets_uncheckin {
|
19 |
+
display : none;
|
20 |
+
}
|
21 |
+
|
22 |
+
.tickets_checked a.tickets_uncheckin {
|
23 |
+
display : block;
|
24 |
+
}
|
25 |
+
|
26 |
+
.column-attendee_id, .column-order_id {
|
27 |
+
width : 60px;
|
28 |
+
}
|
resources/tickets-attendees.js
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery( document ).ready( function ( $ ) {
|
2 |
+
|
3 |
+
$( '#filter_attendee' ).on( 'keyup paste', function () {
|
4 |
+
|
5 |
+
var search = jQuery( this ).val().toLowerCase();
|
6 |
+
|
7 |
+
$( 'td.column-security' ).each( function ( i, e ) {
|
8 |
+
var attendeeobj = jQuery( e );
|
9 |
+
var attendee = attendeeobj.text().toLowerCase();
|
10 |
+
var orderid = attendeeobj.prev( 'td' ).prev( 'td' ).prev( 'td' ).prev( 'td' ).children( 'a' ).text();
|
11 |
+
var ticketid = attendeeobj.prev( 'td' ).text();
|
12 |
+
|
13 |
+
if ( attendee.indexOf( search ) === 0 || orderid.indexOf( search ) === 0 || ticketid.indexOf( search ) === 0 ) {
|
14 |
+
attendeeobj.parent( 'tr' ).show();
|
15 |
+
} else {
|
16 |
+
attendeeobj.parent( 'tr' ).hide();
|
17 |
+
}
|
18 |
+
} );
|
19 |
+
|
20 |
+
} );
|
21 |
+
|
22 |
+
|
23 |
+
$( '.tickets_checkin' ).click( function ( e ) {
|
24 |
+
|
25 |
+
var obj = jQuery( this );
|
26 |
+
|
27 |
+
var params = {
|
28 |
+
action:'tribe-ticket-checkin-' + obj.attr( 'data-provider' ),
|
29 |
+
provider:obj.attr( 'data-provider' ),
|
30 |
+
order_ID:obj.attr( 'data-attendee-id' )
|
31 |
+
};
|
32 |
+
|
33 |
+
$.post(
|
34 |
+
ajaxurl,
|
35 |
+
params,
|
36 |
+
function ( response ) {
|
37 |
+
if ( response.success ) {
|
38 |
+
obj.parent( 'td' ).parent( 'tr' ).addClass( 'tickets_checked' );
|
39 |
+
}
|
40 |
+
},
|
41 |
+
'json'
|
42 |
+
);
|
43 |
+
|
44 |
+
e.preventDefault();
|
45 |
+
} );
|
46 |
+
|
47 |
+
|
48 |
+
$( '.tickets_uncheckin' ).click( function ( e ) {
|
49 |
+
|
50 |
+
var obj = jQuery( this );
|
51 |
+
|
52 |
+
var params = {
|
53 |
+
action:'tribe-ticket-uncheckin-' + obj.attr( 'data-provider' ),
|
54 |
+
provider:obj.attr( 'data-provider' ),
|
55 |
+
order_ID:obj.attr( 'data-attendee-id' )
|
56 |
+
};
|
57 |
+
|
58 |
+
$.post(
|
59 |
+
ajaxurl,
|
60 |
+
params,
|
61 |
+
function ( response ) {
|
62 |
+
if ( response.success ) {
|
63 |
+
obj.parent( 'span' ).parent( 'td' ).parent( 'tr' ).removeClass( 'tickets_checked' );
|
64 |
+
}
|
65 |
+
},
|
66 |
+
'json'
|
67 |
+
);
|
68 |
+
|
69 |
+
e.preventDefault();
|
70 |
+
} );
|
71 |
+
|
72 |
+
} );
|
resources/tickets.css
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#ticket_form {
|
2 |
+
display : none;
|
3 |
+
}
|
4 |
+
|
5 |
+
#ticket_form input[type=radio] {
|
6 |
+
margin-right : 5px;
|
7 |
+
}
|
8 |
+
|
9 |
+
#ticket_form span {
|
10 |
+
margin-right : 10px;
|
11 |
+
}
|
12 |
+
|
13 |
+
.ticket_list tr td {
|
14 |
+
padding : 4px 7px 2px;
|
15 |
+
vertical-align : top;
|
16 |
+
}
|
17 |
+
|
18 |
+
.ticket_list tr td div.ticket_controls {
|
19 |
+
visibility : hidden;
|
20 |
+
}
|
21 |
+
|
22 |
+
.ticket_list tr:hover td div.ticket_controls {
|
23 |
+
visibility : visible;
|
24 |
+
}
|
25 |
+
|
26 |
+
.ticket_list h4 {
|
27 |
+
text-transform : uppercase;
|
28 |
+
border-bottom : 1px solid #e5e5e5;
|
29 |
+
padding-bottom : 6px;
|
30 |
+
}
|
31 |
+
|
32 |
+
.ticket_list h4 a {
|
33 |
+
font-weight : normal;
|
34 |
+
font-size : 11px;
|
35 |
+
text-transform : none;
|
36 |
+
}
|
37 |
+
|
38 |
+
p.ticket_name {
|
39 |
+
font-size : 13px;
|
40 |
+
font-weight : bold;
|
41 |
+
}
|
42 |
+
|
43 |
+
.ticket_form p.description {
|
44 |
+
display : inline;
|
45 |
+
}
|
46 |
+
|
47 |
+
.ticket_form h4.ticket_form_title_edit {
|
48 |
+
display : none;
|
49 |
+
}
|
resources/tickets.js
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery( document ).ready( function ( $ ) {
|
2 |
+
|
3 |
+
var datepickerOpts = {
|
4 |
+
dateFormat:'yy-mm-dd',
|
5 |
+
showAnim:'fadeIn',
|
6 |
+
changeMonth:true,
|
7 |
+
changeYear:true,
|
8 |
+
numberOfMonths:3,
|
9 |
+
showButtonPanel:true,
|
10 |
+
onChange:function () {
|
11 |
+
alert( 'lala' );
|
12 |
+
},
|
13 |
+
onSelect:function ( dateText, inst ) {
|
14 |
+
var the_date = $.datepicker.parseDate( 'yy-mm-dd', dateText );
|
15 |
+
if ( inst.id === "ticket_start_date" ) {
|
16 |
+
$( "#ticket_end_date" ).datepicker( 'option', 'minDate', the_date )
|
17 |
+
} else {
|
18 |
+
$( "#ticket_start_date" ).datepicker( 'option', 'maxDate', the_date )
|
19 |
+
|
20 |
+
}
|
21 |
+
}
|
22 |
+
};
|
23 |
+
|
24 |
+
$( "#ticket_start_date" ).datepicker( datepickerOpts );
|
25 |
+
$( "#ticket_end_date" ).datepicker( datepickerOpts );
|
26 |
+
|
27 |
+
/* Show the advanced metabox for the selected provider and hide the others on selection change */
|
28 |
+
$( 'input[name=ticket_provider]:radio' ).change( function () {
|
29 |
+
$( 'tr.ticket_advanced' ).hide();
|
30 |
+
$( 'tr.ticket_advanced_' + this.value ).show();
|
31 |
+
} );
|
32 |
+
|
33 |
+
/* Show the advanced metabox for the selected provider and hide the others at ready */
|
34 |
+
$( 'input[name=ticket_provider]:checked' ).each( function () {
|
35 |
+
$( 'tr.ticket_advanced' ).hide();
|
36 |
+
$( 'tr.ticket_advanced_' + this.value ).show();
|
37 |
+
} );
|
38 |
+
|
39 |
+
/* "Add a ticket" link action */
|
40 |
+
$( 'a#ticket_form_toggle' ).click( function ( e ) {
|
41 |
+
$( 'h4.ticket_form_title_edit' ).hide();
|
42 |
+
$( 'h4.ticket_form_title_add' ).show();
|
43 |
+
$( this ).hide();
|
44 |
+
ticket_clear_form();
|
45 |
+
$( '#ticket_form' ).show();
|
46 |
+
$( 'html, body' ).animate( {
|
47 |
+
scrollTop:$( "#ticket_form_table" ).offset().top - 50
|
48 |
+
}, 500 );
|
49 |
+
e.preventDefault();
|
50 |
+
} );
|
51 |
+
|
52 |
+
/* "Cancel" button action */
|
53 |
+
$( '#ticket_form_cancel' ).click( function () {
|
54 |
+
|
55 |
+
ticket_clear_form();
|
56 |
+
|
57 |
+
$( 'html, body' ).animate( {
|
58 |
+
scrollTop:$( "#event_tickets" ).offset().top - 50
|
59 |
+
}, 500 );
|
60 |
+
|
61 |
+
} );
|
62 |
+
|
63 |
+
/* "Save Ticket" button action */
|
64 |
+
$( '#ticket_form_save' ).click( function () {
|
65 |
+
|
66 |
+
tickets_start_spin();
|
67 |
+
|
68 |
+
var params = {
|
69 |
+
action:'tribe-ticket-add-' + $( 'input[name=ticket_provider]:checked' ).val(),
|
70 |
+
formdata:$( '.ticket_field' ).serialize(),
|
71 |
+
post_ID:$( '#post_ID' ).val()
|
72 |
+
};
|
73 |
+
|
74 |
+
$.post(
|
75 |
+
ajaxurl,
|
76 |
+
params,
|
77 |
+
function ( response ) {
|
78 |
+
console.log( response );
|
79 |
+
if ( response.success ) {
|
80 |
+
ticket_clear_form();
|
81 |
+
$( 'td.ticket_list_container' ).empty().html( response.data );
|
82 |
+
}
|
83 |
+
},
|
84 |
+
'json'
|
85 |
+
).complete( function () {
|
86 |
+
$( 'html, body' ).animate( {
|
87 |
+
scrollTop:$( "#event_tickets" ).offset().top - 50
|
88 |
+
}, 500 );
|
89 |
+
|
90 |
+
tickets_stop_spin();
|
91 |
+
} );
|
92 |
+
|
93 |
+
} );
|
94 |
+
|
95 |
+
/* "Delete Ticket" link action */
|
96 |
+
|
97 |
+
$( '.ticket_delete' ).live( 'click', function ( e ) {
|
98 |
+
|
99 |
+
e.preventDefault();
|
100 |
+
|
101 |
+
tickets_start_spin();
|
102 |
+
|
103 |
+
var params = {
|
104 |
+
action:'tribe-ticket-delete-' + $( this ).attr( "attr-provider" ),
|
105 |
+
post_ID:$( '#post_ID' ).val(),
|
106 |
+
ticket_id:$( this ).attr( "attr-ticket-id" )
|
107 |
+
};
|
108 |
+
|
109 |
+
$.post(
|
110 |
+
ajaxurl,
|
111 |
+
params,
|
112 |
+
function ( response ) {
|
113 |
+
|
114 |
+
if ( response.success ) {
|
115 |
+
$( 'td.ticket_list_container' ).empty().html( response.data );
|
116 |
+
}
|
117 |
+
},
|
118 |
+
'json'
|
119 |
+
).complete( function () {
|
120 |
+
tickets_stop_spin();
|
121 |
+
} );
|
122 |
+
|
123 |
+
|
124 |
+
} );
|
125 |
+
|
126 |
+
/* "Edit Ticket" link action */
|
127 |
+
|
128 |
+
$( '.ticket_edit' ).live( 'click', function ( e ) {
|
129 |
+
|
130 |
+
e.preventDefault();
|
131 |
+
|
132 |
+
$( 'h4.ticket_form_title_edit' ).show();
|
133 |
+
$( 'h4.ticket_form_title_add' ).hide();
|
134 |
+
|
135 |
+
|
136 |
+
tickets_start_spin();
|
137 |
+
|
138 |
+
var params = {
|
139 |
+
action:'tribe-ticket-edit-' + $( this ).attr( "attr-provider" ),
|
140 |
+
post_ID:$( '#post_ID' ).val(),
|
141 |
+
ticket_id:$( this ).attr( "attr-ticket-id" )
|
142 |
+
};
|
143 |
+
|
144 |
+
$.post(
|
145 |
+
ajaxurl,
|
146 |
+
params,
|
147 |
+
function ( response ) {
|
148 |
+
ticket_clear_form();
|
149 |
+
|
150 |
+
$( '#ticket_id' ).val( response.data.ID );
|
151 |
+
$( '#ticket_name' ).val( response.data.name );
|
152 |
+
$( '#ticket_description' ).val( response.data.description );
|
153 |
+
$( '#ticket_price' ).val( response.data.price );
|
154 |
+
|
155 |
+
$( '#ticket_start_date' ).val( response.data.start_date.substring( 0, 10 ) );
|
156 |
+
$( '#ticket_end_date' ).val( response.data.end_date.substring( 0, 10 ) );
|
157 |
+
|
158 |
+
if ( response.data.start_date ) {
|
159 |
+
var start_hour = response.data.start_date.substring( 11, 13 );
|
160 |
+
var start_meridian = 'am';
|
161 |
+
if ( parseInt( start_hour ) > 12 ) {
|
162 |
+
start_meridian = 'pm';
|
163 |
+
start_hour = parseInt( start_hour ) - 12;
|
164 |
+
start_hour = ("0" + start_hour).slice( -2 );
|
165 |
+
}
|
166 |
+
if ( parseInt( start_hour ) === 12 ) {
|
167 |
+
start_meridian = 'pm';
|
168 |
+
}
|
169 |
+
|
170 |
+
$( '#ticket_start_hour' ).val( start_hour );
|
171 |
+
$( '#ticket_start_meridian' ).val( start_meridian );
|
172 |
+
}
|
173 |
+
|
174 |
+
if ( response.data.end_date ) {
|
175 |
+
|
176 |
+
var end_hour = response.data.end_date.substring( 11, 13 );
|
177 |
+
var end_meridian = 'am';
|
178 |
+
if ( parseInt( end_hour ) > 12 ) {
|
179 |
+
end_meridian = 'pm';
|
180 |
+
end_hour = parseInt( end_hour ) - 12;
|
181 |
+
end_hour = ("0" + end_hour).slice( -2 );
|
182 |
+
}
|
183 |
+
if ( parseInt( end_hour ) === 12 ) {
|
184 |
+
end_meridian = 'pm';
|
185 |
+
}
|
186 |
+
|
187 |
+
$( '#ticket_end_hour' ).val( end_hour );
|
188 |
+
$( '#ticket_end_meridian' ).val( end_meridian );
|
189 |
+
|
190 |
+
$( '#ticket_start_minute' ).val( response.data.start_date.substring( 14, 16 ) );
|
191 |
+
$( '#ticket_end_minute' ).val( response.data.end_date.substring( 14, 16 ) );
|
192 |
+
}
|
193 |
+
|
194 |
+
$( 'tr.ticket_advanced_' + response.data.provider_class ).remove();
|
195 |
+
$( 'tr.ticket.bottom' ).before( response.data.advanced_fields );
|
196 |
+
|
197 |
+
$( 'input:radio[name=ticket_provider]' ).filter( '[value=' + response.data.provider_class + ']' ).click();
|
198 |
+
|
199 |
+
$( 'a#ticket_form_toggle' ).hide();
|
200 |
+
$( '#ticket_form' ).show();
|
201 |
+
|
202 |
+
},
|
203 |
+
'json'
|
204 |
+
).complete( function () {
|
205 |
+
$( 'html, body' ).animate( {
|
206 |
+
scrollTop:$( "#ticket_form_table" ).offset().top - 50
|
207 |
+
}, 500 );
|
208 |
+
|
209 |
+
tickets_stop_spin();
|
210 |
+
} );
|
211 |
+
|
212 |
+
|
213 |
+
} );
|
214 |
+
|
215 |
+
|
216 |
+
/* Helper functions */
|
217 |
+
|
218 |
+
function ticket_clear_form() {
|
219 |
+
$( 'a#ticket_form_toggle' ).show();
|
220 |
+
|
221 |
+
$( '#ticket_form input:not(:button):not(:radio):not(:checkbox)' ).val( '' );
|
222 |
+
$( '#ticket_form input:checkbox' ).attr( 'checked', false );
|
223 |
+
|
224 |
+
$( '#ticket_form textarea' ).val( '' );
|
225 |
+
|
226 |
+
$( '#ticket_form' ).hide();
|
227 |
+
}
|
228 |
+
|
229 |
+
function tickets_start_spin() {
|
230 |
+
jQuery( '#event_tickets' ).css( 'opacity', '0.5' );
|
231 |
+
jQuery( "#tribe-loading" ).show();
|
232 |
+
}
|
233 |
+
|
234 |
+
function tickets_stop_spin() {
|
235 |
+
jQuery( '#event_tickets' ).css( 'opacity', '1' );
|
236 |
+
jQuery( "#tribe-loading" ).hide();
|
237 |
+
}
|
238 |
+
|
239 |
+
|
240 |
+
} );
|
resources/tribe-settings.js
CHANGED
File without changes
|
resources/ui.datepicker.min.js
CHANGED
File without changes
|
resources/ui.dialog.min.js
CHANGED
File without changes
|
resources/warning.png
ADDED
Binary file
|
screenshot-1.png
CHANGED
File without changes
|
screenshot-2.jpg
CHANGED
File without changes
|
screenshot-2.png
CHANGED
File without changes
|
screenshot-3.jpg
CHANGED
File without changes
|
screenshot-3.png
CHANGED
File without changes
|
screenshot-4.jpg
CHANGED
File without changes
|
screenshot-4.png
CHANGED
File without changes
|
screenshot-5.jpg
CHANGED
File without changes
|
screenshot-5.png
CHANGED
File without changes
|
screenshot-6.jpg
CHANGED
File without changes
|
screenshot-6.png
CHANGED
File without changes
|
tests/PHPUnit/bootstrap.php
CHANGED
File without changes
|
tests/PHPUnit/phpunit-test.Test.php
CHANGED
File without changes
|
tests/PHPUnit/phpunit.xml
CHANGED
File without changes
|
tests/PHPUnit/tribe-capabilities.Test.php
CHANGED
File without changes
|
tests/PHPUnit/tribe-event-creation.Test.php
CHANGED
File without changes
|
tests/PHPUnit/tribe-events-class.Test.php
CHANGED
File without changes
|
tests/PHPUnit/tribe-previous-ecp-versions.Test.php
CHANGED
File without changes
|
tests/PHPUnit/wordpress-tests/lib/tribe-testcase.php
CHANGED
File without changes
|
the-events-calendar.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a fully featured event management system with multiple views, 3rd party integrations, and a slew of premium add-ons.
|
5 |
-
Version: 2.0.
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://tri.be?ref=tec-plugin
|
8 |
Text Domain: tribe-events-calendar
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a fully featured event management system with multiple views, 3rd party integrations, and a slew of premium add-ons.
|
5 |
+
Version: 2.0.10
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://tri.be?ref=tec-plugin
|
8 |
Text Domain: tribe-events-calendar
|
vendor/fpdf/font/courier.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Courier';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
for($i=0;$i<=255;$i++)
|
7 |
+
$cw[chr($i)] = 600;
|
8 |
+
?>
|
vendor/fpdf/font/courierb.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Courier-Bold';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
for($i=0;$i<=255;$i++)
|
7 |
+
$cw[chr($i)] = 600;
|
8 |
+
?>
|
vendor/fpdf/font/courierbi.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Courier-BoldOblique';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
for($i=0;$i<=255;$i++)
|
7 |
+
$cw[chr($i)] = 600;
|
8 |
+
?>
|
vendor/fpdf/font/courieri.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Courier-Oblique';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
for($i=0;$i<=255;$i++)
|
7 |
+
$cw[chr($i)] = 600;
|
8 |
+
?>
|
vendor/fpdf/font/helvetica.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Helvetica';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
8 |
+
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
9 |
+
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
10 |
+
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
11 |
+
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
12 |
+
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
13 |
+
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
16 |
+
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
18 |
+
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
19 |
+
?>
|
vendor/fpdf/font/helveticab.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Helvetica-Bold';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
8 |
+
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
9 |
+
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
10 |
+
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
11 |
+
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
12 |
+
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
13 |
+
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
16 |
+
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
18 |
+
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
19 |
+
?>
|
vendor/fpdf/font/helveticabi.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Helvetica-BoldOblique';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
8 |
+
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
9 |
+
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
10 |
+
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
11 |
+
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
12 |
+
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
13 |
+
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
16 |
+
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
18 |
+
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
19 |
+
?>
|
vendor/fpdf/font/helveticai.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Helvetica-Oblique';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
8 |
+
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
9 |
+
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
10 |
+
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
11 |
+
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
12 |
+
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
13 |
+
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
16 |
+
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
18 |
+
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
19 |
+
?>
|
vendor/fpdf/font/opensans.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'TrueType';
|
3 |
+
$name = 'OpenSans-Semibold';
|
4 |
+
$desc = array('Ascent'=>765,'Descent'=>-240,'CapHeight'=>714,'Flags'=>32,'FontBBox'=>'[-584 -282 1261 1049]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600);
|
5 |
+
$up = -75;
|
6 |
+
$ut = 50;
|
7 |
+
$cw = array(
|
8 |
+
chr(0)=>600,chr(1)=>600,chr(2)=>600,chr(3)=>600,chr(4)=>600,chr(5)=>600,chr(6)=>600,chr(7)=>600,chr(8)=>600,chr(9)=>600,chr(10)=>600,chr(11)=>600,chr(12)=>600,chr(13)=>600,chr(14)=>600,chr(15)=>600,chr(16)=>600,chr(17)=>600,chr(18)=>600,chr(19)=>600,chr(20)=>600,chr(21)=>600,
|
9 |
+
chr(22)=>600,chr(23)=>600,chr(24)=>600,chr(25)=>600,chr(26)=>600,chr(27)=>600,chr(28)=>600,chr(29)=>600,chr(30)=>600,chr(31)=>600,' '=>260,'!'=>276,'"'=>436,'#'=>646,'$'=>571,'%'=>862,'&'=>740,'\''=>243,'('=>317,')'=>317,'*'=>548,'+'=>571,
|
10 |
+
','=>267,'-'=>322,'.'=>275,'/'=>390,'0'=>571,'1'=>571,'2'=>571,'3'=>571,'4'=>571,'5'=>571,'6'=>571,'7'=>571,'8'=>571,'9'=>571,':'=>275,';'=>278,'<'=>571,'='=>571,'>'=>571,'?'=>453,'@'=>898,'A'=>661,
|
11 |
+
'B'=>660,'C'=>634,'D'=>734,'E'=>558,'F'=>532,'G'=>726,'H'=>751,'I'=>305,'J'=>299,'K'=>639,'L'=>542,'M'=>923,'N'=>783,'O'=>787,'P'=>615,'Q'=>787,'R'=>639,'S'=>550,'T'=>566,'U'=>742,'V'=>622,'W'=>946,
|
12 |
+
'X'=>622,'Y'=>592,'Z'=>575,'['=>330,'\\'=>390,']'=>330,'^'=>537,'_'=>429,'`'=>592,'a'=>580,'b'=>623,'c'=>495,'d'=>623,'e'=>576,'f'=>363,'g'=>556,'h'=>635,'i'=>279,'j'=>279,'k'=>572,'l'=>279,'m'=>956,
|
13 |
+
'n'=>635,'o'=>611,'p'=>623,'q'=>623,'r'=>431,'s'=>487,'t'=>393,'u'=>635,'v'=>535,'w'=>817,'x'=>551,'y'=>536,'z'=>478,'{'=>386,'|'=>551,'}'=>371,'~'=>571,chr(127)=>600,chr(128)=>580,chr(129)=>600,chr(130)=>268,chr(131)=>574,
|
14 |
+
chr(132)=>461,chr(133)=>819,chr(134)=>509,chr(135)=>518,chr(136)=>599,chr(137)=>1241,chr(138)=>550,chr(139)=>336,chr(140)=>948,chr(141)=>600,chr(142)=>575,chr(143)=>600,chr(144)=>600,chr(145)=>193,chr(146)=>193,chr(147)=>397,chr(148)=>397,chr(149)=>376,chr(150)=>500,chr(151)=>1000,chr(152)=>599,chr(153)=>762,
|
15 |
+
chr(154)=>487,chr(155)=>336,chr(156)=>960,chr(157)=>600,chr(158)=>478,chr(159)=>592,chr(160)=>260,chr(161)=>276,chr(162)=>571,chr(163)=>571,chr(164)=>571,chr(165)=>571,chr(166)=>551,chr(167)=>501,chr(168)=>592,chr(169)=>832,chr(170)=>368,chr(171)=>556,chr(172)=>571,chr(173)=>322,chr(174)=>832,chr(175)=>500,
|
16 |
+
chr(176)=>428,chr(177)=>571,chr(178)=>363,chr(179)=>363,chr(180)=>592,chr(181)=>639,chr(182)=>655,chr(183)=>275,chr(184)=>216,chr(185)=>363,chr(186)=>381,chr(187)=>556,chr(188)=>830,chr(189)=>830,chr(190)=>830,chr(191)=>453,chr(192)=>661,chr(193)=>661,chr(194)=>661,chr(195)=>661,chr(196)=>661,chr(197)=>661,
|
17 |
+
chr(198)=>912,chr(199)=>634,chr(200)=>558,chr(201)=>558,chr(202)=>558,chr(203)=>558,chr(204)=>305,chr(205)=>305,chr(206)=>305,chr(207)=>305,chr(208)=>731,chr(209)=>783,chr(210)=>787,chr(211)=>787,chr(212)=>787,chr(213)=>787,chr(214)=>787,chr(215)=>571,chr(216)=>787,chr(217)=>742,chr(218)=>742,chr(219)=>742,
|
18 |
+
chr(220)=>742,chr(221)=>592,chr(222)=>619,chr(223)=>666,chr(224)=>580,chr(225)=>580,chr(226)=>580,chr(227)=>580,chr(228)=>580,chr(229)=>580,chr(230)=>887,chr(231)=>495,chr(232)=>576,chr(233)=>576,chr(234)=>576,chr(235)=>576,chr(236)=>279,chr(237)=>279,chr(238)=>279,chr(239)=>279,chr(240)=>607,chr(241)=>635,
|
19 |
+
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>571,chr(248)=>611,chr(249)=>635,chr(250)=>635,chr(251)=>635,chr(252)=>635,chr(253)=>536,chr(254)=>623,chr(255)=>536);
|
20 |
+
$enc = 'cp1252';
|
21 |
+
$file = 'opensans.z';
|
22 |
+
$originalsize = 221328;
|
23 |
+
?>
|
vendor/fpdf/font/opensans.z
ADDED
Binary file
|
vendor/fpdf/font/steelfish.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'TrueType';
|
3 |
+
$name = 'SteelfishRg-Regular';
|
4 |
+
$desc = array('Ascent'=>851,'Descent'=>-149,'CapHeight'=>823,'Flags'=>32,'FontBBox'=>'[-126 -149 634 1021]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>524);
|
5 |
+
$up = -100;
|
6 |
+
$ut = 50;
|
7 |
+
$cw = array(
|
8 |
+
chr(0)=>524,chr(1)=>524,chr(2)=>524,chr(3)=>524,chr(4)=>524,chr(5)=>524,chr(6)=>524,chr(7)=>524,chr(8)=>524,chr(9)=>524,chr(10)=>524,chr(11)=>524,chr(12)=>524,chr(13)=>524,chr(14)=>524,chr(15)=>524,chr(16)=>524,chr(17)=>524,chr(18)=>524,chr(19)=>524,chr(20)=>524,chr(21)=>524,
|
9 |
+
chr(22)=>524,chr(23)=>524,chr(24)=>524,chr(25)=>524,chr(26)=>524,chr(27)=>524,chr(28)=>524,chr(29)=>524,chr(30)=>524,chr(31)=>524,' '=>136,'!'=>160,'"'=>257,'#'=>395,'$'=>286,'%'=>480,'&'=>376,'\''=>132,'('=>256,')'=>256,'*'=>335,'+'=>462,
|
10 |
+
','=>134,'-'=>182,'.'=>133,'/'=>241,'0'=>328,'1'=>176,'2'=>309,'3'=>310,'4'=>319,'5'=>316,'6'=>319,'7'=>288,'8'=>315,'9'=>319,':'=>133,';'=>134,'<'=>462,'='=>462,'>'=>462,'?'=>299,'@'=>515,'A'=>335,
|
11 |
+
'B'=>325,'C'=>309,'D'=>326,'E'=>280,'F'=>270,'G'=>322,'H'=>332,'I'=>154,'J'=>217,'K'=>349,'L'=>270,'M'=>451,'N'=>353,'O'=>321,'P'=>322,'Q'=>321,'R'=>331,'S'=>310,'T'=>281,'U'=>326,'V'=>338,'W'=>526,
|
12 |
+
'X'=>339,'Y'=>332,'Z'=>307,'['=>247,'\\'=>241,']'=>247,'^'=>314,'_'=>297,'`'=>275,'a'=>284,'b'=>303,'c'=>283,'d'=>303,'e'=>280,'f'=>191,'g'=>303,'h'=>302,'i'=>147,'j'=>163,'k'=>300,'l'=>143,'m'=>439,
|
13 |
+
'n'=>302,'o'=>290,'p'=>303,'q'=>303,'r'=>207,'s'=>278,'t'=>191,'u'=>300,'v'=>277,'w'=>418,'x'=>284,'y'=>277,'z'=>256,'{'=>261,'|'=>193,'}'=>261,'~'=>463,chr(127)=>524,chr(128)=>342,chr(129)=>524,chr(130)=>138,chr(131)=>405,
|
14 |
+
chr(132)=>276,chr(133)=>665,chr(134)=>388,chr(135)=>388,chr(136)=>385,chr(137)=>612,chr(138)=>310,chr(139)=>195,chr(140)=>437,chr(141)=>524,chr(142)=>307,chr(143)=>524,chr(144)=>524,chr(145)=>134,chr(146)=>134,chr(147)=>268,chr(148)=>268,chr(149)=>209,chr(150)=>279,chr(151)=>438,chr(152)=>314,chr(153)=>484,
|
15 |
+
chr(154)=>278,chr(155)=>195,chr(156)=>444,chr(157)=>524,chr(158)=>256,chr(159)=>332,chr(160)=>136,chr(161)=>160,chr(162)=>281,chr(163)=>286,chr(164)=>482,chr(165)=>340,chr(166)=>193,chr(167)=>287,chr(168)=>293,chr(169)=>516,chr(170)=>217,chr(171)=>390,chr(172)=>419,chr(173)=>524,chr(174)=>516,chr(175)=>304,
|
16 |
+
chr(176)=>305,chr(177)=>462,chr(178)=>185,chr(179)=>186,chr(180)=>275,chr(181)=>524,chr(182)=>423,chr(183)=>133,chr(184)=>133,chr(185)=>125,chr(186)=>220,chr(187)=>390,chr(188)=>480,chr(189)=>480,chr(190)=>480,chr(191)=>299,chr(192)=>335,chr(193)=>335,chr(194)=>335,chr(195)=>335,chr(196)=>335,chr(197)=>335,
|
17 |
+
chr(198)=>462,chr(199)=>309,chr(200)=>280,chr(201)=>280,chr(202)=>280,chr(203)=>280,chr(204)=>154,chr(205)=>154,chr(206)=>154,chr(207)=>154,chr(208)=>324,chr(209)=>353,chr(210)=>321,chr(211)=>321,chr(212)=>321,chr(213)=>321,chr(214)=>321,chr(215)=>462,chr(216)=>321,chr(217)=>326,chr(218)=>326,chr(219)=>326,
|
18 |
+
chr(220)=>326,chr(221)=>332,chr(222)=>327,chr(223)=>328,chr(224)=>284,chr(225)=>284,chr(226)=>284,chr(227)=>284,chr(228)=>284,chr(229)=>284,chr(230)=>433,chr(231)=>283,chr(232)=>280,chr(233)=>280,chr(234)=>280,chr(235)=>280,chr(236)=>158,chr(237)=>158,chr(238)=>227,chr(239)=>178,chr(240)=>321,chr(241)=>302,
|
19 |
+
chr(242)=>290,chr(243)=>290,chr(244)=>290,chr(245)=>290,chr(246)=>290,chr(247)=>462,chr(248)=>290,chr(249)=>300,chr(250)=>300,chr(251)=>300,chr(252)=>300,chr(253)=>277,chr(254)=>303,chr(255)=>277);
|
20 |
+
$enc = 'cp1252';
|
21 |
+
$file = 'steelfish.z';
|
22 |
+
$originalsize = 74904;
|
23 |
+
?>
|
vendor/fpdf/font/steelfish.z
ADDED
Binary file
|
vendor/fpdf/font/symbol.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Symbol';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
8 |
+
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
9 |
+
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
10 |
+
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768,
|
11 |
+
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576,
|
12 |
+
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0,
|
13 |
+
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
14 |
+
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603,
|
15 |
+
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768,
|
16 |
+
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042,
|
17 |
+
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329,
|
18 |
+
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0);
|
19 |
+
?>
|
vendor/fpdf/font/times.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Times-Roman';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
8 |
+
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
9 |
+
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
10 |
+
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944,
|
11 |
+
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
12 |
+
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
13 |
+
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980,
|
14 |
+
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
16 |
+
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
18 |
+
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500);
|
19 |
+
?>
|
vendor/fpdf/font/timesb.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Times-Bold';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
8 |
+
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
9 |
+
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
10 |
+
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000,
|
11 |
+
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833,
|
12 |
+
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
13 |
+
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
16 |
+
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
18 |
+
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
19 |
+
?>
|
vendor/fpdf/font/timesbi.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Times-BoldItalic';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
8 |
+
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
9 |
+
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
10 |
+
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
|
11 |
+
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
12 |
+
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
13 |
+
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
14 |
+
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
16 |
+
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
18 |
+
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
19 |
+
?>
|
vendor/fpdf/font/timesi.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'Times-Italic';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
8 |
+
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
9 |
+
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
10 |
+
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
|
11 |
+
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
|
12 |
+
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
13 |
+
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
|
14 |
+
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
15 |
+
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
|
16 |
+
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
17 |
+
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
18 |
+
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
19 |
+
?>
|
vendor/fpdf/font/zapfdingbats.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$type = 'Core';
|
3 |
+
$name = 'ZapfDingbats';
|
4 |
+
$up = -100;
|
5 |
+
$ut = 50;
|
6 |
+
$cw = array(
|
7 |
+
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
8 |
+
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
9 |
+
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
10 |
+
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
|
11 |
+
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
|
12 |
+
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
|
13 |
+
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
14 |
+
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
|
15 |
+
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
|
16 |
+
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
|
17 |
+
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
|
18 |
+
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
|
19 |
+
?>
|
vendor/fpdf/fpdf.php
ADDED
@@ -0,0 +1,1802 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*******************************************************************************
|
3 |
+
* FPDF *
|
4 |
+
* *
|
5 |
+
* Version: 1.7 *
|
6 |
+
* Date: 2011-06-18 *
|
7 |
+
* Author: Olivier PLATHEY *
|
8 |
+
*******************************************************************************/
|
9 |
+
|
10 |
+
define('FPDF_VERSION','1.7');
|
11 |
+
|
12 |
+
class FPDF
|
13 |
+
{
|
14 |
+
var $page; // current page number
|
15 |
+
var $n; // current object number
|
16 |
+
var $offsets; // array of object offsets
|
17 |
+
var $buffer; // buffer holding in-memory PDF
|
18 |
+
var $pages; // array containing pages
|
19 |
+
var $state; // current document state
|
20 |
+
var $compress; // compression flag
|
21 |
+
var $k; // scale factor (number of points in user unit)
|
22 |
+
var $DefOrientation; // default orientation
|
23 |
+
var $CurOrientation; // current orientation
|
24 |
+
var $StdPageSizes; // standard page sizes
|
25 |
+
var $DefPageSize; // default page size
|
26 |
+
var $CurPageSize; // current page size
|
27 |
+
var $PageSizes; // used for pages with non default sizes or orientations
|
28 |
+
var $wPt, $hPt; // dimensions of current page in points
|
29 |
+
var $w, $h; // dimensions of current page in user unit
|
30 |
+
var $lMargin; // left margin
|
31 |
+
var $tMargin; // top margin
|
32 |
+
var $rMargin; // right margin
|
33 |
+
var $bMargin; // page break margin
|
34 |
+
var $cMargin; // cell margin
|
35 |
+
var $x, $y; // current position in user unit
|
36 |
+
var $lasth; // height of last printed cell
|
37 |
+
var $LineWidth; // line width in user unit
|
38 |
+
var $fontpath; // path containing fonts
|
39 |
+
var $CoreFonts; // array of core font names
|
40 |
+
var $fonts; // array of used fonts
|
41 |
+
var $FontFiles; // array of font files
|
42 |
+
var $diffs; // array of encoding differences
|
43 |
+
var $FontFamily; // current font family
|
44 |
+
var $FontStyle; // current font style
|
45 |
+
var $underline; // underlining flag
|
46 |
+
var $CurrentFont; // current font info
|
47 |
+
var $FontSizePt; // current font size in points
|
48 |
+
var $FontSize; // current font size in user unit
|
49 |
+
var $DrawColor; // commands for drawing color
|
50 |
+
var $FillColor; // commands for filling color
|
51 |
+
var $TextColor; // commands for text color
|
52 |
+
var $ColorFlag; // indicates whether fill and text colors are different
|
53 |
+
var $ws; // word spacing
|
54 |
+
var $images; // array of used images
|
55 |
+
var $PageLinks; // array of links in pages
|
56 |
+
var $links; // array of internal links
|
57 |
+
var $AutoPageBreak; // automatic page breaking
|
58 |
+
var $PageBreakTrigger; // threshold used to trigger page breaks
|
59 |
+
var $InHeader; // flag set when processing header
|
60 |
+
var $InFooter; // flag set when processing footer
|
61 |
+
var $ZoomMode; // zoom display mode
|
62 |
+
var $LayoutMode; // layout display mode
|
63 |
+
var $title; // title
|
64 |
+
var $subject; // subject
|
65 |
+
var $author; // author
|
66 |
+
var $keywords; // keywords
|
67 |
+
var $creator; // creator
|
68 |
+
var $AliasNbPages; // alias for total number of pages
|
69 |
+
var $PDFVersion; // PDF version number
|
70 |
+
|
71 |
+
/*******************************************************************************
|
72 |
+
* *
|
73 |
+
* Public methods *
|
74 |
+
* *
|
75 |
+
*******************************************************************************/
|
76 |
+
function FPDF($orientation='P', $unit='mm', $size='A4')
|
77 |
+
{
|
78 |
+
// Some checks
|
79 |
+
$this->_dochecks();
|
80 |
+
// Initialization of properties
|
81 |
+
$this->page = 0;
|
82 |
+
$this->n = 2;
|
83 |
+
$this->buffer = '';
|
84 |
+
$this->pages = array();
|
85 |
+
$this->PageSizes = array();
|
86 |
+
$this->state = 0;
|
87 |
+
$this->fonts = array();
|
88 |
+
$this->FontFiles = array();
|
89 |
+
$this->diffs = array();
|
90 |
+
$this->images = array();
|
91 |
+
$this->links = array();
|
92 |
+
$this->InHeader = false;
|
93 |
+
$this->InFooter = false;
|
94 |
+
$this->lasth = 0;
|
95 |
+
$this->FontFamily = '';
|
96 |
+
$this->FontStyle = '';
|
97 |
+
$this->FontSizePt = 12;
|
98 |
+
$this->underline = false;
|
99 |
+
$this->DrawColor = '0 G';
|
100 |
+
$this->FillColor = '0 g';
|
101 |
+
$this->TextColor = '0 g';
|
102 |
+
$this->ColorFlag = false;
|
103 |
+
$this->ws = 0;
|
104 |
+
// Font path
|
105 |
+
if(defined('FPDF_FONTPATH'))
|
106 |
+
{
|
107 |
+
$this->fontpath = FPDF_FONTPATH;
|
108 |
+
if(substr($this->fontpath,-1)!='/' && substr($this->fontpath,-1)!='\\')
|
109 |
+
$this->fontpath .= '/';
|
110 |
+
}
|
111 |
+
elseif(is_dir(dirname(__FILE__).'/font'))
|
112 |
+
$this->fontpath = dirname(__FILE__).'/font/';
|
113 |
+
else
|
114 |
+
$this->fontpath = '';
|
115 |
+
// Core fonts
|
116 |
+
$this->CoreFonts = array('courier', 'helvetica', 'times', 'symbol', 'zapfdingbats');
|
117 |
+
// Scale factor
|
118 |
+
if($unit=='pt')
|
119 |
+
$this->k = 1;
|
120 |
+
elseif($unit=='mm')
|
121 |
+
$this->k = 72/25.4;
|
122 |
+
elseif($unit=='cm')
|
123 |
+
$this->k = 72/2.54;
|
124 |
+
elseif($unit=='in')
|
125 |
+
$this->k = 72;
|
126 |
+
else
|
127 |
+
$this->Error('Incorrect unit: '.$unit);
|
128 |
+
// Page sizes
|
129 |
+
$this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28),
|
130 |
+
'letter'=>array(612,792), 'legal'=>array(612,1008));
|
131 |
+
$size = $this->_getpagesize($size);
|
132 |
+
$this->DefPageSize = $size;
|
133 |
+
$this->CurPageSize = $size;
|
134 |
+
// Page orientation
|
135 |
+
$orientation = strtolower($orientation);
|
136 |
+
if($orientation=='p' || $orientation=='portrait')
|
137 |
+
{
|
138 |
+
$this->DefOrientation = 'P';
|
139 |
+
$this->w = $size[0];
|
140 |
+
$this->h = $size[1];
|
141 |
+
}
|
142 |
+
elseif($orientation=='l' || $orientation=='landscape')
|
143 |
+
{
|
144 |
+
$this->DefOrientation = 'L';
|
145 |
+
$this->w = $size[1];
|
146 |
+
$this->h = $size[0];
|
147 |
+
}
|
148 |
+
else
|
149 |
+
$this->Error('Incorrect orientation: '.$orientation);
|
150 |
+
$this->CurOrientation = $this->DefOrientation;
|
151 |
+
$this->wPt = $this->w*$this->k;
|
152 |
+
$this->hPt = $this->h*$this->k;
|
153 |
+
// Page margins (1 cm)
|
154 |
+
$margin = 28.35/$this->k;
|
155 |
+
$this->SetMargins($margin,$margin);
|
156 |
+
// Interior cell margin (1 mm)
|
157 |
+
$this->cMargin = $margin/10;
|
158 |
+
// Line width (0.2 mm)
|
159 |
+
$this->LineWidth = .567/$this->k;
|
160 |
+
// Automatic page break
|
161 |
+
$this->SetAutoPageBreak(true,2*$margin);
|
162 |
+
// Default display mode
|
163 |
+
$this->SetDisplayMode('default');
|
164 |
+
// Enable compression
|
165 |
+
$this->SetCompression(true);
|
166 |
+
// Set default PDF version number
|
167 |
+
$this->PDFVersion = '1.3';
|
168 |
+
}
|
169 |
+
|
170 |
+
function SetMargins($left, $top, $right=null)
|
171 |
+
{
|
172 |
+
// Set left, top and right margins
|
173 |
+
$this->lMargin = $left;
|
174 |
+
$this->tMargin = $top;
|
175 |
+
if($right===null)
|
176 |
+
$right = $left;
|
177 |
+
$this->rMargin = $right;
|
178 |
+
}
|
179 |
+
|
180 |
+
function SetLeftMargin($margin)
|
181 |
+
{
|
182 |
+
// Set left margin
|
183 |
+
$this->lMargin = $margin;
|
184 |
+
if($this->page>0 && $this->x<$margin)
|
185 |
+
$this->x = $margin;
|
186 |
+
}
|
187 |
+
|
188 |
+
function SetTopMargin($margin)
|
189 |
+
{
|
190 |
+
// Set top margin
|
191 |
+
$this->tMargin = $margin;
|
192 |
+
}
|
193 |
+
|
194 |
+
function SetRightMargin($margin)
|
195 |
+
{
|
196 |
+
// Set right margin
|
197 |
+
$this->rMargin = $margin;
|
198 |
+
}
|
199 |
+
|
200 |
+
function SetAutoPageBreak($auto, $margin=0)
|
201 |
+
{
|
202 |
+
// Set auto page break mode and triggering margin
|
203 |
+
$this->AutoPageBreak = $auto;
|
204 |
+
$this->bMargin = $margin;
|
205 |
+
$this->PageBreakTrigger = $this->h-$margin;
|
206 |
+
}
|
207 |
+
|
208 |
+
function SetDisplayMode($zoom, $layout='default')
|
209 |
+
{
|
210 |
+
// Set display mode in viewer
|
211 |
+
if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom))
|
212 |
+
$this->ZoomMode = $zoom;
|
213 |
+
else
|
214 |
+
$this->Error('Incorrect zoom display mode: '.$zoom);
|
215 |
+
if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default')
|
216 |
+
$this->LayoutMode = $layout;
|
217 |
+
else
|
218 |
+
$this->Error('Incorrect layout display mode: '.$layout);
|
219 |
+
}
|
220 |
+
|
221 |
+
function SetCompression($compress)
|
222 |
+
{
|
223 |
+
// Set page compression
|
224 |
+
if(function_exists('gzcompress'))
|
225 |
+
$this->compress = $compress;
|
226 |
+
else
|
227 |
+
$this->compress = false;
|
228 |
+
}
|
229 |
+
|
230 |
+
function SetTitle($title, $isUTF8=false)
|
231 |
+
{
|
232 |
+
// Title of document
|
233 |
+
if($isUTF8)
|
234 |
+
$title = $this->_UTF8toUTF16($title);
|
235 |
+
$this->title = $title;
|
236 |
+
}
|
237 |
+
|
238 |
+
function SetSubject($subject, $isUTF8=false)
|
239 |
+
{
|
240 |
+
// Subject of document
|
241 |
+
if($isUTF8)
|
242 |
+
$subject = $this->_UTF8toUTF16($subject);
|
243 |
+
$this->subject = $subject;
|
244 |
+
}
|
245 |
+
|
246 |
+
function SetAuthor($author, $isUTF8=false)
|
247 |
+
{
|
248 |
+
// Author of document
|
249 |
+
if($isUTF8)
|
250 |
+
$author = $this->_UTF8toUTF16($author);
|
251 |
+
$this->author = $author;
|
252 |
+
}
|
253 |
+
|
254 |
+
function SetKeywords($keywords, $isUTF8=false)
|
255 |
+
{
|
256 |
+
// Keywords of document
|
257 |
+
if($isUTF8)
|
258 |
+
$keywords = $this->_UTF8toUTF16($keywords);
|
259 |
+
$this->keywords = $keywords;
|
260 |
+
}
|
261 |
+
|
262 |
+
function SetCreator($creator, $isUTF8=false)
|
263 |
+
{
|
264 |
+
// Creator of document
|
265 |
+
if($isUTF8)
|
266 |
+
$creator = $this->_UTF8toUTF16($creator);
|
267 |
+
$this->creator = $creator;
|
268 |
+
}
|
269 |
+
|
270 |
+
function AliasNbPages($alias='{nb}')
|
271 |
+
{
|
272 |
+
// Define an alias for total number of pages
|
273 |
+
$this->AliasNbPages = $alias;
|
274 |
+
}
|
275 |
+
|
276 |
+
function Error($msg)
|
277 |
+
{
|
278 |
+
// Fatal error
|
279 |
+
die('<b>FPDF error:</b> '.$msg);
|
280 |
+
}
|
281 |
+
|
282 |
+
function Open()
|
283 |
+
{
|
284 |
+
// Begin document
|
285 |
+
$this->state = 1;
|
286 |
+
}
|
287 |
+
|
288 |
+
function Close()
|
289 |
+
{
|
290 |
+
// Terminate document
|
291 |
+
if($this->state==3)
|
292 |
+
return;
|
293 |
+
if($this->page==0)
|
294 |
+
$this->AddPage();
|
295 |
+
// Page footer
|
296 |
+
$this->InFooter = true;
|
297 |
+
$this->Footer();
|
298 |
+
$this->InFooter = false;
|
299 |
+
// Close page
|
300 |
+
$this->_endpage();
|
301 |
+
// Close document
|
302 |
+
$this->_enddoc();
|
303 |
+
}
|
304 |
+
|
305 |
+
function AddPage($orientation='', $size='')
|
306 |
+
{
|
307 |
+
// Start a new page
|
308 |
+
if($this->state==0)
|
309 |
+
$this->Open();
|
310 |
+
$family = $this->FontFamily;
|
311 |
+
$style = $this->FontStyle.($this->underline ? 'U' : '');
|
312 |
+
$fontsize = $this->FontSizePt;
|
313 |
+
$lw = $this->LineWidth;
|
314 |
+
$dc = $this->DrawColor;
|
315 |
+
$fc = $this->FillColor;
|
316 |
+
$tc = $this->TextColor;
|
317 |
+
$cf = $this->ColorFlag;
|
318 |
+
if($this->page>0)
|
319 |
+
{
|
320 |
+
// Page footer
|
321 |
+
$this->InFooter = true;
|
322 |
+
$this->Footer();
|
323 |
+
$this->InFooter = false;
|
324 |
+
// Close page
|
325 |
+
$this->_endpage();
|
326 |
+
}
|
327 |
+
// Start new page
|
328 |
+
$this->_beginpage($orientation,$size);
|
329 |
+
// Set line cap style to square
|
330 |
+
$this->_out('2 J');
|
331 |
+
// Set line width
|
332 |
+
$this->LineWidth = $lw;
|
333 |
+
$this->_out(sprintf('%.2F w',$lw*$this->k));
|
334 |
+
// Set font
|
335 |
+
if($family)
|
336 |
+
$this->SetFont($family,$style,$fontsize);
|
337 |
+
// Set colors
|
338 |
+
$this->DrawColor = $dc;
|
339 |
+
if($dc!='0 G')
|
340 |
+
$this->_out($dc);
|
341 |
+
$this->FillColor = $fc;
|
342 |
+
if($fc!='0 g')
|
343 |
+
$this->_out($fc);
|
344 |
+
$this->TextColor = $tc;
|
345 |
+
$this->ColorFlag = $cf;
|
346 |
+
// Page header
|
347 |
+
$this->InHeader = true;
|
348 |
+
$this->Header();
|
349 |
+
$this->InHeader = false;
|
350 |
+
// Restore line width
|
351 |
+
if($this->LineWidth!=$lw)
|
352 |
+
{
|
353 |
+
$this->LineWidth = $lw;
|
354 |
+
$this->_out(sprintf('%.2F w',$lw*$this->k));
|
355 |
+
}
|
356 |
+
// Restore font
|
357 |
+
if($family)
|
358 |
+
$this->SetFont($family,$style,$fontsize);
|
359 |
+
// Restore colors
|
360 |
+
if($this->DrawColor!=$dc)
|
361 |
+
{
|
362 |
+
$this->DrawColor = $dc;
|
363 |
+
$this->_out($dc);
|
364 |
+
}
|
365 |
+
if($this->FillColor!=$fc)
|
366 |
+
{
|
367 |
+
$this->FillColor = $fc;
|
368 |
+
$this->_out($fc);
|
369 |
+
}
|
370 |
+
$this->TextColor = $tc;
|
371 |
+
$this->ColorFlag = $cf;
|
372 |
+
}
|
373 |
+
|
374 |
+
function Header()
|
375 |
+
{
|
376 |
+
// To be implemented in your own inherited class
|
377 |
+
}
|
378 |
+
|
379 |
+
function Footer()
|
380 |
+
{
|
381 |
+
// To be implemented in your own inherited class
|
382 |
+
}
|
383 |
+
|
384 |
+
function PageNo()
|
385 |
+
{
|
386 |
+
// Get current page number
|
387 |
+
return $this->page;
|
388 |
+
}
|
389 |
+
|
390 |
+
function SetDrawColor($r, $g=null, $b=null)
|
391 |
+
{
|
392 |
+
// Set color for all stroking operations
|
393 |
+
if(($r==0 && $g==0 && $b==0) || $g===null)
|
394 |
+
$this->DrawColor = sprintf('%.3F G',$r/255);
|
395 |
+
else
|
396 |
+
$this->DrawColor = sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255);
|
397 |
+
if($this->page>0)
|
398 |
+
$this->_out($this->DrawColor);
|
399 |
+
}
|
400 |
+
|
401 |
+
function SetFillColor($r, $g=null, $b=null)
|
402 |
+
{
|
403 |
+
// Set color for all filling operations
|
404 |
+
if(($r==0 && $g==0 && $b==0) || $g===null)
|
405 |
+
$this->FillColor = sprintf('%.3F g',$r/255);
|
406 |
+
else
|
407 |
+
$this->FillColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
|
408 |
+
$this->ColorFlag = ($this->FillColor!=$this->TextColor);
|
409 |
+
if($this->page>0)
|
410 |
+
$this->_out($this->FillColor);
|
411 |
+
}
|
412 |
+
|
413 |
+
function SetTextColor($r, $g=null, $b=null)
|
414 |
+
{
|
415 |
+
// Set color for text
|
416 |
+
if(($r==0 && $g==0 && $b==0) || $g===null)
|
417 |
+
$this->TextColor = sprintf('%.3F g',$r/255);
|
418 |
+
else
|
419 |
+
$this->TextColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
|
420 |
+
$this->ColorFlag = ($this->FillColor!=$this->TextColor);
|
421 |
+
}
|
422 |
+
|
423 |
+
function GetStringWidth($s)
|
424 |
+
{
|
425 |
+
// Get width of a string in the current font
|
426 |
+
$s = (string)$s;
|
427 |
+
$cw = &$this->CurrentFont['cw'];
|
428 |
+
$w = 0;
|
429 |
+
$l = strlen($s);
|
430 |
+
for($i=0;$i<$l;$i++)
|
431 |
+
$w += $cw[$s[$i]];
|
432 |
+
return $w*$this->FontSize/1000;
|
433 |
+
}
|
434 |
+
|
435 |
+
function SetLineWidth($width)
|
436 |
+
{
|
437 |
+
// Set line width
|
438 |
+
$this->LineWidth = $width;
|
439 |
+
if($this->page>0)
|
440 |
+
$this->_out(sprintf('%.2F w',$width*$this->k));
|
441 |
+
}
|
442 |
+
|
443 |
+
function Line($x1, $y1, $x2, $y2)
|
444 |
+
{
|
445 |
+
// Draw a line
|
446 |
+
$this->_out(sprintf('%.2F %.2F m %.2F %.2F l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k));
|
447 |
+
}
|
448 |
+
|
449 |
+
function Rect($x, $y, $w, $h, $style='')
|
450 |
+
{
|
451 |
+
// Draw a rectangle
|
452 |
+
if($style=='F')
|
453 |
+
$op = 'f';
|
454 |
+
elseif($style=='FD' || $style=='DF')
|
455 |
+
$op = 'B';
|
456 |
+
else
|
457 |
+
$op = 'S';
|
458 |
+
$this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op));
|
459 |
+
}
|
460 |
+
|
461 |
+
function AddFont($family, $style='', $file='')
|
462 |
+
{
|
463 |
+
// Add a TrueType, OpenType or Type1 font
|
464 |
+
$family = strtolower($family);
|
465 |
+
if($file=='')
|
466 |
+
$file = str_replace(' ','',$family).strtolower($style).'.php';
|
467 |
+
$style = strtoupper($style);
|
468 |
+
if($style=='IB')
|
469 |
+
$style = 'BI';
|
470 |
+
$fontkey = $family.$style;
|
471 |
+
if(isset($this->fonts[$fontkey]))
|
472 |
+
return;
|
473 |
+
$info = $this->_loadfont($file);
|
474 |
+
$info['i'] = count($this->fonts)+1;
|
475 |
+
if(!empty($info['diff']))
|
476 |
+
{
|
477 |
+
// Search existing encodings
|
478 |
+
$n = array_search($info['diff'],$this->diffs);
|
479 |
+
if(!$n)
|
480 |
+
{
|
481 |
+
$n = count($this->diffs)+1;
|
482 |
+
$this->diffs[$n] = $info['diff'];
|
483 |
+
}
|
484 |
+
$info['diffn'] = $n;
|
485 |
+
}
|
486 |
+
if(!empty($info['file']))
|
487 |
+
{
|
488 |
+
// Embedded font
|
489 |
+
if($info['type']=='TrueType')
|
490 |
+
$this->FontFiles[$info['file']] = array('length1'=>$info['originalsize']);
|
491 |
+
else
|
492 |
+
$this->FontFiles[$info['file']] = array('length1'=>$info['size1'], 'length2'=>$info['size2']);
|
493 |
+
}
|
494 |
+
$this->fonts[$fontkey] = $info;
|
495 |
+
}
|
496 |
+
|
497 |
+
function SetFont($family, $style='', $size=0)
|
498 |
+
{
|
499 |
+
// Select a font; size given in points
|
500 |
+
if($family=='')
|
501 |
+
$family = $this->FontFamily;
|
502 |
+
else
|
503 |
+
$family = strtolower($family);
|
504 |
+
$style = strtoupper($style);
|
505 |
+
if(strpos($style,'U')!==false)
|
506 |
+
{
|
507 |
+
$this->underline = true;
|
508 |
+
$style = str_replace('U','',$style);
|
509 |
+
}
|
510 |
+
else
|
511 |
+
$this->underline = false;
|
512 |
+
if($style=='IB')
|
513 |
+
$style = 'BI';
|
514 |
+
if($size==0)
|
515 |
+
$size = $this->FontSizePt;
|
516 |
+
// Test if font is already selected
|
517 |
+
if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size)
|
518 |
+
return;
|
519 |
+
// Test if font is already loaded
|
520 |
+
$fontkey = $family.$style;
|
521 |
+
if(!isset($this->fonts[$fontkey]))
|
522 |
+
{
|
523 |
+
// Test if one of the core fonts
|
524 |
+
if($family=='arial')
|
525 |
+
$family = 'helvetica';
|
526 |
+
if(in_array($family,$this->CoreFonts))
|
527 |
+
{
|
528 |
+
if($family=='symbol' || $family=='zapfdingbats')
|
529 |
+
$style = '';
|
530 |
+
$fontkey = $family.$style;
|
531 |
+
if(!isset($this->fonts[$fontkey]))
|
532 |
+
$this->AddFont($family,$style);
|
533 |
+
}
|
534 |
+
else
|
535 |
+
$this->Error('Undefined font: '.$family.' '.$style);
|
536 |
+
}
|
537 |
+
// Select it
|
538 |
+
$this->FontFamily = $family;
|
539 |
+
$this->FontStyle = $style;
|
540 |
+
$this->FontSizePt = $size;
|
541 |
+
$this->FontSize = $size/$this->k;
|
542 |
+
$this->CurrentFont = &$this->fonts[$fontkey];
|
543 |
+
if($this->page>0)
|
544 |
+
$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
|
545 |
+
}
|
546 |
+
|
547 |
+
function SetFontSize($size)
|
548 |
+
{
|
549 |
+
// Set font size in points
|
550 |
+
if($this->FontSizePt==$size)
|
551 |
+
return;
|
552 |
+
$this->FontSizePt = $size;
|
553 |
+
$this->FontSize = $size/$this->k;
|
554 |
+
if($this->page>0)
|
555 |
+
$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
|
556 |
+
}
|
557 |
+
|
558 |
+
function AddLink()
|
559 |
+
{
|
560 |
+
// Create a new internal link
|
561 |
+
$n = count($this->links)+1;
|
562 |
+
$this->links[$n] = array(0, 0);
|
563 |
+
return $n;
|
564 |
+
}
|
565 |
+
|
566 |
+
function SetLink($link, $y=0, $page=-1)
|
567 |
+
{
|
568 |
+
// Set destination of internal link
|
569 |
+
if($y==-1)
|
570 |
+
$y = $this->y;
|
571 |
+
if($page==-1)
|
572 |
+
$page = $this->page;
|
573 |
+
$this->links[$link] = array($page, $y);
|
574 |
+
}
|
575 |
+
|
576 |
+
function Link($x, $y, $w, $h, $link)
|
577 |
+
{
|
578 |
+
// Put a link on the page
|
579 |
+
$this->PageLinks[$this->page][] = array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link);
|
580 |
+
}
|
581 |
+
|
582 |
+
function Text($x, $y, $txt)
|
583 |
+
{
|
584 |
+
// Output a string
|
585 |
+
$s = sprintf('BT %.2F %.2F Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
|
586 |
+
if($this->underline && $txt!='')
|
587 |
+
$s .= ' '.$this->_dounderline($x,$y,$txt);
|
588 |
+
if($this->ColorFlag)
|
589 |
+
$s = 'q '.$this->TextColor.' '.$s.' Q';
|
590 |
+
$this->_out($s);
|
591 |
+
}
|
592 |
+
|
593 |
+
function AcceptPageBreak()
|
594 |
+
{
|
595 |
+
// Accept automatic page break or not
|
596 |
+
return $this->AutoPageBreak;
|
597 |
+
}
|
598 |
+
|
599 |
+
function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
|
600 |
+
{
|
601 |
+
// Output a cell
|
602 |
+
$k = $this->k;
|
603 |
+
if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
|
604 |
+
{
|
605 |
+
// Automatic page break
|
606 |
+
$x = $this->x;
|
607 |
+
$ws = $this->ws;
|
608 |
+
if($ws>0)
|
609 |
+
{
|
610 |
+
$this->ws = 0;
|
611 |
+
$this->_out('0 Tw');
|
612 |
+
}
|
613 |
+
$this->AddPage($this->CurOrientation,$this->CurPageSize);
|
614 |
+
$this->x = $x;
|
615 |
+
if($ws>0)
|
616 |
+
{
|
617 |
+
$this->ws = $ws;
|
618 |
+
$this->_out(sprintf('%.3F Tw',$ws*$k));
|
619 |
+
}
|
620 |
+
}
|
621 |
+
if($w==0)
|
622 |
+
$w = $this->w-$this->rMargin-$this->x;
|
623 |
+
$s = '';
|
624 |
+
if($fill || $border==1)
|
625 |
+
{
|
626 |
+
if($fill)
|
627 |
+
$op = ($border==1) ? 'B' : 'f';
|
628 |
+
else
|
629 |
+
$op = 'S';
|
630 |
+
$s = sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op);
|
631 |
+
}
|
632 |
+
if(is_string($border))
|
633 |
+
{
|
634 |
+
$x = $this->x;
|
635 |
+
$y = $this->y;
|
636 |
+
if(strpos($border,'L')!==false)
|
637 |
+
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
|
638 |
+
if(strpos($border,'T')!==false)
|
639 |
+
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
|
640 |
+
if(strpos($border,'R')!==false)
|
641 |
+
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
642 |
+
if(strpos($border,'B')!==false)
|
643 |
+
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
644 |
+
}
|
645 |
+
if($txt!=='')
|
646 |
+
{
|
647 |
+
if($align=='R')
|
648 |
+
$dx = $w-$this->cMargin-$this->GetStringWidth($txt);
|
649 |
+
elseif($align=='C')
|
650 |
+
$dx = ($w-$this->GetStringWidth($txt))/2;
|
651 |
+
else
|
652 |
+
$dx = $this->cMargin;
|
653 |
+
if($this->ColorFlag)
|
654 |
+
$s .= 'q '.$this->TextColor.' ';
|
655 |
+
$txt2 = str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt)));
|
656 |
+
$s .= sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2);
|
657 |
+
if($this->underline)
|
658 |
+
$s .= ' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt);
|
659 |
+
if($this->ColorFlag)
|
660 |
+
$s .= ' Q';
|
661 |
+
if($link)
|
662 |
+
$this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link);
|
663 |
+
}
|
664 |
+
if($s)
|
665 |
+
$this->_out($s);
|
666 |
+
$this->lasth = $h;
|
667 |
+
if($ln>0)
|
668 |
+
{
|
669 |
+
// Go to next line
|
670 |
+
$this->y += $h;
|
671 |
+
if($ln==1)
|
672 |
+
$this->x = $this->lMargin;
|
673 |
+
}
|
674 |
+
else
|
675 |
+
$this->x += $w;
|
676 |
+
}
|
677 |
+
|
678 |
+
function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false)
|
679 |
+
{
|
680 |
+
// Output text with automatic or explicit line breaks
|
681 |
+
$cw = &$this->CurrentFont['cw'];
|
682 |
+
if($w==0)
|
683 |
+
$w = $this->w-$this->rMargin-$this->x;
|
684 |
+
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
685 |
+
$s = str_replace("\r",'',$txt);
|
686 |
+
$nb = strlen($s);
|
687 |
+
if($nb>0 && $s[$nb-1]=="\n")
|
688 |
+
$nb--;
|
689 |
+
$b = 0;
|
690 |
+
if($border)
|
691 |
+
{
|
692 |
+
if($border==1)
|
693 |
+
{
|
694 |
+
$border = 'LTRB';
|
695 |
+
$b = 'LRT';
|
696 |
+
$b2 = 'LR';
|
697 |
+
}
|
698 |
+
else
|
699 |
+
{
|
700 |
+
$b2 = '';
|
701 |
+
if(strpos($border,'L')!==false)
|
702 |
+
$b2 .= 'L';
|
703 |
+
if(strpos($border,'R')!==false)
|
704 |
+
$b2 .= 'R';
|
705 |
+
$b = (strpos($border,'T')!==false) ? $b2.'T' : $b2;
|
706 |
+
}
|
707 |
+
}
|
708 |
+
$sep = -1;
|
709 |
+
$i = 0;
|
710 |
+
$j = 0;
|
711 |
+
$l = 0;
|
712 |
+
$ns = 0;
|
713 |
+
$nl = 1;
|
714 |
+
while($i<$nb)
|
715 |
+
{
|
716 |
+
// Get next character
|
717 |
+
$c = $s[$i];
|
718 |
+
if($c=="\n")
|
719 |
+
{
|
720 |
+
// Explicit line break
|
721 |
+
if($this->ws>0)
|
722 |
+
{
|
723 |
+
$this->ws = 0;
|
724 |
+
$this->_out('0 Tw');
|
725 |
+
}
|
726 |
+
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
|
727 |
+
$i++;
|
728 |
+
$sep = -1;
|
729 |
+
$j = $i;
|
730 |
+
$l = 0;
|
731 |
+
$ns = 0;
|
732 |
+
$nl++;
|
733 |
+
if($border && $nl==2)
|
734 |
+
$b = $b2;
|
735 |
+
continue;
|
736 |
+
}
|
737 |
+
if($c==' ')
|
738 |
+
{
|
739 |
+
$sep = $i;
|
740 |
+
$ls = $l;
|
741 |
+
$ns++;
|
742 |
+
}
|
743 |
+
$l += $cw[$c];
|
744 |
+
if($l>$wmax)
|
745 |
+
{
|
746 |
+
// Automatic line break
|
747 |
+
if($sep==-1)
|
748 |
+
{
|
749 |
+
if($i==$j)
|
750 |
+
$i++;
|
751 |
+
if($this->ws>0)
|
752 |
+
{
|
753 |
+
$this->ws = 0;
|
754 |
+
$this->_out('0 Tw');
|
755 |
+
}
|
756 |
+
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
|
757 |
+
}
|
758 |
+
else
|
759 |
+
{
|
760 |
+
if($align=='J')
|
761 |
+
{
|
762 |
+
$this->ws = ($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
|
763 |
+
$this->_out(sprintf('%.3F Tw',$this->ws*$this->k));
|
764 |
+
}
|
765 |
+
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
|
766 |
+
$i = $sep+1;
|
767 |
+
}
|
768 |
+
$sep = -1;
|
769 |
+
$j = $i;
|
770 |
+
$l = 0;
|
771 |
+
$ns = 0;
|
772 |
+
$nl++;
|
773 |
+
if($border && $nl==2)
|
774 |
+
$b = $b2;
|
775 |
+
}
|
776 |
+
else
|
777 |
+
$i++;
|
778 |
+
}
|
779 |
+
// Last chunk
|
780 |
+
if($this->ws>0)
|
781 |
+
{
|
782 |
+
$this->ws = 0;
|
783 |
+
$this->_out('0 Tw');
|
784 |
+
}
|
785 |
+
if($border && strpos($border,'B')!==false)
|
786 |
+
$b .= 'B';
|
787 |
+
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
|
788 |
+
$this->x = $this->lMargin;
|
789 |
+
}
|
790 |
+
|
791 |
+
function Write($h, $txt, $link='')
|
792 |
+
{
|
793 |
+
// Output text in flowing mode
|
794 |
+
$cw = &$this->CurrentFont['cw'];
|
795 |
+
$w = $this->w-$this->rMargin-$this->x;
|
796 |
+
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
797 |
+
$s = str_replace("\r",'',$txt);
|
798 |
+
$nb = strlen($s);
|
799 |
+
$sep = -1;
|
800 |
+
$i = 0;
|
801 |
+
$j = 0;
|
802 |
+
$l = 0;
|
803 |
+
$nl = 1;
|
804 |
+
while($i<$nb)
|
805 |
+
{
|
806 |
+
// Get next character
|
807 |
+
$c = $s[$i];
|
808 |
+
if($c=="\n")
|
809 |
+
{
|
810 |
+
// Explicit line break
|
811 |
+
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
|
812 |
+
$i++;
|
813 |
+
$sep = -1;
|
814 |
+
$j = $i;
|
815 |
+
$l = 0;
|
816 |
+
if($nl==1)
|
817 |
+
{
|
818 |
+
$this->x = $this->lMargin;
|
819 |
+
$w = $this->w-$this->rMargin-$this->x;
|
820 |
+
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
821 |
+
}
|
822 |
+
$nl++;
|
823 |
+
continue;
|
824 |
+
}
|
825 |
+
if($c==' ')
|
826 |
+
$sep = $i;
|
827 |
+
$l += $cw[$c];
|
828 |
+
if($l>$wmax)
|
829 |
+
{
|
830 |
+
// Automatic line break
|
831 |
+
if($sep==-1)
|
832 |
+
{
|
833 |
+
if($this->x>$this->lMargin)
|
834 |
+
{
|
835 |
+
// Move to next line
|
836 |
+
$this->x = $this->lMargin;
|
837 |
+
$this->y += $h;
|
838 |
+
$w = $this->w-$this->rMargin-$this->x;
|
839 |
+
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
840 |
+
$i++;
|
841 |
+
$nl++;
|
842 |
+
continue;
|
843 |
+
}
|
844 |
+
if($i==$j)
|
845 |
+
$i++;
|
846 |
+
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
|
847 |
+
}
|
848 |
+
else
|
849 |
+
{
|
850 |
+
$this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link);
|
851 |
+
$i = $sep+1;
|
852 |
+
}
|
853 |
+
$sep = -1;
|
854 |
+
$j = $i;
|
855 |
+
$l = 0;
|
856 |
+
if($nl==1)
|
857 |
+
{
|
858 |
+
$this->x = $this->lMargin;
|
859 |
+
$w = $this->w-$this->rMargin-$this->x;
|
860 |
+
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
|
861 |
+
}
|
862 |
+
$nl++;
|
863 |
+
}
|
864 |
+
else
|
865 |
+
$i++;
|
866 |
+
}
|
867 |
+
// Last chunk
|
868 |
+
if($i!=$j)
|
869 |
+
$this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',0,$link);
|
870 |
+
}
|
871 |
+
|
872 |
+
function Ln($h=null)
|
873 |
+
{
|
874 |
+
// Line feed; default value is last cell height
|
875 |
+
$this->x = $this->lMargin;
|
876 |
+
if($h===null)
|
877 |
+
$this->y += $this->lasth;
|
878 |
+
else
|
879 |
+
$this->y += $h;
|
880 |
+
}
|
881 |
+
|
882 |
+
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
|
883 |
+
{
|
884 |
+
// Put an image on the page
|
885 |
+
if(!isset($this->images[$file]))
|
886 |
+
{
|
887 |
+
// First use of this image, get info
|
888 |
+
if($type=='')
|
889 |
+
{
|
890 |
+
$pos = strrpos($file,'.');
|
891 |
+
if(!$pos)
|
892 |
+
$this->Error('Image file has no extension and no type was specified: '.$file);
|
893 |
+
$type = substr($file,$pos+1);
|
894 |
+
}
|
895 |
+
$type = strtolower($type);
|
896 |
+
if($type=='jpeg')
|
897 |
+
$type = 'jpg';
|
898 |
+
$mtd = '_parse'.$type;
|
899 |
+
if(!method_exists($this,$mtd))
|
900 |
+
$this->Error('Unsupported image type: '.$type);
|
901 |
+
$info = $this->$mtd($file);
|
902 |
+
$info['i'] = count($this->images)+1;
|
903 |
+
$this->images[$file] = $info;
|
904 |
+
}
|
905 |
+
else
|
906 |
+
$info = $this->images[$file];
|
907 |
+
|
908 |
+
// Automatic width and height calculation if needed
|
909 |
+
if($w==0 && $h==0)
|
910 |
+
{
|
911 |
+
// Put image at 96 dpi
|
912 |
+
$w = -96;
|
913 |
+
$h = -96;
|
914 |
+
}
|
915 |
+
if($w<0)
|
916 |
+
$w = -$info['w']*72/$w/$this->k;
|
917 |
+
if($h<0)
|
918 |
+
$h = -$info['h']*72/$h/$this->k;
|
919 |
+
if($w==0)
|
920 |
+
$w = $h*$info['w']/$info['h'];
|
921 |
+
if($h==0)
|
922 |
+
$h = $w*$info['h']/$info['w'];
|
923 |
+
|
924 |
+
// Flowing mode
|
925 |
+
if($y===null)
|
926 |
+
{
|
927 |
+
if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
|
928 |
+
{
|
929 |
+
// Automatic page break
|
930 |
+
$x2 = $this->x;
|
931 |
+
$this->AddPage($this->CurOrientation,$this->CurPageSize);
|
932 |
+
$this->x = $x2;
|
933 |
+
}
|
934 |
+
$y = $this->y;
|
935 |
+
$this->y += $h;
|
936 |
+
}
|
937 |
+
|
938 |
+
if($x===null)
|
939 |
+
$x = $this->x;
|
940 |
+
$this->_out(sprintf('q %.2F 0 0 %.2F %.2F %.2F cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i']));
|
941 |
+
if($link)
|
942 |
+
$this->Link($x,$y,$w,$h,$link);
|
943 |
+
}
|
944 |
+
|
945 |
+
function GetX()
|
946 |
+
{
|
947 |
+
// Get x position
|
948 |
+
return $this->x;
|
949 |
+
}
|
950 |
+
|
951 |
+
function SetX($x)
|
952 |
+
{
|
953 |
+
// Set x position
|
954 |
+
if($x>=0)
|
955 |
+
$this->x = $x;
|
956 |
+
else
|
957 |
+
$this->x = $this->w+$x;
|
958 |
+
}
|
959 |
+
|
960 |
+
function GetY()
|
961 |
+
{
|
962 |
+
// Get y position
|
963 |
+
return $this->y;
|
964 |
+
}
|
965 |
+
|
966 |
+
function SetY($y)
|
967 |
+
{
|
968 |
+
// Set y position and reset x
|
969 |
+
$this->x = $this->lMargin;
|
970 |
+
if($y>=0)
|
971 |
+
$this->y = $y;
|
972 |
+
else
|
973 |
+
$this->y = $this->h+$y;
|
974 |
+
}
|
975 |
+
|
976 |
+
function SetXY($x, $y)
|
977 |
+
{
|
978 |
+
// Set x and y positions
|
979 |
+
$this->SetY($y);
|
980 |
+
$this->SetX($x);
|
981 |
+
}
|
982 |
+
|
983 |
+
function Output($name='', $dest='')
|
984 |
+
{
|
985 |
+
// Output PDF to some destination
|
986 |
+
if($this->state<3)
|
987 |
+
$this->Close();
|
988 |
+
$dest = strtoupper($dest);
|
989 |
+
if($dest=='')
|
990 |
+
{
|
991 |
+
if($name=='')
|
992 |
+
{
|
993 |
+
$name = 'doc.pdf';
|
994 |
+
$dest = 'I';
|
995 |
+
}
|
996 |
+
else
|
997 |
+
$dest = 'F';
|
998 |
+
}
|
999 |
+
switch($dest)
|
1000 |
+
{
|
1001 |
+
case 'I':
|
1002 |
+
// Send to standard output
|
1003 |
+
$this->_checkoutput();
|
1004 |
+
if(PHP_SAPI!='cli')
|
1005 |
+
{
|
1006 |
+
// We send to a browser
|
1007 |
+
header('Content-Type: application/pdf');
|
1008 |
+
header('Content-Disposition: inline; filename="'.$name.'"');
|
1009 |
+
header('Cache-Control: private, max-age=0, must-revalidate');
|
1010 |
+
header('Pragma: public');
|
1011 |
+
}
|
1012 |
+
echo $this->buffer;
|
1013 |
+
break;
|
1014 |
+
case 'D':
|
1015 |
+
// Download file
|
1016 |
+
$this->_checkoutput();
|
1017 |
+
header('Content-Type: application/x-download');
|
1018 |
+
header('Content-Disposition: attachment; filename="'.$name.'"');
|
1019 |
+
header('Cache-Control: private, max-age=0, must-revalidate');
|
1020 |
+
header('Pragma: public');
|
1021 |
+
echo $this->buffer;
|
1022 |
+
break;
|
1023 |
+
case 'F':
|
1024 |
+
// Save to local file
|
1025 |
+
$f = fopen($name,'wb');
|
1026 |
+
if(!$f)
|
1027 |
+
$this->Error('Unable to create output file: '.$name);
|
1028 |
+
fwrite($f,$this->buffer,strlen($this->buffer));
|
1029 |
+
fclose($f);
|
1030 |
+
break;
|
1031 |
+
case 'S':
|
1032 |
+
// Return as a string
|
1033 |
+
return $this->buffer;
|
1034 |
+
default:
|
1035 |
+
$this->Error('Incorrect output destination: '.$dest);
|
1036 |
+
}
|
1037 |
+
return '';
|
1038 |
+
}
|
1039 |
+
|
1040 |
+
/*******************************************************************************
|
1041 |
+
* *
|
1042 |
+
* Protected methods *
|
1043 |
+
* *
|
1044 |
+
*******************************************************************************/
|
1045 |
+
function _dochecks()
|
1046 |
+
{
|
1047 |
+
// Check availability of %F
|
1048 |
+
if(sprintf('%.1F',1.0)!='1.0')
|
1049 |
+
$this->Error('This version of PHP is not supported');
|
1050 |
+
// Check mbstring overloading
|
1051 |
+
if(ini_get('mbstring.func_overload') & 2)
|
1052 |
+
$this->Error('mbstring overloading must be disabled');
|
1053 |
+
// Ensure runtime magic quotes are disabled
|
1054 |
+
if(get_magic_quotes_runtime())
|
1055 |
+
@set_magic_quotes_runtime(0);
|
1056 |
+
}
|
1057 |
+
|
1058 |
+
function _checkoutput()
|
1059 |
+
{
|
1060 |
+
if(PHP_SAPI!='cli')
|
1061 |
+
{
|
1062 |
+
if(headers_sent($file,$line))
|
1063 |
+
$this->Error("Some data has already been output, can't send PDF file (output started at $file:$line)");
|
1064 |
+
}
|
1065 |
+
if(ob_get_length())
|
1066 |
+
{
|
1067 |
+
// The output buffer is not empty
|
1068 |
+
if(preg_match('/^(\xEF\xBB\xBF)?\s*$/',ob_get_contents()))
|
1069 |
+
{
|
1070 |
+
// It contains only a UTF-8 BOM and/or whitespace, let's clean it
|
1071 |
+
ob_clean();
|
1072 |
+
}
|
1073 |
+
else
|
1074 |
+
$this->Error("Some data has already been output, can't send PDF file");
|
1075 |
+
}
|
1076 |
+
}
|
1077 |
+
|
1078 |
+
function _getpagesize($size)
|
1079 |
+
{
|
1080 |
+
if(is_string($size))
|
1081 |
+
{
|
1082 |
+
$size = strtolower($size);
|
1083 |
+
if(!isset($this->StdPageSizes[$size]))
|
1084 |
+
$this->Error('Unknown page size: '.$size);
|
1085 |
+
$a = $this->StdPageSizes[$size];
|
1086 |
+
return array($a[0]/$this->k, $a[1]/$this->k);
|
1087 |
+
}
|
1088 |
+
else
|
1089 |
+
{
|
1090 |
+
if($size[0]>$size[1])
|
1091 |
+
return array($size[1], $size[0]);
|
1092 |
+
else
|
1093 |
+
return $size;
|
1094 |
+
}
|
1095 |
+
}
|
1096 |
+
|
1097 |
+
function _beginpage($orientation, $size)
|
1098 |
+
{
|
1099 |
+
$this->page++;
|
1100 |
+
$this->pages[$this->page] = '';
|
1101 |
+
$this->state = 2;
|
1102 |
+
$this->x = $this->lMargin;
|
1103 |
+
$this->y = $this->tMargin;
|
1104 |
+
$this->FontFamily = '';
|
1105 |
+
// Check page size and orientation
|
1106 |
+
if($orientation=='')
|
1107 |
+
$orientation = $this->DefOrientation;
|
1108 |
+
else
|
1109 |
+
$orientation = strtoupper($orientation[0]);
|
1110 |
+
if($size=='')
|
1111 |
+
$size = $this->DefPageSize;
|
1112 |
+
else
|
1113 |
+
$size = $this->_getpagesize($size);
|
1114 |
+
if($orientation!=$this->CurOrientation || $size[0]!=$this->CurPageSize[0] || $size[1]!=$this->CurPageSize[1])
|
1115 |
+
{
|
1116 |
+
// New size or orientation
|
1117 |
+
if($orientation=='P')
|
1118 |
+
{
|
1119 |
+
$this->w = $size[0];
|
1120 |
+
$this->h = $size[1];
|
1121 |
+
}
|
1122 |
+
else
|
1123 |
+
{
|
1124 |
+
$this->w = $size[1];
|
1125 |
+
$this->h = $size[0];
|
1126 |
+
}
|
1127 |
+
$this->wPt = $this->w*$this->k;
|
1128 |
+
$this->hPt = $this->h*$this->k;
|
1129 |
+
$this->PageBreakTrigger = $this->h-$this->bMargin;
|
1130 |
+
$this->CurOrientation = $orientation;
|
1131 |
+
$this->CurPageSize = $size;
|
1132 |
+
}
|
1133 |
+
if($orientation!=$this->DefOrientation || $size[0]!=$this->DefPageSize[0] || $size[1]!=$this->DefPageSize[1])
|
1134 |
+
$this->PageSizes[$this->page] = array($this->wPt, $this->hPt);
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
function _endpage()
|
1138 |
+
{
|
1139 |
+
$this->state = 1;
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
function _loadfont($font)
|
1143 |
+
{
|
1144 |
+
// Load a font definition file from the font directory
|
1145 |
+
include($this->fontpath.$font);
|
1146 |
+
$a = get_defined_vars();
|
1147 |
+
if(!isset($a['name']))
|
1148 |
+
$this->Error('Could not include font definition file');
|
1149 |
+
return $a;
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
function _escape($s)
|
1153 |
+
{
|
1154 |
+
// Escape special characters in strings
|
1155 |
+
$s = str_replace('\\','\\\\',$s);
|
1156 |
+
$s = str_replace('(','\\(',$s);
|
1157 |
+
$s = str_replace(')','\\)',$s);
|
1158 |
+
$s = str_replace("\r",'\\r',$s);
|
1159 |
+
return $s;
|
1160 |
+
}
|
1161 |
+
|
1162 |
+
function _textstring($s)
|
1163 |
+
{
|
1164 |
+
// Format a text string
|
1165 |
+
return '('.$this->_escape($s).')';
|
1166 |
+
}
|
1167 |
+
|
1168 |
+
function _UTF8toUTF16($s)
|
1169 |
+
{
|
1170 |
+
// Convert UTF-8 to UTF-16BE with BOM
|
1171 |
+
$res = "\xFE\xFF";
|
1172 |
+
$nb = strlen($s);
|
1173 |
+
$i = 0;
|
1174 |
+
while($i<$nb)
|
1175 |
+
{
|
1176 |
+
$c1 = ord($s[$i++]);
|
1177 |
+
if($c1>=224)
|
1178 |
+
{
|
1179 |
+
// 3-byte character
|
1180 |
+
$c2 = ord($s[$i++]);
|
1181 |
+
$c3 = ord($s[$i++]);
|
1182 |
+
$res .= chr((($c1 & 0x0F)<<4) + (($c2 & 0x3C)>>2));
|
1183 |
+
$res .= chr((($c2 & 0x03)<<6) + ($c3 & 0x3F));
|
1184 |
+
}
|
1185 |
+
elseif($c1>=192)
|
1186 |
+
{
|
1187 |
+
// 2-byte character
|
1188 |
+
$c2 = ord($s[$i++]);
|
1189 |
+
$res .= chr(($c1 & 0x1C)>>2);
|
1190 |
+
$res .= chr((($c1 & 0x03)<<6) + ($c2 & 0x3F));
|
1191 |
+
}
|
1192 |
+
else
|
1193 |
+
{
|
1194 |
+
// Single-byte character
|
1195 |
+
$res .= "\0".chr($c1);
|
1196 |
+
}
|
1197 |
+
}
|
1198 |
+
return $res;
|
1199 |
+
}
|
1200 |
+
|
1201 |
+
function _dounderline($x, $y, $txt)
|
1202 |
+
{
|
1203 |
+
// Underline text
|
1204 |
+
$up = $this->CurrentFont['up'];
|
1205 |
+
$ut = $this->CurrentFont['ut'];
|
1206 |
+
$w = $this->GetStringWidth($txt)+$this->ws*substr_count($txt,' ');
|
1207 |
+
return sprintf('%.2F %.2F %.2F %.2F re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt);
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
function _parsejpg($file)
|
1211 |
+
{
|
1212 |
+
// Extract info from a JPEG file
|
1213 |
+
$a = getimagesize($file);
|
1214 |
+
if(!$a)
|
1215 |
+
$this->Error('Missing or incorrect image file: '.$file);
|
1216 |
+
if($a[2]!=2)
|
1217 |
+
$this->Error('Not a JPEG file: '.$file);
|
1218 |
+
if(!isset($a['channels']) || $a['channels']==3)
|
1219 |
+
$colspace = 'DeviceRGB';
|
1220 |
+
elseif($a['channels']==4)
|
1221 |
+
$colspace = 'DeviceCMYK';
|
1222 |
+
else
|
1223 |
+
$colspace = 'DeviceGray';
|
1224 |
+
$bpc = isset($a['bits']) ? $a['bits'] : 8;
|
1225 |
+
$data = file_get_contents($file);
|
1226 |
+
return array('w'=>$a[0], 'h'=>$a[1], 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'DCTDecode', 'data'=>$data);
|
1227 |
+
}
|
1228 |
+
|
1229 |
+
function _parsepng($file)
|
1230 |
+
{
|
1231 |
+
// Extract info from a PNG file
|
1232 |
+
$f = fopen($file,'rb');
|
1233 |
+
if(!$f)
|
1234 |
+
$this->Error('Can\'t open image file: '.$file);
|
1235 |
+
$info = $this->_parsepngstream($f,$file);
|
1236 |
+
fclose($f);
|
1237 |
+
return $info;
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
function _parsepngstream($f, $file)
|
1241 |
+
{
|
1242 |
+
// Check signature
|
1243 |
+
if($this->_readstream($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10))
|
1244 |
+
$this->Error('Not a PNG file: '.$file);
|
1245 |
+
|
1246 |
+
// Read header chunk
|
1247 |
+
$this->_readstream($f,4);
|
1248 |
+
if($this->_readstream($f,4)!='IHDR')
|
1249 |
+
$this->Error('Incorrect PNG file: '.$file);
|
1250 |
+
$w = $this->_readint($f);
|
1251 |
+
$h = $this->_readint($f);
|
1252 |
+
$bpc = ord($this->_readstream($f,1));
|
1253 |
+
if($bpc>8)
|
1254 |
+
$this->Error('16-bit depth not supported: '.$file);
|
1255 |
+
$ct = ord($this->_readstream($f,1));
|
1256 |
+
if($ct==0 || $ct==4)
|
1257 |
+
$colspace = 'DeviceGray';
|
1258 |
+
elseif($ct==2 || $ct==6)
|
1259 |
+
$colspace = 'DeviceRGB';
|
1260 |
+
elseif($ct==3)
|
1261 |
+
$colspace = 'Indexed';
|
1262 |
+
else
|
1263 |
+
$this->Error('Unknown color type: '.$file);
|
1264 |
+
if(ord($this->_readstream($f,1))!=0)
|
1265 |
+
$this->Error('Unknown compression method: '.$file);
|
1266 |
+
if(ord($this->_readstream($f,1))!=0)
|
1267 |
+
$this->Error('Unknown filter method: '.$file);
|
1268 |
+
if(ord($this->_readstream($f,1))!=0)
|
1269 |
+
$this->Error('Interlacing not supported: '.$file);
|
1270 |
+
$this->_readstream($f,4);
|
1271 |
+
$dp = '/Predictor 15 /Colors '.($colspace=='DeviceRGB' ? 3 : 1).' /BitsPerComponent '.$bpc.' /Columns '.$w;
|
1272 |
+
|
1273 |
+
// Scan chunks looking for palette, transparency and image data
|
1274 |
+
$pal = '';
|
1275 |
+
$trns = '';
|
1276 |
+
$data = '';
|
1277 |
+
do
|
1278 |
+
{
|
1279 |
+
$n = $this->_readint($f);
|
1280 |
+
$type = $this->_readstream($f,4);
|
1281 |
+
if($type=='PLTE')
|
1282 |
+
{
|
1283 |
+
// Read palette
|
1284 |
+
$pal = $this->_readstream($f,$n);
|
1285 |
+
$this->_readstream($f,4);
|
1286 |
+
}
|
1287 |
+
elseif($type=='tRNS')
|
1288 |
+
{
|
1289 |
+
// Read transparency info
|
1290 |
+
$t = $this->_readstream($f,$n);
|
1291 |
+
if($ct==0)
|
1292 |
+
$trns = array(ord(substr($t,1,1)));
|
1293 |
+
elseif($ct==2)
|
1294 |
+
$trns = array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1)));
|
1295 |
+
else
|
1296 |
+
{
|
1297 |
+
$pos = strpos($t,chr(0));
|
1298 |
+
if($pos!==false)
|
1299 |
+
$trns = array($pos);
|
1300 |
+
}
|
1301 |
+
$this->_readstream($f,4);
|
1302 |
+
}
|
1303 |
+
elseif($type=='IDAT')
|
1304 |
+
{
|
1305 |
+
// Read image data block
|
1306 |
+
$data .= $this->_readstream($f,$n);
|
1307 |
+
$this->_readstream($f,4);
|
1308 |
+
}
|
1309 |
+
elseif($type=='IEND')
|
1310 |
+
break;
|
1311 |
+
else
|
1312 |
+
$this->_readstream($f,$n+4);
|
1313 |
+
}
|
1314 |
+
while($n);
|
1315 |
+
|
1316 |
+
if($colspace=='Indexed' && empty($pal))
|
1317 |
+
$this->Error('Missing palette in '.$file);
|
1318 |
+
$info = array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'dp'=>$dp, 'pal'=>$pal, 'trns'=>$trns);
|
1319 |
+
if($ct>=4)
|
1320 |
+
{
|
1321 |
+
// Extract alpha channel
|
1322 |
+
if(!function_exists('gzuncompress'))
|
1323 |
+
$this->Error('Zlib not available, can\'t handle alpha channel: '.$file);
|
1324 |
+
$data = gzuncompress($data);
|
1325 |
+
$color = '';
|
1326 |
+
$alpha = '';
|
1327 |
+
if($ct==4)
|
1328 |
+
{
|
1329 |
+
// Gray image
|
1330 |
+
$len = 2*$w;
|
1331 |
+
for($i=0;$i<$h;$i++)
|
1332 |
+
{
|
1333 |
+
$pos = (1+$len)*$i;
|
1334 |
+
$color .= $data[$pos];
|
1335 |
+
$alpha .= $data[$pos];
|
1336 |
+
$line = substr($data,$pos+1,$len);
|
1337 |
+
$color .= preg_replace('/(.)./s','$1',$line);
|
1338 |
+
$alpha .= preg_replace('/.(.)/s','$1',$line);
|
1339 |
+
}
|
1340 |
+
}
|
1341 |
+
else
|
1342 |
+
{
|
1343 |
+
// RGB image
|
1344 |
+
$len = 4*$w;
|
1345 |
+
for($i=0;$i<$h;$i++)
|
1346 |
+
{
|
1347 |
+
$pos = (1+$len)*$i;
|
1348 |
+
$color .= $data[$pos];
|
1349 |
+
$alpha .= $data[$pos];
|
1350 |
+
$line = substr($data,$pos+1,$len);
|
1351 |
+
$color .= preg_replace('/(.{3})./s','$1',$line);
|
1352 |
+
$alpha .= preg_replace('/.{3}(.)/s','$1',$line);
|
1353 |
+
}
|
1354 |
+
}
|
1355 |
+
unset($data);
|
1356 |
+
$data = gzcompress($color);
|
1357 |
+
$info['smask'] = gzcompress($alpha);
|
1358 |
+
if($this->PDFVersion<'1.4')
|
1359 |
+
$this->PDFVersion = '1.4';
|
1360 |
+
}
|
1361 |
+
$info['data'] = $data;
|
1362 |
+
return $info;
|
1363 |
+
}
|
1364 |
+
|
1365 |
+
function _readstream($f, $n)
|
1366 |
+
{
|
1367 |
+
// Read n bytes from stream
|
1368 |
+
$res = '';
|
1369 |
+
while($n>0 && !feof($f))
|
1370 |
+
{
|
1371 |
+
$s = fread($f,$n);
|
1372 |
+
if($s===false)
|
1373 |
+
$this->Error('Error while reading stream');
|
1374 |
+
$n -= strlen($s);
|
1375 |
+
$res .= $s;
|
1376 |
+
}
|
1377 |
+
if($n>0)
|
1378 |
+
$this->Error('Unexpected end of stream');
|
1379 |
+
return $res;
|
1380 |
+
}
|
1381 |
+
|
1382 |
+
function _readint($f)
|
1383 |
+
{
|
1384 |
+
// Read a 4-byte integer from stream
|
1385 |
+
$a = unpack('Ni',$this->_readstream($f,4));
|
1386 |
+
return $a['i'];
|
1387 |
+
}
|
1388 |
+
|
1389 |
+
function _parsegif($file)
|
1390 |
+
{
|
1391 |
+
// Extract info from a GIF file (via PNG conversion)
|
1392 |
+
if(!function_exists('imagepng'))
|
1393 |
+
$this->Error('GD extension is required for GIF support');
|
1394 |
+
if(!function_exists('imagecreatefromgif'))
|
1395 |
+
$this->Error('GD has no GIF read support');
|
1396 |
+
$im = imagecreatefromgif($file);
|
1397 |
+
if(!$im)
|
1398 |
+
$this->Error('Missing or incorrect image file: '.$file);
|
1399 |
+
imageinterlace($im,0);
|
1400 |
+
$f = @fopen('php://temp','rb+');
|
1401 |
+
if($f)
|
1402 |
+
{
|
1403 |
+
// Perform conversion in memory
|
1404 |
+
ob_start();
|
1405 |
+
imagepng($im);
|
1406 |
+
$data = ob_get_clean();
|
1407 |
+
imagedestroy($im);
|
1408 |
+
fwrite($f,$data);
|
1409 |
+
rewind($f);
|
1410 |
+
$info = $this->_parsepngstream($f,$file);
|
1411 |
+
fclose($f);
|
1412 |
+
}
|
1413 |
+
else
|
1414 |
+
{
|
1415 |
+
// Use temporary file
|
1416 |
+
$tmp = tempnam('.','gif');
|
1417 |
+
if(!$tmp)
|
1418 |
+
$this->Error('Unable to create a temporary file');
|
1419 |
+
if(!imagepng($im,$tmp))
|
1420 |
+
$this->Error('Error while saving to temporary file');
|
1421 |
+
imagedestroy($im);
|
1422 |
+
$info = $this->_parsepng($tmp);
|
1423 |
+
unlink($tmp);
|
1424 |
+
}
|
1425 |
+
return $info;
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
function _newobj()
|
1429 |
+
{
|
1430 |
+
// Begin a new object
|
1431 |
+
$this->n++;
|
1432 |
+
$this->offsets[$this->n] = strlen($this->buffer);
|
1433 |
+
$this->_out($this->n.' 0 obj');
|
1434 |
+
}
|
1435 |
+
|
1436 |
+
function _putstream($s)
|
1437 |
+
{
|
1438 |
+
$this->_out('stream');
|
1439 |
+
$this->_out($s);
|
1440 |
+
$this->_out('endstream');
|
1441 |
+
}
|
1442 |
+
|
1443 |
+
function _out($s)
|
1444 |
+
{
|
1445 |
+
// Add a line to the document
|
1446 |
+
if($this->state==2)
|
1447 |
+
$this->pages[$this->page] .= $s."\n";
|
1448 |
+
else
|
1449 |
+
$this->buffer .= $s."\n";
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
function _putpages()
|
1453 |
+
{
|
1454 |
+
$nb = $this->page;
|
1455 |
+
if(!empty($this->AliasNbPages))
|
1456 |
+
{
|
1457 |
+
// Replace number of pages
|
1458 |
+
for($n=1;$n<=$nb;$n++)
|
1459 |
+
$this->pages[$n] = str_replace($this->AliasNbPages,$nb,$this->pages[$n]);
|
1460 |
+
}
|
1461 |
+
if($this->DefOrientation=='P')
|
1462 |
+
{
|
1463 |
+
$wPt = $this->DefPageSize[0]*$this->k;
|
1464 |
+
$hPt = $this->DefPageSize[1]*$this->k;
|
1465 |
+
}
|
1466 |
+
else
|
1467 |
+
{
|
1468 |
+
$wPt = $this->DefPageSize[1]*$this->k;
|
1469 |
+
$hPt = $this->DefPageSize[0]*$this->k;
|
1470 |
+
}
|
1471 |
+
$filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
|
1472 |
+
for($n=1;$n<=$nb;$n++)
|
1473 |
+
{
|
1474 |
+
// Page
|
1475 |
+
$this->_newobj();
|
1476 |
+
$this->_out('<</Type /Page');
|
1477 |
+
$this->_out('/Parent 1 0 R');
|
1478 |
+
if(isset($this->PageSizes[$n]))
|
1479 |
+
$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageSizes[$n][0],$this->PageSizes[$n][1]));
|
1480 |
+
$this->_out('/Resources 2 0 R');
|
1481 |
+
if(isset($this->PageLinks[$n]))
|
1482 |
+
{
|
1483 |
+
// Links
|
1484 |
+
$annots = '/Annots [';
|
1485 |
+
foreach($this->PageLinks[$n] as $pl)
|
1486 |
+
{
|
1487 |
+
$rect = sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]);
|
1488 |
+
$annots .= '<</Type /Annot /Subtype /Link /Rect ['.$rect.'] /Border [0 0 0] ';
|
1489 |
+
if(is_string($pl[4]))
|
1490 |
+
$annots .= '/A <</S /URI /URI '.$this->_textstring($pl[4]).'>>>>';
|
1491 |
+
else
|
1492 |
+
{
|
1493 |
+
$l = $this->links[$pl[4]];
|
1494 |
+
$h = isset($this->PageSizes[$l[0]]) ? $this->PageSizes[$l[0]][1] : $hPt;
|
1495 |
+
$annots .= sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',1+2*$l[0],$h-$l[1]*$this->k);
|
1496 |
+
}
|
1497 |
+
}
|
1498 |
+
$this->_out($annots.']');
|
1499 |
+
}
|
1500 |
+
if($this->PDFVersion>'1.3')
|
1501 |
+
$this->_out('/Group <</Type /Group /S /Transparency /CS /DeviceRGB>>');
|
1502 |
+
$this->_out('/Contents '.($this->n+1).' 0 R>>');
|
1503 |
+
$this->_out('endobj');
|
1504 |
+
// Page content
|
1505 |
+
$p = ($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n];
|
1506 |
+
$this->_newobj();
|
1507 |
+
$this->_out('<<'.$filter.'/Length '.strlen($p).'>>');
|
1508 |
+
$this->_putstream($p);
|
1509 |
+
$this->_out('endobj');
|
1510 |
+
}
|
1511 |
+
// Pages root
|
1512 |
+
$this->offsets[1] = strlen($this->buffer);
|
1513 |
+
$this->_out('1 0 obj');
|
1514 |
+
$this->_out('<</Type /Pages');
|
1515 |
+
$kids = '/Kids [';
|
1516 |
+
for($i=0;$i<$nb;$i++)
|
1517 |
+
$kids .= (3+2*$i).' 0 R ';
|
1518 |
+
$this->_out($kids.']');
|
1519 |
+
$this->_out('/Count '.$nb);
|
1520 |
+
$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$wPt,$hPt));
|
1521 |
+
$this->_out('>>');
|
1522 |
+
$this->_out('endobj');
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
function _putfonts()
|
1526 |
+
{
|
1527 |
+
$nf = $this->n;
|
1528 |
+
foreach($this->diffs as $diff)
|
1529 |
+
{
|
1530 |
+
// Encodings
|
1531 |
+
$this->_newobj();
|
1532 |
+
$this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.']>>');
|
1533 |
+
$this->_out('endobj');
|
1534 |
+
}
|
1535 |
+
foreach($this->FontFiles as $file=>$info)
|
1536 |
+
{
|
1537 |
+
// Font file embedding
|
1538 |
+
$this->_newobj();
|
1539 |
+
$this->FontFiles[$file]['n'] = $this->n;
|
1540 |
+
$font = file_get_contents($this->fontpath.$file,true);
|
1541 |
+
if(!$font)
|
1542 |
+
$this->Error('Font file not found: '.$file);
|
1543 |
+
$compressed = (substr($file,-2)=='.z');
|
1544 |
+
if(!$compressed && isset($info['length2']))
|
1545 |
+
$font = substr($font,6,$info['length1']).substr($font,6+$info['length1']+6,$info['length2']);
|
1546 |
+
$this->_out('<</Length '.strlen($font));
|
1547 |
+
if($compressed)
|
1548 |
+
$this->_out('/Filter /FlateDecode');
|
1549 |
+
$this->_out('/Length1 '.$info['length1']);
|
1550 |
+
if(isset($info['length2']))
|
1551 |
+
$this->_out('/Length2 '.$info['length2'].' /Length3 0');
|
1552 |
+
$this->_out('>>');
|
1553 |
+
$this->_putstream($font);
|
1554 |
+
$this->_out('endobj');
|
1555 |
+
}
|
1556 |
+
foreach($this->fonts as $k=>$font)
|
1557 |
+
{
|
1558 |
+
// Font objects
|
1559 |
+
$this->fonts[$k]['n'] = $this->n+1;
|
1560 |
+
$type = $font['type'];
|
1561 |
+
$name = $font['name'];
|
1562 |
+
if($type=='Core')
|
1563 |
+
{
|
1564 |
+
// Core font
|
1565 |
+
$this->_newobj();
|
1566 |
+
$this->_out('<</Type /Font');
|
1567 |
+
$this->_out('/BaseFont /'.$name);
|
1568 |
+
$this->_out('/Subtype /Type1');
|
1569 |
+
if($name!='Symbol' && $name!='ZapfDingbats')
|
1570 |
+
$this->_out('/Encoding /WinAnsiEncoding');
|
1571 |
+
$this->_out('>>');
|
1572 |
+
$this->_out('endobj');
|
1573 |
+
}
|
1574 |
+
elseif($type=='Type1' || $type=='TrueType')
|
1575 |
+
{
|
1576 |
+
// Additional Type1 or TrueType/OpenType font
|
1577 |
+
$this->_newobj();
|
1578 |
+
$this->_out('<</Type /Font');
|
1579 |
+
$this->_out('/BaseFont /'.$name);
|
1580 |
+
$this->_out('/Subtype /'.$type);
|
1581 |
+
$this->_out('/FirstChar 32 /LastChar 255');
|
1582 |
+
$this->_out('/Widths '.($this->n+1).' 0 R');
|
1583 |
+
$this->_out('/FontDescriptor '.($this->n+2).' 0 R');
|
1584 |
+
if(isset($font['diffn']))
|
1585 |
+
$this->_out('/Encoding '.($nf+$font['diffn']).' 0 R');
|
1586 |
+
else
|
1587 |
+
$this->_out('/Encoding /WinAnsiEncoding');
|
1588 |
+
$this->_out('>>');
|
1589 |
+
$this->_out('endobj');
|
1590 |
+
// Widths
|
1591 |
+
$this->_newobj();
|
1592 |
+
$cw = &$font['cw'];
|
1593 |
+
$s = '[';
|
1594 |
+
for($i=32;$i<=255;$i++)
|
1595 |
+
$s .= $cw[chr($i)].' ';
|
1596 |
+
$this->_out($s.']');
|
1597 |
+
$this->_out('endobj');
|
1598 |
+
// Descriptor
|
1599 |
+
$this->_newobj();
|
1600 |
+
$s = '<</Type /FontDescriptor /FontName /'.$name;
|
1601 |
+
foreach($font['desc'] as $k=>$v)
|
1602 |
+
$s .= ' /'.$k.' '.$v;
|
1603 |
+
if(!empty($font['file']))
|
1604 |
+
$s .= ' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$font['file']]['n'].' 0 R';
|
1605 |
+
$this->_out($s.'>>');
|
1606 |
+
$this->_out('endobj');
|
1607 |
+
}
|
1608 |
+
else
|
1609 |
+
{
|
1610 |
+
// Allow for additional types
|
1611 |
+
$mtd = '_put'.strtolower($type);
|
1612 |
+
if(!method_exists($this,$mtd))
|
1613 |
+
$this->Error('Unsupported font type: '.$type);
|
1614 |
+
$this->$mtd($font);
|
1615 |
+
}
|
1616 |
+
}
|
1617 |
+
}
|
1618 |
+
|
1619 |
+
function _putimages()
|
1620 |
+
{
|
1621 |
+
foreach(array_keys($this->images) as $file)
|
1622 |
+
{
|
1623 |
+
$this->_putimage($this->images[$file]);
|
1624 |
+
unset($this->images[$file]['data']);
|
1625 |
+
unset($this->images[$file]['smask']);
|
1626 |
+
}
|
1627 |
+
}
|
1628 |
+
|
1629 |
+
function _putimage(&$info)
|
1630 |
+
{
|
1631 |
+
$this->_newobj();
|
1632 |
+
$info['n'] = $this->n;
|
1633 |
+
$this->_out('<</Type /XObject');
|
1634 |
+
$this->_out('/Subtype /Image');
|
1635 |
+
$this->_out('/Width '.$info['w']);
|
1636 |
+
$this->_out('/Height '.$info['h']);
|
1637 |
+
if($info['cs']=='Indexed')
|
1638 |
+
$this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]');
|
1639 |
+
else
|
1640 |
+
{
|
1641 |
+
$this->_out('/ColorSpace /'.$info['cs']);
|
1642 |
+
if($info['cs']=='DeviceCMYK')
|
1643 |
+
$this->_out('/Decode [1 0 1 0 1 0 1 0]');
|
1644 |
+
}
|
1645 |
+
$this->_out('/BitsPerComponent '.$info['bpc']);
|
1646 |
+
if(isset($info['f']))
|
1647 |
+
$this->_out('/Filter /'.$info['f']);
|
1648 |
+
if(isset($info['dp']))
|
1649 |
+
$this->_out('/DecodeParms <<'.$info['dp'].'>>');
|
1650 |
+
if(isset($info['trns']) && is_array($info['trns']))
|
1651 |
+
{
|
1652 |
+
$trns = '';
|
1653 |
+
for($i=0;$i<count($info['trns']);$i++)
|
1654 |
+
$trns .= $info['trns'][$i].' '.$info['trns'][$i].' ';
|
1655 |
+
$this->_out('/Mask ['.$trns.']');
|
1656 |
+
}
|
1657 |
+
if(isset($info['smask']))
|
1658 |
+
$this->_out('/SMask '.($this->n+1).' 0 R');
|
1659 |
+
$this->_out('/Length '.strlen($info['data']).'>>');
|
1660 |
+
$this->_putstream($info['data']);
|
1661 |
+
$this->_out('endobj');
|
1662 |
+
// Soft mask
|
1663 |
+
if(isset($info['smask']))
|
1664 |
+
{
|
1665 |
+
$dp = '/Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns '.$info['w'];
|
1666 |
+
$smask = array('w'=>$info['w'], 'h'=>$info['h'], 'cs'=>'DeviceGray', 'bpc'=>8, 'f'=>$info['f'], 'dp'=>$dp, 'data'=>$info['smask']);
|
1667 |
+
$this->_putimage($smask);
|
1668 |
+
}
|
1669 |
+
// Palette
|
1670 |
+
if($info['cs']=='Indexed')
|
1671 |
+
{
|
1672 |
+
$filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
|
1673 |
+
$pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal'];
|
1674 |
+
$this->_newobj();
|
1675 |
+
$this->_out('<<'.$filter.'/Length '.strlen($pal).'>>');
|
1676 |
+
$this->_putstream($pal);
|
1677 |
+
$this->_out('endobj');
|
1678 |
+
}
|
1679 |
+
}
|
1680 |
+
|
1681 |
+
function _putxobjectdict()
|
1682 |
+
{
|
1683 |
+
foreach($this->images as $image)
|
1684 |
+
$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
|
1685 |
+
}
|
1686 |
+
|
1687 |
+
function _putresourcedict()
|
1688 |
+
{
|
1689 |
+
$this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
|
1690 |
+
$this->_out('/Font <<');
|
1691 |
+
foreach($this->fonts as $font)
|
1692 |
+
$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
|
1693 |
+
$this->_out('>>');
|
1694 |
+
$this->_out('/XObject <<');
|
1695 |
+
$this->_putxobjectdict();
|
1696 |
+
$this->_out('>>');
|
1697 |
+
}
|
1698 |
+
|
1699 |
+
function _putresources()
|
1700 |
+
{
|
1701 |
+
$this->_putfonts();
|
1702 |
+
$this->_putimages();
|
1703 |
+
// Resource dictionary
|
1704 |
+
$this->offsets[2] = strlen($this->buffer);
|
1705 |
+
$this->_out('2 0 obj');
|
1706 |
+
$this->_out('<<');
|
1707 |
+
$this->_putresourcedict();
|
1708 |
+
$this->_out('>>');
|
1709 |
+
$this->_out('endobj');
|
1710 |
+
}
|
1711 |
+
|
1712 |
+
function _putinfo()
|
1713 |
+
{
|
1714 |
+
$this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
|
1715 |
+
if(!empty($this->title))
|
1716 |
+
$this->_out('/Title '.$this->_textstring($this->title));
|
1717 |
+
if(!empty($this->subject))
|
1718 |
+
$this->_out('/Subject '.$this->_textstring($this->subject));
|
1719 |
+
if(!empty($this->author))
|
1720 |
+
$this->_out('/Author '.$this->_textstring($this->author));
|
1721 |
+
if(!empty($this->keywords))
|
1722 |
+
$this->_out('/Keywords '.$this->_textstring($this->keywords));
|
1723 |
+
if(!empty($this->creator))
|
1724 |
+
$this->_out('/Creator '.$this->_textstring($this->creator));
|
1725 |
+
$this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
function _putcatalog()
|
1729 |
+
{
|
1730 |
+
$this->_out('/Type /Catalog');
|
1731 |
+
$this->_out('/Pages 1 0 R');
|
1732 |
+
if($this->ZoomMode=='fullpage')
|
1733 |
+
$this->_out('/OpenAction [3 0 R /Fit]');
|
1734 |
+
elseif($this->ZoomMode=='fullwidth')
|
1735 |
+
$this->_out('/OpenAction [3 0 R /FitH null]');
|
1736 |
+
elseif($this->ZoomMode=='real')
|
1737 |
+
$this->_out('/OpenAction [3 0 R /XYZ null null 1]');
|
1738 |
+
elseif(!is_string($this->ZoomMode))
|
1739 |
+
$this->_out('/OpenAction [3 0 R /XYZ null null '.sprintf('%.2F',$this->ZoomMode/100).']');
|
1740 |
+
if($this->LayoutMode=='single')
|
1741 |
+
$this->_out('/PageLayout /SinglePage');
|
1742 |
+
elseif($this->LayoutMode=='continuous')
|
1743 |
+
$this->_out('/PageLayout /OneColumn');
|
1744 |
+
elseif($this->LayoutMode=='two')
|
1745 |
+
$this->_out('/PageLayout /TwoColumnLeft');
|
1746 |
+
}
|
1747 |
+
|
1748 |
+
function _putheader()
|
1749 |
+
{
|
1750 |
+
$this->_out('%PDF-'.$this->PDFVersion);
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
function _puttrailer()
|
1754 |
+
{
|
1755 |
+
$this->_out('/Size '.($this->n+1));
|
1756 |
+
$this->_out('/Root '.$this->n.' 0 R');
|
1757 |
+
$this->_out('/Info '.($this->n-1).' 0 R');
|
1758 |
+
}
|
1759 |
+
|
1760 |
+
function _enddoc()
|
1761 |
+
{
|
1762 |
+
$this->_putheader();
|
1763 |
+
$this->_putpages();
|
1764 |
+
$this->_putresources();
|
1765 |
+
// Info
|
1766 |
+
$this->_newobj();
|
1767 |
+
$this->_out('<<');
|
1768 |
+
$this->_putinfo();
|
1769 |
+
$this->_out('>>');
|
1770 |
+
$this->_out('endobj');
|
1771 |
+
// Catalog
|
1772 |
+
$this->_newobj();
|
1773 |
+
$this->_out('<<');
|
1774 |
+
$this->_putcatalog();
|
1775 |
+
$this->_out('>>');
|
1776 |
+
$this->_out('endobj');
|
1777 |
+
// Cross-ref
|
1778 |
+
$o = strlen($this->buffer);
|
1779 |
+
$this->_out('xref');
|
1780 |
+
$this->_out('0 '.($this->n+1));
|
1781 |
+
$this->_out('0000000000 65535 f ');
|
1782 |
+
for($i=1;$i<=$this->n;$i++)
|
1783 |
+
$this->_out(sprintf('%010d 00000 n ',$this->offsets[$i]));
|
1784 |
+
// Trailer
|
1785 |
+
$this->_out('trailer');
|
1786 |
+
$this->_out('<<');
|
1787 |
+
$this->_puttrailer();
|
1788 |
+
$this->_out('>>');
|
1789 |
+
$this->_out('startxref');
|
1790 |
+
$this->_out($o);
|
1791 |
+
$this->_out('%%EOF');
|
1792 |
+
$this->state = 3;
|
1793 |
+
}
|
1794 |
+
// End of class
|
1795 |
+
}
|
1796 |
+
|
1797 |
+
// Handle special IE contype request
|
1798 |
+
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
|
1799 |
+
{
|
1800 |
+
header('Content-Type: application/pdf');
|
1801 |
+
exit;
|
1802 |
+
}
|
views/ecp-page-template.php
CHANGED
File without changes
|
views/ecp-single-template.php
CHANGED
File without changes
|
views/events-list-load-widget-display.php
CHANGED
File without changes
|
views/full-address.php
CHANGED
File without changes
|
views/gridview.php
CHANGED
@@ -11,28 +11,26 @@
|
|
11 |
if ( !defined('ABSPATH') ) { die('-1'); }
|
12 |
$tribe_ecp = TribeEvents::instance();
|
13 |
?>
|
14 |
-
<div id="tribe-events-content" class="grid">
|
15 |
-
<!-- This title is here for ajax loading - do not remove if you wish to use ajax switching between month views -->
|
16 |
-
<title><?php wp_title(); ?></title>
|
17 |
<div id='tribe-events-calendar-header' class="clearfix">
|
18 |
<span class='tribe-events-month-nav'>
|
19 |
<span class='tribe-events-prev-month'>
|
20 |
-
<a href='<?php echo tribe_get_previous_month_link(); ?>'>
|
21 |
← <?php echo tribe_get_previous_month_text(); ?>
|
22 |
</a>
|
23 |
</span>
|
24 |
|
25 |
<?php tribe_month_year_dropdowns( "tribe-events-" ); ?>
|
26 |
-
|
27 |
<span class='tribe-events-next-month'>
|
28 |
-
<a href='<?php echo tribe_get_next_month_link(); ?>'>
|
29 |
<?php echo tribe_get_next_month_text(); ?> →
|
30 |
</a>
|
31 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-loading" id="ajax-loading" alt="" style='display: none'/>
|
32 |
</span>
|
33 |
</span>
|
34 |
|
35 |
-
<span class='tribe-events-calendar-buttons'>
|
36 |
<a class='tribe-events-button-off' href='<?php echo tribe_get_listview_link(); ?>'><?php _e('Event List', 'tribe-events-calendar'); ?></a>
|
37 |
<a class='tribe-events-button-on' href='<?php echo tribe_get_gridview_link(); ?>'><?php _e('Calendar', 'tribe-events-calendar'); ?></a>
|
38 |
</span>
|
11 |
if ( !defined('ABSPATH') ) { die('-1'); }
|
12 |
$tribe_ecp = TribeEvents::instance();
|
13 |
?>
|
14 |
+
<div id="tribe-events-content" class="grid" data-title="<?php wp_title(); ?>">
|
|
|
|
|
15 |
<div id='tribe-events-calendar-header' class="clearfix">
|
16 |
<span class='tribe-events-month-nav'>
|
17 |
<span class='tribe-events-prev-month'>
|
18 |
+
<a href='<?php echo tribe_get_previous_month_link(); ?>' class="tribe-pjax">
|
19 |
← <?php echo tribe_get_previous_month_text(); ?>
|
20 |
</a>
|
21 |
</span>
|
22 |
|
23 |
<?php tribe_month_year_dropdowns( "tribe-events-" ); ?>
|
24 |
+
|
25 |
<span class='tribe-events-next-month'>
|
26 |
+
<a href='<?php echo tribe_get_next_month_link(); ?>' class="tribe-pjax">
|
27 |
<?php echo tribe_get_next_month_text(); ?> →
|
28 |
</a>
|
29 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-loading" id="ajax-loading" alt="" style='display: none'/>
|
30 |
</span>
|
31 |
</span>
|
32 |
|
33 |
+
<span class='tribe-events-calendar-buttons'>
|
34 |
<a class='tribe-events-button-off' href='<?php echo tribe_get_listview_link(); ?>'><?php _e('Event List', 'tribe-events-calendar'); ?></a>
|
35 |
<a class='tribe-events-button-on' href='<?php echo tribe_get_gridview_link(); ?>'><?php _e('Calendar', 'tribe-events-calendar'); ?></a>
|
36 |
</span>
|
views/list.php
CHANGED
@@ -111,6 +111,7 @@ if ( !defined('ABSPATH') ) { die('-1'); }
|
|
111 |
</div> <!-- End post -->
|
112 |
<?php endwhile;// posts ?>
|
113 |
<?php else :?>
|
|
|
114 |
<?php
|
115 |
$tribe_ecp = TribeEvents::instance();
|
116 |
if ( is_tax( $tribe_ecp->get_event_taxonomy() ) ) {
|
@@ -134,7 +135,7 @@ if ( !defined('ABSPATH') ) { die('-1'); }
|
|
134 |
<?php _e('No previous events' , 'tribe-events-calendar');
|
135 |
echo !empty($is_cat_message) ? $is_cat_message : "."; ?>
|
136 |
<?php } ?>
|
137 |
-
|
138 |
<?php endif; ?>
|
139 |
|
140 |
|
111 |
</div> <!-- End post -->
|
112 |
<?php endwhile;// posts ?>
|
113 |
<?php else :?>
|
114 |
+
<div class="tribe-events-no-entry">
|
115 |
<?php
|
116 |
$tribe_ecp = TribeEvents::instance();
|
117 |
if ( is_tax( $tribe_ecp->get_event_taxonomy() ) ) {
|
135 |
<?php _e('No previous events' , 'tribe-events-calendar');
|
136 |
echo !empty($is_cat_message) ? $is_cat_message : "."; ?>
|
137 |
<?php } ?>
|
138 |
+
</div>
|
139 |
<?php endif; ?>
|
140 |
|
141 |
|
views/single.php
CHANGED
@@ -91,7 +91,7 @@ if ( !defined('ABSPATH') ) { die('-1'); }
|
|
91 |
<?php if( tribe_embed_google_map( get_the_ID() ) ) : ?>
|
92 |
<?php if( tribe_address_exists( get_the_ID() ) ) { echo tribe_get_embedded_map(); } ?>
|
93 |
<?php endif; ?>
|
94 |
-
<div class="entry">
|
95 |
<?php
|
96 |
if ( function_exists('has_post_thumbnail') && has_post_thumbnail() ) {?>
|
97 |
<?php the_post_thumbnail(); ?>
|
91 |
<?php if( tribe_embed_google_map( get_the_ID() ) ) : ?>
|
92 |
<?php if( tribe_address_exists( get_the_ID() ) ) { echo tribe_get_embedded_map(); } ?>
|
93 |
<?php endif; ?>
|
94 |
+
<div class="entry-content">
|
95 |
<?php
|
96 |
if ( function_exists('has_post_thumbnail') && has_post_thumbnail() ) {?>
|
97 |
<?php the_post_thumbnail(); ?>
|
views/table-mini.php
CHANGED
File without changes
|
views/table.php
CHANGED
File without changes
|