Skip to:
Content

BuddyPress.org

Ticket #5781: 5781.02.patch

File 5781.02.patch, 14.2 KB (added by r-a-y, 5 years ago)

Encompasses all components.

  • src/bp-activity/bp-activity-admin.php

     
    666666                                <div class="misc-pub-section curtime misc-pub-section-last">
    667667                                        <?php
    668668                                        // translators: Publish box date format, see http://php.net/date
    669                                         $datef = __( 'M j, Y @ G:i', 'buddypress' );
    670                                         $date  = date_i18n( $datef, strtotime( $item->date_recorded ) );
     669                                        $datef = __( 'M j, Y @ G:i \U\T\C', 'buddypress' );
     670                                        $date  = date_i18n( $datef, bp_core_strtotime( $item->date_recorded ) );
    671671                                        ?>
    672672                                        <span id="timestamp"><?php printf( __( 'Submitted on: <strong>%1$s</strong>', 'buddypress' ), $date ); ?></span>&nbsp;<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js" tabindex='4'><?php _e( 'Edit', 'buddypress' ); ?></a>
    673673
     
    14271427                $actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item );
    14281428
    14291429                /* translators: 2: activity admin ui date/time */
    1430                 printf( __( 'Submitted on <a href="%1$s">%2$s at %3$s</a>', 'buddypress' ), bp_activity_get_permalink( $item['id'] ), get_date_from_gmt( $item['date_recorded'], get_option( 'date_format' ) ), get_date_from_gmt( $item['date_recorded'], get_option( 'time_format' ) ) );
     1430                printf( __( 'Submitted on <a href="%1$s">%2$s</a>', 'buddypress' ), bp_activity_get_permalink( $item['id'] ), bp_format_time( bp_core_strtotime( $item['date_recorded'] ) ) );
    14311431
    14321432                // End timestamp
    14331433                echo '</div>';
  • src/bp-activity/bp-activity-classes.php

     
    12771277                if ( ! empty( $filter_array['since'] ) ) {
    12781278                        // Validate that this is a proper Y-m-d H:i:s date
    12791279                        // Trick: parse to UNIX date then translate back
    1280                         $translated_date = date( 'Y-m-d H:i:s', strtotime( $filter_array['since'] ) );
     1280                        $translated_date = gmdate( 'Y-m-d H:i:s', bp_core_strtotime( $filter_array['since'] ) );
    12811281                        if ( $translated_date === $filter_array['since'] ) {
    12821282                                $filter_sql[] = "a.date_recorded > '{$translated_date}'";
    12831283                        }
  • src/bp-activity/bp-activity-filters.php

     
    457457                return $classes;
    458458        }
    459459       
    460         $classes .= ' date-recorded-' . strtotime( $activity_date );
     460        $classes .= ' date-recorded-' . bp_core_strtotime( $activity_date );
    461461
    462462        return $classes;
    463463}
  • src/bp-core/bp-core-functions.php

     
    802802 *
    803803 * @param int|string $older_date The earlier time from which you're calculating
    804804 *        the time elapsed. Enter either as an integer Unix timestamp, or as a
    805  *        date string of the format 'Y-m-d h:i:s'.
     805 *        GMT date string of the format 'Y-m-d h:i:s'.
    806806 * @param int $newer_date Optional. Unix timestamp of date to compare older
    807807 *        date to. Default: false (current time).
    808808 * @return string String representing the time since the older date, eg
     
    951951        return apply_filters( 'bp_core_time_since', $output, $older_date, $newer_date );
    952952}
    953953
     954/**
     955 * UTC-safe version of strtotime().
     956 *
     957 * strtotime() is dependent on the server's timezone.  If the server isn't set
     958 * to UTC, the UNIX timestamp can be calculated differently and cause
     959 * incorrect times to be returned.
     960 *
     961 * @since BuddyPress (2.1.0)
     962 *
     963 * @param $date The date string to convert to a UNIX timestamp.
     964 * @return int
     965 */
     966function bp_core_strtotime( $date = '' ) {
     967        // back up the existing timezone
     968        $tz_backup = date_default_timezone_get();
     969
     970        // override timezone to UTC
     971        date_default_timezone_set( 'UTC' );
     972
     973        // use strtotime() as usual
     974        $time = strtotime( $date );
     975
     976        // revert timezone if needed
     977        if ( $tz_backup ) {
     978                date_default_timezone_set( $tz_backup );
     979        }
     980
     981        return $time;
     982}
     983
    954984/** Messages ******************************************************************/
    955985
    956986/**
     
    10751105        $activity = bp_get_user_last_activity( $user_id );
    10761106
    10771107        if ( !is_numeric( $activity ) )
    1078                 $activity = strtotime( $activity );
     1108                $activity = bp_core_strtotime( $activity );
    10791109
    10801110        // Get current time
    1081         $current_time = bp_core_current_time();
     1111        $current_time = bp_core_current_time( true, 'timestamp' );
    10821112
    10831113        // Use this action to detect the very first activity for a given member
    10841114        if ( empty( $activity ) ) {
    10851115                do_action( 'bp_first_activity_for_member', $user_id );
    10861116        }
    10871117
    1088         if ( empty( $activity ) || strtotime( $current_time ) >= strtotime( '+5 minutes', $activity ) ) {
     1118        if ( empty( $activity ) || $current_time >= strtotime( '+5 minutes', $activity ) ) {
    10891119                bp_update_user_last_activity( $user_id, $current_time );
    10901120        }
    10911121}
  • src/bp-forums/bp-forums-template.php

     
    11891189        function bp_get_the_topic_time_since_created() {
    11901190                global $forum_template;
    11911191
    1192                 return apply_filters( 'bp_get_the_topic_time_since_created', bp_core_time_since( strtotime( $forum_template->topic->topic_start_time ) ) );
     1192                return apply_filters( 'bp_get_the_topic_time_since_created', bp_core_time_since( $forum_template->topic->topic_start_time ) );
    11931193        }
    11941194
    11951195/**
     
    12381238        function bp_get_the_topic_time_since_last_post() {
    12391239                global $forum_template;
    12401240
    1241                 return apply_filters( 'bp_get_the_topic_time_since_last_post', bp_core_time_since( strtotime( $forum_template->topic->topic_time ) ) );
     1241                return apply_filters( 'bp_get_the_topic_time_since_last_post', bp_core_time_since( $forum_template->topic->topic_time ) );
    12421242        }
    12431243
    12441244/**
     
    20502050        function bp_get_the_topic_post_time_since() {
    20512051                global $topic_template;
    20522052
    2053                 return apply_filters( 'bp_get_the_topic_post_time_since', bp_core_time_since( strtotime( $topic_template->post->post_time ) ) );
     2053                return apply_filters( 'bp_get_the_topic_post_time_since', bp_core_time_since( $topic_template->post->post_time ) );
    20542054        }
    20552055
    20562056/**
  • src/bp-friends/bp-friends-classes.php

     
    382382                                return 0;
    383383                        }
    384384
    385                         return ( strtotime( $a["date_recorded"] ) < strtotime( $b["date_recorded"] ) ) ? 1 : -1;
     385                        return ( bp_core_strtotime( $a["date_recorded"] ) < bp_core_strtotime( $b["date_recorded"] ) ) ? 1 : -1;
    386386                ' ) );
    387387
    388388                $retval = array();
  • src/bp-groups/bp-groups-admin.php

     
    14791479         * @param array Information about the current row.
    14801480         */
    14811481        public function column_last_active( $item = array() ) {
    1482                 $last_active = groups_get_groupmeta( $item['id'], 'last_activity' );
     1482                $last_active = get_date_from_gmt( groups_get_groupmeta( $item['id'], 'last_activity' ) );
    14831483                echo apply_filters_ref_array( 'bp_groups_admin_get_group_last_active', array( $last_active, $item ) );
    14841484        }
    14851485
  • src/bp-groups/bp-groups-template.php

     
    733733                if ( empty( $group ) )
    734734                        $group =& $groups_template->group;
    735735
    736                 return apply_filters( 'bp_get_group_date_created', bp_core_time_since( strtotime( $group->date_created ) ) );
     736                return apply_filters( 'bp_get_group_date_created', bp_core_time_since( $group->date_created ) );
    737737        }
    738738
    739739function bp_group_creator_username( $group = false ) {
     
    13291329
    13301330                                <h5><?php echo bp_core_get_userlink( $admin->user_id ) ?></h5>
    13311331                                <span class="activity">
    1332                                         <?php echo bp_core_get_last_activity( strtotime( $admin->date_modified ), __( 'joined %s', 'buddypress') ); ?>
     1332                                        <?php echo bp_core_get_last_activity( bp_core_strtotime( $admin->date_modified ), __( 'joined %s', 'buddypress') ); ?>
    13331333                                </span>
    13341334
    13351335                                <?php if ( bp_is_active( 'friends' ) ) : ?>
     
    13941394
    13951395                                <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?></h5>
    13961396
    1397                                 <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $mod->date_modified ), __( 'joined %s', 'buddypress') ); ?></span>
     1397                                <span class="activity"><?php echo bp_core_get_last_activity( bp_core_strtotime( $mod->date_modified ), __( 'joined %s', 'buddypress') ); ?></span>
    13981398
    13991399                                <?php if ( bp_is_active( 'friends' ) ) : ?>
    14001400
     
    32773277function bp_group_request_time_since_requested() {
    32783278        global $requests_template;
    32793279
    3280         echo apply_filters( 'bp_group_request_time_since_requested', sprintf( __( 'requested %s', 'buddypress' ), bp_core_time_since( strtotime( $requests_template->request->date_modified ) ) ) );
     3280        echo apply_filters( 'bp_group_request_time_since_requested', sprintf( __( 'requested %s', 'buddypress' ), bp_core_time_since( $requests_template->request->date_modified ) ) );
    32813281}
    32823282
    32833283function bp_group_request_comment() {
  • src/bp-members/bp-members-admin.php

     
    915915                                                <?php
    916916
    917917                                                // translators: Publish box date format, see http://php.net/date
    918                                                 $datef = __( 'M j, Y @ G:i', 'buddypress' );
    919                                                 $date  = date_i18n( $datef, strtotime( $user->user_registered ) );
     918                                                $datef = __( 'M j, Y @ G:i \U\T\C', 'buddypress' );
     919                                                $date  = date_i18n( $datef, bp_core_strtotime( $user->user_registered ) );
    920920                                                ?>
    921921                                                <span id="timestamp"><?php printf( __( 'Registered on: <strong>%1$s</strong>', 'buddypress' ), $date ); ?></span>
    922922                                        </div>
     
    978978                }
    979979
    980980                $datef = __( 'M j, Y @ G:i', 'buddypress' );
    981                 $date  = date_i18n( $datef, strtotime( $last_active ) ); ?>
     981                $date  = date_i18n( $datef, bp_core_strtotime( $last_active ) ); ?>
    982982
    983983                <ul>
    984984                        <li class="bp-members-profile-stats"><?php printf( __( 'Last active: %1$s', 'buddypress' ), '<strong>' . $date . '</strong>' ); ?></li>
  • src/bp-members/bp-members-template.php

     
    579579                global $members_template;
    580580
    581581                $classes      = array();
    582                 $current_time = bp_core_current_time();
     582                $current_time = bp_core_current_time( true, 'timestamp' );
    583583                $pos_in_loop  = (int) $members_template->current_member;
    584584
    585585                // If we've only one group in the loop, don't both with odd and even.
     
    590590
    591591                // Has the user been active recently?
    592592                if ( ! empty( $members_template->member->last_activity ) ) {
    593                         if ( strtotime( $current_time ) <= strtotime( '+5 minutes', strtotime( $members_template->member->last_activity ) ) )
     593                        if ( $current_time <= bp_core_strtotime( '+5 minutes', bp_core_strtotime( $members_template->member->last_activity ) ) )
    594594                                $classes[] = 'is-online';
    595595                }
    596596
  • src/bp-messages/bp-messages-template.php

     
    614614        function bp_get_message_thread_last_post_date() {
    615615                global $messages_template;
    616616
    617                 return apply_filters( 'bp_get_message_thread_last_post_date', bp_format_time( strtotime( $messages_template->thread->last_message_date ) ) );
     617                return apply_filters( 'bp_get_message_thread_last_post_date', bp_format_time( bp_core_strtotime( $messages_template->thread->last_message_date ) ) );
    618618        }
    619619
    620620/**
     
    917917         */
    918918        function bp_get_message_notice_post_date() {
    919919                global $messages_template;
    920                 return apply_filters( 'bp_get_message_notice_post_date', bp_format_time( strtotime($messages_template->thread->date_sent) ) );
     920                return apply_filters( 'bp_get_message_notice_post_date', bp_format_time( bp_core_strtotime($messages_template->thread->date_sent) ) );
    921921        }
    922922
    923923/**
     
    17221722        function bp_get_the_thread_message_date_sent() {
    17231723                global $thread_template;
    17241724
    1725                 return apply_filters( 'bp_get_the_thread_message_date_sent', strtotime( $thread_template->message->date_sent ) );
     1725                return apply_filters( 'bp_get_the_thread_message_date_sent', $thread_template->message->date_sent );
    17261726        }
    17271727
    17281728/**
  • src/bp-xprofile/bp-xprofile-activity.php

     
    285285        } else {
    286286                // Default throttle time is 2 hours. Filter to change (in seconds)
    287287                $throttle_period = apply_filters( 'bp_xprofile_updated_profile_activity_throttle_time', 60 * 60 * 2 );
    288                 $then = strtotime( $existing['activities'][0]->date_recorded );
    289                 $now  = strtotime( bp_core_current_time() );
     288                $then = bp_core_strtotime( $existing['activities'][0]->date_recorded );
     289                $now  = bp_core_current_time( true, 'timestamp' );
    290290
    291291                $throttle = ( $now - $then ) < $throttle_period;
    292292        }
  • src/bp-xprofile/bp-xprofile-classes.php

     
    17141714
    17151715                // If Unix timestamp
    17161716                if ( ! is_numeric( $field_value ) ) {
    1717                         $field_value = strtotime( $field_value );
     1717                        $field_value = bp_core_strtotime( $field_value );
    17181718                }
    17191719
    17201720                return bp_format_time( $field_value, true, false );
  • src/bp-xprofile/bp-xprofile-template.php

     
    698698                $last_updated = bp_get_user_meta( bp_displayed_user_id(), 'profile_last_updated', true );
    699699
    700700                if ( $last_updated )
    701                         return apply_filters( 'bp_get_profile_last_updated', sprintf( __('Profile updated %s', 'buddypress'), bp_core_time_since( strtotime( $last_updated ) ) ) );
     701                        return apply_filters( 'bp_get_profile_last_updated', sprintf( __('Profile updated %s', 'buddypress'), bp_core_time_since( bp_core_strtotime( $last_updated ) ) ) );
    702702
    703703                return false;
    704704        }