WordPress.org

Making WordPress.org

Changeset 6814


Ignore:
Timestamp:
03/01/2018 06:59:26 PM (14 months ago)
Author:
iandunn
Message:

Official WordPress Events: Track status of events.

Events are sometimes cancelled, so we need to track that and only show those that are active. Otherwise they will continue to be displayed by the Events API and the [official_wordpress_events] shortcode.

This relies on r6810 to make the status of WordCamp events available, and on the new status column in EVENTS_TABLE.

Props coreymckrill, iandunn.
Fixes #2720.

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/official-wordpress-events
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-event.php

    r4855 r6814  
    99 */
    1010class Official_WordPress_Event {
    11     public $id, $type, $source_id, $title, $url, $description, $num_attendees, $meetup_name, $meetup_url,
     11    public $id, $type, $source_id, $status, $title, $url, $description, $num_attendees, $meetup_name, $meetup_url,
    1212           $start_timestamp, $end_timestamp, $location, $country_code, $latitude, $longitude;
    1313
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-events.php

    r6813 r6814  
    2222     * Look at meetup-stats.php and see if any differences are relevant, or if there's anything else that'd be helpful in general
    2323     * Check non-latin characters, accents etc to make sure stored properly in db
    24      * Add admin_notice to wordcamp post type to warn when coordinates missing. Also back-fill current ones that are missing.
    2524     * Store wordcamp dates in UTC, and also store timezone? Would need to start collecting timezone for wordcamps and then back-fill old records
    2625     *
     
    7170                'type'        => $event->type,
    7271                'source_id'   => $event->source_id,
     72                'status'      => $event->status,
    7373                'title'       => $event->title,
    7474                'url'         => $event->url,
     
    147147            SELECT *
    148148            FROM `%s`
    149             WHERE date_utc >= SUBDATE( CURRENT_DATE(), 1 )
     149            WHERE
     150                date_utc >= SUBDATE( CURRENT_DATE(), 1 ) AND
     151                status    = 'scheduled'
    150152            ORDER BY date_utc ASC
    151153            LIMIT 300",
     
    213215    protected function get_wordcamp_events() {
    214216        $request_params = array(
    215             'status'   => 'wcpt-scheduled',
     217            'status'   => array( 'wcpt-scheduled', 'wcpt-cancelled' ),
    216218            'per_page' => 100,
    217219            // Note: With the number of WordCamps per year growing fast, we may need to batch requests in the near future, like we do for meetups
     
    242244                $event = array(
    243245                    'source_id'   => $wordcamp->id,
     246                    'status'      => 'wcpt-scheduled' === $wordcamp->status ? 'scheduled' : 'cancelled',
    244247                    'type'        => 'wordcamp',
    245248                    'title'       => $wordcamp->title->rendered,
     
    319322        foreach ( $groups as $group_batch ) {
    320323            $request_url = sprintf(
    321                 '%s2/events?group_id=%s&time=0,3m&page=%d&key=%s',
     324                '%s2/events?group_id=%s&time=0,3m&page=%d&key=%s&status=upcoming,cancelled',
    322325                self::MEETUP_API_BASE_URL,
    323326                implode( ',', $group_batch ),
     
    365368                            'type'            => 'meetup',
    366369                            'source_id'       => $meetup->id,
     370                            'status'          => 'upcoming' === $meetup->status ? 'scheduled' : 'cancelled',
    367371                            'title'           => $meetup->name,
    368372                            'url'             => $meetup->event_url,
Note: See TracChangeset for help on using the changeset viewer.