diff --git a/index.html b/index.html index f8ffbb5..097ce0e 100644 --- a/index.html +++ b/index.html @@ -100,7 +100,6 @@
-
@@ -113,6 +112,22 @@
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
diff --git a/js/glowingbear.js b/js/glowingbear.js index 4b11a09..04519bb 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -64,6 +64,8 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', 'enableQuickKeys': true, 'customCSS': '', "currentlyViewedBuffers":{}, + 'iToken': '', + 'iAlb': '', }); $scope.settings = settings; diff --git a/js/imgur.js b/js/imgur.js index fdcacf6..b320b9a 100644 --- a/js/imgur.js +++ b/js/imgur.js @@ -3,7 +3,7 @@ var weechat = angular.module('weechat'); -weechat.factory('imgur', ['$rootScope', function($rootScope) { +weechat.factory('imgur', 'settings', ['$rootScope', function($rootScope) { var process = function(image, callback) { @@ -26,8 +26,26 @@ weechat.factory('imgur', ['$rootScope', function($rootScope) { // Upload image to imgur from base64 var upload = function( base64img, callback ) { - // Set client ID (Glowing Bear) - var clientId = "164efef8979cd4b"; + + // Declaring variables used later + var accessToken = "164efef8979cd4b"; + var albumHash = ""; + var albEnabled = false; + var isClientID = true; + + // Set client ID + if(settings.iToken.length > 37){ + accessToken = settings.iToken; + isClientID = false; + } + + // Checks for a album hash + if(settings.iAlb.length < 6) { + albEnabled = false; + } else { + albEnabled = true; + albumHash = settings.iAlb; + } // Progress bars container var progressBars = document.getElementById("imgur-upload-progress"), @@ -45,6 +63,10 @@ weechat.factory('imgur', ['$rootScope', function($rootScope) { fd.append("image", base64img); // Append the file fd.append("type", "base64"); // Set image type to base64 + if(albEnabled) { + fd.append("album", albumHash); // If the user provided an album hash + } + // Create new XMLHttpRequest var xhttp = new XMLHttpRequest(); @@ -52,7 +74,11 @@ weechat.factory('imgur', ['$rootScope', function($rootScope) { xhttp.open("POST", "https://api.imgur.com/3/image", true); // Set headers - xhttp.setRequestHeader("Authorization", "Client-ID " + clientId); + if(isClientID) { + xhttp.setRequestHeader("Authorization", "Client-ID " + accessToken); + } else { + xhttp.setRequestHeader("Authorization", "Bearer " + accessToken); + } xhttp.setRequestHeader("Accept", "application/json"); // Handler for response