summaryrefslogtreecommitdiff
blob: 01005a2bfe8d4ab019e749f311272ecfde66e651 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
jQuery( function( $ ) {

	pm.bind( 'googlePlusSignInMessage', function( message ) {
		if ( 'undefined' != typeof message.error)
			GooglePlusMessageHandler.error( message.error );
		else if ( 'undefined' != typeof message.success && 'undefined' != typeof message.result )
			GooglePlusMessageHandler.success( message.result );
		else
			GooglePlusMessageHandler.unknownMessage( message );
	} );

	var GooglePlusMessageHandler = {

		outputContainer: '#result',

		success: function( result ) {
			$.post( './admin-ajax.php',
				{
					action: 'save_gplus_profile_data',
					name: result.name,
					url: result.url,
					profile_image: result.profile_image,
					id: result.id,
					state: result.state
				}, function() {
					$( GooglePlusMessageHandler.outputContainer ).text( GPlusL10n.connected );
					window.location.href = 'options-general.php?page=sharing&r=' + Math.round( Math.random()*100000 ) + '#gplus';
				}
			);
		},

		error: function( error ) {
			if ( 'unknown' == error ) {
				$( GooglePlusMessageHandler.outputContainer ).text( GPlusL10n.unknownError );
			} else if ( 'access_denied' == error ) {
				$( GooglePlusMessageHandler.outputContainer ).text( GPlusL10n.accessDenied );
			} else {
				$( GooglePlusMessageHandler.outputContainer ).text( error );
			}
		},

		unknownMessage: function( message ) {
			console.log( 'DEBUG: An unknown message was passed via postMessage:' );
			console.log( message );
			GooglePlusMessageHandler.error( 'unknown' );
		},

	};

	$( '#disconnect-gplus' ).click( function() {
		var ays = confirm( 'Are you sure you want to disconnect your Google+ profile? If you have any Publicize accounts connected to this profile they will also be disconnected.' );
			if ( ! ays ) {
				return false;
			}
	} );

} );