wpgroho.js 1015 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* global WPGroHo:true, Gravatar */
  2. WPGroHo = jQuery.extend( {
  3. my_hash: '',
  4. data: {},
  5. renderers: {},
  6. syncProfileData: function( hash, id ) {
  7. if ( !WPGroHo.data[hash] ) {
  8. WPGroHo.data[hash] = {};
  9. jQuery( 'div.grofile-hash-map-' + hash + ' span' ).each( function() {
  10. WPGroHo.data[hash][this.className] = jQuery( this ).text();
  11. } );
  12. }
  13. WPGroHo.appendProfileData( WPGroHo.data[hash], hash, id );
  14. },
  15. appendProfileData: function( data, hash, id ) {
  16. for ( var key in data ) {
  17. if ( jQuery.isFunction( WPGroHo.renderers[key] ) ) {
  18. return WPGroHo.renderers[key]( data[key], hash, id, key );
  19. }
  20. jQuery( '#' + id ).find( 'h4' ).after( jQuery( '<p class="grav-extra ' + key + '" />' ).html( data[key] ) );
  21. }
  22. }
  23. }, WPGroHo );
  24. jQuery( document ).ready( function() {
  25. if ( 'undefined' === typeof Gravatar ) {
  26. return;
  27. }
  28. Gravatar.profile_cb = function( h, d ) {
  29. WPGroHo.syncProfileData( h, d );
  30. };
  31. Gravatar.my_hash = WPGroHo.my_hash;
  32. Gravatar.init( 'body', '#wpadminbar' );
  33. } );