Skip to content
This repository was archived by the owner on Mar 26, 2021. It is now read-only.
This repository was archived by the owner on Mar 26, 2021. It is now read-only.

When site has no GMT offset saved, the expiry datetime causes problems #52

Closed
@benlk

Description

@benlk

When the 'gmt_offset' value is a number (which is pretty much everywhen), the DateTimeZone constructor complains that the number is not a valid timezone.

return date_add( date_create( $future, new DateTimeZone( $timezone ) ), new DateInterval( 'P7D' ) );
} else {
// return DateTime for the expiry date
return date_create( $iso_8601, new DateTimeZone( $timezone ) );

PHP Fatal Error: Uncaught exception 'Exception' with message 'DateTimeZone::__construct(): Unknown or bad timezone (-4)' in /plugins/npr-story-api/psuh_story.php:676'

  • make plugin draw from 'timezone_string' when 'gmt_offset' is unset, in function nprstory_get_post_expiry_datetime() and in function nprstory_save_datetime()
    provide fallback behavior for when those meta are not set
  • add test case that runs nprstory_get_post_expiry_datetime( $post ) with every valid GMT offset and with every time zone and with nothing set for either.

Activity

benlk

benlk commented on May 23, 2018

@benlk
ContributorAuthor

Timezones are not a specific GMT offset; we need a GMT offset for this. A better approach is described in #53 that makes use of WordPress's tools for converting timezones to GMT offsets.

added this to the 1.7.2 milestone on Jul 2, 2018
kaylima

kaylima commented on Sep 18, 2018

@kaylima

TODO: Up to 2 hours for remaining testing for #53 .

reopened this on Sep 19, 2018
benlk

benlk commented on Sep 19, 2018

@benlk
ContributorAuthor

Automated tests for #53 pass.

Human-run tests for #53 should perform the following tasks:

  1. Activate the plugin
  2. Configure the plugin with test API credentials
  3. Create a new post.
    1. Does the NPR Story API meta box appear on the page?
    2. Are there no errors in the server console?
    3. Change the time zone in Dashboard > Settings > General to a new time zone. Repeat step 3 until satisfied.
  4. Push a post to the API.
  5. Pull a post from the API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

    Participants

    @benlk@kaylima

    Issue actions

      When site has no GMT offset saved, the expiry datetime causes problems · Issue #52 · npr/nprapi-wordpress