PluginProbe
Photonic Gallery & Lightbox for Flickr, SmugMug & Others / 3.37
Photonic Gallery & Lightbox for Flickr, SmugMug & Others v3.37
3.37 3.36 3.35 3.34 3.33 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.33 2.34 2.40 2.41 2.42 2.43 All 142 releases
photonic / include / js / admin / helpers.js

helpers.js in Photonic Gallery & Lightbox for Flickr, SmugMug & Others 3.37, at include/js/admin/helpers.js

132 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 $ = jQuery.noConflict();
2 jQuery(document).ready(function($) {
3 $(document).on('click', '.photonic-helper input[type="button"]', function() {
4 $('.photonic-waiting').show();
5 const formValues = $('#photonic-helper-form').serialize();
6 const result = $(this).closest('.photonic-helper-area').find('.result');
7 const nextToken = $(this).data('photonicToken') === undefined ? '' : '&nextPageToken=' + $(this).data('photonicToken');
8 $.post(ajaxurl, "action=photonic_invoke_helper&helper=" + this.id + '&' + formValues + nextToken, function(data) {
9 if (data.trim().length >= 3 && data.trim().substr(0,3) === '<tr') {
10 $($(result).find('input[type="button"]')[0]).closest('tr').remove();
11 $(result).find('table').append($(data));
12 }
13 else {
14 $(result).html(data);
15 }
16 $('.photonic-waiting').hide();
17 });
18 });
19
20 window.photonicSaveToken = function photonicSaveToken(e) {
21 e.preventDefault();
22 $('.photonic-waiting').show();
23 const provider = $(this).data('photonicProvider');
24 const nonce = $(this).data('photonicNonce');
25 var token = $('#' + provider + '-token').text();
26 var tokenSecret = $('#' + provider + '-token-secret').text();
27 var tokenExpiresIn = $('#' + provider + '-token-expires-in').val();
28 var tokenClientId = $('#' + provider + '-token-client-id').val();
29 var tokenUser = $('#' + provider + '-token-user').text();
30 var args = {'action': 'photonic_save_token', 'provider': provider, 'token': token, 'secret': tokenSecret, 'expires_in': tokenExpiresIn, 'client_id': tokenClientId, 'user': tokenUser, '_ajax_nonce': nonce };
31 $.post(ajaxurl, args, function (data) {
32 window.location.replace(data);
33 });
34 };
35
36 window.photonicParseUrl = function (url, prop) {
37 var params = {};
38 var search = decodeURIComponent( url.slice( url.indexOf( '?' ) + 1 ) );
39 var definitions = search.split( '&' );
40
41 definitions.forEach( function( val, key ) {
42 var parts = val.split( '=', 2 );
43 params[ parts[ 0 ] ] = parts[ 1 ];
44 } );
45
46 return ( prop && prop in params ) ? params[ prop ] : params;
47 };
48
49 $('.photonic-google-refresh, .photonic-deviantart-refresh').click(function(e) {
50 e.preventDefault();
51 var $clicked = $(this);
52 $('.photonic-waiting').show();
53 var provider = $clicked.data('photonicProvider'); // 'google';
54 var result = $('#' + provider + '-result');
55 var args = {'action': 'photonic_obtain_token', 'provider': provider, 'code': $('#photonic-' + provider + '-oauth-code').val(), 'state': $('#photonic-' + provider + '-oauth-state').val(), '_ajax_nonce': $clicked.data('photonicNonce') };
56 $.post(ajaxurl, args, function(data) {
57 data = $.parseJSON(data);
58 $clicked.remove();
59 $("<span class='button photonic-helper-button-disabled'>" +
60 (Photonic_Admin_JS.obtain_token === undefined ? 'Step 2: Obtain Token' : Photonic_Admin_JS.obtain_token) +
61 '</span>').insertBefore(result);
62 $(result).html('<strong>Refresh Token:</strong> <code id="' + provider + '-token">' + data['refresh_token'] + '</code>');
63 var a = $("<a href='#' class='button button-primary photonic-save-token' data-photonic-provider='" + provider + "' data-photonic-nonce='" + data['nonce'] +"'>Save Token</a>");
64 a.insertAfter(result);
65 a.on('click', photonicSaveToken);
66 $('.photonic-waiting').hide();
67 });
68 });
69
70 $('.photonic-zenfolio-delete').click(function(e) {
71 e.preventDefault();
72 var $clicked = $(this);
73 $('.photonic-waiting').show();
74 var result = $('#zenfolio-result');
75 var args = {'action': 'photonic_delete_token', 'provider': 'zenfolio', '_ajax_nonce': $(this).data('photonicNonce')};
76 $.post(ajaxurl, args, function(data) {
77 $clicked.remove();
78 $(result).html('<strong>Stored authentication credentials deleted</strong>');
79 $('.photonic-waiting').hide();
80 });
81 });
82
83 $('.photonic-token-request').click(function(e) {
84 e.preventDefault();
85 $('.photonic-waiting').show();
86 var args = {'action': 'photonic_obtain_token', 'provider': $(this).data('photonicProvider'), '_ajax_nonce': $(this).data('photonicNonce') };
87 $.post(ajaxurl, args, function(data) {
88 window.location.replace(data);
89 });
90 });
91
92 $("[data-photonic-provider='zenfolio']").click(function(e) {
93 e.preventDefault();
94 $('.photonic-waiting').show();
95 var args = {'action': 'photonic_obtain_token', 'provider': $(this).data('photonicProvider'), 'password': $('[name="zenfolio-password"]').val(), '_ajax_nonce': $(this).data('photonicNonce')};
96 $.post(ajaxurl, args, function(data) {
97 $('#zenfolio-result').html(data);
98 $('.photonic-waiting').hide();
99 });
100 });
101
102 $('.photonic-save-token').on('click', photonicSaveToken);
103
104 $(document).on('click', '.photonic-shortcode-replace', function(e) {
105 e.preventDefault();
106 var params = photonicParseUrl($(this).attr('href'));
107 var args = {'action': 'replace_shortcode_individual', 'photonic_post_id': params.photonic_post_id};
108 var input = $('<input>').attr('type', 'hidden').attr('name', 'action').val('replace_shortcode_individual');
109 var $form = $('form[name="photonic-helper-form"]');
110 $form.append(input);
111
112 input = $('<input>').attr('type', 'hidden').attr('name', 'photonic_post_id').val(params.photonic_post_id);
113 $form.append(input);
114 $form.submit();
115 });
116
117 $('button.photonic-notice-dismiss').click(function(e) {
118 e.preventDefault();
119 var $clicked = $(this);
120 var $notice = $clicked.parents('.notice');
121 var dismissible = $clicked.attr('data-photonic-dismissible');
122 var args = { action: 'photonic_dismiss_warning', dismissible: dismissible, _ajax_nonce: $clicked.data('photonicNonce') };
123 $.post(ajaxurl, args, function(data) {
124 var response = JSON.parse(data);
125 response = Object.keys(response);
126 if (response.indexOf(dismissible) > -1) {
127 $notice.fadeOut();
128 }
129 });
130 });
131 });
132