Server IP : 192.185.129.71 / Your IP : 3.147.73.62 Web Server : Apache System : Linux bh-ht-3.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : svymadmin ( 4072) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home4/svymadmin/public_html/vivekaexcel.edu.in/bkp/assets/plugins/internal/google-picker/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/*! * Internal Google Drive Picker Plugin. * * https://perfexcrm.com/ * * Copyright (c) 2023 Marjan Stojanov * * Use ngrok for testing */ (function ($) { $.fn.googleDrivePicker = function (options) { var accessToken; var tokenClient; function initTokenClient() { tokenClient = google.accounts.oauth2.initTokenClient({ client_id: settings.clientId, scope: settings.scope, callback: "", }); } function initGooglePickerAPI(element) { if ($(element).attr("data-picker-inited")) { return; } gapi.load("picker", function () { $(element).attr("data-picker-inited", true); element.disabled = false; element.addEventListener("click", function () { if (!tokenClient) { initTokenClient(); } createPicker(); }); }); } function createPicker() { var showPicker = function () { var view = new google.picker.DocsView().setIncludeFolders(true); var uploadView = new google.picker.DocsUploadView().setIncludeFolders( true ); if (settings.mimeTypes) { view.setMimeTypes(settings.mimeTypes); uploadView.setMimeTypes(settings.mimeTypes); } new google.picker.PickerBuilder() .addView(view) //.enableFeature(google.picker.Feature.MULTISELECT_ENABLED) .addView(uploadView) .setOAuthToken(accessToken) .setDeveloperKey(settings.developerKey) .setCallback(pickerCallback) .build() .setVisible(true); setTimeout(function () { $(".picker-dialog").css("z-index", 10002); }, 20); }; // Request an access token tokenClient.callback = async (response) => { if (response.error !== undefined) { throw response; } accessToken = response.access_token; showPicker(); }; tokenClient.requestAccessToken({ prompt: "" }); } function pickerCallback(data) { if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) { var retVal = []; data[google.picker.Response.DOCUMENTS].forEach(function (doc) { retVal.push({ name: doc[google.picker.Document.NAME], link: doc[google.picker.Document.URL], mime: doc[google.picker.Document.MIME_TYPE], }); }); typeof settings.onPick == "function" ? settings.onPick(retVal) : window[settings.onPick](retVal); } } var settings = $.extend({}, $.fn.googleDrivePicker.defaults, options); return this.each(function () { if (settings.clientId) { if ($(this).data("on-pick")) { settings.onPick = $(this).data("on-pick"); } initGooglePickerAPI($(this)[0]); $(this).css("opacity", 1); } else { // Not configured $(this).css("opacity", 0); } }); }; })(jQuery); $.fn.googleDrivePicker.defaults = { scope: "https://www.googleapis.com/auth/drive", mimeTypes: null, // The Browser API key obtained from the Google API Console. developerKey: "", // The Client ID obtained from the Google API Console. Replace with your own Client ID. clientId: "", onPick: function (data) {}, };