diff options
author | Dave Whiteland <dave@mysociety.org> | 2012-11-20 18:11:18 +0000 |
---|---|---|
committer | Dave Whiteland <dave@mysociety.org> | 2012-11-20 18:11:18 +0000 |
commit | 231dfcf8b3dac714b9f209dc1b7caf27986cbc3b (patch) | |
tree | c18db3f7c58d69615fb9bb8db79e5a496d36b51c | |
parent | 3e4b2f5f6213bd4b4a86424235122104772cb5cb (diff) |
try explicit load rather than via http request
-rw-r--r-- | templates/web/fixmybarangay/header.html | 6 | ||||
-rw-r--r-- | templates/web/fixmybarangay/report/_message_manager.html | 2 | ||||
-rw-r--r-- | web/cobrands/fixmybarangay/message_manager_client.js | 24 |
3 files changed, 23 insertions, 9 deletions
diff --git a/templates/web/fixmybarangay/header.html b/templates/web/fixmybarangay/header.html index 77ddcc638..911a72022 100644 --- a/templates/web/fixmybarangay/header.html +++ b/templates/web/fixmybarangay/header.html @@ -25,12 +25,6 @@ [% allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_council); %] [% IF allow_creation %] - <script> - Modernizr.load({ - test: window.btoa && window.atob, - nope: '/cobrands/fixmybarangay/base64.min.js' - }); - </script> <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]"> <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script> <script src="[% version('/cobrands/fixmybarangay/message_manager_client.js') %]" charset="utf-8"></script> diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html index 41544a754..04ffb0f42 100644 --- a/templates/web/fixmybarangay/report/_message_manager.html +++ b/templates/web/fixmybarangay/report/_message_manager.html @@ -34,7 +34,7 @@ </ul> <script type="text/javascript"> - + $(document).ready(function() { var $mm_message_list = $('#mm-message-list'); var mm_url = "[% c.config.MESSAGE_MANAGER_URL %]"; // from config diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js index eb9d8c925..fd2195124 100644 --- a/web/cobrands/fixmybarangay/message_manager_client.js +++ b/web/cobrands/fixmybarangay/message_manager_client.js @@ -133,12 +133,32 @@ var message_manager = (function() { } }; - // btoa doesn't work on all browers? var make_base_auth = function(user, password) { var tok = user + ':' + password; - var hash = window.btoa(tok); + var hash = encodeBase64(tok); // window.btoa(tok) doesn't work on all browers return "Basic " + hash; }; + + function encodeBase64(input) { + var + chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + INVALID_CHARACTER_ERR = (function () { + // fabricate a suitable error object + try { document.createElement('$'); } + catch (error) { return error; }}()); + // encoder + // [https://gist.github.com/999166] by [https://github.com/nignag] + for ( + var block, charCode, idx = 0, map = chars, output = ''; + input.charAt(idx | 0) || (map = '=', idx % 1); + output += map.charAt(63 & block >> 8 - idx % 1 * 8) + ) { + charCode = input.charCodeAt(idx += 3/4); + if (charCode > 0xFF) throw INVALID_CHARACTER_ERR; + block = block << 8 | charCode; + } + return output; + }; var get_current_auth_credentials = function() { var base_auth = ""; |