Changeset 13523
- Timestamp:
- 07/22/2023 07:22:41 AM (2 years ago)
- Location:
- trunk/src/bp-core
- Files:
-
- 1 deleted
- 3 edited
-
bp-core-cssjs.php (modified) (3 diffs)
-
deprecated/11.0.php (modified) (1 diff)
-
js/vendor/livestamp.js (modified) (3 diffs)
-
js/vendor/moment-js (deleted)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/bp-core-cssjs.php
r13485 r13523 19 19 $min = bp_core_get_minified_asset_suffix(); 20 20 $url = buddypress()->plugin_url . 'bp-core/js/'; 21 22 // Is WordPress' moment dist library registered?23 $is_moment_registered = wp_script_is( 'moment', 'registered' );24 $moment_locale_url = '';25 26 /*27 * In 11.0.0 we are deprecating `bp-moment` in favor of WordPress' already bundled `moment`.28 * @todo completely remove `bp-moment` in 12.0.0.29 */30 if ( ! $is_moment_registered ) {31 /*32 * Moment.js locale.33 *34 * Try to map current WordPress locale to a moment.js locale file for loading.35 *36 * eg. French (France) locale for WP is fr_FR. Here, we try to find fr-fr.js37 * (this file doesn't exist).38 */39 $wp_locale = sanitize_file_name( strtolower( get_locale() ) );40 41 // WP uses ISO 639-2 or -3 codes for some locales, which we must translate back to ISO 639-1.42 $iso_locales = array(43 'bel' => 'be',44 'bre' => 'br',45 'kir' => 'ky',46 'mri' => 'mi',47 'ssw' => 'ss',48 );49 50 if ( isset( $iso_locales[ $wp_locale ] ) ) {51 $locale = $iso_locales[ $wp_locale ];52 } else {53 $locale = $wp_locale;54 }55 56 $locale = str_replace( '_', '-', $locale );57 if ( file_exists( buddypress()->core->path . "bp-core/js/vendor/moment-js/locale/{$locale}{$min}.js" ) ) {58 $moment_locale_url = $url . "vendor/moment-js/locale/{$locale}{$min}.js";59 60 /*61 * Try to find the short-form locale.62 *63 * eg. French (France) locale for WP is fr_FR. Here, we try to find fr.js64 * (this exists).65 */66 } else {67 $locale = substr( $locale, 0, strpos( $locale, '-' ) );68 if ( file_exists( buddypress()->core->path . "bp-core/js/vendor/moment-js/locale/{$locale}{$min}.js" ) ) {69 $moment_locale_url = $url . "vendor/moment-js/locale/{$locale}{$min}.js";70 }71 }72 }73 21 74 22 // Set up default scripts to register. … … 95 43 'bp-livestamp' => array( 'file' => "{$url}vendor/livestamp{$min}.js", 'dependencies' => array( 'jquery', 'moment' ), 'footer' => true ), 96 44 ); 97 98 /*99 * In 11.0.0 we are deprecating `bp-moment` in favor of WordPress' already bundled `moment`.100 * @todo completely remove `bp-moment` in 12.0.0.101 */102 if ( ! $is_moment_registered ) {103 $scripts['bp-moment'] = array( 'file' => "{$url}vendor/moment-js/moment{$min}.js", 'dependencies' => array(), 'footer' => true );104 $bp_livestamp = $scripts['bp-livestamp'];105 $bp_livestamp['dependencies'] = array( 'jquery', 'bp-moment' );106 107 // Reset 'bp-livestamp' after 'bp-moment'.108 unset( $scripts['bp-livestamp'] );109 $scripts['bp-livestamp'] = $bp_livestamp;110 111 // Version 2.7 - Add Moment.js locale to our $scripts array if we found one.112 if ( $moment_locale_url ) {113 $scripts['bp-moment-locale'] = array( 'file' => esc_url( $moment_locale_url ), 'dependencies' => array( 'bp-moment' ), 'footer' => true );114 }115 }116 45 117 46 if ( bp_support_blocks() ) { … … 586 515 } 587 516 588 /* 589 * Only enqueue Moment.js locale if we registered it in 590 * bp_core_register_common_scripts(). 591 */ 592 if ( wp_script_is( 'bp-moment-locale', 'registered' ) ) { 593 wp_enqueue_script( 'bp-moment-locale' ); 594 wp_add_inline_script( 'bp-livestamp', bp_core_moment_js_config() ); 595 } else { 596 wp_add_inline_script( 597 'moment', 598 sprintf( 599 "moment.updateLocale( '%s', %s );", 600 get_user_locale(), 601 wp_json_encode( 602 array( 603 'relativeTime' => array( 604 /* Translators: %s is the relative time (eg: in a few seconds). */ 605 'future' => __( 'in %s', 'buddypress' ), 606 /* translators: %s: the human time diff. */ 607 'past' => __( '%s ago', 'buddypress' ), 608 's' => __( 'a few seconds', 'buddypress' ), 609 'm' => __( 'a minute', 'buddypress' ), 610 /* Translators: %d is the amount of minutes. */ 611 'mm' => __( '%d minutes', 'buddypress' ), 612 'h' => __( 'an hour', 'buddypress' ), 613 /* Translators: %d is the amount of hours. */ 614 'hh' => __( '%d hours', 'buddypress' ), 615 'd' => __( 'a day', 'buddypress' ), 616 /* Translators: %d is the amount of days. */ 617 'dd' => __( '%d days', 'buddypress' ), 618 'M' => __( 'a month', 'buddypress' ), 619 /* Translators: %d is the amount of months. */ 620 'MM' => __( '%d months', 'buddypress' ), 621 'y' => __( 'a year', 'buddypress' ), 622 /* Translators: %d is the amount of years. */ 623 'yy' => __( '%d years', 'buddypress' ), 624 ), 625 ) 517 wp_add_inline_script( 518 'moment', 519 sprintf( 520 "moment.updateLocale( '%s', %s );", 521 get_user_locale(), 522 wp_json_encode( 523 array( 524 'relativeTime' => array( 525 /* Translators: %s is the relative time (eg: in a few seconds). */ 526 'future' => __( 'in %s', 'buddypress' ), 527 /* translators: %s: the human time diff. */ 528 'past' => __( '%s ago', 'buddypress' ), 529 's' => __( 'a few seconds', 'buddypress' ), 530 'm' => __( 'a minute', 'buddypress' ), 531 /* Translators: %d is the amount of minutes. */ 532 'mm' => __( '%d minutes', 'buddypress' ), 533 'h' => __( 'an hour', 'buddypress' ), 534 /* Translators: %d is the amount of hours. */ 535 'hh' => __( '%d hours', 'buddypress' ), 536 'd' => __( 'a day', 'buddypress' ), 537 /* Translators: %d is the amount of days. */ 538 'dd' => __( '%d days', 'buddypress' ), 539 'M' => __( 'a month', 'buddypress' ), 540 /* Translators: %d is the amount of months. */ 541 'MM' => __( '%d months', 'buddypress' ), 542 'y' => __( 'a year', 'buddypress' ), 543 /* Translators: %d is the amount of years. */ 544 'yy' => __( '%d years', 'buddypress' ), 545 ), 626 546 ) 627 547 ) 628 ) ;629 }548 ) 549 ); 630 550 631 551 wp_enqueue_script( 'bp-livestamp' ); 632 552 } 633 634 /**635 * Return moment.js config.636 *637 * @since 2.7.0638 * @deprecated 11.0.0 Soflty deprecated as we're keeping the function into this file639 * to avoid fatal errors if deprecated code is ignored.640 *641 * @return string642 */643 function bp_core_moment_js_config() {644 _deprecated_function( __FUNCTION__, '11.0.0' );645 646 // Grab the locale from the enqueued JS.647 $moment_locale = wp_scripts()->query( 'bp-moment-locale' );648 $moment_locale = substr( $moment_locale->src, strpos( $moment_locale->src, '/moment-js/locale/' ) + 18 );649 $moment_locale = str_replace( '.js', '', $moment_locale );650 651 $inline_js = <<<EOD652 jQuery(function() {653 moment.locale( '{$moment_locale}' );654 });655 EOD;656 657 return $inline_js;658 } -
trunk/src/bp-core/deprecated/11.0.php
r13371 r13523 92 92 return bp_attachments_get_mime_type( $file ); 93 93 } 94 95 /** 96 * Return moment.js config. 97 * 98 * @since 2.7.0 99 * @deprecated 11.0.0 100 */ 101 function bp_core_moment_js_config() { 102 _deprecated_function( __FUNCTION__, '11.0.0' ); 103 } -
trunk/src/bp-core/js/vendor/livestamp.js
r11009 r13523 1 // Livestamp.js / v1.1.2 / (c) 2012 Matt Bradley / MIT License 2 (function($, moment) { 1 // Livestamp.js / v2.0.0 / (c) 2015 Matt Bradley / MIT License 2 (function (plugin) { 3 if (typeof define === 'function' && define.amd) { 4 // AMD. Register as an anonymous module. 5 define(['jquery', 'moment'], plugin); 6 } else { 7 // Browser globals 8 plugin(jQuery, moment); 9 } 10 }(function($, moment) { 3 11 var updateInterval = 1e3, 4 12 paused = false, … … 61 69 62 70 $livestamps = $livestamps.not(toRemove); 71 delete $livestamps.prevObject 63 72 }, 64 73 … … 127 136 return livestampLocal[method](this, options); 128 137 }; 129 }) (jQuery, moment);138 }));
Note: See TracChangeset
for help on using the changeset viewer.