PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.0.1
Jetpack – WP Security, Backup, Speed, & Growth v14.0.1
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / sal / class.json-api-date.php
jetpack / sal Last commit date
class.json-api-date.php 3 years ago class.json-api-links.php 2 years ago class.json-api-metadata.php 2 years ago class.json-api-platform-jetpack.php 3 years ago class.json-api-platform.php 3 years ago class.json-api-post-base.php 2 years ago class.json-api-post-jetpack.php 4 years ago class.json-api-site-base.php 1 year ago class.json-api-site-jetpack-base.php 3 years ago class.json-api-site-jetpack.php 1 year ago class.json-api-token.php 2 years ago
class.json-api-date.php
99 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * WPCOM_JSON_API_Date class.
4 *
5 * @package automattic/jetpack
6 */
7 /**
8 * Base class for WPCOM_JSON_API_Date.
9 */
10 class WPCOM_JSON_API_Date {
11 /**
12 * Returns ISO 8601 formatted datetime: 2011-12-08T01:15:36-08:00
13 *
14 * @param string $date_gmt GMT datetime string.
15 * @param string $date Optional. Used to calculate the offset from GMT.
16 *
17 * @return string
18 */
19 public static function format_date( $date_gmt, $date = null ) {
20 $offset = null;
21 $timestamp_gmt = strtotime( "$date_gmt+0000" );
22
23 if ( null === $date ) {
24 $timestamp = $timestamp_gmt;
25 $west = 0;
26 $minutes = 0;
27 $hours = 0;
28 } else {
29 $date_time = date_create( "$date+0000" );
30 if ( $date_time ) {
31 $timestamp = date_format( $date_time, 'U' );
32 } else {
33 $timestamp = 0;
34 }
35
36 // "0000-00-00 00:00:00" == -62169984000
37 if ( -62169984000 === $timestamp_gmt ) {
38 // WordPress sets post_date=now, post_date_gmt="0000-00-00 00:00:00" for all drafts
39 // WordPress sets post_modified=now, post_modified_gmt="0000-00-00 00:00:00" for new drafts.
40
41 // Try to guess the correct offset from the blog's options.
42 $timezone_string = get_option( 'timezone_string' );
43
44 if ( $timezone_string && $date_time ) {
45 $timezone = timezone_open( $timezone_string );
46 if ( $timezone ) {
47 $offset = $timezone->getOffset( $date_time );
48 }
49 } else {
50 $offset = 3600 * get_option( 'gmt_offset' );
51 }
52 } else {
53 $offset = $timestamp - $timestamp_gmt;
54 }
55
56 $west = $offset < 0;
57 $offset = abs( $offset );
58 $hours = (int) floor( $offset / 3600 );
59 $offset -= $hours * 3600;
60 $minutes = (int) floor( $offset / 60 );
61 }
62
63 return (string) gmdate( 'Y-m-d\\TH:i:s', $timestamp ) . sprintf( '%s%02d:%02d', $west ? '-' : '+', $hours, $minutes );
64 }
65
66 /**
67 * Returns ISO 8601 formatted duration interval: P0DT1H10M0S
68 *
69 * @param string $time Duration in minutes or hours.
70 *
71 * @return null|string
72 */
73 public static function format_duration( $time ) {
74 $timestamp = strtotime( $time, 0 );
75
76 // Bail early if we don't recognize a date.
77 if ( empty( $timestamp ) ) {
78 return;
79 }
80
81 $days = floor( $timestamp / 86400 );
82 $timestamp = $timestamp % 86400;
83
84 $hours = floor( $timestamp / 3600 );
85 $timestamp = $timestamp % 3600;
86
87 $minutes = floor( $timestamp / 60 );
88 $timestamp = $timestamp % 60;
89
90 return (string) sprintf(
91 'P%dDT%dH%dM%dS',
92 $days,
93 $hours,
94 $minutes,
95 $timestamp
96 );
97 }
98 }
99