In container.js the links go to canvas/id/id instead of canvas/base64(id)/base64(id)
Index: container.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ShindigIntegrator/shindig_integrator/container.js,v
retrieving revision 1.1
diff -b -r1.1 container.js
59c96
< return '/application_canvas/' + app + '/' + module;
---
> return '/application_canvas/' + encode64(app) + '/' + encode64(module);
95a133,168
> // This code was written by Tyler Akins and has been placed in the
> // public domain. It would be nice if you left this header intact.
> // Base64 code from Tyler Akins -- http://rumkin.com
>
> var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
>
> function encode64(input) {
> var output = "";
> var chr1, chr2, chr3;
> var enc1, enc2, enc3, enc4;
> var i = 0;
>
> do {
> chr1 = input.charCodeAt(i++);
> chr2 = input.charCodeAt(i++);
> chr3 = input.charCodeAt(i++);
>
> enc1 = chr1 >> 2;
> enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
> enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
> enc4 = chr3 & 63;
>
> if (isNaN(chr2)) {
> enc3 = enc4 = 64;
> } else if (isNaN(chr3)) {
> enc4 = 64;
> }
>
> output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
> keyStr.charAt(enc3) + keyStr.charAt(enc4);
> } while (i < input.length);
>
> return output;
> }
>
>
| Comment | File | Size | Author |
|---|---|---|---|
| container-add64.patch | 1.38 KB | pletcher |
Comments
Comment #1
ramsharma2005 commentedHi pletcher,
Thanks for bringing this up.
In my opinion, it is better to encode both ids at server side instead of client side. I have done that.
Thanks again.
Comment #2
pletcher commentedI'm sorry, but I don't understand. Without this (or a similar) patch, applications will try to link to /application_canvas/1/1 (for example), and will get a 404. Did I miss something, was another patch applied to fix this problem?
To recreate it, add the basic ToDo gadget shindig recommends for testing. Click the 'full screen' link.
ToDo Gadget:
http://www.labpixies.com/campaigns/todo/todo.xml
Thanks,
jrp
Comment #3
ramsharma2005 commentedHi pletcher,
Sorry for late reply, as I was busy in some other work.
I have encoded both application id and module id while iframe url creation and all such kind of encoding-decoding is done at back end. So at client side, now it will try to link /application_canvas/base64_encode(1)/base64_encode(1) and displays correctly.
I hope my answer will satisfy you. If any questions or you will get any issue, please let me know.
Thanks.
Comment #4
ramsharma2005 commentedResolved